// JavaScript Document

//
// browser detectie
//
var browserType;

if (document.layers) {browserType = "nn4"}
if (document.all) {browserType = "ie"}
if (window.navigator.userAgent.toLowerCase().match("gecko")) {browserType= "gecko"}

//
// coords find kalender deel
//
var docX, docY;

function info( e , timestamp , day, carid ) {
   if( e && browserType !== 'ie' )
   {
      if( typeof( e.pageX ) == 'number' )
      {
         docX = e.pageX;
         docY = e.pageY;
      }
      else
      {
         docX = e.clientX;
         docY = e.clientY;
      }
   }
   else
   {
      e = window.event;
      docX = e.clientX;
      docY = e.clientY;
      if( document.documentElement
        && ( document.documentElement.scrollTop
            || document.documentElement.scrollLeft ) )
      {
         docX += document.documentElement.scrollLeft;
         docY += document.documentElement.scrollTop;
      } 
      else if( document.body
         && ( document.body.scrollTop
             || document.body.scrollLeft ) )
      {
         docX += document.body.scrollLeft;
         docY += document.body.scrollTop;
      }
	  docX = docX-2;
	  docY = docY-2;
   }
   var div = document.getElementById('div-msgbox');
   div.style.left = docX+'px';
   div.style.top = docY+'px';
   div = document.getElementById('div-msgbox-title');
   div.innerHTML = 'Details dag '+day;
   div = document.getElementById('div-msgbox-content');
   div.innerHTML = 'Loading data... please wait<br /><img src=\"../images/smiley_waiting.gif\" />';
   if (document.getElementById('daginfo').checked) { var daginfo=1; } else { var daginfo=0; }
   showdisplay('div-msgbox');
   ajax_do('kalenderinfo.php?timestamp='+timestamp+'&carid='+carid+'&daginfo='+daginfo);
}

//
// diverse admin kalender functies 
//
function infopub( e , timestamp , day, carid ) {
	var monthNames = [ "Jan", "Feb", "Mrt", "Apr", "Mei", "Juni",
    "Juli", "Aug", "Sept", "Okt", "Nov", "Dec" ];
   var div = document.getElementById('div-msgbox-title');
   var date = new Date(timestamp * 1000)
   var jaar = date.getFullYear();
   var maand = date.getMonth()+1;
   var maandnaam=monthNames[date.getMonth()];
   var dag = date.getDate();
   div.innerHTML = 'Details van: '+dag+' '+maandnaam+' '+jaar;
   div = document.getElementById('div-msgbox-content');
   div.innerHTML = 'Loading data... please wait';
   ajax_do('kalenderinfopub.php?timestamp='+timestamp+'&carid='+carid);
}

function carview(carid) {
	var div = document.getElementById('scarid');
	div.value=carid;
	document.calendar.submit();
}

function periodview(carid,year) {
	var div = document.getElementById('pcarid');
	div.value=carid;
	div = document.getElementById('pyear');
	div.value=year;
	document.calendar.submit();
}
function userview(userid) {
	var div = document.getElementById('suserid');
	div.value=userid;
	document.calendar.submit();
}

function markeermode(mode) {
	var div = document.getElementById('mode');
	div.value=mode;
	document.calendar.submit();
}
function selectday(e,timestamp) {
	ajax_do('selectday.php?timestamp='+timestamp);
}


function mark( e , timestamp , mode , carid ) {
	var idim = eval('document.getElementById(\'im_'+timestamp+'\')');
	var idio = eval('document.getElementById(\'io_'+timestamp+'\')');
	var idtd = eval('document.getElementById(\'td_'+timestamp+'\')');
	if (idim.value==mode)
		{
		idim.value="x";
		if (idio.value=="v") { idtd.className="cal-d-v"; }
		if (idio.value=="b") { idtd.className="cal-d-b"; }
		if (idio.value=="h") { idtd.className="cal-d-h"; }
		if (idio.value=="r") { idtd.className="cal-d-r"; }
		}
		else
		{
		idim.value=mode;
		if (mode=="v") { idtd.className="cal-d-v"; }
		if (mode=="b") { idtd.className="cal-d-b-mark"; }
		if (mode=="h") { idtd.className="cal-d-h-mark"; }
		if (mode=="r") { idtd.className="cal-d-r-mark"; }
		}
	if (document.getElementById('rflag').value==false)
		{ hidedisplay('div-msgbox'); }
	// document.getElementById('div-msgbox-content').innerHTML='hit '+timestamp+'<br />'+mode+'|'+carid+'<br />im '+idim.value+'|io '+idio.value;
	// set box height
	// div = document.getElementById('div-msgbox');
	// div.style.height='100px';
}

