// JavaScript Document

function PopUp(Url) {
		var newWindow = window.open(Url,"ExtraInformation1","scrollbars=yes,height=500,width=650,left=50,top=50");
}

function PopUpCustom(Url,WindowName,Params) {
		var newWindow = window.open(Url,WindowName,Params);
}

function PopUpTopX(Url) {
	var newWindow = window.open(Url,"TopxExtra","scrollbars=yes,height=50,width=300,left=50,top=50");
}

// Deze functie wordt gebruikt om onClick onzichtbare layers te tonen.
function toonVerberg(antwoord) {
	e=document.getElementById(antwoord)
	toon=e.style.display
	if(toon=='none'||toon=='')e.style.display='block'
	else e.style.display='none'
}


function addbookmark()
{
	bookmarkurl="http://www.cheaptickets.nl"
	bookmarktitle="CheapTickets.nl, voordelig online vliegtickets boeken!"
	if (document.all)
	window.external.AddFavorite(bookmarkurl,bookmarktitle)
}

function check_date(date_value){

		if ( isNaN(back_date(date_value)) ) {
		alert("Invoerhulp: Een datum bestaat uit twee cijfers voor de dag en maand \n en 4 voor het jaar, gescheiden door een \"/\" (forward slash).");
		return false;
		}
}

