
var currentMonth = 1;
var currentYear = 2010;

String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g,"");
}

function getRemoteObject() {
	var req;
	if(window.XMLHttpRequest){
		// Firefox, Safari, Opera...
		req = new XMLHttpRequest();
	} else if(window.ActiveXObject) {
		// Internet Explorer 5+ 
		req = new ActiveXObject("Microsoft.XMLHTTP"); 
	} else {
		alert('Problem creating the XMLHttpRequest object'); 
	} 
	return req; 
}

var http = getRemoteObject();

function refreshCalendar() {
	showCalendar(currentYear, currentMonth);
}

function showCalendar(y, m) {
	show('calendar', 'getCalendar.php?month='+m+'&year='+y, 0);
	currentMonth = m;
	currentYear = y;
	/*
	http.open('get', 'getCalendar.php?month='+m+'&year='+y);
	http.onreadystatechange = function() {
		if(http.readyState == 4 && http.status == 200) { 
			var response = http.responseText;
			if(response) {
				document.getElementById("calendar").innerHTML = http.responseText; 
			}
		}
	}
	http.send(null);
	*/
}

function show(id, theLink, refreshTable) {
	http.open('get', theLink);
	http.onreadystatechange = function() {
		if(http.readyState == 4 && http.status == 200) { 
			var response = http.responseText;
			if(response) {
				//alert(http.responseText);
				document.getElementById(id).innerHTML = http.responseText;
				if(refreshTable == 1){
					refreshCalendar();
				}
			}
		}
	}
	http.send(null);
}

function textCounter(field1, maxlimit) {
	field = document.getElementById(field1);
	if (field.value.length > maxlimit) // if too long...trim it!
		field.value = field.value.substring(0, maxlimit);
}

function hide(id){
	document.getElementById(id).style.display="none";
	//show('dayEvents', 'getEventList?year=' + year + '&month=' + month + '&day=' + day);
}

function createNewEvent(){
	
//	document.getElementById("myText1").value=""
//	document.getElementById("myText2").value=""
//	document.getElementById("recurring").value=""
//	document.getElementById("typeSelect").selectedIndex=0
//	document.getElementById("description").value=""
//	document.getElementById("number").value=""
//	document.getElementById("createEvent2").style.display="";
//	document.getElementById("selectDate2").style.display="none";
//	document.getElementById("selectDate2").style.left=150
//	document.getElementById("selectDate2").style.top=20
//	document.getElementById("saveEventResult2").style.display="none";
//	document.getElementById("saveEventResult").innerHTML="";
//	document.getElementById("recurring").checked=false;
//	document.getElementById("typeSelect").disabled=true;
//	document.getElementById("endButton").disabled=true;
//	document.getElementById("myText2").disabled=true;
	document.getElementById("createEventContainerInnerWindow").innerHTML = document.getElementById("createEventContainerBackup").innerHTML;
	centerElement("createEventContainer", 460, 400);
	
//	show('textNumber', 'getText');
}

function showEvents(year, month, day){
	//document.getElementById("generalContainer").style.display="";
	centerElement("generalContainer", 460, 400);
	show('generalContainerInnerWindow', 'getEventList?year=' + year + '&month=' + month + '&day=' + day, 0);
}

function showEventDetails(id){
	centerElement("generalContainer", 460, 400);
	show('generalContainerInnerWindow', 'getEventDetails?id=' + id, 0);
}

function deleteEvent(id, year, month, day){
	centerElement("generalContainer", 460, 400);
	show('generalContainerInnerWindow', 'getEventList?year=' + year + '&month=' + month + '&day=' + day + '&id=' + id, 1);
}

function saveEvent(){
	
	start=document.getElementById("myText1").value;
	desc=document.getElementById("description").value;
	
	//number2=document.getElementById("number").value
	//if(start.trim().length ==0){
	//	alert("Date is not specified.");
	//	document.getElementById("myText1").focus();
	//	return;	
	//}
	if(desc.trim().length ==0){
		alert("Event description is empty.");
		document.getElementById("description").focus();
		return;
	}
	
	theLink = 'saveEvent?start=' + start + '&desc=' + desc; //'&number=' + number2;
	
	if(document.getElementById("recurring").checked){
		recur=document.getElementById("recurring").value;
		type = 0;
		if (document.getElementById("weekly").checked)
			type=1;
		if (document.getElementById("monthly").checked)
			type=2;
		if (document.getElementById("yearly").checked)
			type=3;
		end=document.getElementById("myText2").value;
		if(end.trim().length ==0){
			alert("End date is empty.");
			document.getElementById("myText2").focus();
			return;
		}
		theLink =theLink +  '&end=' + end + '&recur=' + recur + '&type=' + type;
	}
	//alert(theLink);
	http.open('get', theLink);
	http.onreadystatechange = function() {
		if(http.readyState == 4 && http.status == 200) { 
			var response = http.responseText;
			if(response) {
				//alert(http.responseText);
				res=http.responseText.trim();
				//alert(res);
				theText=""
				if(res=="0"){
					//theText='<h2 style="color:blue">Event saved successfully</h2>';
					//alert("Event saved successfully.");
					document.getElementById("createEventContainer").style.display="none";
					refreshCalendar();
				}
				else if(res=="1")
					theText='<font style="color:red">Invalid input.</font>';
				else if(res=="2")
					theText='<font style="color:red">Unable to save the event.</font>';
				else if(res=="3")
					theText='<font style="color:red">The numbers you entered do not match.</font>';
				else if(res=="4")
					theText='<font style="color:red">Can not create an event or schedule for a passed date.</font>';
				else if(res=="5")
					theText='<font style="color:red">End date must be after the start date.</font>';
				else
					theText='<font style="color:red">Event could not be saved.</font>';
				
				//document.getElementById("saveEventResultDiv").innerHTML = theText;
				document.getElementById("saveEventResultDiv").style.display = "";
				document.getElementById("saveEventResultDiv").innerHTML = theText;
				
				//document.getElementById("saveEventResult").innerHTML = theText;
				//document.getElementById("saveEventResult2").style.display="";
			}
		}
	}
	http.send(null);
}


