var yearsxmlhttp; 
var monthsxmlhttp;
var daysxmlhttp;

//setup onload function
if(typeof window.addEventListener != 'undefined')
{
    //.. gecko, safari, konqueror and standard
    window.addEventListener('load', loadMe, false);
}
else if(typeof document.addEventListener != 'undefined')
{
    //.. opera 
    document.addEventListener('load', loadMe, false);
}
else if(typeof window.attachEvent != 'undefined')
{
    //.. win/ie
    window.attachEvent('onload', loadMe);
}

//** remove this condition to degrade older browsers
else
{
    //.. mac/ie5 and anything else that gets this far

    //if there's an existing onload function
    if(typeof window.onload == 'function')
    {
        //store it
        var existing = onload;

        //add new onload handler
        window.onload = function()
        {
            //call existing onload function
            existing();

            //call generic onload function
            loadMe();
        };
    }
    else
    {
        //setup onload function
        window.onload = loadMe;
    }
}

function initialize()
{
	checkAjax();
}


function loadMe()
{
	initialize();
	getYears();
}

function checkAjax()
 {

    if (window.XMLHttpRequest)
    {
        // code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp = new XMLHttpRequest();
    }
    else if (window.ActiveXObject)
    {
        // code for IE6, IE5
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    else
    {
        alert("Your browser does not support XMLHTTP!");
    }
}

function getYearsBack()
{ 
    var yearSelect = document.getElementById('yearSelect');
	if (yearsxmlhttp.readyState == 4)
    {
		yearSelect.options.length = 0;
        var years = yearsxmlhttp.responseText.split("|");
        var i = 0;
        while (i < years.length) 
        {
            var elOptNew = new Option(years[i], years[i]);
            yearSelect.add(elOptNew, null); 
            i++;
        }
    }
	yearSelect.options[yearSelect.options.length - 1].selected = 1;
	getMonths();
}

function getYears()
 {
	yearsxmlhttp = new XMLHttpRequest();
    yearsxmlhttp.open("GET", "years.php", true);
	yearsxmlhttp.onreadystatechange=getYearsBack;
    yearsxmlhttp.send(null);
}

function blank()
{
	
}

function getMonthsBack()
{
	var monthSelect = document.getElementById('monthSelect');
	if(monthsxmlhttp.readyState==4)
	{
		//xmlhttp.onreadystatechange=blank;
		//for (var loop=0; loop < monthSelect.options.length; loop++) {
		//  monthSelect.remove(loop); // remove the option
		//}
		monthSelect.options.length = 0;
		var months = monthsxmlhttp.responseText.split("|");
        var i = 0;
        while (i < months.length)
        {
            var elOptNew = new Option(months[i], months[i]);
            monthSelect.add(elOptNew, null);
            i++;
        }
	}
	monthSelect.options[monthSelect.options.length - 1].selected = 1;
	getDays();
}

	function getMonths()
	{
		//for (var loop=0; loop < monthSelect.options.length; loop++) {
		//  monthSelect.remove(loop); // remove the option
		//}
		monthsxmlhttp = new XMLHttpRequest();
		var yearSelect = document.getElementById('yearSelect');
		var year = yearSelect.options[yearSelect.selectedIndex].value;
		monthsxmlhttp.open("GET","months.php?year=" + year,true);
		monthsxmlhttp.onreadystatechange=getMonthsBack;
		monthsxmlhttp.send(null);
	}
	
	function getDaysBack()
	{
		var daySelect = document.getElementById('daySelect');
		if(daysxmlhttp.readyState==4)
		{
			//xmlhttp.onreadystatechange=blank;
			//for (var loop=0; loop < daySelect.options.length; loop++) {
			//  daySelect.remove(loop); // remove the option
			//}
			daySelect.options.length = 0;
			var days = daysxmlhttp.responseText.split("|");
	        var i = 0;
	        while (i < days.length)
	        {
	            var elOptNew = new Option(days[i], days[i]);
	            daySelect.add(elOptNew, null);
	            i++;
	        }
		}
		daySelect.options[daySelect.options.length - 1].selected = 1;
	}

	function getDays()
	{
		//for (var loop=0; loop < daySelect.options.length; loop++) {
		//  daySelect.remove(loop); // remove the option
		//}
		daysxmlhttp = new XMLHttpRequest();
		var monthSelect = document.getElementById('monthSelect');
		var yearSelect = document.getElementById('yearSelect');
		var year = yearSelect.options[yearSelect.selectedIndex].value;
		var month = monthSelect.options[monthSelect.selectedIndex].value;
		daysxmlhttp.open("GET","days.php?year=" + year + "&month=" + month,true);
		daysxmlhttp.onreadystatechange=getDaysBack;
		daysxmlhttp.send(null);
	}

