

var loadingImg = "<br><br><br><center><table border=0 width='90%'><tr><td height=300 align=center><center><img style='vertical-align: middle;' src='loading.gif'>&nbsp;<small>Loading...</small></center></td></tr></table></center>";

function doLBLinks(el)
{
	lbox = el.getElementsByClassName('lbOn');
	for(i = 0; i < lbox.length; i++) {
		valid = new lightbox(lbox[i]);
	}
}
function goLastMonth(month, year, page)
{
	// If the month is January, decrement the year
	if(month == 1)
	{
		year--;
		month = 13;
	}
	var query;
		query = query + "&eventlocation_id=" + $("filter_location").value;
		
	Effect.Fade("ajaxCalendar", {duration: 0.5, afterFinish: function(){
		loadToDiv(page + '?month='+(month-1)+'&year='+year + query,"ajaxCalendar");
		Effect.Appear("ajaxCalendar",{duration: 0.5});
	}});
	
	
	
}
function goNextMonth(month, year, page)
{
	// If the month is December, increment the year
	if(month == 12)
	{
		year++;
		month = 0;
	}
	var query;
		query = query + "&eventlocation_id=" + $("filter_location").value;
	
	Effect.Fade("ajaxCalendar", {duration: 0.5, afterFinish: function(){
		loadToDiv(page + '?month='+(month+1)+'&year='+year + query,"ajaxCalendar");
		Effect.Appear("ajaxCalendar",{duration: 0.5});
	}});
} 

function cacheBust(urlToLoad)
{
	var myDate = new Date();	
	if (urlToLoad.indexOf("?")==-1)
		urlToLoad = urlToLoad + "?cacheBust=" + myDate.getTime();
	else
		urlToLoad = urlToLoad + "&cacheBust=" + myDate.getTime();
	return urlToLoad;
}

function ajaxRefresh(id)
{
	loadToDiv($(id).contentFrom,$(id));
}
function ajaxFilter()
{
	var query;
	var contentFrom = $("ajaxCalendar").contentFrom;
	if (contentFrom.indexOf("?")>=0)
		query = "&";
	else
		query = "?";
	
		query = query + "org_id=" + $("filterOrg").value;
		query = query + "&cat_id=" + $("filterCat").value;
	
	loadToDiv(contentFrom + query,"ajaxCalendar");
}
function loadToCal(urlToLoad)
{
	loadToDiv(urlToLoad,"ajaxCalendar");
}
function loadToDiv(urlToLoad,div)
{
	var myDate = new Date();
	var el = $(div);
	if (el==null)
		el = div;
	if (el==null)
		alert("no object");
	
	
	el.innerHTML = loadingImg;
	el.contentFrom = urlToLoad;

	urlToLoad = cacheBust(urlToLoad);
	var myAjax = new Ajax.Request(urlToLoad,
	{
		method:'get',
		onSuccess: function(transport)
		{
			var response = transport.responseText || "";
			el.innerHTML = response;
			
			
			
			el.style.display='';
			doEmbeddedJS(el);				
			//dsHistory.addFunction(function() {loadToDiv(urlToLoad,div)});
		},
		onFailure: function(){ el.innerHTML = errorTxt; }
	});
}

function doEmbeddedJS(obj)
{
		window.jsCode = new Array();
		var scriptTags = obj.getElementsByTagName('SCRIPT');
		for(var no=0;no<scriptTags.length;no++){
		if (scriptTags[no].src){
			var head = document.getElementsByTagName("head")[0];
			var scriptObj = document.createElement("script");		
			scriptObj.setAttribute("type", "text/javascript");
			scriptObj.setAttribute("src", scriptTags[no].src); 		
			head.appendChild(scriptObj);
		
		}else{	    			
				var code = scriptTags[no].innerHTML;				
				window.jsCode[no] = code;
				setTimeout('window.eval(window.jsCode[' + no + '])',no+1);	// Has to wait because we want to make all objects part of the window object(global variables) instead of locale
		}
		}
}

function getFormValues(fobj)
{
	var str = "";
	var valueArr = null;
	var val = "";
	var cmd = "";
	for(var i = 0;i < fobj.elements.length;i++)
	{
		if (fobj.elements[i].name!=null && fobj.elements[i].name!="")
		{
			if (fobj.elements[i].type == "checkbox")
				val = fobj.elements[i].checked;
			else
				val = fobj.elements[i].value;
				
			if (fobj.elements[i].type != "radio" || fobj.elements[i].checked)
			{
				str += fobj.elements[i].name +
				"=" + escape(val) + "&";
			}
			
		}
	}
	str = str.substr(0,(str.length - 1));
	return str;
}

function expandDay(int_year,int_month,int_day)
{
	elDayExpanded = $("day" + int_day + "more");
	elDayMoreLink = $("day" + int_day + "morelink");
	Effect.BlindUp(elDayMoreLink,{duration: 0.5});
	//urlToLoad = "day-expanded.php?year="+int_year+"&month="+int_month+"&day="+int_day;
	
	/*
	var myAjax = new Ajax.Request(urlToLoad,
	{
		method:'get',
		onSuccess: function(transport)
		{
			var response = transport.responseText || "";
			elDayExpanded.innerHTML = response;
			doLBLinks(elDayExpanded);
			Effect.BlindDown(elDayExpanded,{duration: 0.5});
		},
		onFailure: function(){ el.innerHTML = errorTxt; }
	});
	*/
	
	Effect.BlindDown(elDayExpanded,{duration: 0.5});
}

function closeDay(int_day)
{
	elDayExpanded = $("day" + int_day + "more");
	elDayMoreLink = $("day" + int_day + "morelink");
	Effect.BlindDown(elDayMoreLink,{duration: 0.5});
	Effect.BlindUp(elDayExpanded,{duration: 0.5});
	Effect.BlindDown(elDay,{duration: 0.5});
}

function toggleDeleteYesNo()
{
	var button = $("deleteButton");
	var yesno = $("deleteYesNo");
	
	
	if (button.style.display!='none')
		button.style.display='none';
	else
		button.style.display='';
	
	if (yesno.style.display!='none')
		yesno.style.display='none';
	else
		yesno.style.display='';
}

function expandDayMouseover(event)
{
	alert(event);
}

function collapseWeek(int_week)
{
	Effect.Fade($("week" + int_week));
}
function restoreWeek(int_week)
{
	Effect.Appear($("week" + int_week));
}
function ajaxFilter()
{
	var query;
	var contentFrom = $("ajaxCalendar").contentFrom;
	if (contentFrom.indexOf("?")>=0)
		query = "&";
	else
		query = "?";
		
	query = query + "eventlocation_id=" + $("filter_location").value;
	
	loadToDiv(contentFrom + query,"ajaxCalendar");
}