function mouseover(e,timestamp,wisselcode) {
	var idim = eval('document.getElementById(\'im_'+timestamp+'\')');
	var idio = eval('document.getElementById(\'io_'+timestamp+'\')');
	if (idim.value=="x")
		{ e.className='cal-d-'+idio.value+'-over'; }
		else
		{ 
		if (wisselcode=="")
			{ e.className='cal-d-'+idim.value+'-over'; }
			else
			{ e.className='cal-d-'+idio.value+'-over'; }
		}			
}

function mouseout(e,timestamp,wisselcode) {
	var idim = eval('document.getElementById(\'im_'+timestamp+'\')');
	var idio = eval('document.getElementById(\'io_'+timestamp+'\')');
	if (wisselcode=="-e")
		{
		var idime = eval('document.getElementById(\'im_'+(timestamp-86400)+'\')');
		if (idim.value=="x")
			{ 
			if (idime.value=="x")
				{ e.className='cal-d-'+idio.value; }	
				else
				{ e.className='cal-d-'+idio.value+wisselcode+'-mark'; }
			}
			else
			{ e.className='cal-d-'+idim.value+'-mark'; }
		}
	if (wisselcode=="-b")
		{
		var idimb = eval('document.getElementById(\'im_'+(timestamp+86400)+'\')');
		if (idim.value=="x")
			{
			if (idimb.value=="x")
				{ e.className='cal-d-'+idio.value; }
				else
				{ e.className='cal-d-'+idio.value; }
			}
			else
			{ e.className='cal-d-'+idio.value+wisselcode+'-mark'; }	
		}
	if (wisselcode=="")
		{
		if (idim.value=="x")
			{ e.className='cal-d-'+idio.value; }
			else
			{ e.className='cal-d-'+idim.value+'-mark'; }
		}
}

// zoeken huurder
function zhuurder(mode) {
	var znaam=document.getElementById('znaam').value;
	var zplaats=document.getElementById('zplaats').value;
	var page=document.getElementById('page').value;
	ajax_do('zhuurder.php?znaam='+znaam+'&zplaats='+zplaats+'&mode='+mode+'&page='+page);
}
function zuserview(userid) {
	var div = document.getElementById('zuserid');
	div.value=userid;
	document.calendar.submit();
}
function dhuurder(userid) {
	if (userid>0)
		{
	   	showdisplay('div-dbox');
	   	ajax_do('dhuurder.php?userid='+userid);
		}
}

// lijst huurders
function lhhuurder(letter) {
	var div = document.getElementById('div-hbox-lhresult');
	div.innerHTML = 'Even wachten ...';
	var page=document.getElementById('page').value;
	ajax_do('lhhuurder.php?letter='+letter+'&page='+page);
}


// formulier functies
function opvragen() {
   var div = document.getElementById('div-lbox-result');
   div.innerHTML = 'Een momentje...';
   var email=document.formulier.elogin.value;
   var pass=document.formulier.plogin.value;
   ajax_do('opvragen.php?e='+email+'&p='+pass);
}

function popvragen() {
   var div = document.getElementById('div-pbox-result');
   div.innerHTML = 'Een momentje...';
   var email=document.formulier.elogin.value;
   ajax_do('popvragen.php?e='+email);
}