function back_date(date_value){
		var separator = '';
		if ( date_value.match(/\//) ){separator = '/';} 	
		if ( date_value.match(/-/)  ){separator = '-';}

		if ( (separator == '/') || (separator == '-') ){
		var vertrek_array = date_value.split(separator);
		var day = vertrek_array[0];
		var mth = vertrek_array[1];
		var year= vertrek_array[2];
		}
		else if ( date_value.match(/(\d{6})|(\d{8})/) ) {
		var day = date_value.substring(0, 2);
		var mth = date_value.substring(2, 4);
		var year= date_value.substring(4, 8);
		}

		else {
		alert("Invoerhulp: Een datum bestaat uit twee cijfers voor de dag en maand \n en 4 voor het jaar, gescheiden door een \"/\" (forward slash).");
		return false;
		}

		var bck_date = new Date(year, mth-1, day);
		return bck_date;
}


function go(x) {
	 
		  // Hoofd Variabelen..
		  var form = document.forms[x];
		var datum1  = back_date(form.vertrekdate.value);
		var datum2  = back_date(form.retourdate.value);
		var vandaag = new Date();
		
		// nogmaals checken als er geen onChange is geweest
		if  (isNaN(datum1)) {
			alert("Invoerhulp: Een datum bestaat uit twee cijfers voor de dag en maand \n en 4 voor het jaar, gescheiden door een \"/\" (forward slash).");
			form.vertrekdate.focus();
			return false;
		}
		else if (isNaN(datum2) ) {
			alert("Invoerhulp: Een datum bestaat uit twee cijfers voor de dag en maand \n en 4 voor het jaar, gescheiden door een \"/\" (forward slash).");
			form.retourdate.focus();
			return false;
		}
		
		else{
			 switch (x) {
				  case 0:   // Naarplaats ongelijk aan leeg..
								if (form.des_apname.value == "") {
									alert("Gelieve een bestemming te kiezen!");
									form.des_apname.focus();
									return false;
								}
							break;
				  case 1:  // Naarplaats niet geselecteerd..
							if (form.des_apcode.options[form.des_apcode.selectedIndex].value == "") {
									alert("Gelieve een bestemming (geen land) te kiezen!");
									form.des_apcode.focus();
									return false;
								}
							break;
			 }
			 if (datum1 <= vandaag) {
					alert('Uw vertrekdatum is verstreken !');
					form.vertrekdate.focus();
					return false;
				}
				else if (datum2 <= vandaag) {
					alert('Uw retourdatum is verstreken !');
					form.retourdate.focus();
					return false;
				}
				else if (datum2 <= datum1) {
					alert('Uw retourdatum is vroeger dan uw vertrekdatum !');
					form.vertrekdate.focus();
					return false;
			 }
			 else {
				// Omzetten naar juiste datumformaat BookXpress...
				form.dag1.value = datum1.getDate();
				form.maandjaar1.value = (datum1.getMonth()+1) + "/" + datum1.getFullYear();
				form.dag2.value = datum2.getDate();
				form.maandjaar2.value = (datum2.getMonth()+1) + "/" + datum2.getFullYear();	
		  
				// Vertrek plaatsnaam & IATA codes meesturen...
				//if (form.dep_apcode.value == "AMS") {form.dep_apname.value = "Amsterdam";}
				//else if (form.dep_apcode.value == "RTM") {form.dep_apname.value = "Rotterdam";}
				//else if (form.dep_apcode.value == "EIN") {form.dep_apname.value = "Eindhoven";}
				//else if (form.dep_apcode.value == "MST") {form.dep_apname.value = "Maastricht";}				
		  
				// Alles okee, dan submit de form...
				return true;
			 }
		  }
}

function popUp(URL) {
	day = new Date();
	id = day.getTime();
	eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=0,width=700,height=400,left = 0,top = 0');");
}


function GetObj(name) {
	var obj = document.anchors[name];
	if (obj==null || typeof(obj)=="undefined"){
		if (document.getElementById){ //NS6+
			obj = document.getElementById(name);
		}else{ //IE4+
			obj = document.all[name];
			if ((obj==null || typeof(obj)=="undefined") && typeof(document.body)!="undefined") {
				obj = document.body.document.all[name];
			}
		}
	}
	if ((obj!=null) && (typeof(obj)!="undefined")){
		return obj;
	}else{
		//alert("GetObj('"+name+"'): Object not found!");
		return null;
	}
}

function GetHTML(name){
	// Search and return the content of an anchor object (or empty string if the object doesn't exist)
	var obj = GetObj(name);
	if (obj!=null){
		return obj.innerHTML;
	}else{
		return "";
	}
}

function SetHTML(name, newValue){
	// Change the text of an anchor object
	var obj = GetObj(name);
	if (obj!=null){
		obj.innerHTML = newValue;
	}
	return true;
}

function ReplaceHTML(name, oldValue, newValue){
	// Change the text of an anchor object if and only if it already contains a certain text
	var obj = GetObj(name);
	if (obj!=null && obj.innerHTML.indexOf(oldValue) >= 0){
		obj.innerHTML = newValue;
	}
	return true;
}

function AddHTML(name, extraValue){
	// Add extra HTML code to an anchor object
	var obj = GetObj(name);
	if (obj!=null){
		obj.innerHTML = obj.innerHTML.concat(extraValue);
	}
	return true;
}

function IsVisible(name){
	// returns true/false if an object is visible/invisible
	var obj = GetObj(name);
	
	//alert(name + obj.style.display + obj.style.visible);

	if (obj == null || obj.style.display == "none") {
		//alert(name + " not visible");
		return false;
	}else{
		//alert(name + " visible");
		return true;
	}
}

function SetVisible(names, visible){
	// Hide or Show multiple object
	names = names.split(",");
	var i;
	for (i=0; i<names.length; i++){
		var obj = GetObj(names[i]);
		if (obj != null){
			if (visible) {
				obj.style.display = "inline";
				obj.style.visibility = "visible";
			}else{
				obj.style.display = "none";
				obj.style.visibility = "hidden";
			}
		}
	}
}

function ToggleVisible(names) {
	names = names.split(",");
	var i;
	for (i=0; i<names.length; i++){
		var obj = GetObj();
		SetVisible(names[i], !IsVisible(names[i]));
	}
}

function PreloadImages(names){
	// Load images upfront (HTML allows showing images before they are loaded by the browser)
	names = names.split(",");
	var tmpimg;
	for (i=0; i<names.length; i++){
		var tmpimg = new Image; 
		tmpimg.src = names[i];
	}
}