/**
* @author      Mario Ruis
*/

var thisHost = '';
var currentP = '';
var buffer = '';
var slideShow=new Array();
var slideShowDesc=new Array();
var slideShowPlaying=true;
var nextPic = 'undefined';
var currentSlide = 0;




window.onload = function () {

	//var aID_url = queryString('p');
	//alert(aID_url);

	if(document.getElementById('tabholder')) { activeerTabs('tabholder'); }
	//if(document.getElementById('products')) { setTimeout("nextMini()", 6000); }
	if(document.getElementById('visualHolder') && (slideShow.length > 1) ) { nextPic = setTimeout("startShow()", 4800); }

	if(document.getElementById('bk_menu')) {
		  topMenuEffect('bk_r', '');
		  topMenuEffect('bk_o', '');
		  topMenuEffect('bk_b', '');
		  topMenuEffect('bk_t', '');
		  topMenuEffect('bk_c', '');
	}


	if (document.getElementById('fieldsToCheck')) {
		runFormCheck();
	}

  if (document.getElementById('filter_periode')) {
	zoekFilterCorrectie();
  }

  if (document.getElementById('listen_slideshow')) {
	document.getElementById('listen_slideshow').onchange = function() {
	  gotoSlideShow(this);
	}
  }
  if (document.getElementById('acc_lv')) {
	document.getElementById('acc_lv').onchange = function() {
	  gotoAccom(this);
	}
  }
  if (document.getElementById('acc_dc')) {
	document.getElementById('acc_dc').onchange = function() {
	  gotoAccom(this);
	}
  }
  if (document.getElementById('acc_ht')) {
	document.getElementById('acc_ht').onchange = function() {
	  gotoAccom(this);
	}
  }


  if (document.getElementById('printButton')) {
		document.getElementById('printButton').onmouseover = function() {
			document.getElementById('printButton').style.cursor = 'pointer';
		}
		document.getElementById('printButton').onclick = function() {
			printBoekBev();
		}
  }


  if (document.getElementById('filter_periode_cms')) {
	zoekFilterCorrectie_cms();
  }



}



function activeerTabs(tabholderId) {

  var tab = document.getElementById(tabholderId).getElementsByTagName("div");
  for(var i=0;i<tab.length;i++) {

  	tab[i].onmouseover=function() {
		this.style.cursor='pointer';
		this.style.backgroundPosition= ' 0px -27px';
    }

    tab[i].onmouseout=function() {
		if(this.id.substr(0, 10) != '__active__') {
		this.style.cursor='default';
		this.style.backgroundPosition= ' 0px 0px';
		}
    }

    tab[i].onclick=function() {
		if(this.id.substr(0, 10) != '__active__') {
		window.location=thisHost+this.id;
		} else {
		window.location=thisHost+this.id.substr(10);
		}
    }

  }



}




function bgEffectSchedule(obj) {
	var cellen = obj.childNodes;

	for (var i=0;i<cellen.length;i++) {
		var cel = cellen[i];
		cel.style.backgroundColor = '#ecf6fc';
		cel.style.color = '#000000';
		cel.style.cursor = 'pointer';
	}
}

function bgEffectScheduleRestore(obj, currentBgColor) {
	var cellen = obj.childNodes;

	for (var i=0;i<cellen.length;i++) {
		var cel = cellen[i];
		cel.style.backgroundColor = currentBgColor;
		cel.style.color = '#333333';
		cel.style.cursor = 'pointer';
	}
}





function nextMini() {

	opacity('prodtable', 100, 0, 300);
	setTimeout("asyncReq('POST', './inc/sea-safaris.php', 'act=getnextmini', 'dom', 'products')", 500);
	setTimeout("nextMini()",6000);


}


