//document load
$(document).ready(function(){		
	initializeGoogleMaps();
	if($("#print").val()=="y")
		window.print();	
});
//mousemovement opvangen (later nodig voor positioneren infoboxen op map)
$(document).mousemove(function(e){
	tempX = e.pageX;
	tempY = e.pageY;
	if (tempX < 0){tempX = 0;}
	if (tempY < 0){tempY = 0;} 	
	$("#mouseX").val(tempX);
	$("#mouseY").val(tempY);
});
/*GOOGLE MAPS*/
//google maps initialiseren
function initializeGoogleMaps(){
	//grote mappen
	if(document.getElementById("map_canvas")){		
		//positie + zoom in vars steken
		latitude = $("input[name=lat]").val();
		longitude = $("input[name=long]").val();
		zm = parseInt($("input[name=zoom]").val(),10);
		//positie definieren
		var latlng = new google.maps.LatLng(latitude, longitude);
		//opties definieren
    	var myOptions = {
     		zoom: zm,
      		center: latlng,
      		navigationControl: true,
    		scaleControl: false,
			mapTypeControl: false,
      		mapTypeId: google.maps.MapTypeId.ROADMAP
    	};
    	//grote map definieren
    	var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
    	//als er een positie gekend is dan tonen op de map
    	if($("input[name=lat_all]").val()!=undefined){
    		var arr_marker = new Array();
    		var arr_contentWindow = new Array();
    		//alle positie splitsen zodat we elk punt apart op de map kunnen tonen
    		arr_lat = $("input[name=lat_all]").val().split("#");
    		arr_lng = $("input[name=long_all]").val().split("#");
    		arr_zm = $("input[name=zoom_all]").val().split("#");
    		amount = arr_lat.length;
    		//alle elementen overlopen in de collectie
    		for(m=0;m<amount;m++){
    			//positie definieren
				var latlng = new google.maps.LatLng(arr_lat[m], arr_lng[m]);
				//marker zetten voor ieder punt
				var marker = new google.maps.Marker({
					nr:m,//nr toevoegen aan marker, later dan gebruiken om te weten welke info er getoond moet worden
					draggable:false,
			    	position: latlng, 
			    	map: map,
			    	icon: '/images/gm/'+(m+1)+'.png'
				});
				arr_marker.push(marker);
				//als er info gekend is voor de 
				if($("#info_titel_"+m).html()!="" && $("#info_titel_"+m).html()!=null){
					//mouse-over event zetten op de marker zodat de info dan getoond kan worden
					google.maps.event.addListener(arr_marker[m],"mouseover",function(){
						//vorige info-window verwijderen
						$("#info").remove();
						//positie van de muis ophalen
						arr_mouse = getMouseXY();
						//titel en tekst in var steken (via nr dan weten welke info nodig is)
						str_titel = $("#info_titel_"+this.nr).html()!=null?$("#info_titel_"+this.nr).html():"";
						str_tekst = $("#info_tekst_"+this.nr).html()!=null?$("#info_tekst_"+this.nr).html():"";
						//info-window maken en toevoegen aan body
						$("body").append("<div id='info'><table class='norm_table'><tr>"+str_titel+"</tr><tr>"+str_tekst+"</tr></table></div>");
						//item verwijderen uit de info (overtollig en moet niet bij info staan dag-info)
						$("#info").children().children().children().children().children(".item").remove();
						//ook de lees meer link verwijderen (voor hotels)
						$("#info").children().children().children(":last").children().children().children(".tBlue").remove();
						//niet meer tonen want eerst positionere
						$("#info").hide();
						//info-kader positioneren + opmaak
						$("#info").css({"background":"#FFF","left":arr_mouse[0]+"px","padding":"5px","position":"absolute","top":arr_mouse[1]+"px"});
						//a.d.h.v. fade in tonen
						$("#info").fadeIn();
					});
					//mouseout, dus via fideout terug hidden
					google.maps.event.addListener(arr_marker[m],"mouseout",function(){
						$("#info").fadeOut(1000);
					});
				}	
			}
    	}    	  	    
	}
	//map alle hoogtepunten (getoond op land-pagina)
	if(document.getElementById("map_canvas_hoogtepunt")){
		//positie + zoom in vars steken
		latitude = $("input[name=lat]").val();
		longitude = $("input[name=long]").val();
		zm = parseInt($("input[name=zoom]").val(),10);
		//positie definieren
		var latlng = new google.maps.LatLng(latitude, longitude);
		//opties definieren
    	var myOptions = {
     		zoom: zm,
      		center: latlng,
      		navigationControl: true,
    		scaleControl: false,
			mapTypeControl: false,
      		mapTypeId: google.maps.MapTypeId.ROADMAP
    	};
    	//hoogtepunt map definieren
    	var map = new google.maps.Map(document.getElementById("map_canvas_hoogtepunt"), myOptions);
    	//als er een positie gekend is dan tonen op de map
    	if($("input[name=lat_all]").val()!=undefined){
    		var arr_marker = new Array();
    		var arr_contentWindow = new Array();
    		//alle positie splitsen zodat we elk punt apart op de map kunnen tonen
    		arr_lat = $("input[name=lat_all]").val().split("#");
    		arr_lng = $("input[name=long_all]").val().split("#");
    		arr_zm = $("input[name=zoom_all]").val().split("#");
    		amount = arr_lat.length;
    		//alle elementen overlopen in de collectie
    		for(m=0;m<amount;m++){
    			//positie definieren
				var latlng = new google.maps.LatLng(arr_lat[m], arr_lng[m]);
				//marker zetten voor ieder punt
				var marker = new google.maps.Marker({
					nr:m,//nr toevoegen aan marker, later dan gebruiken om te weten welke info er getoond moet worden
					draggable:false,
			    	position: latlng, 
			    	map: map,
			    	icon: '/images/gm/I.png'
				});
				arr_marker.push(marker);
				//als er info gekend is voor de 
				if($("#info_titel_"+m).html()!="" && $("#info_titel_"+m).html()!=null){
					//mouse-over event zetten op de marker zodat de info dan getoond kan worden
					google.maps.event.addListener(arr_marker[m],"mouseover",function(){
						//vorige info-window verwijderen
						$("#info").remove();
						//positie van de muis ophalen
						arr_mouse = getMouseXY();
						//titel en tekst in var steken (via nr dan weten welke info nodig is)
						str_titel = $("#info_titel_"+this.nr).html()!=null?$("#info_titel_"+this.nr).html():"";
						str_tekst = $("#info_tekst_"+this.nr).html()!=null?$("#info_tekst_"+this.nr).html():"";
						//info-window maken en toevoegen aan body
						$("body").append("<div id='info'><table class='norm_table'><tr>"+str_titel+"</tr><tr>"+str_tekst+"</tr></table></div>");
						//item verwijderen uit de info (overtollig en moet niet bij info staan dag-info)
						$("#info").children().children().children().children().children(".item").remove();
						//ook de lees meer link verwijderen (voor hotels)
						$("#info").children().children().children(":last").children().children().children(".tBlue").remove();
						//niet meer tonen want eerst positionere
						$("#info").hide();
						//info-kader positioneren + opmaak
						$("#info").css({"background":"#FFF","left":arr_mouse[0]+"px","padding":"5px","position":"absolute","top":arr_mouse[1]+"px"});
						//a.d.h.v. fade in tonen
						$("#info").fadeIn();
					});
					//mouseout, dus via fideout terug hidden
					google.maps.event.addListener(arr_marker[m],"mouseout",function(){
						$("#info").fadeOut(1000);
					});
				}	
			}
    	}    	  	    
	}
	//kleine map
	if(document.getElementById("map_canvas_small")){
		//positie + zoom in vars steken
		latitude = $("input[name=lat]").val();
		longitude = $("input[name=long]").val();
		zm = parseInt($("input[name=zoom]").val(),10)-1;		
		//positie definieren
		var latlng = new google.maps.LatLng(latitude, longitude);
		//opties definieren
    	var myOptions = {
     		zoom: zm,
      		center: latlng,
      		navigationControl: true,
    		scaleControl: false,
			mapTypeControl: false,
      		mapTypeId: google.maps.MapTypeId.ROADMAP
    	};
    	//map definieren
    	var map = new google.maps.Map(document.getElementById("map_canvas_small"), myOptions);
    	//indien er een positie gekend is dan displayen op map
    	if($("input[name=lat_all]").val()!=undefined){
    		var arr_marker = new Array();
    		var arr_contentWindow = new Array();
    		//alle positie splitsen zodat we elk punt apart op de map kunnen tonen
    		arr_lat = $("input[name=lat_all]").val().split("#");
    		arr_lng = $("input[name=long_all]").val().split("#");
    		arr_zm = $("input[name=zoom_all]").val().split("#");
    		amount = arr_lat.length;
    		//alle elementen overlopen in de collectie
    		for(m=0;m<amount;m++){
    			//positie definieren
				var latlng = new google.maps.LatLng(arr_lat[m], arr_lng[m]);
				//marker positioneren
				var marker = new google.maps.Marker({
					nr:m,//nr toevoegen aan marker, later dan gebruiken om te weten welke info er getoond moet worden
					draggable:false,
			    	position: latlng, 
			    	map: map,
			    	icon: '/images/gm/'+(m+1)+'.png'
				});				
				arr_marker.push(marker);
				if($("#info_titel_"+m).html()!="" && $("#info_titel_"+m).html()!=null){
					//mouse-over event zetten op de marker zodat de info dan getoond kan worden
					google.maps.event.addListener(arr_marker[m],"mouseover",function(){
						//vorige info-window verwijderen
						$("#info").remove();
						//positie van de muis ophalen
						arr_mouse = getMouseXY();
						//titel en tekst in var steken (via nr dan weten welke info nodig is)s
						str_titel = $("#info_titel_"+this.nr).html()!=null?$("#info_titel_"+this.nr).html():"";
						str_tekst = $("#info_tekst_"+this.nr).html()!=null?$("#info_tekst_"+this.nr).html():"";
						//info-window maken en toevoegen aan body
						$("body").append("<div id='info'><table class='norm_table'><tr>"+str_titel+"</tr><tr>"+str_tekst+"</tr></table></div>");
						//item verwijderen uit de info (overtollig en moet niet bij info staan dag-info)
						$("#info").children().children().children().children().children(".item").remove();
						//ook de lees meer link verwijderen (voor hotels)
						$("#info").children().children().children(":last").children().children().children(".tBlue").remove();
						//niet meer tonen want eerst positionere
						$("#info").hide();
						//info-kader positioneren + opmaak
						$("#info").css({"background":"#FFF","left":arr_mouse[0]+"px","padding":"5px","position":"absolute","top":arr_mouse[1]+"px"});
						//a.d.h.v. fade in tonen
						$("#info").fadeIn();
					});
					//mouseout, dus via fideout terug hidden
					google.maps.event.addListener(arr_marker[m],"mouseout",function(){
						$("#info").fadeOut(1000);
					});
				}				
			}
    	}
    	//als marker gedefinieed is dan tonen op de map
    	if($("input[name=marker]").val()!=undefined){
			var latlng = new google.maps.LatLng(latitude, longitude);
			var marker = new google.maps.Marker({
				draggable:false,
		    	position: latlng, 
		    	map: map,
		    	icon: '/images/gm/'+($("input[name=marker]").val())+'.png'
			});
    	}
	}
}
/*INPUT*/
//date format ingevuld op reservatieformulier corrigeren
function correctDateFormat(me){
	//maanden full
	var arr_maandenF = Array("januari","jan","janvier","februari","feb","fevrier","fév","maart","maa","mars","mar","april","apr","avr","avril","mei","mai","juni","jun","juin","juli","jul","juillet","jui","augustus","aug","août","september","sep","septembre","oktober","okt","octobre","oct","november","nov","novembre","december","dec","décembre");
	//maanden maandnr
	var arr_maandenT = Array("01","01","01","02","02","02","02","03","03","03","03","04","04","04","04","05","05","06","06","06","07","07","07","07","08","08","08","09","09","09","10","10","10","10","11","11","11","12","12","12");
	var val = $("#"+me).val();
	var int_limit = arr_maandenF.length;
	//'.','-',' ' vervangen door /
	while(val.indexOf(".")!=-1){
		val = val.replace(".","/");
	}
	while(val.indexOf("-")!=-1){
		val = val.replace("-","/");
	}
	while(val.indexOf(" ")!=-1){
		val = val.replace(" ","/");
	}
	//alle andere schrijfvormen omzetten naar maandnummers
	for(m=0;m<int_limit;m++){
		val = val.replace(arr_maandenF[m],arr_maandenT[m]);
	}
	//datum omzetten naar dd/mm/yyyy
	if(val.length == 5 || val.length == 4 || val.length == 3){
		var today = new Date();
		val +="/"+today.getFullYear().toString().substring(2);
	}
	$("#"+me).val(val);
}

