	
	var date_arr = new Array;
	var days_arr = new Array;
	var dname = "Day";
	var yname = "Year";
	var mname = "Month";
	var reverse  = 0;
	
	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",31);
	date_arr[8]=new Option("September",30);
	date_arr[9]=new Option("October",31);
	date_arr[10]=new Option("November",30);
	date_arr[11]=new Option("December",31);
	
    function setFrenchDate() { 
    	dname = "Jour";
    	yname = "Ann\u00E9e";
    	mname = "Mois";
		date_arr[0]=new Option("Janvier",31);
		date_arr[1]=new Option("F\u00E9vrier",28);
		date_arr[2]=new Option("Mars",31);
		date_arr[3]=new Option("Avril",30);
		date_arr[4]=new Option("Mai",31);
		date_arr[5]=new Option("Juin",30);
		date_arr[6]=new Option("Juillet",31);
		date_arr[7]=new Option("Ao\u00FBt",31);
		date_arr[8]=new Option("Septembre",30);
		date_arr[9]=new Option("Octobre",31);
		date_arr[10]=new Option("Novembre",30);
		date_arr[11]=new Option("D\u00E9cembre",31);
    }

    function fill_language(dobDay,dobMonth,dobYear,dobJanuary,dobFebruary,dobMarch,dobApril,dobMay,dobJune,dobJuly,dobAugust,dobSeptember,dobOctober,dobNovember,dobDecember) {
        if (dobDay != "") {
            dname = dobDay;
        }
        if (dobMonth != "") {
            mname = dobMonth;
        }
        if (dobYear != "") {
            yname = dobYear;
        }
	    if (dobJanuary != "") {
		    date_arr[0]=new Option(dobJanuary,31);
        }
	    if (dobFebruary != "") {
		    date_arr[1]=new Option(dobFebruary,28);
        }
	    if (dobMarch != "") {
		    date_arr[2]=new Option(dobMarch,31);
        }
	    if (dobApril != "") {
		    date_arr[3]=new Option(dobApril,30);
        }
	    if (dobMay != "") {
		    date_arr[4]=new Option(dobMay,31);
        }
	    if (dobJune != "") {
		    date_arr[5]=new Option(dobJune,30);
        }
	    if (dobJuly != "") {
		    date_arr[6]=new Option(dobJuly,31);
        }
	    if (dobAugust != "") {
		    date_arr[7]=new Option(dobAugust,31);
        }
	    if (dobSeptember != "") {
		    date_arr[8]=new Option(dobSeptember,30);
        }
	    if (dobOctober != "") {
		    date_arr[9]=new Option(dobOctober,31);
        }
	    if (dobNovember != "") {
  		    date_arr[10]=new Option(dobNovember,30);
        }
	    if (dobDecember != "") {
		    date_arr[11]=new Option(dobDecember,31);
        }
    }
    
    function reverseOrder() {
    	reverse  = 1;
    }


 	function fill_select(id,style)
	{ 
            if (reverse == 1) {
	            document.writeln('<SELECT '+style+' name="days'+id+'" id="days'+id+'"><option value="">'+dname+'</option></SELECT>');
            }

	        var sopen = '<SELECT '+style +' name="months'+id+'" id="months'+id+'" onchange="update_days(\''+id+'\')">';
	        document.writeln( sopen );
	        document.writeln("<option value=\"\">"+mname+"</option>");
	        for(x=0;x<12;x++) {
	                document.writeln("<OPTION value=\""+(x+1)+"\">"+date_arr[x].text+"</OPTION>");
	        }
	        document.writeln('</SELECT>');

            if (reverse == 0) {
	            document.writeln('<SELECT '+style+' name="days'+id+'" id="days'+id+'"><option value="">'+dname+'</option></SELECT>');
	        }
	        
            if (document.getElementById('months'+id).selectedIndex > 0) {
            	selection=date_arr[parseInt(document.getElementById('months'+id)[document.getElementById('months'+id).selectedIndex].value)-1].value;
            }
	}

	function fill_select2(id,style)
	{ 
            if (reverse == 1) {
                document.writeln('<SELECT '+style+' name="days'+id+'" id="days'+id+'"><option value="">'+dname+'</option></SELECT>');
            }
            
	        var sopen = '<SELECT '+style +' name="months'+id+'" id="months'+id+'" onchange="update_daysdob(\''+id+'\')">';
	        document.writeln( sopen );
            document.writeln("<option value=\"\">"+mname+"</option>");
	        for(x=0;x<12;x++) {
	                document.writeln("<OPTION value=\""+(x+1)+"\">"+date_arr[x].text+"</OPTION>");
	        }
	        document.writeln('</SELECT>');

            if (reverse == 0) {
                document.writeln('<SELECT '+style+' name="days'+id+'" id="days'+id+'"><option value="">'+dname+'</option></SELECT>');
            }

            if (document.getElementById('months'+id).selectedIndex > 0) {
	            selection=date_arr[parseInt(document.getElementById('months'+id)[document.getElementById('months'+id).selectedIndex].value)-1].value;
	        }
	}


	
	function update_daysdob(id)
	{
	        temp=document.getElementById('days'+id).selectedIndex;
	        for(x=days_arr.length+1;x>0;x--)
	        {
	                days_arr[x]=null;
	                document.getElementById('days'+id).options[x]=null;
	        }
	        selection = 0;
            if (document.getElementById('months'+id)) {
                if (document.getElementById('months'+id).selectedIndex > 0) {
	                selection=parseInt(date_arr[parseInt(document.getElementById('months'+id)[document.getElementById('months'+id).selectedIndex].value)-1].value);
	            }
	        }
	        ret_val = 0;
	        if(selection == 28)
	        {
	                year=parseInt(document.getElementById('years'+id).options[document.getElementById('years'+id).selectedIndex].value);
                    if (year % 4 == 0) {
                       ret_val=1;
                       if (year % 100 == 0) {
	                        ret_val=0;
                       }
                       if (ret_val == 0) {
                       	   if (year % 400 == 0)  {
	                           ret_val=1;
	                       }
                       }
                    }
            }
	        selection = selection + ret_val;

            days_arr[0]=new Option(dname,"");
            document.getElementById('days'+id).options[0]=days_arr[0];
	        for(x=1; x<selection+1;x++)
	        {
                   days_arr[x]=new Option(x,x);
	                document.getElementById('days'+id).options[x]=days_arr[x];
	        }
	        if (temp == -1) { 
	            document.getElementById('days'+id).options[0].selected=true;
	        } else {
	             if (temp > document.getElementById('days'+id).options.length) {
	                 temp = 1;
	             }
    	         document.getElementById('days'+id).selectedIndex = temp;
	             document.getElementById('days'+id).options[temp].selected=true;
	        }
	}
	
	function update_days(id)
	{
	        temp=document.getElementById('days'+id).selectedIndex;
	        for(x=days_arr.length;x>0;x--)
	        { 
	                days_arr[x]=null;
	                document.getElementById('days'+id).options[x]=null;
	        }
	        selection = 0;
	        if (document.getElementById('months'+id)) {
	            if (document.getElementById('months'+id).selectedIndex > 0) {
	                selection=parseInt(date_arr[parseInt(document.getElementById('months'+id)[document.getElementById('months'+id).selectedIndex].value)-1].value);
	            }
	        }
	        ret_val = 0;

	        if(selection == 28)
	        {
	                year=parseInt(document.getElementById('years'+id).options[document.getElementById('years'+id).selectedIndex].value);
                    if (year % 4 == 0) {
                       ret_val=1;
                       if (year % 100 == 0) {
	                        ret_val=0;
                       }
                       if (ret_val == 0) {
                       	   if (year % 400 == 0)  {
	                           ret_val=1;
	                       }
                       }
                    }
	        }
	        selection = selection + ret_val;
	        for(x=1; x<selection+1;x++)
	        {
	                days_arr[x]=new Option(x,x);
	                document.getElementById('days'+id).options[x]=days_arr[x];
	        }
	        if (temp == -1) { 
	            document.getElementById('days'+id).options[0].selected=true;
	        } else {
	             if (temp > document.getElementById('days'+id).options.length) {
	                 temp = 1;
	             }
    	         document.getElementById('days'+id).selectedIndex = temp;
 	             document.getElementById('days'+id).options[temp].selected=true;
 	        }
	}

	function year_install(id,style)
	{
  	        var mydate= new Date(); 
  	        var myyear = mydate.getYear();
  	        if (myyear < 1900) {
  	            myyear = myyear + 1900;
  	        }
	        document.writeln('<SELECT '+style+' name="years'+id+'" id="years'+id+'" onchange="update_days(\''+id+'\')">');
            document.writeln("<option value=\"\">"+yname+"</option>");
	        for(x=myyear -100;x<= myyear+100;x++) document.writeln("<OPTION value=\""+x+"\">"+x+"</OPTION>");
	        document.writeln("</SELECT>");
	        update_days(id);
	}

	function year_installdob(id,style)
	{
  	        var mydate= new Date(); 
  	        var myyear = mydate.getYear();
  	        if (myyear < 1900) {
  	            myyear = myyear + 1900;
  	        }
	        document.writeln('<SELECT '+style+' name="years'+id+'" id="years'+id+'" onchange="update_daysdob(\''+id+'\')">');
            document.writeln("<option value=\"\">"+yname+"</option>");
	        for(x=myyear -8;x>= myyear-100;x--) document.writeln("<OPTION value=\""+x+"\">"+x+"</OPTION>");
	        document.writeln("</SELECT>");
	        update_daysdob(id);
	}


	function setDate( id, month, day, year ) {
		//alert(id + " " + month + " " + day + " " + year);
		
		var mo = document.getElementById('months'+id);
		month = parseInt(month,10);
		day = parseInt(day,10);
		var i;
		for ( i=0; i< mo.options.length; i++ ) {
			if ( mo.options[i].value == month ) {
				mo.options[i].selected = true;
				break;
			}
		}
		update_daysdob(id);
		var ddo = document.getElementById('days'+id);
		for ( i=0; i< ddo.options.length; i++ ) {
			if ( ddo.options[i].text == day ) {
				ddo.options[i].selected = true;
				break;
			}
		}
		
		var yo = document.getElementById('years'+id);
		for ( i=0; i< yo.options.length; i++ ) {
			if ( yo.options[i].value == year ) {
				yo.options[i].selected = true;
				break;
			}
		}
	}