// briefdata
function briefdata(huurid) {
	var divheight;
	// radiobutton checken
	var locnaam = document.briefform.locatienaam.value;
	var lengte = document.briefform.brief.length;
	for (var i = 0; i <lengte; i++) {
		if (document.briefform.brief[i].checked) {
		var brief = document.briefform.brief[i].value;
		}
	}
	if (locnaam=="Ameland" && brief=="bewijs") {
   		hidedisplay('bbox-kenteken');
   		showdisplay('bbox-bo1');
   		showdisplay('bbox-avdatum');
   		hidedisplay('bbox-briefdatum');
   		hidedisplay('bbox-noord');
   		hidedisplay('bbox-sleutel');
   		hidedisplay('bbox-dekbed');
   		hidedisplay('bbox-alg');
		divheight=490;
	}
	if (locnaam=="Terschelling" && brief=="bewijs") {
   		hidedisplay('bbox-kenteken');
   		hidedisplay('bbox-bo1');
   		showdisplay('bbox-avdatum');
   		hidedisplay('bbox-briefdatum');
   		showdisplay('bbox-noord');
   		hidedisplay('bbox-sleutel');
   		hidedisplay('bbox-dekbed');
   		hidedisplay('bbox-alg');
		divheight=600;
	}
	if (locnaam=="Bakkeveen" && brief=="bewijs") {
   		hidedisplay('bbox-kenteken');
   		hidedisplay('bbox-bo1');
   		showdisplay('bbox-avdatum');
   		hidedisplay('bbox-briefdatum');
   		hidedisplay('bbox-noord');
   		hidedisplay('bbox-sleutel');
   		hidedisplay('bbox-dekbed');
   		hidedisplay('bbox-alg');
		divheight=490;
	}
	if (locnaam=="Hardenberg" && brief=="bewijs") {
   		hidedisplay('bbox-kenteken');
   		hidedisplay('bbox-bo1');
   		showdisplay('bbox-avdatum');
   		hidedisplay('bbox-briefdatum');
   		hidedisplay('bbox-noord');
   		hidedisplay('bbox-sleutel');
   		hidedisplay('bbox-dekbed');
   		hidedisplay('bbox-alg');
		divheight=490;
	}
	if (locnaam=="Ommen" && brief=="bewijs") {
   		hidedisplay('bbox-kenteken');
   		hidedisplay('bbox-bo1');
   		showdisplay('bbox-avdatum');
   		hidedisplay('bbox-briefdatum');
   		hidedisplay('bbox-noord');
   		hidedisplay('bbox-sleutel');
   		hidedisplay('bbox-dekbed');
   		hidedisplay('bbox-alg');
		divheight=490;
	}
	if (locnaam=="Ameland" && brief=="verhuur") {
   		hidedisplay('bbox-kenteken');
   		hidedisplay('bbox-bo1');
   		hidedisplay('bbox-avdatum');
   		showdisplay('bbox-briefdatum');
   		hidedisplay('bbox-noord');
   		showdisplay('bbox-sleutel');
   		showdisplay('bbox-dekbed');
   		hidedisplay('bbox-alg');
		divheight=500;
	}
	if (locnaam=="Bakkeveen" && brief=="verhuur") {
   		hidedisplay('bbox-kenteken');
   		hidedisplay('bbox-bo1');
   		showdisplay('bbox-avdatum');
   		showdisplay('bbox-briefdatum');
   		hidedisplay('bbox-noord');
   		showdisplay('bbox-sleutel');
   		hidedisplay('bbox-dekbed');
   		hidedisplay('bbox-alg');
		divheight=600;
	}
	if (locnaam=="Terschelling" && brief=="verhuur") {
   		hidedisplay('bbox-kenteken');
   		hidedisplay('bbox-bo1');
   		showdisplay('bbox-avdatum');
   		showdisplay('bbox-briefdatum');
   		hidedisplay('bbox-noord');
   		hidedisplay('bbox-sleutel');
   		hidedisplay('bbox-dekbed');
   		hidedisplay('bbox-alg');
		divheight=490;
	}
	if (locnaam=="Hardenberg" && brief=="verhuur") {
   		hidedisplay('bbox-kenteken');
   		hidedisplay('bbox-bo1');
   		showdisplay('bbox-avdatum');
   		showdisplay('bbox-briefdatum');
   		hidedisplay('bbox-noord');
   		hidedisplay('bbox-sleutel');
   		hidedisplay('bbox-dekbed');
   		hidedisplay('bbox-alg');
		divheight=490;
	}
	if (locnaam=="Ommen" && brief=="verhuur") {
   		hidedisplay('bbox-kenteken');
   		hidedisplay('bbox-bo1');
   		showdisplay('bbox-avdatum');
   		showdisplay('bbox-briefdatum');
   		hidedisplay('bbox-noord');
   		hidedisplay('bbox-sleutel');
   		hidedisplay('bbox-dekbed');
   		hidedisplay('bbox-alg');
		divheight=490;
	}
	if (brief=="contract") {
   		hidedisplay('bbox-kenteken');
   		hidedisplay('bbox-bo1');
   		showdisplay('bbox-avdatum');
   		showdisplay('bbox-briefdatum');
   		hidedisplay('bbox-noord');
   		hidedisplay('bbox-sleutel');
   		hidedisplay('bbox-dekbed');
   		showdisplay('bbox-alg');
		divheight=900;
	}
	var div = document.getElementById('briefbox');
	div.style.height=divheight+'px';
	shake('briefbox');
   	showdisplay('briefbox');
   	ajax_do('briefdata.php?hid='+huurid+'&brief='+brief+'&locnaam='+locnaam);
}

// brief edata
function briefedata(huurid) {
	showdisplay('emailbox');	
   	ajax_do('briefedata.php?hid='+huurid);
}

// delete brief data
function delbriefdata(rid) {
   	ajax_do('delbriefdata.php?rid='+rid);
}

// kasboekdata
function kasboekdata(huurid) {
	var divheight;
	// radiobutton checken
	divheight=800;
	var div = document.getElementById('briefbox');
	div.style.height=divheight+'px';
	shake('briefbox');
   	showdisplay('briefbox');
   	ajax_do('kasboekdata.php?hid='+huurid);
}

// kasboek edata
function kasboekedata(huurid) {
	showdisplay('emailbox');	
   	ajax_do('kasboekedata.php?hid='+huurid);
}

// kasboekreken zit in kasboek.php

