// Voor buttons voorpagina
function gaNaar(urll) {
	pageTracker._trackPageview(urll);
	top.location.href = urll;
}

function MM_displayStatusMsg(msgStr) { //v1.0
  status=msgStr;
  document.MM_returnValue = true;
}

function MM_findObj(n, d) { //v3.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); return x;
}

function MM_validateForm() { //v3.0
  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='- '+nm+' moet een email-adres bevatten.\n';
      } else if (test!='R') { num = parseFloat(val);
        if (val!=''+num) errors+='- '+nm+' must contain a number.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=test.substring(8,p); max=test.substring(p+1);
          if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is vereist.\n'; }
  } if (errors) alert('De volgende fout(en) traden op:\n'+errors);
  document.MM_returnValue = (errors == '');
}

function ES_jumpMenu(targ,selObj,restore){ //v3.0
	if ( selObj.options[selObj.selectedIndex].value != ""	) {
  		//eval(window.open(selObj.options[selObj.selectedIndex].value));
  		top.window.location = selObj.options[selObj.selectedIndex].value;
	}
  if (restore) selObj.selectedIndex=0;
}

function PrintVersion(urll) {
	var pup=window.open(urll,"Print","toolbar=0,location=0,directories=1,status=1,menubar=1,scrollbars=1,resizable=1,width=690,height=550,left=50,top=50");
	pup.focus;
}

// Nodig voor Libema vakantieparken
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function changeImage(imgURL, id) {
	document.getElementById(id).src = imgURL;
}

// Advert functions
function ss(w,id) {window.status = w;return true;}
function cs(){window.status='';}
function ca(a) {  top.location.href=document.getElementById(a).href;}
function ga(o,e) {if (document.getElementById) {a=o.id.substring(1);p = "";r = "";g = e.target;if (g) {t = g.id;f = g.parentNode;if (f) {p = f.id;h = f.parentNode;if (h)r = h.id;}} else {h = e.srcElement;f = h.parentNode;if (f)p = f.id;t = h.id;}if (t==a || p==a || r==a)return true;top.location.href=document.getElementById(a).href;}}

// Tabbladen
function switchTab(tabID) {
    if (document.getElementById(tabID).style.display == 'none') {
        document.getElementById(tabID).style.display = 'block';
		/*
		switch(tabID) {
		case 'beschikbaarheid':
			document.getElementById('checkAvail').checked = 'checked';
		}
		*/
    } else {
        document.getElementById(tabID).style.display = 'none';
		/*
		switch(tabID) {
		case 'beschikbaarheid':
			document.getElementById('checkAvail').checked = null;
		}
		*/
    }
}

function switchClass(elmID, stijlklasse) {
	document.getElementById(elmID).className = stijlklasse;
}

// Tabbladen
function tab1Off() {
	document.getElementById('weekendje-weg-hotel-s').style.display='none';
	document.getElementById('hotels-in-plaats').style.display='none';
	document.getElementById('ss').style.color='#fff';
	return true;
}
function tab2Off() {
	document.getElementById('weekendje-weg-hotel-r').style.display='none';
	document.getElementById('hotels-dagje-uit-in-regio').style.display='none';
	document.getElementById('sr').style.color='#fff';
	return true;
}
function tab3Off() {
	document.getElementById('weekendje-weg-hotel-l').style.display='none';
	document.getElementById('hotels-per-land').style.display='none';
	document.getElementById('sl').style.color='#fff';
	return true;
}
function tab1On() {
	document.getElementById('weekendje-weg-hotel-container').style.backgroundImage='url(/afb/weekendje-weg-stad.gif)';
	document.getElementById('weekendje-weg-hotel-s').style.display='inline';
	document.getElementById('hotels-in-plaats').style.display='block';
	document.getElementById('ss').style.color='#f8d931';
	return true;
}
function tab2On() {
	document.getElementById('weekendje-weg-hotel-container').style.backgroundImage='url(/afb/weekendje-weg-regio.gif)';
	document.getElementById('weekendje-weg-hotel-r').style.display='inline';
	document.getElementById('hotels-dagje-uit-in-regio').style.display='block';
	document.getElementById('sr').style.color='#f8d931';
	return true;
}
function tab3On() {
	document.getElementById('weekendje-weg-hotel-container').style.backgroundImage='url(/afb/weekendje-weg-prov.gif)';
	document.getElementById('weekendje-weg-hotel-l').style.display='inline';
	document.getElementById('hotels-per-land').style.display='block';
	document.getElementById('sl').style.color='#f8d931';
	return true;
}
function vakOnOff() {
	if (document.getElementById('vakantiehuis-lijst').style.display == 'block' ) {
		document.getElementById('vakantiehuis-lijst').style.display='none';
	} else {
		document.getElementById('vakantiehuis-lijst').style.display='block';
	}
}
function citytripsOnOff() {
	if (document.getElementById('stedentrips').style.display == 'block' ) {
		document.getElementById('stedentrips').style.display='none';
	} else {
		document.getElementById('stedentrips').style.display='block';
	}
}
function specialsOnOff() {
	if (document.getElementById('specials').style.display == 'block' ) {
		document.getElementById('specials').style.display='none';
	} else {
		document.getElementById('specials').style.display='block';
	}
}
function countriesOnOff() {
	if (document.getElementById('countries').style.display == 'block' ) {
		document.getElementById('countries').style.display='none';
	} else {
		document.getElementById('countries').style.display='block';
	}
}
function provinciesOnOff() {
	if (document.getElementById('provincies').style.display == 'block' ) {
		document.getElementById('provincies').style.display='none';
	} else {
		document.getElementById('provincies').style.display='block';
	}
}

