// JavaScript Document


var state = 0;
var aankomstdatum = 0;
var vancell = 0;
var totcell = 0;
var cellcolor = 0;
var cell = 0;
var serie = 0;

var selectedcolor = '#009933';

var maanden = ['Jan', 'Feb', 'Mrt', 'Apr', 'Mei', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dec'];
function ondatumclick(node,datum,admin,isbezet) {
// In deze versie wordt 'admin' gebruikt als indicatie of het script in admin mode wordt gebruikt
// in bewerking.php wordt het gevuld met het click-'event'

	var splits = datum.split('-');
	if (splits[2].substr(0,1) == '0') {
		splits[2] = splits[2].substr(1,1);
	}
	var idatum = splits[2]+' '+maanden[parseInt(splits[1],10)-1]+' '+splits[0];
//parent.document.getElementById('reservering').checked = true;
	switch( state) {
		case 2:

			resetcells();
		case 0:
			
			state = 1;	
			parent.document.getElementById('aankomstdatum').value = idatum;
			aankomstdatum = datum;
			parent.document.getElementById('vertrekdatum').value = 'klik datum op agenda';
			vancell = node.parentNode;
			serie = getSerie(vancell);
	
			if( window.getComputedStyle ) {
			  cellcolor = window.getComputedStyle(vancell,null).backgroundColor;
			} else if( vancell.currentStyle ) {
			  cellcolor = vancell.currentStyle.backgroundColor;
			}
				
			vancell.style.backgroundColor = selectedcolor;
			
			if (admin) {
				parent.document.getElementById('reservering').checked = (isbezet == 1) ? false : true  ;
			}
			break;
	case 1:
		// Bezoekers hebben verschillende aankomst en vertrekdatum
		// Administratie kan zomogelijk 1 dag reserveren
		if ( (!admin && datum > aankomstdatum) || (admin && datum >= aankomstdatum) ) {
			totcell = node.parentNode;
			if ( getSerie(totcell) != serie ) {
				alert ('Dat is geen aaneengesloten periode');
			} else {
				nr = getNumber(totcell);
				for ( id = getNumber(vancell); id<= nr; id++ ) {
					cell = document.getElementById(serie+id);
					cell.style.backgroundColor = selectedcolor;
				} 

				parent.document.getElementById('vertrekdatum').value = idatum;
				
				if (admin) {
						parent.document.getElementById('vanDatum').value = aankomstdatum;
						parent.document.getElementById('temDatum').value = datum;
				}
				state=2;
			}
		} else if (datum == aankomstdatum) {
			resetcells();
		} else {
			alert ('Vertrekdatum volg niet op aankomstdatum');
		}
		break;
	}
}

function resetcells() {
	if (vancell != 0 ) {
		var van = getNumber(vancell);
		var tot =  (totcell != 0 ) ? getNumber(totcell) : van ;

		for ( id = van; id<=tot; id++ ) {
			cell = document.getElementById(serie+id);
			cell.style.backgroundColor = cellcolor;		
		} 
	}
	
	parent.document.getElementById('aankomstdatum').value = 'klik datum op agenda';
	parent.document.getElementById('vertrekdatum').value = 'klik datum op agenda';

	state=0;
	vancell=0;
	totcell=0;
	serie='';
}

function getSerie(cell) {
	return(cell.id.substr(0,2));
}
function getNumber(cell) {
	return parseInt(cell.id.substr(2,3));
}
