// JavaScript Document
function getObject(objid) {
	var obj = null;
	
	if (document.getElementById) {
		obj = document.getElementById(objid);
	}else{
		obj = document.all[objid];
	}
	
	return obj;
}

function setVisibility(objid, visibility) {
	var obj = getObject(objid);
	if (obj) {
		obj.style.visibility = visibility;
	}
}

function setDisplay(objid, display) {
	var obj = getObject(objid);
	if (obj) {
		obj.style.display = display;
	}
}
	
function checkToClear(element, value){
	if(element.value == value){
		element.value = '';
	} // if
} // function checkToClear

function checkToRestore(element, value){
	if(element.value == ''){
		element.value = value;
	} // if
} // function checkToRestore

function checkEmailForm(element, value){
	if(element.email.value == '' || element.email.value == value){
		alert("Vul a.u.b. een e-mailadres in.");
		element.email.focus();
		element.email.value = '';
		return false;
	} else if(element.email.value.indexOf ('@',0) == -1 || element.email.value.indexOf ('.',0) == -1){
		alert("Vul a.u.b. een geldig e-mailadres in.");
		element.email.focus();
		element.email.value = element.email.value;
		return false;		
	} else {
		//element.submit();
		subScribe('/subscribe.cfm?email='+element.email.value);
		hideTempBlock();
		return true;
	} // if
} // function checkEmailForm

function hideTempBlock(){
	if(document.getElementById('temp')){
		// Hide de popup
		document.getElementById('temp').style.display = 'none';
		
		// Zet cookie om te voorkomen dat het blok nog getoond wordt (voor 28 dagen)
		var today = new Date();
		var expire = new Date();
		expire.setTime(today.getTime() + 3600000); // Was 3600000*24*28
		setCookie('keepintouch2', 'gone', expire);
	}
}

function showTempBlock(){
	if(document.getElementById('temp')){
		// Hide de popup
		document.getElementById('temp').style.display = '';
		
		// Zet cookie om te voorkomen dat het blok nog getoond wordt (voor 28 dagen)
		//var today = new Date();
		var expire = new Date();
		//expire.setTime(today.getTime()); // Was 3600000*24*28
		setCookie('keepintouch', 'gone', expire);
	}
}
var focusfield = null;

function setFocusfield(field) {
	if (focusfield == null) {
		focusfield = field;
	}
}

function focusToFocusfield() {
	if (focusfield) {
		focusfield.focus();
		focusfield.select();
		focusfield = null;
	}
}



function checkDate(field, label, mandatory, changefocus) {
	var result = "";
	
	// Split the date in three parts: d/m/y
	var datevals = field.value.split(/[-\/]/);
	
	if (datevals.length == 3) {
		var dateobj = new Date(datevals[2], datevals[1]-1, datevals[0]);
		if (dateobj.getDate() == datevals[0] && dateobj.getMonth() == datevals[1]-1 && dateobj.getFullYear() == datevals[2]) {
			return("");
		}
	}else{
		if (field.value == "" && !mandatory) {
			return("");
		}
	}

	if (changefocus) setFocusfield(field);
	return("Geef a.u.b. " + label + ".\n");
}

function compareDates(date1, date2) {
	var datevals;
	
	// convert Date1 
	datevals = date1.split(/[-\/]/);
	if (datevals.length != 3) {
		alert("FATALE FOUT IN WEBPAGINA: Eerste datum voldoet niet aan specificaties!")
		return 0;
	}
	dateobj1 = new Date(datevals[2], datevals[1]-1, datevals[0]);
	
	// convert Date2
	datevals = date2.split(/[-\/]/);
	if (datevals.length != 3) {
		alert("FATALE FOUT IN WEBPAGINA: Tweede datum voldoet niet aan specificaties!")
		return 0;
	}
	dateobj2 = new Date(datevals[2], datevals[1]-1, datevals[0]);
	
	return dateobj1 - dateobj2; // Difference in MilliSeconds!
}

function checkNumber(field, label, mandatory) {
	if (field.value == "" && !mandatory) return("");
	
	if (isNaN(field.value)) {
		setFocusfield(field);
		return("Geef een geldige numerieke waarde voor " + label + ".\n");
	}
}

function checkRegexp(field, label, rexp) {
	if (field.value.search(rexp) != -1) {
		return("");
	}
	
	setFocusfield(field);
	return("Geef a.u.b. " + label + ".\n");
}