// switch kasboek en brief
function switchkasboek()
	{
	var hid=document.getElementById('hid').value;
	window.location.href = 'kasboek.php?hid='+hid+'&action=switch';
	} 

function switchbrief()
	{
	var hid=document.getElementById('hid').value;
	window.location.href = 'briefkeuze.php?hid='+hid+'&action=switch';
	} 

function switchhuurder()
	{
	var hid=document.getElementById('hid').value;
	window.location.href = 'useradmin.php?hid='+hid+'&action=switch';
	} 

// tinymce switch
var tinyMCEmode=true;
function toogleEditorMode(sEditorID) {
	try {
		if(tinyMCEmode) {
			tinyMCE.removeMCEControl(tinyMCE.getEditorId(sEditorID));
			tinyMCEmode=false;
		} else {
			timyMCE.addMCEControl(document.getElementById('ebody'), sEditorID);
			tinyMCEmode=true;
		}
	} catch(e) {
		// error handling
	}
}
function enableEditorMode(sEditorID) {
	tinyMCE.execCommand('mceAddControl',false,sEditorID);
	}
function disableEditorMode(sEditorID) {
	tinyMCE.execCommand('mceRemoveControl',false,sEditorID);
	}

//
// speciale map coords script voor x,y detectie, de enige werkzame tot nu toe voor IE en FF.
//
var xpos;
var ypos;

function imageClicked(eventData) {
	eventData = (eventData) ? eventData : event;
	if (typeof(eventData.offsetX) != "undefined") 
		{
		xpos = eventData.offsetX;
		ypos = eventData.offsetY;
		}
		else
		{
		xpos = eventData.clientX;
		ypos = eventData.clientY;
		var xOff = this.offsetLeft;
		var yOff = this.offsetTop;
		$pElement = this.offsetParent;
		while ($pElement != null && $pElement.nodeType==1) 
			{
			xOff = xOff + $pElement.offsetLeft;
			yOff = yOff + $pElement.offsetTop;
			$pElement = $pElement.offsetParent;
			}
		// scrolling check
		if( document.documentElement && ( document.documentElement.scrollTop || document.documentElement.scrollLeft ) )
      		{
         	xpos += document.documentElement.scrollLeft;
         	ypos += document.documentElement.scrollTop;
      		} 
      		else if( document.body && ( document.body.scrollTop || document.body.scrollLeft ) )
      			{
         		xpos += document.body.scrollLeft;
         		ypos += document.body.scrollTop;
      			}
		xpos = xpos - xOff;
		ypos = ypos - yOff;
		}
	var xpoint=xpos-16;
	var ypoint=ypos-38;
	document.getElementById('coords_x').value = xpos;
	document.getElementById('coords_y').value = ypos;
	var div=document.getElementById('pointer');
	div.style.left=xpoint+'px';
	div.style.top=ypoint+'px';
	document.getElementById('status').innerHTML = 'Locatie is veranderd! Vergeet niet te opslaan.';
	document.getElementById('status').style.background = '#FF9900';
	// ajax_do('pointer.php?px='+xpos+'&py='+ypos);
}   

//
// div layer switches
//
function hidedisplay(idlayer) {
  if (browserType == "gecko" )
     document.poppedLayer = eval('document.getElementById(\''+idlayer+'\')');
  else if (browserType == "ie")
     document.poppedLayer = eval('document.all[\''+idlayer+'\']');
  else
     document.poppedLayer = eval('document.layers[\'`'+idlayer+'\']');
  document.poppedLayer.style.display = "none";
}

function showdisplay(idlayer) {
  if (browserType == "gecko" )
     document.poppedLayer = eval('document.getElementById(\''+idlayer+'\')');
  else if (browserType == "ie")
     document.poppedLayer = eval('document.all[\''+idlayer+'\']');
  else
     document.poppedLayer = eval('document.layers[\'`'+idlayer+'\']');
  document.poppedLayer.style.display = "block";
}

function hide(idlayer) {
  if (browserType == "gecko" )
     document.poppedLayer = eval('document.getElementById(\''+idlayer+'\')');
  else if (browserType == "ie")
     document.poppedLayer = eval('document.all[\''+idlayer+'\']');
  else
     document.poppedLayer = eval('document.layers[\'`'+idlayer+'\']');
  document.poppedLayer.style.visibility = "hidden";
}

function show(idlayer) {
  if (browserType == "gecko" )
     document.poppedLayer = eval('document.getElementById(\''+idlayer+'\')');
  else if (browserType == "ie")
     document.poppedLayer = eval('document.all[\''+idlayer+'\']');
  else
     document.poppedLayer = eval('document.layers[\'`'+idlayer+'\']');
  document.poppedLayer.style.visibility = "visible";
}

