// 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();
		return true;
	} // if
} // function checkEmailForm



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) {
	/*
	myfield.focus();
	myfield.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;
}

var smallimage = null;
function replaceImage(what, fullimage) {
	var retval = false; 
	mimg = getObject(what);
	if (mimg) {
		if (smallimage == null) {
			smallimage = mimg.src;
			retval = true;
		}
		mimg.src = fullimage;
		zoomin(what);
	}
	return retval;
}

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;
			if (smallimage != null) {
				lastfullimage.src = smallimage;
				smallimage = null;
			}
			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;
		if (smallimage != null) {
			lastfullimage.src = smallimage;
			smallimage = null;
		}
		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 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;
}