function submitZoekFormHome() {
	var elSelectPeriode = document.getElementById("zoekformhome_date");
	var elSelectRegio 	= document.getElementById("zoekformhome_regio");

	var elSelectPeriodeValue 	= elSelectPeriode.options[elSelectPeriode.selectedIndex].value;
	var elSelectRegioValue 		= elSelectRegio.options[elSelectRegio.selectedIndex].value;

	window.location=thisHost+'book/'+elSelectPeriodeValue+'/0/'+elSelectRegioValue+'/0';
}




function activeerFavourites() {


  totalFavI   = document.getElementById('no_of_favslides').value;
  currentFavI = 4;

  if((currentFavI + 1) <= totalFavI) {
	nextFavourite(1); // parameter = which favourite-cell should be replaced
  }


}



function topMenuEffect(id, klasse) {
if (document.getElementById(id)) {
 var kn = document.getElementById(id);
  kn.onmouseover=function() {
   this.className=klasse+'on';
  }

  kn.onmouseout=function() {
   this.className=klasse+'off';
  }
 }
}






function startShow() {
	if(slideShowPlaying == true){

		  picCycle();
		  document.getElementById('playpause').src=thisHost+'pix/slideshownav_ps.png';


		  document.getElementById('playpause').onclick=function() {
			slideShowPlaying = false;
			pauseShow();
		  }

		  document.getElementById('playpause').onmouseover=function() {
			this.style.cursor = 'pointer';
		  }

    } else {
		pauseShow();
	}
}






function pauseShow() {

	  slideShowPlaying = false;
	  if(nextPic != 'undefined') { clearTimeout(nextPic); }


	  document.getElementById('playpause').src=thisHost+'pix/slideshownav_play.png';

	  document.getElementById('playpause').onclick=function() {
		slideShowPlaying = true;
		startShow();
	  }

	  document.getElementById('playpause').onmouseover=function() {
		this.style.cursor = 'pointer';
	  }


}


function fwShow() {

pauseShow();
picCycle();

}



function rwShow() {

pauseShow();

currentSlide--;
currentSlide--;
if(currentSlide < -1) {
  currentSlide=-1;
}
picCycle();
}



function picCycle() {


	  if(nextPic != 'undefined') { clearTimeout(nextPic); }

		currentSlide++;

		if(currentSlide > (slideShow.length - 1)) {
		  currentSlide=0;
		}

		currentSRC = document.getElementById('visualimg').src;
		document.getElementById('visual').style.backgroundImage='url('+currentSRC+')';

		changeOpac(0, 'visualimg');
		document.getElementById('visualimg').style.visibility='hidden';
		document.getElementById('visualimg').src=thisHost+'pix/media/'+slideShow[currentSlide];
		document.getElementById('visualimg').style.visibility='visible';

		opacity('visualimg', 0, 100, 400);
		document.getElementById('phototext').innerHTML='<span id="forFade"> &nbsp; '+slideShowDesc[currentSlide]+'</div>';

	if(slideShowPlaying == true){
		nextPic = setTimeout("startShow()", 5000);
	}
}





function popitup(URL) {
day = new Date();
id = day.getTime();
eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=350,height=600');");
return false;
}

// JavaScript Document
function PageQuery(q) {
	if(q.length > 1) this.q = q.substring(1, q.length);
	else this.q = null;
	this.keyValuePairs = new Array();
	if(q) {
		for(var i=0; i < this.q.split("&").length; i++) {
			this.keyValuePairs[i] = this.q.split("&")[i];
		}
	}
	this.getKeyValuePairs = function() { return this.keyValuePairs; }
	this.getValue = function(s) {
		for(var j=0; j < this.keyValuePairs.length; j++) {
			if(this.keyValuePairs[j].split("=")[0] == s)
			return this.keyValuePairs[j].split("=")[1];
		}
		return false;
	}
	this.getParameters = function() {
		var a = new Array(this.getLength());
		for(var j=0; j < this.keyValuePairs.length; j++) {
			a[j] = this.keyValuePairs[j].split("=")[0];
		}
		return a;
	}
	this.getLength = function() { return this.keyValuePairs.length; }
}

