/** zie ook: http://phpmyadmin.cvs.sourceforge.net/phpmyadmin/phpMyAdmin/js/tbl_change.js?view=markup**/
var day; 
var month; 
var year; 
var hour; 
var minute; 
var second; 
var clock_set = 0; 
var forw;
/** * Opens calendar window. * * @param string form name * @param string field name */ 
function openCalendar(form, field) {
 formblock= document.getElementById(form); 
 forminputs = formblock.getElementsByTagName('select');
 var datevalues = new Array(); 
 var dateindex = 0; 
 for (i = 0; i < forminputs.length; i++) { 
	 // regex here to check name attribute 
	 var regex = new RegExp(field, "i"); 
	 if (regex.test(forminputs[i].getAttribute('name'))) {
	 datevalues[dateindex++] = forminputs[i].value; 
	 } 
 } 
 window.open(baseUrl+"/kalender_popup.html", "calendar", "width=250,height=240,status=no");
 day = datevalues[0];
 month = datevalues[1];
 year = datevalues[2];
 month--; 
 formName = form; 
 fieldName =field; 
 } 
 /** * Opens calendar window. * * @param string form name * @param string field name */ 
function openCalendarb(form, field, forwarde) {
 formblock= document.getElementById(form); 
 forminputs = formblock.getElementsByTagName('select');
 var datevalues = new Array(); 
 var dateindex = 0; 
 for (i = 0; i < forminputs.length; i++) { 
	 // regex here to check name attribute 
	 var regex = new RegExp(field, "i"); 
	 if (regex.test(forminputs[i].getAttribute('name'))) {
	 datevalues[dateindex++] = forminputs[i].value; 
	 } 
 } 
 window.open(baseUrl+"/kalender_popup.html", "calendar", "width=250,height=240,status=no");
 day = datevalues[0];
 month = datevalues[1];
 year = datevalues[2];
 month--; 
 formName = form; 
 fieldName =field; 
 forw = forwarde;
 } 
 /** * Formats number to two digits. * * @param int number to format. */
 function formatNum2(i, valtype) {
 f = (i < 10 ? '0' : '') + i;
 if (valtype && valtype != '') {
	 switch(valtype) {
	 case 'month': f = (f > 12 ? 12 : f);
	 break; 
	 case 'day': f = (f > 31 ? 31 : f); 
	 break; 
	 } 
	 } 
 return f; 
 } 
 /** * Formats number to four digits. * * @param int number to format. */ 
 function formatNum4(i) { 
 return (i < 1000 ? i < 100 ? i < 10 ? '000' : '00' : '0' : '') + i; 
 } 
