var currentDate = new Date();


function highlight(month, day, year) {
	var test_dt = new Date();
	test_dt.setMonth(month,0);
	test_dt.setFullYear(year);
	var numberOfDaysInMonth = test_dt.getDate();
	
	for( var i = 1; i <= numberOfDaysInMonth; i++ ) {
		if ( $("#"+i).hasClass("current") )
			$("#"+i).removeClass("current");
	}
	$("#"+day).addClass("current");
}


function loadEvents(month, day, year) {
	var eventsHttp;

	var events_script = 'show_events.php';
	if( month && day && year ) {
		events_script += '?month=' + month + '&day=' + day + "&year=" + year;
	}
	
	try {
		eventsHttp = new XMLHttpRequest(); // Firefox, Opera 8.0+, Safari
	} catch(e) {
		try {
			eventsHttp = new ActiveXObject("Msxml2.XMLHTTP");  
		} catch(e) {
			try {
				eventsHttp = new ActiveXObject("Microsoft.XMLHTTP");
			} catch(e) {
				alert("Your browser does not support this functionality.");
				return false;
			}
		}
	}	

	
	eventsHttp.onreadystatechange=function() {
		if(eventsHttp.readyState==4) {
			document.getElementById('event_list').innerHTML = eventsHttp.responseText;
		}
	}
	eventsHttp.open("GET", events_script, true);
	eventsHttp.send(null);
	return false;
}




function loadMonth(month, day, year) {
	var calHttp;
	
	var the_script = 'show_month.php';
	if( month && day && year ) {
		the_script += '?month=' + month + '&day=' + day + "&year=" + year;
	}

	try {
		calHttp = new XMLHttpRequest();
	} catch(e) {
		try {
			calHttp = new ActiveXObject("Msxml2.XMLHTTP"); // Internet Explorer
		} catch(e) {
			try {
				calHttp = new ActiveXObject("Microsoft.XMLHTTP");
			} catch(e) {
				alert("Your browser does not support this functionality.");
				return false;
			}
		}
	}


	
	calHttp.onreadystatechange=function() {
		if(calHttp.readyState==4) {
			document.getElementById('calendarmonth').innerHTML = calHttp.responseText;
		}
	}
	calHttp.open("GET", the_script, true);
	calHttp.send(null);
	return false;
}


function rewind() {
	// what is the previous month?
	if( currentDate.getMonth() == 0 ) {
		currentDate.setMonth(11);
		currentDate.setFullYear( currentDate.getFullYear() - 1);
	} else {
		// javascript and php treat the month array differently
		currentDate.setMonth( currentDate.getMonth() - 1 );
	}

	loadMonth( currentDate.getMonth() + 1, 1, currentDate.getFullYear() );
}

function fastforward() {
	// what is the next month?
	if( currentDate.getMonth() == 11 ) {
		currentDate.setMonth(0);
		currentDate.setFullYear( currentDate.getFullYear() + 1);
	} else {
		// javascript and php treat the month array differently
		currentDate.setMonth( currentDate.getMonth() + 1 );
	}

	loadMonth( currentDate.getMonth() + 1, 1, currentDate.getFullYear() );
}


function swapDay( month, day, year ) {
	highlight( month, day, year );
	loadEvents( month, day, year );
}


function loadDate(month,day,year){
	loadMonth(month, day, year);
	loadEvents(month, day, year); 
}

