var dateSelectorDate = new Date();
var dateSelectorField = false; 

function gotoAction(actionId)
{
	document.location.href = "/?page=" + actionId;
}

function setSelectRow(id)
{
	mainSelect = document.getElementById(id);
	value = mainSelect.selectedIndex - 1;
	nextSelect = document.getElementById(id + '_1');
	counter = 2;
	while(nextSelect)
	{
		if ( nextSelect.tagName == 'SELECT' )
		{
			nextSelect.selectedIndex = value;
		}
		nextSelect = document.getElementById(id + '_' + counter);
		counter++;
	}
	mainSelect.selectedIndex = 0;
}

function getMonthName(a_iMonth, a_sLanguage) {
	sMonth = "?";
	if (a_iMonth == 1) sMonth = "januari";
	if (a_iMonth == 2) sMonth = "februari";
	if (a_iMonth == 3) sMonth = "maart";
	if (a_iMonth == 4) sMonth = "april";
	if (a_iMonth == 5) sMonth = "mei";
	if (a_iMonth == 6) sMonth = "juni";
	if (a_iMonth == 7) sMonth = "juli";
	if (a_iMonth == 8) sMonth = "augustus";
	if (a_iMonth == 9) sMonth = "september";
	if (a_iMonth == 10) sMonth = "oktober";
	if (a_iMonth == 11) sMonth = "november";
	if (a_iMonth == 12) sMonth = "december";
	if (a_sLanguage == 'en') {
		if (a_iMonth == 1) sMonth = "January";
		if (a_iMonth == 2) sMonth = "February";
		if (a_iMonth == 3) sMonth = "March";
		if (a_iMonth == 4) sMonth = "April";
		if (a_iMonth == 5) sMonth = "May";
		if (a_iMonth == 6) sMonth = "June";
		if (a_iMonth == 7) sMonth = "July";
		if (a_iMonth == 8) sMonth = "August";
		if (a_iMonth == 9) sMonth = "September";
		if (a_iMonth == 10) sMonth = "October";
		if (a_iMonth == 11) sMonth = "November";
		if (a_iMonth == 12) sMonth = "December";
	}
	if (a_sLanguage == 'de') {
		if (a_iMonth == 1) sMonth = "Januar";
		if (a_iMonth == 2) sMonth = "Februar";
		if (a_iMonth == 3) sMonth = "März";
		if (a_iMonth == 4) sMonth = "April";
		if (a_iMonth == 5) sMonth = "Mai";
		if (a_iMonth == 6) sMonth = "Juni";
		if (a_iMonth == 7) sMonth = "Juli";
		if (a_iMonth == 8) sMonth = "August";
		if (a_iMonth == 9) sMonth = "September";
		if (a_iMonth == 10) sMonth = "Oktober";
		if (a_iMonth == 11) sMonth = "November";
		if (a_iMonth == 12) sMonth = "Dezember";
	}
	return sMonth;
}

function changeDateField(a_sFormName, a_sFieldName) {
	oDateField = document.getElementById(a_sFormName + "-field-" + a_sFieldName);
	oDayField = document.getElementById(a_sFormName + "-field-" + a_sFieldName + "-day");
	oMonthField = document.getElementById(a_sFormName + "-field-" + a_sFieldName + "-month");
	oYearField = document.getElementById(a_sFormName + "-field-" + a_sFieldName + "-year");
	if (oDateField) oDateField.value = oDayField.value + "-" + oMonthField.value + "-" + oYearField.value;
}

function setDepart(a_sFormName, a_sFieldName, a_sFieldDepartName, a_iNights, a_sLanguage) {
	oDateDepartField = document.getElementById(a_sFormName + "-field-" + a_sFieldDepartName);
	oDateDepartLabel = document.getElementById(a_sFormName + "-label-" + a_sFieldDepartName);
	oDayField = document.getElementById(a_sFormName + "-field-" + a_sFieldName + "-day");
	oMonthField = document.getElementById(a_sFormName + "-field-" + a_sFieldName + "-month");
	oYearField = document.getElementById(a_sFormName + "-field-" + a_sFieldName + "-year");

	// calc iNights nights ahead
    ddate = new Date(oYearField.value, (oMonthField.value-1), oDayField.value);
	var dmoved = new Date(ddate.getTime() + (a_iNights * 86400000));
	iDay = dmoved.getDate();
	iMonth = dmoved.getMonth()+1;
	iYear = dmoved.getFullYear();

	// save in label div for user
	oDateDepartLabel.innerHTML = iDay + ' ' + getMonthName(iMonth, a_sLanguage) + ' ' + iYear;

	// save in dd-mm-yyyy format for form
	if(iDay<10) iDay = "0" + iDay;	
	if(iMonth<10) iMonth = "0" + iMonth;	
	oDateDepartField.value = iDay + "-" + iMonth + "-" + iYear;

//	changeDateField(a_sFormName, a_sFieldName);
//	oDateDestField.value = oDayField.value + "-" + oMonthField.value + "-" + oYearField.value;
}

