var xmlhttp
var checkedDate;
var venuelocation;

function liveCheck()
{
	f = document.form1;
	
	var eventdate = f.eventdate.value;
	eventdate = eventdate.split("-");
	var year = eventdate[0];
	var month = eventdate[1];
	var day = eventdate[2];
	var locationCode = f.venue.value.split(".");
	locationCode = locationCode[0];
	
	switch (locationCode)
	{
		case 'cb': venuelocation = 'Cebu'; break;
		case 'pp': venuelocation = 'Pampanga'; break;
		case 'mm': venuelocation = 'Metro Manila'; break;
		case 'tg': venuelocation = 'Tagaytay'; break;
		default: venuelocation = 'this venue';
	}
	var mo = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
	checkedDate = mo[parseInt(month,10) - 1] + " " + day + ", " + year;
	
	
	xmlhttp=GetXmlHttpObject();
	
	if (xmlhttp==null)
  	{
  		document.getElementById("liveresult").innerHTML="Browser not supported.";
  		return;
	}
	var url="/static/livecheck/livecheck.php";
	url=url+"?d="+year+month+day;
	url=url+"&l="+locationCode;
	url=url+"&s="+Math.random();
	xmlhttp.onreadystatechange=stateChanged;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}

function stateChanged()
{
	document.getElementById("liveresult").innerHTML= document.getElementById("liveresult").innerHTML= + "<br/>" + xmlhttp.readyState + ": " + xmlhttp.responseText;
	f = document.form1;
	
	if (xmlhttp.readyState == 1)
	{
		f.checkavail.disabled = true;
		document.getElementById("liveresult").style.background="#FFFFFF";
		document.getElementById("liveresult").innerHTML="Checking...";
	}
	else if (xmlhttp.readyState==4)
	{
		var result = xmlhttp.responseText.split(":");
		var bError = false;
		var error;
		if (result[0] == 'E')
		{
			switch (result[1])
			{
				case '1':  error = "No date given"; break;
				case '2':  error = "Invalid date given"; break;
				case '3':  error = "Invalid year"; break;
				case '4':  error = "Invalid month"; break;
				case '5':  error = "Invalid day"; break;
				case '6':  error = "Cannot check past dates";break;
				case '0':  error = "Unknown error";
			}
			document.getElementById("liveresult").innerHTML="Error: " + error + ".<br/>Please try again.";
			document.getElementById("liveresult").style.background="#FA5858";	
		}
		else if (result[0] == 'C')
		{
			var booked = result[1];
			var bookmessage = "";
			if (booked < 21)
			{
				document.getElementById("liveresult").style.background="#81F781";
				bookmessage = "We're available on " + checkedDate + " in "+venuelocation+".";
			}
			else if (booked > 20 && booked < 41)
			{
				document.getElementById("liveresult").style.background="#BEF781";
				bookmessage = "We're available on "  + checkedDate + " in "+venuelocation+".";			
			}
			else if (booked > 40 && booked < 61)
			{
				document.getElementById("liveresult").style.background="#F2F5A9";
				bookmessage = "We're available on " + checkedDate + " in "+venuelocation+".";
			}
			else if (booked > 60 && booked < 81)
			{
				document.getElementById("liveresult").style.background="#F5D0A9";
				bookmessage = "Hurry! We're almost fully booked on " + checkedDate + " in "+venuelocation+".";
			}
			else if (booked > 80 && booked < 100)
			{
					document.getElementById("liveresult").style.background="#F5D0A9";
					bookmessage = "Hurry! We're almost fully booked on " + checkedDate + " in "+venuelocation+".";
			}
			else if (booked > 99)
			{
				document.getElementById("liveresult").style.background="#F5A9A9";
				bookmessage = "Sorry, we're fully booked on " + checkedDate + " in "+venuelocation+".<br/>Although, there's a chance we might still be able to accommodate you<br/>so please continue with this form and we will get back to you within 2 working days.";
			}
			
			document.getElementById("liveresult").innerHTML=bookmessage;		
		}

	f.checkavail.value = "check availability";
	f.checkavail.disabled = false;
	}
}

function GetXmlHttpObject()
{
	if (window.XMLHttpRequest)
	{
  		// code for IE7+, Firefox, Chrome, Opera, Safari
  		return new XMLHttpRequest();
	}
	
	if (window.ActiveXObject)
	{
		// code for IE6, IE5
		return new ActiveXObject("Microsoft.XMLHTTP");
	}
return null;
}