function queryString(key){
	var page = new PageQuery(window.location.search);
	return unescape(page.getValue(key));
}






function doRefresh() {
  window.location.reload();
}



function changePic(strId, strNewSrc) {
	document.getElementById(strId).src = strNewSrc;
}


function clearField(fieldId) {
  	var field = document.getElementById(fieldId);
  	field.value='';
}


function runFormCheck() {

	var fieldsToCheck = document.getElementById("fieldsToCheck").value;
	var submitId = document.getElementById("submitButtonId").value;
	var aantalCorrecteVelden	  = 0;
	var aantalCorrecteVeldenNodig = document.getElementById("fieldsToBeCorrect").value;
	var veld = fieldsToCheck.split("__");

	for ( var i in veld ) {
			var params = veld[i].split("|");

			/**************************************************************
			* @param text  Voor text velden
			*/
			if (params[1] == "text") {
				waardeIn = document.getElementById(params[0]).value.length;

				// IS DE LIMIT EEN MINIMUM OF MAXIMUM
				if(params[2].substring(0,3) == 'min') {
					if (params[2].substring(4) <= parseInt(waardeIn)) {
						aantalCorrecteVelden++;
					}
				} else {
					if (parseInt(waardeIn) >= params[2].substring(4)) {
						aantalCorrecteVelden++;
					}
				  }
			}
			/**************************************************************/



			/**************************************************************
			* @param text  Voor email adressen
			*/
			if (params[1] == "email") {
				if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(document.getElementById(params[0]).value)){
					aantalCorrecteVelden++;
				}
			}
			/**************************************************************/



			/**************************************************************
			* @param text  Voor checkboxen
			*/
			if (params[1] == "checkbox") {
				if (document.getElementById(params[0]).checked == true){
					aantalCorrecteVelden++;
				}
			}
			/**************************************************************/



	 } // einde for


	/**************************************************************
	* @param text  Submit button instellen
	*/
	if (aantalCorrecteVelden == aantalCorrecteVeldenNodig){
		document.getElementById(submitId).disabled = false;
	}
	else {
		document.getElementById(submitId).disabled = true;
	}
	/**************************************************************/


}






function valideerEmail(fieldId, submitId) {

field = document.getElementById(fieldId);

	if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(field.value)){
		document.getElementById(submitId).disabled = false;
	}
	else {
		document.getElementById(submitId).disabled = true;
	}
}


function checkMinStrLength(fieldId, submitId, waardeMin) {

waardeIn = document.getElementById(fieldId).value.length;

if  ( parseInt(waardeIn) > waardeMin) {
		document.getElementById(submitId).disabled = false;
	} else {
   		document.getElementById(submitId).disabled = true;
	}
}



function setIntLength(waarde, maxwaarde, obj) {

	if ( parseInt(waarde) > maxwaarde) {
   		obj.value = maxwaarde;
   		alert("Het maximum aantal is "+maxwaarde);
	}
}



function setFloatInput(obj) {

	if((obj.value == '') || (!IsNumeric(obj.value)) ) {
		obj.value = 0
	}

}





function numbersOnly(evt){

  evt = (evt) ? evt : event;

  var c = (evt.charCode) ? evt.charCode :

 ((evt.keyCode) ?
 	evt.keyCode : ((evt.wich) ? evt.wich : 0));

   if (c > 31 && (c < 48 || c > 57)) {
    alert("Vul a.u.b. een getal in.");
    return false;
   }

   return true;
}


function IsNumeric(sText) {
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;


   for (i = 0; i < sText.length && IsNumber == true; i++)
      {
      Char = sText.charAt(i);
      if (ValidChars.indexOf(Char) == -1)
         {
         IsNumber = false;
         }
      }
   return IsNumber;

}






function confirmDeleteCMSPage() {

	var antwoord=confirm("Delete this page ?");
	 if(antwoord) {
	 document.getElementById('cms_delete_page').submit();
	 return true;
   } else {
	 	return false;
	  }
}





