var date_arr    = new Array();
var days_arr    = new Array();
var month_name  = new Array();
var month_days  = new Array();
var dayname_arr = new Array();

date_arr[0]    = new Option('januari',31);
date_arr[1]    = new Option('februari',28);
date_arr[2]    = new Option('maart',31);
date_arr[3]    = new Option('april',30);
date_arr[4]    = new Option('mei',31);
date_arr[5]    = new Option('juni',30);
date_arr[6]    = new Option('juli',31);
date_arr[7]    = new Option('augustus',30);
date_arr[8]    = new Option('september',30);
date_arr[9]    = new Option('oktober',31);
date_arr[10]   = new Option('november',31);
date_arr[11]   = new Option('december',30);
month_name[0]  = 'januari';
month_name[1]  = 'februari';
month_name[2]  = 'maart';
month_name[3]  = 'april';
month_name[4]  = 'mei';
month_name[5]  = 'juni';
month_name[6]  = 'juli';
month_name[7]  = 'augustus';
month_name[8]  = 'september';
month_name[9]  = 'oktober';
month_name[10] = 'november';
month_name[11] = 'december';
month_days[0]  = 31;
month_days[1]  = 28;
month_days[2]  = 31;
month_days[3]  = 30;
month_days[4]  = 31;
month_days[5]  = 30;
month_days[6]  = 31;
month_days[7]  = 31;
month_days[8]  = 30;
month_days[9]  = 31;
month_days[10] = 30;
month_days[11] = 31;
dayname_arr[1] = 'maandag';
dayname_arr[2] = 'dinsdag';
dayname_arr[3] = 'woensdag';
dayname_arr[4] = 'donderdag';
dayname_arr[5] = 'vrijdag';
dayname_arr[6] = 'zaterdag';
dayname_arr[0] = 'zondag';

function fill_select(future) {
	document.writeln('&nbsp;<span id="datum_dagvanweek"></span>');
	if (future) {
		document.writeln("<select name=\"datum_dag\" id=\"datum_dag\" onchange=\"update_days(true)\"></select>&nbsp;<select name=\"datum_maand\" onchange=\"update_days(true)\">");
	} else {
		document.writeln("<select name=\"datum_dag\" id=\"datum_dag\" onchange=\"update_days(false)\"></select>&nbsp;<select name=\"datum_maand\" onchange=\"update_days(false)\">");
	}
	for(var x=0;x<12;x++) {
		document.writeln("<option value=\""+x+"\">"+date_arr[x].text+"</option>");
	}
	document.writeln('</select>');
	var selection = document.MasterForm.datum_maand[document.MasterForm.datum_maand.selectedIndex].value;
}

function update_days(future) {
	var temp = document.MasterForm.datum_dag.selectedIndex; 

	// Maak de dagen leeg
	for (var x=days_arr.length;x>0;x--) {
		days_arr[x]=null;
		document.MasterForm.datum_dag.options[x]=null;
	}

	// Check of het een schrikkeljaar + februari betreft
	var selection = parseInt(month_days[document.MasterForm.datum_maand.selectedIndex]);
	var ret_val   = 0;
	if(selection==28) {
		var year = parseInt(document.MasterForm.datum_jaar.options[document.MasterForm.datum_jaar.selectedIndex].value);
		if (year % 4 != 0 || year % 100==0 ) {
			ret_val = 0;
		} else {
			ret_val = 1;
		}
	}

	// Maak de dagen
	var time = new Date();
	var jaar = time.getYear();
	if (jaar<1900) { jaar = jaar + 1900; }

	if(!future && document.MasterForm.datum_jaar.options[document.MasterForm.datum_jaar.selectedIndex].value==jaar && document.MasterForm.datum_maand.selectedIndex==time.getMonth()) {
		selection = time.getDate();
	} else {
		selection = selection + ret_val;
	}
	for(x=0;x<selection;x++) {
		days_arr[x]=new Option(x+1,x);
		document.MasterForm.datum_dag.options[x]=days_arr[x];
	}

	// Herstel de oude selectie-dag
	if (temp>selection-1) { temp = selection-1; }
	if (temp==-1) {
		document.MasterForm.datum_dag.options[0].selected=true;
	} else {
		document.MasterForm.datum_dag.options[temp].selected=true;
	}

	// Bepaal de dag van de week
	var datum_selectie = new Date(document.MasterForm.datum_jaar[document.MasterForm.datum_jaar.selectedIndex].text, document.MasterForm.datum_maand[document.MasterForm.datum_maand.selectedIndex].value, document.MasterForm.datum_dag[document.MasterForm.datum_dag.selectedIndex].text);
	var dagvanweek     = datum_selectie.getDay();
	document.getElementById('datum_dagvanweek').innerHTML = dayname_arr[dagvanweek];
}       

function update_months(future) {
	var selection;
	var temp = document.MasterForm.datum_maand.selectedIndex;

	// Maak de maanden leeg
	for(var x=12;x>0;x--) {
		document.MasterForm.datum_maand.options[x-1]=null;
	}

	// Maak de maanden
	var time = new Date();
	var jaar = time.getYear();
	if (jaar<1900) { jaar = jaar + 1900; }

	if (!future && document.MasterForm.datum_jaar.options[document.MasterForm.datum_jaar.selectedIndex].value==jaar) {
		selection = time.getMonth() + 1;
	} else {
		selection = 12;
	}
	for(x=0;x<selection;x++) {
		document.MasterForm.datum_maand.options[x]=new Option(month_name[x], x);
	}

	// Herstel de oude selectie-maand
	if (temp>selection-1) { temp = selection-1; }
	if (temp==-1) {
		document.MasterForm.datum_maand.options[0].selected=true;
	} else {
		document.MasterForm.datum_maand.options[temp].selected=true;
	}

	update_days(future);
}

function year_install(future) {
	var x;

	if (future) {
		document.writeln("<select name=\"datum_jaar\" onchange=\"update_months(true)\">");
	} else {
		document.writeln("<select name=\"datum_jaar\" onchange=\"update_months(false)\">");
	}
	var time = new Date();
	var jaar = time.getYear();
	if (jaar<1900) { jaar = jaar + 1900; }
        if (future) {
		for(x=jaar-10;x<jaar+6;x++) {
			document.writeln("<option value=\""+x+"\">"+x+"</option>");
		}
	} else {
		for(x=jaar-10;x<jaar+1;x++) {
			document.writeln("<option value=\""+x+"\">"+x+"</option>");
		}
	}
	document.writeln("</select>");
	update_months(future);
}

function year_install_extra(future) {
	// Installeert date_selector met grote historie (100 jaar)
	var x;

	if (future) {
		document.writeln("<select name=\"datum_jaar\" onchange=\"update_months(true)\">");
	} else {
		document.writeln("<select name=\"datum_jaar\" onchange=\"update_months(false)\">");
	}
	var time = new Date();
	var jaar = time.getYear();
	if (jaar<1900) { jaar = jaar + 1900; }
        if (future) {
		for(x=jaar-100;x<jaar+6;x++) {
			document.writeln("<option value=\""+x+"\">"+x+"</option>");
		}
	} else {
		for(x=jaar-100;x<jaar+1;x++) {
			document.writeln("<option value=\""+x+"\">"+x+"</option>");
		}
	}
	document.writeln("</select>");
	update_months(future);
}