document.write('\<script src="/DesktopModules/IOEventsCalendar/js/calendar_full.js" type="text/javascript"\>\</script\>');

var SetGUnload = false;
var VIEW_PAGE = "/DesktopModules/IOEventsCalendar/IOEventsCalendarView.aspx";
var AJAX_PAGE = "/DesktopModules/IOEventsCalendar/IOEventsCalendarAJAX.aspx";

// Add the following to Flash objects to make the moodalbox overlay it
// <embed wmode="transparent"> <param name="wmode" value="transparent">

function StartCalendar(id, initDate)
{
	Window.onDomReady(MOOdalBox.init.bind(MOOdalBox));
	
	CALENDAR = Calendar.setup({
		flat: id, 
		flatCallback: DateChangedHandler, 
		weekNumbers:false, 
		dateStatusFunc: DateSpecialHandler,
		showOthers:true,
		date: initDate 
	});

	var io = document.getElementById(ImgControl);	
	if (typeof(specialInitDate) == 'string')
	{
		CALENDAR.parseDate(specialInitDate);
		io.src = '/DesktopModules/IOEventsCalendar/img/months/'+portalID+'/'+Calendar._MN[parseInt(specialInitDate.split("/")[1])-1]+'.jpg';
	}	

	if (io)
		io.style.display = "";
}

function SetCookie(cookieName,cookieValue,nDays) 
{
	var today = new Date();
	var expire = new Date();
	
	if (nDays==null || nDays==0) nDays=1;
	expire.setTime(today.getTime() + 3600000*24*nDays);
	document.cookie = cookieName + "=" + escape(cookieValue) + ";path=/;expires="+expire.toGMTString();
}

function DateChangedHandler(calendar)
{
	if (calendar.dateClicked)
	{
		var y = calendar.date.getFullYear();
		var m = calendar.date.getMonth() + 1;     // integer, 0..11
		var d = calendar.date.getDate();      // integer, 1..31

		if (typeof(DisplayType) == "string" && DisplayType == "FULL")
			__doPostBack("DC",Calendar._MN[calendar.date.getMonth()] + " " + d + " " + y);
		else
		{
			SetCookie("GMapKey",GMap_Key,1);
			SetCookie("DateClicked",y+"-"+m+"-"+d,1);
			if(FullPageURL == "")
			{
				location.href = VIEW_PAGE + "?mID="+ModuleID+"&TabID="+TabID+"&r="+parseInt(Math.random()*1000+1);
			}
			else
			{
				location.href = FullPageURL + "?mID="+ModuleID+"&TabID="+TabID+"&r="+parseInt(Math.random()*1000+1);
			}
		}	
	}
	else
	{
		if (typeof(ImgControlObj) == "undefined")
			ImgControlObj = document.getElementById(ImgControl);

		if (ImgControlObj)
			ImgControlObj.src = '/DesktopModules/IOEventsCalendar/img/months/'+portalID+'/'+Calendar._MN[calendar.date.getMonth()]+'.jpg';
			
	}
}	

function DateSpecialHandler(date, year, month, day)
{
/*
		var SPECIAL_DAYS = {
			<year_1>: {
						<month_1> :{
										<day_1>:{1},
										<day_2>:{2}
							        },
						<month_2> :{}           
						},
			<year_2>: {}		  
		}
	*/
	month++;	
	if (SPECIAL_DAYS && SPECIAL_DAYS[year])
	{
		if (SPECIAL_DAYS[year][month])
		{
			if (SPECIAL_DAYS[year][month][day])
				return "Special";
		}
	}

	return false;
};	

function EC_I(id, moduleID, type, gkey)
{
	// Preview display
	if (MOOdalBox)
	{
		MOOdalBox.open
		(AJAX_PAGE + "?GMapKey="+ gkey +"&ItemID=" + id + "&type=" + type + "&r="+parseInt(Math.random()*1000+1),		
		 "",
		 "700 650" // width and height		 
		);		
	}	
}