// script functions for hotel search date fields
function calcCal(formNaam) {
    var currentDate = new Date(); var currentYear = 1900 + currentDate.getYear();
    var dailyMS = 24*60*60*1000;
	var currentHour = new Date(currentDate.getHours());
	var arrivalExtra = 0;
	var departureExtra = 1;
	if (currentHour > 18) {
		var arrivalExtra = 1;
		var departureExtra = 2;
	}
    var arrivalDate = new Date(currentDate.getTime() + arrivalExtra*dailyMS);
    var departureDate = new Date(currentDate.getTime() + departureExtra*dailyMS);
    var arrivalYear = 1900+arrivalDate.getYear(); var arrivalMonth = 1+arrivalDate.getMonth(); var arrivalDay = arrivalDate.getDate();
    var departureYear = 1900+departureDate.getYear(); var departureMonth = 1+departureDate.getMonth(); var departureDay = departureDate.getDate();
    var a=formNaam;
    if ((a.checkin_monthday.selectedIndex == 0) && (a.checkin_month.selectedIndex == 0) && (a.checkin_year.selectedIndex == 0) &&
        (a.checkout_monthday.selectedIndex == 0) && (a.checkout_month.selectedIndex == 0) && (a.checkout_year.selectedIndex == 0)){
        a.checkin_monthday.options[arrivalDay-1].selected = true;
        a.checkin_month.options[arrivalMonth-1].selected = true;
        a.checkin_year.options[arrivalYear-currentYear].selected = true;
        a.checkout_monthday.options[departureDay-1].selected = true;
        a.checkout_month.options[departureMonth-1].selected = true;
        a.checkout_year.options[departureYear-currentYear].selected = true;
    }
}