// 
// extra functies
//
function imageshow(id)
	{
	document.getElementById(id).innerHTML = '<img src="images/'+id+'-over.png" />';
	}
function imagenormal(id)
	{
	document.getElementById(id).innerHTML = '<img src="images/'+id+'.png" />';
	}

function getTextContent (el)
	{
	if (el.textContent) return el.textContent;
	if (el.innerText) return el.innerText;
	// if (el.innerHTML) return el.innerHTML.replace(/(&nbsp;)|(&ensp;)|(&emsp;)/g, ' ');
	if (el.innerHTML) return el.innerHTML.replace(/^(\s|&nbsp;)+|(\s|&nbsp;)+$/g,"");
	}

function nbspfix(str)
	{
 	return str.replace(/^(\s|&nbsp;)+|(\s|&nbsp;)+$/g," ");
	}

function kalenderchange(value,carid,locid)
	{
	// vooraf inloaden bericht
	showdisplay('kalendermessage');
	// kleur instellen
	var tags = document.getElementsByTagName('td');
	var temp="";
	var j=0;
	for(j=0;j<tags.length;j++)
		{
		temp=tags[j].id.split("_");
		if (temp[0]=='KAL')
			{
			document.getElementById(tags[j].id).style.backgroundColor='#C7E6FF';
			}
		}
	document.getElementById(value).style.backgroundColor="#FF0";
	ajax_do('kalenderchanger.php?period='+value+'&carid='+carid+'&locid='+locid);
	}
	
function confirm(url,fid)
	{
	document.getElementById('fid').value=fid;
	document.getElementById('wiscarimage').src=url;
	showdisplay('div-abox');
	}
function fixconfirm(side)
	{
	var uid;
	var kolom;
	if (side=='l')
		{
		uid=document.getElementById('uid_l').value;
		kolom='linkerkolom';
		document.getElementById('fixuid').value='l';
		}
	if (side=='r')
		{
		uid=document.getElementById('uid_r').value;
		kolom='rechterkolom';
		document.getElementById('fixuid').value='r';
		}
	document.getElementById('div-ahbox-content').innerHTML='Weet je zeker dat je alles wil overzetten naar de huurder id <strong>'+uid+'</strong> in de '+kolom+'?';

	showdisplay('div-ahbox');
	}

function bijwerkalert(e)
	{
	document.getElementById('bijwerkalert').innerHTML='<font color="red"><strong>(Er is wat veranderd, je moet ze nog opslaan.)</strong></font>';
	}

function showprijs(id)
	{
	var temp=document.getElementById('showprijs').value;
	if (temp!=='')
		{ 
		hidedisplay(temp); 
		hidedisplay('knop_'+temp+'_h'); 	
		showdisplay('knop_'+temp+'_l'); 	
		}
	document.getElementById('showprijs').value=id;
	showdisplay(id);
	hidedisplay('knop_'+id+'_l'); 	
	showdisplay('knop_'+id+'_h');
	hidedisplay('mededeling'); 	
	}

//
// huurder beheer scripts
//
function hnieuw()
	{
	document.getElementById('uid').value=0;
	document.getElementById('naam').value='';
	document.getElementById('adres').value='';
	document.getElementById('postcode').value='';
	document.getElementById('plaats').value='';
	document.getElementById('land').value='';
	document.getElementById('tel').value='';
	document.getElementById('mobiel').value='';
	document.getElementById('email').value='';
	document.getElementById('bnaam').value='';
	document.getElementById('bnummer').value='';
	document.getElementById('bbank').value='';
	document.getElementById('naam').focus();
	document.getElementById('hadd').disabled=false;
	document.getElementById('hedit').disabled=true;
	document.getElementById('hdel').disabled=true;
	document.getElementById('briefstatus').innerHTML='Nieuwe huurder invoer. Er zijn geen brieven hiervoor gemaakt.';
	document.getElementById('htitle').innerHTML='Velden zijn leeggemaakt. Je mag nu nieuwe huurder gegevens invoeren.';
	}
function hrestore(uid,fixside) {
	if (uid>0)
		{
	   	ajax_do('hrestore.php?uid='+uid+'&mode='+fixside);
		}
}
function hconfirm()	{
	var uid=document.getElementById('uid').value;
	if (uid>0)
		{
		document.getElementById('htitle').innerHTML='Verwijderen huurder ['+uid+']?';
		ajax_do('hconfirm.php?uid='+uid);
		}
		else
		{
		document.getElementById('htitle').innerHTML='Geen ID. Verwijderen huurder niet mogelijk.';
		}
}
function updatebrief()
	{
	var hid=document.getElementById('hid').value;
	ajax_do('hbriefupdate.php?hid='+hid);
	}

