var calendar_url = '';

function new_calendar(parms, targetForm, targetElem, browse, linkobj) {
  if (parms != '') parms = '&' +parms;
	calendar_url = 'calendar?targetForm=' +targetForm+ '&targetElem=' +targetElem+ '&browse=' +browse +parms;
	doAjax(calendar_url, showCalendar);
	positioneer(linkobj, 'calendar_layer',-32,-32);
	try{toon_verberg('calendar_layer',true);}
	catch(e){document.getElementById('calendar_layer').innerHTML = '';document.getElementById('calendar_layer').style.display = 'block';}
}
function refresh_calendar() {
	doAjax(calendar_url +'&id='+document.getElementsByName('id')[0].value +'&calendarMonth='+document.getElementsByName('calendarMonth')[0].value +'&calendarYear='+document.getElementsByName('calendarYear')[0].value, showCalendar);
}
function showCalendar(){
	insertHTML(document.getElementById('calendar_layer'), this.req.responseText);
	document.getElementById('kalender_maand').innerHTML = document.calendar_form.calendarMonth.options[document.calendar_form.calendarMonth.selectedIndex].text;
	document.getElementById('kalender_jaar').innerHTML = document.calendar_form.calendarYear.value;
}
function serveer_datum (dayNum, targetForm, targetElem) {
	vorm = document.calendar_form.dateFormat.value; // b.v. D-M-Y
	datum = new Array();
	for (d=0; d<vorm.length; d++) {
		switch (vorm.charAt(d)) {
		case 'D': datum[datum.length] = getal(Number(dayNum), 2); break;
		case 'M': datum[datum.length] = getal(document.calendar_form.calendarMonth.value, 2); break;
		case 'Y': datum[datum.length] = getal(document.calendar_form.calendarYear.value, 4); break;
		}
	}
	document.forms[targetForm].elements[targetElem].value = datum.join(vorm.charAt(1));
	toon_verberg('calendar_layer');
}
function kalender_blader_samen(met) {//blader met maand pas jaar aan bij overschreiding limiet
	sel_maand = document.calendar_form.calendarMonth;
	sel_jaar = document.calendar_form.calendarYear;
	nwe_maand = Number(sel_maand.value) + Number(met);
	nwe_jaar = Number(sel_jaar.options[sel_jaar.selectedIndex].value);
	if (nwe_maand > sel_maand.options[sel_maand.options.length-1].value) {//later
		nwe_maand = sel_maand.options[0].value;
		nwe_jaar = Number(sel_jaar.options[sel_jaar.selectedIndex].value)+1;
		if (nwe_jaar > sel_jaar.options[sel_jaar.options.length-1].value) {nwe_maand = Number(sel_maand.options[sel_maand.options.length-1].value);nwe_jaar--;}
	}
	if (nwe_maand < sel_maand.options[0].value) {//eerder
		nwe_maand = sel_maand.options[sel_maand.options.length-1].value;
		nwe_jaar = Number(sel_jaar.options[sel_jaar.selectedIndex].value)-1;
		if (nwe_jaar < sel_jaar.options[0].value) {nwe_maand = Number(sel_maand.options[0].value);nwe_jaar++;}
	}
	sel_maand.value = nwe_maand;
	sel_jaar.value = nwe_jaar;
	refresh_calendar();
}
function kalender_blader_apart(met, tijdvak) {//blader met maand of jaar
	sel_maand = document.calendar_form.calendarMonth;
	sel_jaar = document.calendar_form.calendarYear;
	nwe_jaar = '0';
	if (tijdvak=="maand") periode = sel_maand; else periode = sel_jaar;
	nieuw = Number(periode.value) + Number(met);
	if (nieuw > periode.options[periode.options.length-1].value) {
    nieuw = periode.options[0].value;
    if (tijdvak=="maand") {
  		nwe_jaar = Number(sel_jaar.options[sel_jaar.selectedIndex].value)+1;
  		if (nwe_jaar > sel_jaar.options[sel_jaar.options.length-1].value) {nieuw = Number(sel_maand.options[sel_maand.options.length-1].value);nwe_jaar--;}
    }  
  }  
	if (nieuw < periode.options[0].value) {
    nieuw = periode.options[periode.options.length-1].value;
    if (tijdvak=="maand") {
  		nwe_jaar = Number(sel_jaar.options[sel_jaar.selectedIndex].value)-1;
  		if (nwe_jaar < sel_jaar.options[0].value) {nieuw = Number(sel_maand.options[0].value);nwe_jaar++;}
  	}
  }
	periode.value = nieuw;
  if (tijdvak=="maand" && nwe_jaar!="0") sel_jaar.value = nwe_jaar;  
	refresh_calendar();
}
/* alfabetiseerbaar maken van de getallen */
function getal(n,l) {var s="000000000000000" + String(n);return s.substr(s.length-l);}