function myError(myform, myfield, myvalue, message) {
	if (typeof(myfield) != "object") {
		if (document.getElementByName) {
			myfield2 = document.getElementByName(myfield);
		}else{
			myfield2 = null;
		}
	}else{
		myfield2 = myfield;
	}
	if (myfield2) {
		myfield2.focus();
		myfield2.select();
	}
	return _CF_onError(myform, myfield, myvalue, message);
}

function validateDate(myform, myfield, myvalue) {
	var result = "";
	
	// Split the date in three parts: d/m/y
	var datevals = myvalue.split(/[-\/]/);
	
	if (datevals.length == 3) {
		var dateobj = new Date(datevals[2], datevals[1]-1, datevals[0]);
		if (dateobj.getDate() == datevals[0] && dateobj.getMonth() == datevals[1]-1 && dateobj.getFullYear() == datevals[2]) {
			return(true);
		}
	}
	return(false);
}

var objseconds = null;
function goBackIn(urltogo, nofseconds) {
	if (nofseconds > 1) {
		nofseconds--;
		
		if (objseconds == null) {
			objseconds = getObject("nofseconds");
		}
		
		if (objseconds) {
			objseconds.innerHTML = nofseconds;
		}
		
		setTimeout("goBackIn('"+urltogo+"',"+nofseconds+")", 1000);
	}else{
		location.replace(urltogo);
	}
}

function getPageHeight() {
	var y;
	var test1 = document.body.scrollHeight;
	var test2 = document.body.offsetHeight
	if (test1 > test2) { // all but Explorer Mac
		return document.body.scrollHeight;
	}else{ // Explorer Mac;
		   //would also work in Explorer 6 Strict, Mozilla and Safari
		return document.body.offsetHeight;
	}
}

function getPageWidth() {
	var x;
	var test1 = document.body.scrollHeight;
	var test2 = document.body.offsetHeight
	if (test1 > test2) { // all but Explorer Mac
		return document.body.scrollWidth;
	}else{ // Explorer Mac;
		   //would also work in Explorer 6 Strict, Mozilla and Safari
		return document.body.offsetWidth;
	}
}

function getWindowHeight() {
	var y;
	if (self.innerHeight) { // all except Explorer
		y = self.innerHeight;
	}else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
		y = document.documentElement.clientHeight;
	}else if (document.body) { // other Explorers
		y = document.body.clientHeight;
	}
	return y;
}

function getWindowWidth() {
	var x;
	if (self.innerHeight) { // all except Explorer
		x = self.innerWidth;
	}else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
		x = document.documentElement.clientWidth;
	}else if (document.body) { // other Explorers
		x = document.body.clientWidth;
	}
	return x;
}

function replaceImage(what, fullimage) {
	mimg = getObject(what);
	if (mimg) {
		mimg.src = fullimage;
		zoomin(what, fullimage);
	}
}

var lastfullimage = null;
var dr = 1;
var speed = 20;
var initwidth;
var initheight;
var pageHeight = 0;

function zoomin(what) {
	mimg = getObject(what);
	if (lastfullimage) {
		// There was an image in full width (=expanded)
		if (lastfullimage != mimg) {
			// And it is not the same as the new one: reset old one
			lastfullimage.style.width = initwidth;
			lastfullimage.style.height = initheight;
			lastfullimage.style.borderWidth = 0;
			lastfullimage.style.zIndex = 9;
			lastfullimage = null;
		}
	}
	
	if (!lastfullimage) {
		//alert("Init new image (" + mimg.width + "," + mimg.height + ")" );
		// We zoom a new image in
		lastfullimage = mimg;
		lastfullimage.style.borderWidth = 1;
		initwidth = parseInt(mimg.width, 10);
		initheight = parseInt(mimg.height, 10);
		mimg.style.zIndex = 10;	
		pageHeight = getPageHeight();
	}

	x = parseInt(mimg.width, 10);
	x += dr*speed;

	mimg.style.width = x;
	mimg.style.height = parseInt(x * initheight / initwidth, 10);

	if((dr>0)&&(x>580)) {
		if (pageHeight < getPageHeight()) {
			step = 10;
			for(idx = getPageHeight() - pageHeight; idx > 0; idx -= step) {
				scrollBy(0, 10);
			}
			pageHeight = getPageHeight();
		}
		
		dr = -1;
		return false;
	}
	
	if((dr<0)&&(x<=initwidth)) {
		dr = 1;
		mimg.style.zIndex = 9;
		lastfullimage.style.width = initwidth;
		lastfullimage.style.height = initheight;
		lastfullimage.style.borderWidth = 0;
		lastfullimage = null;
		return false;
	}
	window.setTimeout('zoomin(\''+what+'\')', 10); 
}