function confirmDeleteIMG(formId) {

	var antwoord=confirm("Delete this image ?");
	 if(antwoord) {
	 document.getElementById(formId).submit();
	 return true;
   } else {
	 	return false;
	  }
}



function confirmRenameIMG(formId, newNameField) {
	if(document.getElementById(newNameField).value == '') {
		alert("Please enter an image name.");
	}
	else {
		var antwoord=confirm("Rename this image ?");
		 if(antwoord) {
		 document.getElementById(formId).submit();
		 return true;
	   } else {
			return false;
		  }
   }
}


function confirmSubmit(question, formId) {

	var antwoord=confirm(question);
	 if(antwoord) {
	 document.getElementById(formId).submit();
	 return true;
   } else {
	 	return false;
	  }
}




function gotoSlideShow(obj) {

	var slideShowName = obj.options[obj.selectedIndex].value;
	window.location=thisHost+'admin/slideshows/'+slideShowName;

}




function confirmDeleteSlide(formId) {

	var antwoord=confirm("Delete this slide from slideshow ?");
	 if(antwoord) {
	 document.getElementById(formId).submit();
	 return true;
   } else {
	 	return false;
	  }
}





function gotoAccom(obj) {

	var accomodation = obj.options[obj.selectedIndex].value;
	window.location=thisHost+'admin/database/accomodations/'+accomodation;

}



function wisMceField(fieldId){
	var inst = tinyMCE.getInstanceById(fieldId);
	inst.execCommand("mceSetContent", false, '');
}


function plaatsInMceField(fieldId, selectId){
	var templateId = document.getElementById(selectId).options[document.getElementById(selectId).selectedIndex].value;
	var tekst = asyncReq('GET', thisHost+'inc/system.php', 'act=gettemplate&var='+templateId, 'mce', fieldId);
}




function asyncReq(type, actie, params, doel, doelnaam) {

	if (typeof xmlHttp == 'undefined') {
		if (window.ActiveXObject) {
			xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
		} else if (window.XMLHttpRequest) {
			xmlHttp = new XMLHttpRequest();
		  }
			requestHandle(xmlHttp, type, actie, params, doel, doelnaam);

	} else {
			if (window.ActiveXObject) {
				xmlHttp2 = new ActiveXObject("Microsoft.XMLHTTP");
			} else if (window.XMLHttpRequest) {
				xmlHttp2 = new XMLHttpRequest();
			  }
			requestHandle(xmlHttp2, type, actie, params, doel, doelnaam);
	  }
}



function requestHandle(xmlHttpObj, type, actie, params, doel, doelnaam) {

	if(type == "GET") {
		actie = actie+'?'+params;
	}

    xmlHttpObj.open(type, actie, true);
    xmlHttpObj.onreadystatechange = function () {
		if((xmlHttpObj.readyState == 4) && (xmlHttpObj.status == 200)) {

				if((doel == 'dom') && document.getElementById(doelnaam)) {
     			  document.getElementById(doelnaam).innerHTML = xmlHttpObj.responseText;
				}

				else if(doel == 'buffer') {
     			  buffer = xmlHttpObj.responseText;
				}

				else if(doel == 'mce') {
				  	var inst = tinyMCE.getInstanceById(doelnaam);
					inst.execCommand("mceInsertContent", false, ''+xmlHttpObj.responseText);
				}
		}
	}

	if(type == "GET") {
    	xmlHttpObj.send(null);
	} else {
    	xmlHttpObj.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    	xmlHttpObj.send(params);
	}
}





function opacity(id, opacStart, opacEnd, millisec) {
	var speed = Math.round(millisec / 100);
	var timer = 0;

	if(opacStart > opacEnd) {
		for(i = opacStart; i >= opacEnd; i--) {
			setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
			timer++;
		}
	} else if(opacStart < opacEnd) {
		for(i = opacStart; i <= opacEnd; i++)
			{
			setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
			timer++;
		}
	}
}