// gastenboek functies
function gbdel(id)
	{
	var div=eval('document.getElementById(\'msg'+id+'\')');
	div.innerHTML=' Bevestig: <input type=\"checkbox\" name=\"delok_'+id+'\" value=\"1\" /><input type=\"submit\" name=\"del_'+id+'\" value=\"del\" /> <input type=\"button\" name=\"delban\" value=\"delban\" onclick=\"banreden('+id+')\" />';
	}
	
// ban reden invoer
function banreden(id)
	{
	var reden=prompt("Geef a.u.b. de ban reden op.","geen");
	var div=eval('document.getElementById(\'ban_'+id+'\')');
	div.value=id;
	if (reden!=null && reden!="")
  		{
  		document.getElementById('reden').value=reden;
  		}
		else
		{
		reden='niet opgegeven';
  		document.getElementById('reden').value=reden;
		}
	document.gastenboek.submit();
	}

//
// form verification
//
function validateFormOnSubmit(theForm) {
	var reason = "";
	var eflag = false;
	// step check
	if (theForm.step.value==1) {
		// step 1
		if (validatePeriod(theForm)) {
			eflag=true;
			reason+="De huurperiode is niet in orde.<br />Maak het a.u.b. in de orde.<br />";
		}
	}
	if (theForm.step.value==2) {
		// step 2
		// alert('debug|'+theForm.step.value);
		if (validateEmpty(document.getElementById('naam'))) { eflag=true; }
		if (validateEmpty(document.getElementById('adres'))) { eflag=true; }
		if (validateEmpty(document.getElementById('postcode'))) { eflag=true; }
		if (validateEmpty(document.getElementById('plaats'))) { eflag=true; }
		if (validateEmpty(document.getElementById('tel'))) { eflag=true; }
		if (eflag) { reason+="U heeft aantal verplichte velden niet goed ingevuld. De afgekeurde velden zijn nu geel gekleurd.<br />"; }
		if (validateEmail(document.getElementById('email'))) { 
			eflag=true;
			reason+="Email adres is verplicht.<br />";
		} else { 
			if (document.getElementById('email').value!=document.getElementById('email2').value) {
				eflag=true;
				reason+="<strong>Email adressen zijn niet gelijk. U moet beide velden overdoen.</strong><br />";
			}
		}
		if (validatePassword(document.getElementById('pass'))) {
			if (theForm.userid.value<1) {
				eflag=true;
				reason+="U moet password correct invullen.<br />";
			}
		} else {
			if (document.getElementById('pass').value!=document.getElementById('pass2').value) {
				eflag=true;
				reason+="<strong>Passwords zijn niet gelijk. U moet beide velden overdoen.</strong><br />";
			}
		}
	}
	// eflag check
	if (eflag)
		{
		showdisplay('div-ebox');
		var div = document.getElementById('div-ebox-content');
		div.innerHTML = reason;
		return false;
		}
		else
		{
		return true;
		}
}

// form verification for guestbook part
function validateFormGuestbook(theForm) {
	var reason = "";
	var eflag = false;
	// enter check deel tekst
	var newlines=/[\r\n]/;
	var splitarray;
	var lines;
	splitarray = document.getElementById('tekst').value.split(newlines);
	lines=splitarray.length-1;
	// check form fields
	if (validateEmpty(document.getElementById('naam'))) { eflag=true; reason+="U bent <strong>Uw Naam</strong> veld vergeten.<br />"; }
	if (validateEmail(document.getElementById('email'))) { 
		eflag=true;
		reason+="Uw <strong>email</strong> is niet goedgekeurd.<br />";
	}
	if (validateEmpty(document.getElementById('captcha'))) { eflag=true; reason+="U bent vergeten <strong>captcha</strong> code in te vullen.<br />"; }
	if (validateEmpty(document.getElementById('tekst'))) { eflag=true; reason+="U kunt niet posten <strong>zonder</strong> reactie.<br />"; }
	if (lines>10) { eflag=true; document.getElementById('tekst').style.background = 'Yellow'; reason+="U heeft <strong>teveel</strong> op Enter gedrukt in de tekst. U mag maximaal 10 keer doen, anders wordt de tekst te lang. Graag aanpassen.<br />"; }
	// eflag check
	if (eflag)
		{
		showdisplay('div-ebox');
		var div = document.getElementById('div-ebox-content');
		div.innerHTML = reason+'<em>Onjuiste velden zijn nu geel gekleurd.</em>';
		return false;
		}
		else
		{
		return true;
		}
}

function validatePeriod(fld) {
	var eflag=false;
	if (fld.bdag.value<1) { eflag=true;	}
	if (fld.bmaand.value<1) { eflag=true; }
	if (fld.bjaar.value<1) { eflag=true; }
	if (fld.edag.value<1) { eflag=true;	}
	if (fld.emaand.value<1) { eflag=true; }
	if (fld.ejaar.value<1) { eflag=true; }
	return eflag;
}