// stretch mainContainer
function stretchMainContainer(){
	if(document.getElementById('mainContainer')){
		document.getElementById('mainContainer').style.height = getWindowHeight() + "px";
	}
}

function changeBgImage(element){
	if(element.parentNode.style.backgroundImage == 'url(/images/menuHover.gif)'){
		element.parentNode.style.backgroundImage = 'none';
		element.parentNode.style.backgroundRepeat = 'repeat';
	} else {
		//element.parentNode.style.backgroundImage = 'url(/images/menuHover.gif)';
		element.parentNode.style.backgroundRepeat = 'repeat';	
	}
}

function showFlashHeader(rootUrl){
	document.writeln('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="760" height="163" id="header" align="middle">');
	document.writeln('<param name="allowScriptAccess" value="sameDomain" />');
	document.writeln('<param name="movie" value="/Flash/header.swf?rootUrl='+rootUrl+'" />');
	document.writeln('<param name="quality" value="high" />');
	document.writeln('<param name="bgcolor" value="#ffffff" />');
	document.writeln('<param name="wmode" value="transparent" />');
	document.writeln('<embed src="/Flash/header.swf?rootUrl='+rootUrl+'" quality="high" wmode="transparent" bgcolor="#ffffff" width="760" height="163" name="header" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />');
	document.writeln('</object>');
}

function showFlashBanner(sString){
	var dDatum = new Date().getTime();
	document.writeln('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="336" height="280" id="header" align="middle">');
	document.writeln('<param name="allowScriptAccess" value="sameDomain" />');
	document.writeln('<param name="movie" value="/Advertenties/advertentie_vanaf.swf?sString='+sString+'&dDatum='+dDatum+'" />');
	document.writeln('<param name="quality" value="high" />');
	document.writeln('<param name="bgcolor" value="#ffffff" />');
	document.writeln('<param name="wmode" value="transparent" />');
	document.writeln('<embed src="/Advertenties/advertentie_vanaf.swf?sString='+sString+'&dDatum='+dDatum+'" quality="high" wmode="transparent" bgcolor="#ffffff" width="336" height="280" name="header" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />');
	document.writeln('</object>');
}

function showFlashActionBlock(sString){
	var dDatum = new Date().getTime();
	document.writeln('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="340" height="160" id="header" align="middle">');
	document.writeln('<param name="allowScriptAccess" value="sameDomain" />');
	document.writeln('<param name="movie" value="/Flash/actieblok/actieblok.swf?sString='+sString+'&dDatum='+dDatum+'" />');
	document.writeln('<param name="quality" value="high" />');
	document.writeln('<param name="bgcolor" value="#ffffff" />');
	document.writeln('<param name="wmode" value="transparent" />');
	document.writeln('<embed src="/Flash/actieblok/actieblok.swf?sString='+sString+'&dDatum='+dDatum+'" quality="high" wmode="transparent" bgcolor="#ffffff" width="340" height="160" name="header" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />');
	document.writeln('</object>');
}

function checkradiobutton(field) {
    if (field.length) {
        for(idx=0; idx < field.length; idx++) {
            if (field[idx].checked) {
                    return true;
            }
        }
    }else{
        if (field.checked) {
                return true;
        }
    }
    return false;
}