function changeCheck(fieldNaam) {
	ad = new Date();

	// Vertrekdatum niet voor huidige datum.
	if ((
		document.getElementById('checkin_monthday').value < ad.getDate() &&
		document.getElementById('checkin_month').value <= (ad.getMonth()+1) &&
		document.getElementById('checkin_year').value <= ad.getFullYear()
		)
		||
		(
		document.getElementById('checkin_month').value < (ad.getMonth()+1) &&
		document.getElementById('checkin_year').value <= ad.getFullYear()
		)
		||
		(
		document.getElementById('checkout_monthday').value <= ad.getDate() &&
		document.getElementById('checkout_month').value <= (ad.getMonth()+1) &&
		document.getElementById('checkout_year').value <= ad.getFullYear()
		)
		||
		(
		document.getElementById('checkout_month').value < (ad.getMonth()+1) &&
		document.getElementById('checkout_year').value <= ad.getFullYear()
		)
		)
	{
		document.getElementById('checkin_monthday').value = (ad.getDate()<10 ? '0'+ad.getDate() : ad.getDate());
		document.getElementById('checkin_month').value = (ad.getMonth()<9 ? '0'+(ad.getMonth()+1) : ad.getMonth()+1);
		document.getElementById('checkin_year').value = ad.getFullYear();

		if (document.getElementById('checkin_month').value >= document.getElementById('checkout_month').value &&
			document.getElementById('checkin_year').value <= document.getElementById('checkout_year').value) {
			if ( getNumOfDays(ad.getFullYear(), ad.getDate()) <= ad.getDate() ) {
				document.getElementById('checkout_monthday').value = '01';
				if (ad.getMonth() < 11) {
					document.getElementById('checkout_month').value = (ad.getMonth()<8 ? '0'+(ad.getMonth()+2) : ad.getMonth()+2);
					document.getElementById('checkout_year').value = ad.getFullYear();
				} else {
					document.getElementById('checkout_month').value = '01';
					document.getElementById('checkout_year').value = ad.getFullYear()+1;
				}
			} else {
				document.getElementById('checkout_monthday').value = (ad.getDate()<9 ? '0'+(ad.getDate()+1) : ad.getDate()+1);
				document.getElementById('checkout_month').value = (ad.getMonth()<9 ? '0'+(ad.getMonth()+1) : ad.getMonth()+1);
				document.getElementById('checkout_year').value = ad.getFullYear();
			}
		}
	}

		if ((
			document.getElementById('checkin_monthday').value >= document.getElementById('checkout_monthday').value && 
			document.getElementById('checkin_month').value <= document.getElementById('checkout_month').value &&
			document.getElementById('checkin_year').value <= document.getElementById('checkout_year').value
			)
			||
			(
			document.getElementById('checkin_month').value > document.getElementById('checkout_month').value &&
			document.getElementById('checkin_year').value >= document.getElementById('checkout_year').value
			)
			||
			document.getElementById('checkin_year').value > document.getElementById('checkout_year').value
			
			)
		{
			if (document.getElementById('checkin_month').value >= document.getElementById('checkout_month').value
				&& document.getElementById('checkin_year').value >= document.getElementById('checkout_year').value
				||	
				document.getElementById('checkin_year').value > document.getElementById('checkout_year').value
				) {
				switch (fieldNaam) {
				case 'checkin_monthday':
				case 'checkin_month':
				case 'checkin_year':
					// pas check-in aan aan gewijzigde check-out.
					if (document.getElementById('checkout_monthday').value > 1) {
						if (document.getElementById('checkout_monthday').value > 10 ) {
							document.getElementById('checkin_monthday').value = Number(document.getElementById('checkout_monthday').value) - 1;
						} else {
							document.getElementById('checkin_monthday').value = '0'+(Number(document.getElementById('checkout_monthday').value) - 1);
						}
						document.getElementById('checkin_month').value = document.getElementById('checkout_month').value;
						document.getElementById('checkin_year').value = document.getElementById('checkout_year').value;
					} else {
						// niet voor huidige maand
						if ( Number(document.getElementById('checkin_month').value - 1) == (ad.getMonth()) &&
							document.getElementById('checkin_year').value == ad.getFullYear() )
						{
							document.getElementById('checkin_monthday').value = '01';
							document.getElementById('checkout_monthday').value = '02';
						} else
						{
							if (document.getElementById('checkout_month').value < 11) {
								document.getElementById('checkin_month').value = '0'+(Number(document.getElementById('checkout_month').value) - 1);
							} else {
								document.getElementById('checkin_month').value = ''+(Number(document.getElementById('checkout_month').value) - 1);
							}
							document.getElementById('checkin_monthday').value = getNumOfDays(Number(document.getElementById('checkin_year').value),
																				Number(document.getElementById('checkin_month').value) - 1)
						}
					}
					break;
				case 'checkout_monthday':
				case 'checkout_month':
				case 'checkout_year':
					// pas check-out aan aan gewijzigde check-in.
					if (document.getElementById('checkin_monthday').value >= getNumOfDays(Number(document.getElementById('checkin_year').value),
																				Number(document.getElementById('checkin_month').value) - 1)
						) {
						// maand wijzigen.
						if (document.getElementById('checkin_month').value == 12 ) {
							// jaar wijzigen
							document.getElementById('checkout_year').value = Number(document.getElementById('checkin_year').value) + 1;
							document.getElementById('checkout_month').value = '01';
						} else {
							if (document.getElementById('checkout_month').value < 9) {
								document.getElementById('checkout_month').value = '0'+(Number(document.getElementById('checkout_month').value) + 1);
							} else {
								document.getElementById('checkout_month').value = ''+(Number(document.getElementById('checkout_month').value) + 1);
							}
						}
						document.getElementById('checkout_monthday').value = '01';
					} else {
						if (document.getElementById('checkin_monthday').value < 9) {
							document.getElementById('checkout_monthday').value = '0'+(Number(document.getElementById('checkin_monthday').value)+1);
						} else {
							document.getElementById('checkout_monthday').value = Number(document.getElementById('checkin_monthday').value)+1;
						}
						document.getElementById('checkout_year').value = document.getElementById('checkin_year').value;
					}
					if (document.getElementById('checkin_month').value > document.getElementById('checkout_month').value &&
							document.getElementById('checkin_year').value >= document.getElementById('checkout_year').value)
					{
						document.getElementById('checkout_month').value = document.getElementById('checkin_month').value;
					}
					if (document.getElementById('checkin_year').value > document.getElementById('checkout_year').value) {
						document.getElementById('checkout_year').value = document.getElementById('checkin_year').value;
					}
						
					break;
				}
			}
		}
}