function validateEmpty(fld) {
    var eflag = false;
    if (fld.value.length == 0 || fld.value == "") {
        fld.style.background = 'Yellow'; 
        eflag=true;
    } else {
        fld.style.background = 'White';
    }
    return eflag;  
}

function validatePassword(fld) {
    var eflag=false;
    var illegalChars = /[\W_]/; // allow only letters and numbers 
 
    if (fld.value == "") {
        fld.style.background = 'Yellow';
        eflag=true;
    } else if ((fld.value.length < 4) || (fld.value.length > 15)) {
        eflag=true;
        fld.style.background = 'Yellow';
    } else if (illegalChars.test(fld.value)) {
        eflag=true;
        fld.style.background = 'Yellow';
    } else {
        fld.style.background = 'White';
    }
   return eflag;
}

function trim(s)
{
  return s.replace(/^\s+|\s+$/, '');
}

function validateEmail(fld) {
    var eflag="";
    var tfld = trim(fld.value);                        // value of field with whitespace trimmed off
    var emailFilter = /^[^@]+@[^@.]+\.[^@]*\w\w$/ ;
    var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/ ;
   
    if (fld.value == "") {
        fld.style.background = 'Yellow';
        eflag=true;
    } else if (!emailFilter.test(tfld)) {              //test email for illegal characters
        fld.style.background = 'Yellow';
        eflag=true;
    } else if (fld.value.match(illegalChars)) {
        fld.style.background = 'Yellow';
        eflag=true;
    } else {
        fld.style.background = 'White';
    }
    return eflag;
}

// url jump
function goto(url){
	document.location.href = url;
} 

// textarea teller
function textCounter(field,idlayer,maxlimit) {
var teller;
var newlines=/[\r\n]/;
var splitarray;
var lines;
splitarray = field.value.split(newlines);
lines=splitarray.length-1;
if (field.value.length > maxlimit)
	{
	// if too long...trim it!
	field.value = field.value.substring(0, maxlimit);
	}	
	else
	{
	// otherwise, update 'characters left' counter
	var div = eval('document.getElementById(\''+idlayer+'\')');
	teller = maxlimit - field.value.length;
	div.innerHTML = teller+' tekens |'+lines+'x enter';
	}
}

//
// timer functies
//
var timer=0;
var timerid=0;
var timerloop=false;
var timermode;
showtimer=new Array('<>______','_<>_____','__<>____','___<>___','____<>__','_____<>_','______<>','>______<');
function timerstart(mode)
	{
	timer=0;
	timerloop=true;
	timermode=mode;
	timershow();
	}

function timershow()
	{
	if (timer>7)
		{
		timer=0;
		}
	if (timerloop)
		{
		document.getElementById('timertext').innerHTML = showtimer[timer];
		if (timermode=='restore') { ajax_do('mysqlrestore.php'); }
		if (timermode=='backup') { ajax_do('mysqlbackup.php'); }		
		loadXMLDoc('progress.php','progress');		
		}
	if (timerloop)
		{
		timer=timer+1;
		setTimeout('timershow()',1000);
		}
	if (!timerloop)
		{
		document.getElementById('timertext').innerHTML = '';
		document.getElementById('progress').innerHTML = '<b>Form wordt uitgevoerd, een momentje...</b>';
		setTimeout('formsubmit()',3000);
		}
	}

function formsubmit()
	{
	document.form.submit();
	}

//
// httprequest routines
//
var xmlhttp;
function getxmlhttp(url,idlayer,post,type)
	{
	xmlidlayer=idlayer;
	xmlhttp=null;
	if (window.XMLHttpRequest)
		{// code for Firefox, Opera, IE7, etc.
		xmlhttp=new XMLHttpRequest();
		}
	else if (window.ActiveXObject)
		{// code for IE6, IE5
		xmlhttp=new ActiveXObject('Microsoft.XMLHTTP');
		}
	if (xmlhttp!=null)
		{
		if (type=='html') { xmlhttp.onreadystatechange=state_Change_html; }
		if (type=='value') { xmlhttp.onreadystatechange=state_Change_value; }
		if (type=='code') { xmlhttp.onreadystatechange=state_Change_code; }
		if (post=='') 
			{ xmlhttp.open('GET',url,true); }
			else 
			{ xmlhttp.open('POST',url,true); }
		xmlhttp.setRequestHeader('Cache-Control', 'no-cache');
		xmlhttp.setRequestHeader('X_USERAGENT','AjaxRunning');
		if (post=='')
  			{
  			xmlhttp.send(null);
			}
			else
			{
  			xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
  			xmlhttp.setRequestHeader('Charset','utf-8');
  			xmlhttp.setRequestHeader('Connection','close');
			xmlhttp.send(post);
			} 
		}
		else
		{
		alert('Your browser does not support XMLHTTP.');
		}
	}