function checkContactForm(element){
	if(element.voorletters.value == ''){
		alert("Vul a.u.b. een voorletters in.");
		element.voorletters.focus();
		element.voorletters.value = element.voorletters.value;
		return false;
	} else if(element.naam.value == ''){
		alert("Vul a.u.b. een naam in.");
		element.naam.focus();
		element.naam.value = element.naam.value;
		return false;
	} else if(!checkradiobutton(element.geslacht)){
		alert("Kies geslacht a.u.b.");
		return false;
	} else if(element.telefoon.value == ''){
		alert("Vul a.u.b. een telefoonnummer in.");
		element.telefoon.focus();
		element.telefoon.value = element.telefoon.value;
		return false;
	} else if(element.email.value == ''){
		alert("Vul a.u.b. een e-mailadres in.");
		element.email.focus();
		element.email.value = '';
		return false;
	} else if(element.email.value.indexOf ('@',0) == -1 || element.email.value.indexOf ('.',0) == -1){
		alert("Vul a.u.b. een geldig e-mailadres in.");
		element.email.focus();
		element.email.value = element.email.value;
		return false;	
	} else if(element.vraag.innerText == ''){
		alert("Vul a.u.b. een vraag en/of suggestie in.");
		element.vraag.focus();
		element.vraag.innerText = element.vraag.innerText;
		return false;
	} else {
		element.submit();
		return true;
	} // if
} // function checkContactForm

function setCookie(name, value, expires) {
    var deCookie = name + "=" + escape(value);
    if(expires){
        expires= expires.toGMTString();
        deCookie += "; expires="; 
        deCookie += expires; 
    }
    document.cookie = deCookie;
}

function getCookie(name) {
  var dc = document.cookie;
  var prefix = name + "=";
  var begin = dc.indexOf("; " + prefix);
  if (begin == -1) {
    begin = dc.indexOf(prefix);
    if (begin != 0) return null;
  }
  else begin += 2;
  var end = document.cookie.indexOf(";", begin);
  if (end == -1)
    end = dc.length;
  return unescape(dc.substring(begin + prefix.length, end));
}

function checkCookie(ckname, errmsg) {
	if (getCookie(ckname) == null) {
		// Second test
		setCookie('cookietest', 'cookietest');
		if (getCookie('cookietest') == null) {
			if (errmsg.length > 0) setTimeout('alert("' + errmsg + '");', 500);
			return false;
		}
	}
	return true;
}

function showFlashObject(sMovie, sVars, iWidth, iHeight){
	document.writeln('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="'+iWidth+'" height="'+iHeight+'" id="header" align="middle">');
	document.writeln('<param name="allowScriptAccess" value="sameDomain" />');
	document.writeln('<param name="movie" value="'+sMovie+'" />');
	document.writeln('<param name="quality" value="high" />');
	document.writeln('<param name="bgcolor" value="#ffffff" />');
	document.writeln('<param name="wmode" value="transparent" />');
	document.writeln('<param name="FlashVars" value="'+sVars+'" />');
	document.writeln('<embed src="'+sMovie+'?'+sVars+'" quality="high" wmode="transparent" bgcolor="#ffffff" width="'+iWidth+'" height="'+iHeight+'" name="header" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />');
	document.writeln('</object>');
}

// AJAX request
var req;
function sendMail(){
	if (req.readyState == 4) {	
		if (req.status != 200) {
			alert("Probleem met verkrijgen van data:\n" +
			req.statusText);
		}
	}
}

function subScribe(sHtml) {
	req = false;

	if(window.XMLHttpRequest) {
		try {
			req = new XMLHttpRequest();
		} catch(e) {
			req = false;
		}	
	} else if(window.ActiveXObject) {
		try {
				req = new ActiveXObject("Msxml2.XMLHTTP");
			} catch(e) {
			try {
				req = new ActiveXObject("Microsoft.XMLHTTP");
			} catch(e) {
				req = false;
			}
		}
	}
	if(req) {
		req.onreadystatechange = sendMail;
		req.open("GET", sHtml, true);
		req.send(null);
	}
}





function getElementHeight(Elem) {
	
		if(document.getElementById) {
			var elem = document.getElementById(Elem);
		} else if (document.all){
			var elem = document.all[Elem];
		}
		//if (op5) { 
		//	xPos = elem.style.pixelHeight;
		//} else {
			xPos = elem.offsetHeight;
		//}
		return xPos;
	} 


function getElementWidth(Elem) {

		if(document.getElementById) {
			var elem = document.getElementById(Elem);
		} else if (document.all){
			var elem = document.all[Elem];
		}
		//if (op5) {
			//xPos = elem.style.pixelWidth;
		//} else {
			xPos = elem.offsetWidth;
		//}
		return xPos;
	}

function checkEnqueteForm(oForm){
	if(oForm.verhuurder.value == 'Selecteer verhuurder'){
		alert('Selecteer a.u.b. een verhuurder.');	
		return false;
	} else {
		oForm.submit();
		return true;
	}
}