function changeOpac(opacity, id) {
    var object = document.getElementById(id).style;
    object.opacity = (opacity / 100);
    object.MozOpacity = (opacity / 100);
    object.KhtmlOpacity = (opacity / 100);
    object.filter = "alpha(opacity=" + opacity + ")";
}




function confirmDeletePerson(obj) {

	var antwoord=confirm("Delete ?");
	 if(antwoord) {
	 document.obj.submit();
	 return true;
   } else {
	 	return false;
	  }
}

function verzendOfferte(email) {

	var antwoord=confirm("Send this offer to "+email+" ?");
	 if(antwoord) {
	 document.getElementById('verzend_email').value="JA";
	 document.offerteForm.submit();
	 return true;
   } else {
	 	return false;
	  }
}



function verzendBoekBev(email) {

	var antwoord=confirm("Boekingsbevestiging verzenden naar "+email+" ?");
	 if(antwoord) {
	 document.getElementById('verzend_email').value="JA";
	 document.boekbevForm.submit();
	 return true;
   } else {
	 	return false;
	  }
}



function duikreizenZoeken() {

	var elSelectPeriode = document.getElementById("filter_periode");
	var elSelectType 	= document.getElementById("filter_type");
	var elSelectRegio 	= document.getElementById("filter_regio");
	var elSelectPlaats 	= document.getElementById("filter_plaats");


	var elSelectPeriodeValue 	= elSelectPeriode.options[elSelectPeriode.selectedIndex].value;
	var elSelectTypeValue 		= elSelectType.options[elSelectType.selectedIndex].value;
	var elSelectRegioValue 		= elSelectRegio.options[elSelectRegio.selectedIndex].value;
	var elSelectPlaatsValue 	= elSelectPlaats.options[elSelectPlaats.selectedIndex].value;

	window.location=thisHost+'book/'+elSelectPeriodeValue+'/'+elSelectTypeValue+'/'+elSelectRegioValue+'/'+elSelectPlaatsValue;

}




function zoekFilterCorrectie() {


	var elSelectPeriode = document.getElementById("filter_periode");
	var elSelectType 	= document.getElementById("filter_type");
	var elSelectRegio 	= document.getElementById("filter_regio");
	var elSelectPlaats 	= document.getElementById("filter_plaats");

	var elSelectPeriodeValue 	= elSelectPeriode.options[elSelectPeriode.selectedIndex].value;
	var elSelectTypeValue 		= elSelectType.options[elSelectType.selectedIndex].value;
	var elSelectRegioValue 		= elSelectRegio.options[elSelectRegio.selectedIndex].value;
	var elSelectPlaatsValue 	= elSelectPlaats.options[elSelectPlaats.selectedIndex].value;


	elSelectPeriode.onchange = function() {
	window.location=thisHost+'book/'+this.options[this.selectedIndex].value+'/'+elSelectTypeValue+'/'+elSelectRegioValue+'/'+elSelectPlaatsValue;
	}

	elSelectType.onchange = function() {
	window.location=thisHost+'book/'+elSelectPeriodeValue+'/'+this.options[this.selectedIndex].value+'/'+elSelectRegioValue+'/'+elSelectPlaatsValue;
	}

	elSelectRegio.onchange = function() {
	window.location=thisHost+'book/'+elSelectPeriodeValue+'/'+elSelectTypeValue+'/'+this.options[this.selectedIndex].value+'/'+elSelectPlaatsValue;
	}

	elSelectPlaats.onchange = function() {
	window.location=thisHost+'book/'+elSelectPeriodeValue+'/'+elSelectTypeValue+'/'+elSelectRegioValue+'/'+this.options[this.selectedIndex].value;
	}
}




