<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->
<!-- Original:  Warren Brown (warren@scully.xfiles.za.org) -->
/* Javascript Date Selector
   by Warren Brown (03/01/2004 Radiokop South Africa)

   Script to place Month/day/year onto a web page, leap year enabled
*/

var date_arr = new Array;
var days_arr = new Array;

date_arr[0]=new Option("January",31);
date_arr[1]=new Option("February",28);
date_arr[2]=new Option("March",31);
date_arr[3]=new Option("April",30);
date_arr[4]=new Option("May",31);
date_arr[5]=new Option("June",30);
date_arr[6]=new Option("July",31);
date_arr[7]=new Option("August",30);
date_arr[8]=new Option("September",30);
date_arr[9]=new Option("October",31);
date_arr[10]=new Option("November",31);
date_arr[11]=new Option("December",30);

function fill_select(f, def_month) {
    document.writeln("<SELECT name=months class=txtField  style=\"position:relative;left:98px;margin-top:4px;\" onchange=update_days("+f.name+",-1)>");

    def_month--;
    for(x=0;x<12;x++)
    {
        if (def_month == x) {
	   document.writeln("<OPTION value=\""+date_arr[x].value+"\" selected>"+date_arr[x].text);
	} else {
	   document.writeln("<OPTION value=\""+date_arr[x].value+"\">"+date_arr[x].text);
        }
    }
    document.writeln("</SELECT> <SELECT name=\"days\" class=txtField style=\"position:relative;left:98px;\"></SELECT>");
    selection=f.months[f.months.selectedIndex].value;
}

function update_days(f, def_day)
{
	if (def_day > 0) {
	   temp=def_day - 1;
	} else {
	   temp=f.days.selectedIndex;
	}

        for(x=days_arr.length;x>0;x--)
        {
                days_arr[x]=null;
                f.days.options[x]=null;
         }

        selection=parseInt(f.months[f.months.selectedIndex].value);
        ret_val = 0;
        if(f.months[f.months.selectedIndex].value == 28)
        {
                year=parseInt(f.years.options[f.years.selectedIndex].value);
                if (year % 4 != 0 || year % 100 == 0 ) ret_val=0;
                else
                        if (year % 400 == 0)  ret_val=1;
                        else
                                ret_val=1;
        }
        selection = selection + ret_val;
        for(x=1;x < selection+1;x++)

        {
                days_arr[x-1]=new Option(x);
                f.days.options[x-1]=days_arr[x-1];
        }
        if (temp == -1) f.days.options[0].selected=true;
        else
             f.days.options[temp].selected=true;
}
function year_install(f, def_year, def_day)
{
        document.writeln("<SELECT name=\"years\" class=txtField style=\"position:relative;left:98px;\" onchange=\"update_days("+f.name+",-1)\">");
        for(x=2007;x>1950;x--) {
            if (x==def_year) document.write("<OPTION value=\""+x+"\" selected>"+x);
            else if (def_year==0 && x==1989) document.write("<OPTION value=\""+x+"\" selected>"+x);
            else document.write("<OPTION value=\""+x+"\">"+x);
        }
        document.writeln("</SELECT>");

	if (def_day > 0) {
	   update_days(f, def_day);
	} else {
	  update_days(f, -1);
	}
}