function state_Change_html()
{
// if (xmlhttp.readyState!=4) return;
if (xmlhttp.readyState==4)
  {// 4 = "loaded"
  if (xmlhttp.status==200)
    {// 200 = "OK"
	// add div
	// div = eval('document.getElementById(\''+xmlidlayer+'\')');
    var htmltext=xmlhttp.responseText;
	if (htmltext.length>1)
		{ addElement(htmltext); }
    }
  else
    {
    alert('HTML Problem retrieving data: '+ xmlhttp.statusText);
    }
  }
}

function state_Change_value()
{
// if (xmlhttp.readyState!=4) return;
if (xmlhttp.readyState==4)
  {// 4 = "loaded"
  if (xmlhttp.status==200)
    {// 200 = "OK"
	div = eval('document.getElementById(\''+xmlidlayer+'\')');
    div.value=xmlhttp.responseText;
    }
  else
    {
    alert('Value Problem retrieving data: '+ xmlhttp.statusText);
    }
  }
}

function state_Change_code()
{
// if (xmlhttp.readyState!=4) return;
if (xmlhttp.readyState==4)
  {// 4 = "loaded"
  if (xmlhttp.status==200)
    {// 200 = "OK"
	// var cType=xmlhttp.getResponseHeader("Content-Type");
    var code=xmlhttp.responseText;
	eval(code);
    }
  else
    {
    alert('Code Problem retrieving data: '+ xmlhttp.statusText);
    }
  }
}

//
// refresh box method
function shake(idlayer) {
	var div = eval('document.getElementById(\''+idlayer+'\')');
	var temp=div.style.left;
	temp=parseInt(temp);
	temp=temp+1;
	div.style.left=temp+'px';
	}
	
// 
// checkbox aan of uit
function SwitchCheckbox(FormName, FieldName, CheckValue)
	{
	if(!document.forms[FormName]) return;
	var objCheckBoxes = document.forms[FormName].elements[FieldName];
	if(!objCheckBoxes) return;
	var countCheckBoxes = objCheckBoxes.length;
	if(!countCheckBoxes)
		{
		if (CheckValue!='reverse')
			{
			objCheckBoxes.checked = CheckValue;
			}
		}
	else
		{
		// set the check value for all check boxes
		for(var i = 0; i < countCheckBoxes; i++)
			{ 
			if (CheckValue!='reverse')
				{
				objCheckBoxes[i].checked = CheckValue;
				}
				else
				{
				if (objCheckBoxes[i].checked)
					{ objCheckBoxes[i].checked = false;	}
					else
					{ objCheckBoxes[i].checked = true; }
				}
			}
		}
	}

//
// map show switch
function showmap(id,cid,url)
	{
	var div_caravan=document.getElementById('car_'+id);
	var div_kaart=document.getElementById('l_'+cid);
	// jump url
	if (div_caravan.style.backgroundColor=='rgb(255, 255, 0)' || div_caravan.style.backgroundColor=='#ff0')
		{ window.location.href=url; }
	// vind divs
	var divs = document.getElementsByTagName('div');
	var temp="";
	var j=0;
	for(j=0;j<divs.length;j++)
		{
		temp=divs[j].id.split("_");
		if (temp[0]=='c')
			{
			hidedisplay(divs[j].id);
			document.getElementById('car_'+temp[1]).style.backgroundColor='#FFF';
			}
		if (temp[0]=='l')
			{
			hide(divs[j].id);
			}
		}
	hidedisplay('cc');
	div_caravan.style.backgroundColor='#FF0';
	showdisplay('c_'+id);
	show('l_'+cid);
	}
	
//
// camping menu laden
function campingload() {
	// select locatie
	var temp = document.getElementById('c_locatie').selectedIndex;
	var locid = document.getElementById('c_locatie').options[temp].value;
	var cid = document.getElementById('o_camping').value;
	document.getElementById('campingmenu').innerHTML='(inladen camping ... een moment)';
	getxmlhttp('camping_load.php','','locid='+locid+'&cid='+cid,'code');
}

// 
// pijlchange caravan locatie
function pijlchange() {
	document.getElementById('status').innerHTML="Pijl kant keuze aangepast. Vergeet niet te bewaren.";
	document.getElementById('status').style.background = '#FF9900';
}

//
// archor jump
function JumpAnker(name) {
	window.location.hash = name;
}

// 
// show_loc
function show_loc(id,mode) {
	if (mode)
		{ 
		document.getElementById('kb_'+id).style.backgroundColor='#ff0';
		document.getElementById('ft_'+id).style.backgroundColor='#ff0';
		}
		else
		{
		document.getElementById('kb_'+id).style.backgroundColor='#c7e6ff';
		document.getElementById('ft_'+id).style.backgroundColor='#c7e6ff';
		}
}