/** * Initializes calendar window. */ 
function initCalendar() {
	forw = window.opener.forw;
	 if (!year && !month && !day) {
		
		 day = window.opener.day; 
		 month = window.opener.month; 
		 year = window.opener.year; 
		 if (isNaN(year) || isNaN(month) || isNaN(day) || day == 0) {
		 dt = new Date(); 
		 year = dt.getFullYear();
		 month = dt.getMonth();
		 day = dt.getDate();
		 } 
	 } 
	 else { 
		 /* Moving in calendar */ 
		 if (month > 11) {
		 month = 0; 
		 year++; 
		 } 
		 if (month < 0) {
		 month = 11; 
		 year--; 
		 } 
	 } 
	 if (document.getElementById) {
	 cnt = document.getElementById("calendar_data");
	 } 
	 else if (document.all) {
	 cnt = document.all["calendar_data"]; 
	 } 
	 cnt.innerHTML = ""; 
	//oorspronkelijke cod 
/*	str = "" //heading table 
	 str += ''
	 ; str += '« ';
	 str += month_names[month];
	 str += ' »';
	 str += '	';
	 str += '« ';
	 str += year;
	 str += ' »';
	 str += ''; 
	 str += ''; 
	 for (i = 0; i < 7; i++) {
	 str += ""; 
	 } 
	 str += "";
	 var firstDay = new Date(year, month, 1).getDay();
	 var lastDay = new Date(year, month + 1, 0).getDate(); 
	 str += ""; 
	 dayInWeek = 0; 
	 for (i = 0; i < firstDay; i++) {
	 str += ""; 
	 dayInWeek++; 
	 } 
	 for (i = 1; i <= lastDay; i++) {
		 if (dayInWeek == 7) { 
		 str += ""; dayInWeek = 0; 
		 } 
		 dispmonth = 1 + month;
		 actVal = formatNum4(year) + "-" + formatNum2(dispmonth, 'month') + "-" + formatNum2(i, 'day'); 
		 if (i == day) {
		 style = ' class="selected"'; 
		 } 
		 else { 
		 style = ''; 
		 } 
		 str += "" + i + ""; 
		 dayInWeek++; 
	 } 
	 for (i = dayInWeek; i < 7; i++) {
	 str += ""; 
	 } 
	 str += "" + day_names[i] + ""; 
*/	 
	//nieuwe code
	
    cnt.innerHTML = "";
	
	// window.alert("stap 1");
    str = "";

    //heading table
    str += '<table class="calendar"><tr class="calendar_title"><th width="50%">';
    str += '<form method="NONE" onsubmit="return 0">';
    str += '<a href="javascript:month--; initCalendar();">&laquo;</a> ';
    str += '<select style="font-size:11px" id="select_month" name="monthsel" onchange="month = parseInt(document.getElementById(\'select_month\').value); initCalendar();">';
    for (i =0; i < 12; i++) {
        if (i == month) selected = ' selected="selected"';
        else selected = '';
        str += '<option value="' + i + '" ' + selected + '>' + month_names[i] + '</option>';
    }
    str += '</select>';
    str += ' <a href="javascript:month++; initCalendar();">&raquo;</a>';
    str += '</form>';
    str += '</th><th width="50%">';
    str += '<form method="NONE" onsubmit="return 0">';
    str += '<a href="javascript:year--; initCalendar();">&laquo;</a> ';
    str += '<select style="font-size:11px" id="select_year" name="yearsel" onchange="year = parseInt(document.getElementById(\'select_year\').value); initCalendar();">';

	// window.alert("stap 2");
	for (i = year - 3; i <= 2020; i++) {
		var par = year + 3;
	// window.alert("stap 2 b:"+i+"< "+par);
        if (i == year) selected = ' selected="selected"';
        else selected = '';
        str += '<option value="' + i + '" ' + selected + '>' + i + '</option>';
    }
    str += '</select>';
    str += ' <a href="javascript:year++; initCalendar();">&raquo;</a>';
    str += '</form>';
    str += '</th></tr></table>';

    str += '<table class="calendar"><tr>';

	// window.alert("stap 3");	
    for (i = 0; i < 7; i++) {
        str += "<th>" + day_names[i] + "</th>";
    }
    str += "</tr>";

    var firstDay = new Date(year, month, 1).getDay();
    var lastDay = new Date(year, month + 1, 0).getDate();

    str += "<tr>";

    dayInWeek = 0;
	// window.alert("stap 4");	
    for (i = 0; i < firstDay; i++) {
        str += "<td>&nbsp;</td>";
        dayInWeek++;
    }
	// window.alert("stap 5");	
    for (i = 1; i <= lastDay; i++) {
        if (dayInWeek == 7) {
            str += "</tr><tr>";
            dayInWeek = 0;
        }
	// window.alert("laatste "+i);
        dispmonth = 1 + month;
        actVal = "" + formatNum4(year) + formatNum2(dispmonth, 'month') + formatNum2(i, 'day');
        
        if (i == day) {
            style = ' class="selected"';
            current_date = actVal;
        } else {
            style = '';
        }
		if(forw > 0)
		{
			str += "<td" + style + "><a href=\"javascript:forwardDate('" + formatNum2(i, 'day')+ "','"+ formatNum2(month, 'month') +"','"+ formatNum4(year) +"');\">" + i + "</a></td>"			
		}
		else
		{
			str += "<td" + style + "><a href=\"javascript:returnDate('" + formatNum2(i, 'day')+ "','"+ formatNum2(month, 'month') +"','"+ formatNum4(year) +"');\">" + i + "</a></td>"
        }
		dayInWeek++;
    }
    for (i = dayInWeek; i < 7; i++) {
        str += "<td>&nbsp;</td>";
    }

    str += "</tr></table>";

    cnt.innerHTML = str;
 } 
 /** * Returns date from calendar. * * @param string date text */ 
 function returnDate(d,m,y) {

	 formblock= window.opener.document.getElementById(window.opener.formName);
	 forminputs = formblock.getElementsByTagName('select');
	 var datevalues = new Array();
	 var dateindex = 0;
	 for (i = 0; i < forminputs.length; i++) {
		 // regex here to check name attribute
		 var regex = new RegExp(window.opener.fieldName, "i");
		 if (regex.test(forminputs[i].getAttribute('name'))) {
		 datevalues[dateindex++] = forminputs[i]; 
		 } 
	 } 
	 datevalues[0].selectedIndex = (d-1) ;
	 datevalues[1].selectedIndex = m;
	 date = new Date(); 
	 year = 2005; //value of the first element in the form 
	 datevalues[2].selectedIndex = (y-year); 
	 window.close(); 
 }
 /** * sets parent to another page date from calendar. * * @param string date text */ 
 function forwardDate(d,m,y)
 {
 m++;
 window.opener.location.href = "index.php?pag=leden_pagina&spag=trainingslog&pid="+forw+"&modus=view&weergave=day&datum="+y+"-"+formatNum2(m, 'm')+"-"+d;
	window.close();
 }