var calculate_req

function calculate()
{

	

	var d = new Date();

	var FromDate = document.getElementById("from_year").value + "-" + document.getElementById("from_month").value + "-" + document.getElementById("from_day").value;
	var ToDate = document.getElementById("to_year").value + "-" + document.getElementById("to_month").value + "-" + document.getElementById("to_day").value;
	var extrasCollection = document.forms[0].extras;

	extras = "";
	for (i=0;i<extrasCollection.length;i++) {
		if (extrasCollection[i].checked)
			extras += extrasCollection[i].value + "=" + extrasCollection[i].checked + ",";
	}
	
	var url = "/includes/cost_calculator.php?u="+d.getTime()+"&FromDate=" + FromDate + "&ToDate=" + ToDate + "&extras=" + extras.substr(0,extras.length-1);

	if(window.XMLHttpRequest) {
		calculate_req = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		calculate_req = new ActiveXObject("Microsoft.XMLHTTP");
	}
	calculate_req.open("GET", url, true);
	calculate_req.onreadystatechange = cost_callback;
	calculate_req.send(null);
}

function cost_callback() {
	obj = document.getElementById("totalcost");
	
	if (calculate_req.readyState == 4) {
		if (calculate_req.status == 200) {
			response = calculate_req.responseText;
			obj.innerHTML = response;
		} else {
			alert("There was a problem retrieving the total cost");
		}
	}
}

var days_arr = new Array;
var date_arr = new Array;

date_arr[1]=new Option("January",1);
date_arr[2]=new Option("February",2);
date_arr[3]=new Option("March",3);
date_arr[4]=new Option("April",4);
date_arr[5]=new Option("May",5);
date_arr[6]=new Option("June",6);
date_arr[7]=new Option("July",7);
date_arr[8]=new Option("August",8);
date_arr[9]=new Option("September",9);
date_arr[10]=new Option("October",10);
date_arr[11]=new Option("November",11);
date_arr[12]=new Option("December",12);

function daysInMonth(Month, Year) {
	return 32 - new Date(Year, Month - 1, 32).getDate();
}

function fill_years(f, type) {

	var today=new Date();
	
	document.writeln("<SELECT name=\""+type+"_year\" id=\""+type+"_year\" onchange=\"update_days(frm, '"+type+"'); calculate();\">")
	for(x=today.getFullYear();x<today.getFullYear()+2;x++) document.writeln("<OPTION value=\""+x+"\">"+x);
	document.writeln("</SELECT>");
}

function fill_months(f, type) {
	document.writeln("<SELECT name=\""+type+"_month\" id=\""+type+"_month\" onchange=\"update_days(frm, '"+type+"'); calculate();\">");
	for(x=1;x<=12;x++) {
		document.writeln("<OPTION value=\""+x+"\">"+date_arr[x].text+"</OPTION>");
	}
	document.writeln("</SELECT>");
}

function fill_days(f, type) {
	document.writeln("<SELECT name=\""+type+"_day\" id=\""+type+"_day\" onchange=\"calculate();\">");
	document.writeln("</SELECT>");
}

function update_days(f, type) {

	dayControl = document.getElementById(type+"_day");
	monthControl = document.getElementById(type+"_month");
	yearControl = document.getElementById(type+"_year");
	
	selectedDay=dayControl.selectedIndex;
	totalDays = daysInMonth(monthControl.value, yearControl.value);

	//Clear ddl items
	for (x=1; x<=dayControl.options.length+1; x++) {
		days_arr[x]=null;
		dayControl.options[x]=null;
	}
	
	//Repopulate ddl items
	for (x=0; x<=totalDays-1; x++) {
		days_arr[x]=new Option(x+1,x+1);
		dayControl.options[x]=days_arr[x];
	}

	if (selectedDay > -1 && selectedDay <= dayControl.options.length)
		dayControl.selectedIndex = selectedDay;
		
}

function setInitialDate() {
	var today=new Date();
	today = new Date(today.getTime() + 86400000);
	document.getElementById("from_day").selectedIndex = today.getDate() - 1;
	document.getElementById("from_month").selectedIndex = today.getMonth();
	document.getElementById("to_day").selectedIndex = today.getDate() - 1;
	document.getElementById("to_month").selectedIndex = today.getMonth();
}