function zoekFilterCorrectie_cms() {


	var elSelectPeriode 		= document.getElementById("filter_periode_cms");
	var elSelectPeriodeValue 	= elSelectPeriode.options[elSelectPeriode.selectedIndex].value;
	var elSelectAcc 			= document.getElementById("filter_acc_cms");
	var elSelectAccValue 		= elSelectAcc.options[elSelectAcc.selectedIndex].value;

	elSelectPeriode.onchange = function() {
	window.location=thisHost+'admin/database/trips&periode='+this.options[this.selectedIndex].value+'&acc='+elSelectAccValue;
	}

	elSelectAcc.onchange = function() {
	window.location=thisHost+'admin/database/trips&periode='+elSelectPeriodeValue+'&acc='+this.options[this.selectedIndex].value;
	}
}



function boekBevCalcTotal() {

	boekBevTotal = parseFloat(0.00);

	boekBevCorrectValue(document.getElementById('v_pa1'), document.getElementById('p_pa1'));
	boekBevCorrectValue(document.getElementById('v_pa2'), document.getElementById('p_pa2'));
	boekBevCorrectValue(document.getElementById('v_pa3'), document.getElementById('p_pa3'));
	boekBevCorrectValue(document.getElementById('v_pa4'), document.getElementById('p_pa4'));
	boekBevCorrectValue(document.getElementById('v_cc'), document.getElementById('p_cc'));
	boekBevCorrectValue(document.getElementById('v_ur'), document.getElementById('p_ur'));
	boekBevCorrectValue(document.getElementById('v_vz'), document.getElementById('p_vz'));
	boekBevCorrectValue(document.getElementById('v_vt'), document.getElementById('p_vt'));
	boekBevCorrectValue(document.getElementById('v_rk'), document.getElementById('p_rk'));

	document.getElementById('boekbevtotal').innerHTML = parseFloat(boekBevTotal).toFixed(2);

}



function boekBevCorrectValue(objCheckBox, objField) {
	if( (objField.value == '') || (!IsNumeric(objField.value)) ) {
		  objField.value = 0;
	} else {
		if(objCheckBox.checked == true) {
		  boekBevTotal = parseFloat(boekBevTotal) + parseFloat(objField.value);
		}
	}
}




function printBoekBev() {



var pw = window.open("about:blank", "Boekingsbevestiging", "width=685, height=700, top=30, left=30, toolbar=0, menubar=0, location=0, status=0, scrollbars=1, resizable=1");
pw.document.open();

pw.document.write('<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">'
							+'<html xmlns="http://www.w3.org/1999/xhtml">'
							  +'<head>'
								+'<title>Bookingconfirmation</title>'
								+'<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />'
								+'<meta http-equiv="Page-Enter" content="blendTrans(Duration=0.15)" />'
								+'<meta name="robots" content="noindex, nofollow" />'
								+'<link  href="http://www.seasafaris.net/inc/sea-safaris.css" rel="stylesheet" type="text/css" />'
							  +'</head>'
							 +'<body>');
pw.document.write(document.getElementById('printpage').innerHTML);
pw.document.write('</body>');
pw.document.close();
pw.print();

}






function submitAnswer(type) {

	if(type == 'accept') {
		if( (document.getElementById('fa_pwc').value !='') && (document.getElementById('fa_chk').checked == true) ) {
			confirmSubmit("Confirm this request?", 'form_accept');
		} else {
			alert("Please enter your name and\nmake sure you have confirmed the reservation request by checking the checkbox before submitting the form.");
		}
	}


	if(type == 'alternative') {
		if( (document.getElementById('f_alt_prp').innerHTML !='') && (document.getElementById('person_who_confirmed_alternative').value !='') && (document.getElementById('f_alt_chk').checked == true) ) {
			confirmSubmit("Send this proposal to seasafaris?", 'form_alternative');
		} else {
			alert("Please write a proposal for the request, make sure you have entered your name and\n confirmed the reservation request by checking the checkbox.");
		}
	}


	if(type == 'reject') {

		if( document.getElementById('person_who_rejected').value !='')  {
			confirmSubmit("Reject the request?", 'form_reject');
		} else {
			alert("Please enter your name before submitting the form.");
		}

	}

}