function getNumOfDays(year, month) {
	return 32 - new Date(year, month, 32).getDate();
}

function elementOpen(elmntId) {
	if (document.getElementById(elmntId) != null) {
		document.getElementById(elmntId).style.display = 'block';
	}
	return false;
}
function elementClose(elmntId) {
	if (document.getElementById(elmntId) != null) {
		document.getElementById(elmntId).style.display = 'none';
	}
	return false;
}
function elementSwitch(elmntId) {
	if (document.getElementById(elmntId) != null) {
		var elmnt = document.getElementById(elmntId).style.display;
		document.getElementById(elmntId).style.display = (elmnt == 'block' ? 'none' : 'block');
	}
	return false;
}
function elementCloseAll(elmntIds) {
	try {
		for (i=0; i < elmntIds.length; i++) {
			if (document.getElementById(elmntIds[i]) != null) {
				document.getElementById(elmntIds[i]).style.display = 'none';
			}
		}
	}
	catch (e) {
	}
	finally {
		return false;
	}
}

function getXElement(e) {
	var x = 0;
	while (e) {
		x += e.offsetLeft;
		e = e.offsetParent;
	}
	return x;
}
function getYElement(e) {
	var y = 0;
	while (e) {
		y += e.offsetTop;
		e = e.offsetParent;
	}
	return y;
}
function showPopup(elmntId, eId) {
	var x = getXElement(eId) + getXElement(elmntId);
	var y = getYElement(eId) + getYElement(elmntId);
	var x = getXElement(elmntId);
	var y = getYElement(elmntId);
	alert(x+'.'+y)
	elmntId.style.left = x;
	elmntId.style.top = y;
	elmntId.style.display = 'block';
}
function hidePopup(elmntId) {
	document.getElementById(elmntId).style.display = "none";
}
function switchPopup(elmntId, eId) {
	eId = document.getElementById(eId);
	elmntId = document.getElementById(elmntId);
	if (elmntId.style.display == 'none') {
		showPopup(elmntId, eId);
	} else {
		hidePopup(elmntId);
	}
}
function trim(value) {
	return value.replace(/^\s+/,'').replace(/\s+$/,'');
}

function stdFocus(targetId, stdText, stdColor) {
	//var e = xGetElementById(targetId);
	var e = targetId;
	if (e.value == stdText) {
		e.value = '';
	}
	e.style.color = stdColor;
}

function stdLostFocus(targetId, stdText, stdColor) {
	//var e = xGetElementById(targetId);
	var e = targetId;
	if (trim(e.value) == '' || trim(e.value) == stdText) {
		e.value = stdText;
		e.style.color = stdColor;
	}
}

function stdSubmit(targetIds, targetValues) {
	var e;
	var stdVal;
	for (i=0; i < targetIds.length; i++) {
		e = xGetElementById(targetIds[i]);
		stdVal = targetValues[i];
		if (trim(e.value) == stdVal || trim(e.value) == e.stdValue) {
			e.value = '';
		}
	}
}