function dateSelector(a_sFormName, a_sFieldName, a_sLanguage) {
	dateSelectorField = a_sFormName + "-field-" + a_sFieldName;
	oImg = document.getElementById(a_sFormName + "-calendar-" + a_sFieldName);
	if (!oImg) alert(a_sFormName + "-calendar-" + a_sFieldName);
	oLayer = document.createElement('div');
	oLayer.className = "dateLayer";
	document.body.appendChild(oLayer);
	// oLayer.onclick = closeDateSelector;
	addEventListener(oLayer, 'click', closeDateSelector, false);
	oLayer.id = "dateLayer";
	oDiv = document.createElement('div');
	oDiv.id = "dateSelector";
	aPos = findPos(oImg);
	oDiv.style.left = aPos[0] + 20;
	oDiv.style.top = aPos[1];
	oDiv.innerHTML = 	'<div id="dateSelectorHeader"></div>' + 
						'<div id="dateSelectorMain">' +
						'kalender' +
						'</div>';
	oLayer.appendChild(oDiv);
	oDayField = document.getElementById(a_sFormName + "-field-" + a_sFieldName + "-day");
	oMonthField = document.getElementById(a_sFormName + "-field-" + a_sFieldName + "-month");
	oYearField = document.getElementById(a_sFormName + "-field-" + a_sFieldName + "-year");
	dateSelectorDate = new Date(oYearField.value, oMonthField.value - 1, oDayField.value);
	setDateSelectorDate(dateSelectorDate.getMonth(), dateSelectorDate.getFullYear(), a_sLanguage);
}

function setDateSelectorDate(a_iMonth, a_iYear, a_sLanguage) {
	a_iMonth++;
	if (a_iMonth < 1) {
		a_iMonth = 12;
		a_iYear--;
	}
	if (a_iMonth > 12) {
		a_iMonth = 1;
		a_iYear++;
	}
	sMonth = "?";
	sMonth = getMonthName(a_iMonth, a_sLanguage);
	sWeekDays = "<tr><th>ma</th><th>di</th><th>wo</th><th>do</th><th>vr</th><th>za</th><th>zo</th></tr><tr>";
	if (a_sLanguage == 'en') {
		sWeekDays = "<tr><th>Mon</th><th>Tue</th><th>Wed</th><th>Thu</th><th>Fri</th><th>Sat</th><th>Sun</th></tr><tr>";
	}
	if (a_sLanguage == 'de') {
		sWeekDays = "<tr><th>Mo</th><th>Di</th><th>Mi</th><th>Do</th><th>Fr</th><th>Sa</th><th>So</th></tr><tr>";
	}
	oHeader = document.getElementById("dateSelectorHeader");
	oHeader.innerHTML = '<div class="arrow"><a href="javascript:setDateSelectorDate(' + (a_iMonth - 2) + ',' + a_iYear + ',\'' + a_sLanguage + '\')" title="prev month">&lt;</a></div>' + 
						'<div class="month">' + sMonth + '</div>' + 
						'<div class="arrow"><a href="javascript:setDateSelectorDate(' + (a_iMonth) + ',' + a_iYear + ',\'' + a_sLanguage + '\')" title="next month">&gt;</a></div>' +
						'<div class="arrow"><a href="javascript:setDateSelectorDate(' + (a_iMonth - 1) + ',' + (a_iYear - 1) + ',\'' + a_sLanguage + '\')" title="prev year">&lt;</a></div>' +
						'<div class="year">' + a_iYear + '</div>' + 
						'<div class="arrow"><a href="javascript:setDateSelectorDate(' + (a_iMonth - 1) + ',' + (a_iYear + 1) + ',\'' + a_sLanguage + '\')" title="next year">&gt;</a></div>';
	numDays = new Date(a_iYear, a_iMonth, 0);
	numDays = numDays.getDate();
	firstDay = new Date(a_iYear, a_iMonth - 1, 1);
	firstDay = firstDay.getDay();
	if (firstDay == 0) firstDay = 7;
	firstDay--;
	oMain = document.getElementById("dateSelectorMain");
	HTML = '<table>' + sWeekDays;
	for (iCounter = 0; iCounter < firstDay; iCounter++) HTML += "<td>&nbsp;</td>";
	day = firstDay;
	for (iCounter = 1; iCounter <= numDays; iCounter++) {
		if (a_iMonth == dateSelectorDate.getMonth()+ 1 &&
			a_iYear == dateSelectorDate.getFullYear() &&
			iCounter == dateSelectorDate.getDate()) {
			sClass = 'class="selectedDay"';
		} else {
			sClass = '';
		}
		HTML += "<td " + sClass + '><a href="javascript:setDateFromSelector(' + a_iYear + ', ' + a_iMonth + ', ' + iCounter + ')" title="selecteer deze dag" />' + iCounter + "</a></td>";
		day++;
		if (day == 7 && iCounter < numDays) {
			day = 0;
			HTML += "</tr><tr>";
		}
	}
	if (day < 7) for (iCounter = day - 1; iCounter < 6; iCounter++) HTML += "<td>&nbsp;</td>";
	HTML += "</tr></table>";
	oMain.innerHTML = HTML;
}

function setDateFromSelector(a_iYear, a_iMonth, a_iDay) {
	oDayField = document.getElementById(dateSelectorField + "-day");
	oMonthField = document.getElementById(dateSelectorField + "-month");
	oYearField = document.getElementById(dateSelectorField + "-year");
	oDayField.selectedIndex = a_iDay - 1;
	oMonthField.selectedIndex = a_iMonth - 1;
	oYearField.value = a_iYear;
	aFieldPieces = dateSelectorField.split('-');
	changeDateField("form1", aFieldPieces.pop());
	closeDateSelector("close");
}

function closeDateSelector(a_oEvent) {
	if (a_oEvent == "close") {
		oDiv = document.getElementById("dateLayer");
		if (oDiv) document.body.removeChild(oDiv);
	} else {
		oParent = getEventTarget(a_oEvent);
		if (oParent) if (oParent.id == "dateLayer") document.body.removeChild(oParent);
	}
}

function findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	return [curleft,curtop];
}