/*FORM VALIDATIE*/
//controleren of alles correct is ingevuld
function checkForm(){
	boo_submit = 1;
	//verplichte velden
	arr_one = Array("naam","voornaam","straat","postcode","telefoon","email");
	arr_three = Array("reisagent","vertrek","nacht");
	//check deel 1
	for(o=0;o<arr_one.length;o++){
		//indien leeg dan error tonen
		if($("input[name="+arr_one[o]+"]").val()==""){
			$("#err_"+arr_one[o]).remove();
			$("input[name="+arr_one[o]+"]").parent().html($("input[name="+arr_one[o]+"]").parent().html()+"<span class='sprite spr_error' id='err_"+arr_one[o]+"'></span>");
			boo_submit = 0;
		//niet leeg dus eventuele error terug verwijderen
		}else{
			$("#err_"+arr_one[o]).remove();
		}
	}
	//emailadres valideren
	if($("input[name=email]").val().indexOf("@")==-1 || $("input[name=email]").val().indexOf(".")==-1 || $("input[name=email]").val().indexOf(".")==$("input[name=email]").val().length-1){
		$("#err_email").remove();
		$("input[name=email]").parent().html($("input[name=email]").parent().html()+"<span class='sprite spr_error' id='err_email'></span>");
	}else{
		$("#err_email").remove();
	}
	//check deel 2
	for(o=0;o<6;o++){		
		//indien leeg dan error tonen	
		if($("input[name=nm_"+o+"]").val()=="" && $("input[name=geb_"+o+"]").val()!=""){
			$("#err_nm"+o).remove();
			$("input[name=nm_"+o+"]").parent().html($("input[name=nm_"+o+"]").parent().html()+"<span class='sprite spr_error' id='err_nm"+o+"'></span>");
			boo_submit = 0;
		//niet leeg dus eventuele error terug verwijderen
		}else if($("input[name=nm_"+o+"]").val()!="" && $("input[name=geb_"+o+"]").val()==""){
			$("#err_geb"+o).remove();
			$("input[name=geb_"+o+"]").parent().html($("input[name=geb_"+o+"]").parent().html()+"<span class='sprite spr_error' id='err_geb"+o+"'></span>");
			boo_submit = 0;
		}
	}
	//reizigers valideren
	if($("input[name=nm_0]").val()=="" && $("input[name=geb_0]").val()==""){
		$("#err_nm0,#err_geb0").remove();
		$("input[name=nm_0]").parent().html($("input[name=nm_0]").parent().html()+"<span class='sprite spr_error' id='err_nm0'></span>");
		$("input[name=geb_0]").parent().html($("input[name=geb_0]").parent().html()+"<span class='sprite spr_error' id='err_geb0'></span>");
		boo_submit = 0;
	}else{
		$("#err_nm0,#err_geb0").remove();
	}	
	//check deel 3
	for(o=0;o<arr_three.length;o++){
		//indien leeg dan error tonen	
//		if(document.getElementById(arr_three[o])){
			str_fout = "";
			if(arr_three[o]=="reisagent" && $("#lng").val()==1)
				str_fout = "Gelieve een reisagent te selecteren";
			if(arr_three[o]=="reisagent" && $("#lng").val()==2)
				str_fout = "Selectez une agence de voyage svp";
			if($("input[name="+arr_three[o]+"]").val()==""){
				$("#err_"+arr_three[o]).remove();
				$("input[name="+arr_three[o]+"]").parent().html($("input[name="+arr_three[o]+"]").parent().html()+"<span class='sprite spr_error' id='err_"+arr_three[o]+"'></span> "+str_fout);
				boo_submit = 0;
			}else{
				$("#err_"+arr_three[o]).remove();
			}
//		}
	}
	//formsubmiten als er geen error is
	if(boo_submit==1){
		document.form.submit();
	}
}
/*AJAX*/
//SAVE DATA
//het te reserveren product bewaren in de sessie
function reserveerProduct(seizoen,user,hotelcode,type){
	$.post("/ajax/addDataToSession.php",{"action":"reserveerProduct","user":user,"seizoen":seizoen,"hotelcode":hotelcode,"type":type},
		function(data){
			window.location = data.link;
		}
	,"json");
}
//het te printen product bewaren in de sessie
function printProduct(seizoen,user,hotelcode,type){
	$.post("/ajax/addDataToSession.php",{"action":"printProduct","user":user,"seizoen":seizoen,"hotelcode":hotelcode,"type":type},
		function(data){
			window.open(data.link);
		}
	,"json");
}