function PreviewGmapInit()
{
	if (GBrowserIsCompatible()) 
	{
		if (!SetGUnload)
		{
			var b = document.getElementsByTagName("body")[0];					
			if (b)
				AddEvent2(b,"unload", GUnload, false);
			SetGUnload = true;	
		}
		
		var GMapObj = new GMap2(document.getElementById("PreviewGMap"));
		GMapObj.addControl(new GSmallZoomControl());
		GMapObj.setCenter(new GLatLng(43.131847, -80.760955), 8);
		
// Enable wheel scrolling + disable whole page mouse wheel scrolling except within the map
		GMapObj.enableScrollWheelZoom();
		GMapObj.enableContinuousZoom();

		if (GMapObj.addEventListener)
			GMapObj.addEventListener("DOMMouseScroll", function(e) { e.preventDefault(); }, false);
		else if (GMapObj.attachEvent)
			GMapObj.attachEvent("onmousewheel", function() { event.returnValue =	false; });	
			
		var gmLoc = document.getElementById("GMLoc");

		if (gmLoc)
		{
			var Lat = gmLoc.getAttribute("EventLocation_Lat");
			var Lng = gmLoc.getAttribute("EventLocation_Lng");
			if (Lat == "" && Lng == "")
			{
				GMapObj.setCenter(new GLatLng(43.131847, -80.760955), 8);
			}
			else
			{
				var point = new GLatLng(Lat, Lng);
				GMapObj.setCenter(point, 16);
				var GMapMarker = new GMarker(point);
				GMapObj.addOverlay(GMapMarker);				
			}	
		}				
	}			
}

function AddEvent2(elm, evType, fn, useCapture) 
{
	if (elm.addEventListener) 
	{
		elm.addEventListener(evType, fn, useCapture);
		return true;
	}
	else if (elm.attachEvent) 
	{
		var r = elm.attachEvent('on' + evType, fn);
		return r;
	}
	else 
	{
		elm['on' + evType] = fn;
	}
}

/*
function ViewAttachments(id)
{
	open(AJAX_PAGE + "?type=attach&itemID=" + id + "&r="+parseInt(Math.random()*1000+1));
}
*/

function ViewAttachments(id,type)
{
	open("/DesktopModules/IOEventsCalendar/Details.aspx?show=attach&type=" + type + "&id=" + id + "&r="+parseInt(Math.random()*1000+1));
}	

function StartMap(lat, lng)
{
	if ((lat!=0 || lng!= 0)) 
	{
		if (typeof(GBrowserIsCompatible) =="undefined")
		{
			google.load("maps", "2", {"callback" : function(){StartMap(lat, lng)}});
			return;
		}
		
		if (!GBrowserIsCompatible())
			return;
		
		var b = document.getElementsByTagName("body")[0];					
		if (b)
			AddEvent2(b,"unload", GUnload, false);

		var pm = document.getElementById("PreviewGMap");
		pm.style.display = "block";
		
		var GMapObj = new GMap2(pm);
		GMapObj.addControl(new GSmallZoomControl());
		GMapObj.setCenter(new GLatLng(lat, lng), 16);

		// Enable wheel scrolling + disable whole page mouse wheel scrolling except within the map
		GMapObj.enableScrollWheelZoom();
		GMapObj.enableContinuousZoom();

		if (GMapObj.addEventListener)
			GMapObj.addEventListener("DOMMouseScroll", function(e) { e.preventDefault(); }, false);
		else if (GMapObj.attachEvent)
			GMapObj.attachEvent("onmousewheel", function() { event.returnValue =	false; });	

		var point = new GLatLng(lat, lng);
		var GMapMarker = new GMarker(point);
		GMapObj.addOverlay(GMapMarker);				
		//GMapObj.setCenter(point, 16);		
	}		
}

