function initSub() {
	setrandomimg();
	setDIVHeight();
}

function initHome() {
	preloadImages();
}

// simuleer hover voor li elementen (voor dropdownmenu)

sfHover = function() {
if (document.getElementById("nav")){
	var sfEls = document.getElementById("nav").getElementsByTagName("LI");
	for (var i=0; i<sfEls.length; i++) {
		sfEls[i].onmouseover=function() {
			this.className+=" sfhover";
		}
		sfEls[i].onmouseout=function() {
			this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
		}
	}
}
}
if (window.attachEvent) window.attachEvent("onload", sfHover);

// standaard typo3 script

browserName = navigator.appName;
browserVer = parseInt(navigator.appVersion);
var msie4 = (browserName == "Microsoft Internet Explorer" && browserVer >= 4);
if ((browserName == "Netscape" && browserVer >= 3) || msie4 || browserName=="Konqueror") {version = "n3";} else {version = "n2";}
// Blurring links:
function blurLink(theObject)	{	//
	if (msie4)	{theObject.blur();}
}


// random image script voor de foto's

var numimg = 8;

function setrandomimg(){
	i1 = 0;
	i2 = 0;
	i3 = 0;
	i4 = 0;
	i = Math.round(Math.random() * (numimg-1)) + 1;
	i1 = i;
	img = document.images["foto_1"];
	img.src = 'fileadmin/templates/voila/images/foto-' + i + '.jpg';
	while (i == i1) i = Math.round(Math.random() * (numimg-1)) + 1;
	i2 = i
	img = document.images["foto_2"];
	img.src = 'fileadmin/templates/voila/images/foto-' + i + '.jpg';
	while (i == i1 || i == i2) i = Math.round(Math.random() * (numimg-1)) + 1;
	i3 = i
	img = document.images["foto_3"];
	img.src = 'fileadmin/templates/voila/images/foto-' + i + '.jpg';
	while (i == i1 || i == i2 || i == i3) i = Math.round(Math.random() * (numimg-1)) + 1;
	i4 = i
	img = document.images["foto_4"];
	img.src = 'fileadmin/templates/voila/images/foto-' + i + '.jpg';
}

userAgent = window.navigator.userAgent;
browserVers = parseInt(userAgent.charAt(userAgent.indexOf("/")+1),10);
function newImage(arg) {
	if (document.images) {
		rslt = new Image();
		rslt.src = arg;
		return rslt;
	}
}

function findElement(n,ly) {
	if (browserVers < 4)		return document[n];
	var curDoc = ly ? ly.document : document;
	var elem = curDoc[n];
	if (!elem) {
		for (var i=0;i<curDoc.layers.length;i++) {
			elem = findElement(n,curDoc.layers[i]);
			if (elem) return elem;
		}
	}
	return elem;
}

function changeImages() {
	if (document.images && (preloadFlag == true)) {
		var img;
		for (var i=0; i<changeImages.arguments.length; i+=2) {
			img = null;
			if (document.layers) {
				img = findElement(changeImages.arguments[i],0);
			}
			else {
				img = document.images[changeImages.arguments[i]];
			}
			if (img) {
				img.src = changeImages.arguments[i+1];
			}
		}
	}
}

var preloadFlag = false;
function preloadImages() {
	if (document.images) {
		icoon_lucht_over = newImage("fileadmin/templates/voila/images/icoon_lucht-over.gif");
		icoon_verwarming_over = newImage("fileadmin/templates/voila/images/icoon_verwarming-over.gif");
		icoon_water_over = newImage("fileadmin/templates/voila/images/icoon_water-over.gif");
		icoon_electro_over = newImage("fileadmin/templates/voila/images/icoon_electro-over.gif");
		icoon_energie_over = newImage("fileadmin/templates/voila/images/icoon_energie-over.gif");
		preloadFlag = true;
	}
}

function getWindowHeight() {
var windowHeight=0;
if (typeof(window.innerHeight)=='number') {
windowHeight=window.innerHeight;
}
else {
if (document.documentElement&&
document.documentElement.clientHeight) {
windowHeight=
document.documentElement.clientHeight;
}
else {
if (document.body&&document.body.clientHeight) {
windowHeight=document.body.clientHeight;
}
}
}
//alert(windowHeight);
return windowHeight;
}

function setDIVHeight() {
if (document.getElementById){
	var windowHeight=getWindowHeight();
	if (windowHeight>225) {
		var tekstElement=document.getElementById('tekst');
		if (tekstElement) tekstElement.style.height=windowHeight - 225 + "px";
		var tekst2Element=document.getElementById('tekstveld-vervolg');
		if (tekst2Element) tekst2Element.style.height=windowHeight - 192 + "px";
	}
}
else if (document.all) {
	var windowHeight=getWindowHeight();
	if (windowHeight>225) {
		var tekstElement=document.all['tekst'];
		if (tekstElement) tekstElement.style.height=windowHeight - 225 + "px";
		var tekst2Element=document.all['tekstveld-vervolg'];
		if (tekst2Element) tekst2Element.style.height=windowHeight - 192 + "px";
	}
}
}

window.onresize = function(){
	setDIVHeight();
}

function getObj(name)
{
  if (document.getElementById)
  {
  	this.obj = document.getElementById(name);
	this.style = document.getElementById(name).style;
  }
  else if (document.all)
  {
	this.obj = document.all[name];
	this.style = document.all[name].style;
  }
  else if (document.layers)
  {
   	this.obj = document.layers[name];
   	this.style = document.layers[name];
  }
}

function hideLayer(name)
{
	var x = new getObj(name);
	x.style.visibility = 'hidden';
}

function showLayer(name)
{
	var x = new getObj(name);
	x.style.visibility = 'visible';
}


// overgenomen van bris.nl:

var aPricing = new Array ;

function reCalculate()
	{
		var teller ;
		var colA = document.getElementsByTagName("INPUT") ;
		for (teller=0; teller < colA.length ; teller++)
		{
			if (colA[teller].id.substring(0,4) == 'chk_')
			{
				if (colA[teller].checked)
				{
//					alert(colA[teller].id);
					CalculateSum(colA[teller])
				}
			}
		}
	}
	
function CalculateSum(what)
	{
		var colB = document.getElementsByTagName("INPUT") ;
		var tmpAmount = 1 ;

		for (i=0; i < colB.length ; i++)
		{
			if (colB[i].id == 'optUsers')
			{
				if (colB[i].checked) 
				{
					var tmpUsers = parseInt(colB[i].value) ;
				}
			}
		}
		var tmpID = what.id.split('_')[1] ;
		if (what.checked)
		{
			var strPrice = aPricing[tmpID] ;
			var tmpPrice = strPrice.split('|')[tmpUsers-1] ;
			var tmpMain =  strPrice.split('|')[tmpUsers] ;
			
			var currentMonth = 12 - (new Date().getMonth()+1) ; 
	
			document.getElementById('a_'+tmpID).value = tmpAmount ;
			document.getElementById('b_'+tmpID).value = (tmpPrice * tmpAmount) ;
			//maintenance is calculated by remaining of months in this year
			//document.getElementById('c_'+tmpID).value = ( ( tmpMain * tmpAmount) / 12 ) * currentMonth ;
			document.getElementById('c_'+tmpID).value = ( tmpMain * tmpAmount) ;
			
			//total
			var tmpSum = 0;
			var colC = document.getElementsByTagName("INPUT") ;
			for (i=0; i < colC.length ; i++)
			{
				if (colC[i].id.substring(0,2) == 'b_')
				{
					tmpSum = tmpSum + parseInt(colC[i].value) ;
				}
			}
			document.getElementById('totallic').value = tmpSum ;
	
			tmpSum = 0;
			var colD = document.getElementsByTagName("INPUT") ;
			for (i=0; i < colD.length ; i++)
			{
				if (colD[i].id.substring(0,2) == 'c_')
				{
					tmpSum = tmpSum + parseInt(colD[i].value) ;
				}
			}
			document.getElementById('totalmain').value = tmpSum ;
		}
		else
		{
			var tmpA = document.getElementById('b_'+tmpID).value ;
			var tmpB = document.getElementById('c_'+tmpID).value ;
			document.getElementById('a_'+tmpID).value = 0 ;
			document.getElementById('b_'+tmpID).value = 0 ;
			document.getElementById('c_'+tmpID).value = 0 ;
			document.getElementById('totallic').value = document.getElementById('totallic').value - tmpA ;
			document.getElementById('totalmain').value = document.getElementById('totalmain').value - tmpB ;
		}		
	}
	
function CalculateSum_A(what)
	{
		var i ;
		if (what.value != 0)
		{
			var tmpAmount = what.value ;
			var colB = document.getElementsByTagName("INPUT") ;
	
			for (i=0; i < colB.length ; i++)
			{
				if (colB[i].id == 'optUsers')
				{
					if (colB[i].checked) 
					{
						var tmpUsers = parseInt(colB[i].value) ;
					}
				}
			}
			var tmpID = what.id.split('_')[1] ;
			var strPrice = aPricing[tmpID] ;
			var tmpPrice = strPrice.split('|')[tmpUsers-1] ;
			var tmpMain =  strPrice.split('|')[tmpUsers] ;
			
			document.getElementById('b_'+tmpID).value = (tmpPrice * tmpAmount) ;
			document.getElementById('c_'+tmpID).value = (tmpMain * tmpAmount) ;
	
			//total
			var tmpSum = 0;
			var colC = document.getElementsByTagName("INPUT") ;
			for (i=0; i < colC.length ; i++)
			{
				if (colC[i].id.substring(0,2) == 'b_')
				{
					tmpSum = tmpSum + parseInt(colC[i].value) ;
				}
			}
			document.getElementById('totallic').value = tmpSum ;
	
			tmpSum = 0;
			var colD = document.getElementsByTagName("INPUT") ;
			for (i=0; i < colD.length ; i++)
			{
				if (colD[i].id.substring(0,2) == 'c_')
				{
					tmpSum = tmpSum + parseInt(colD[i].value) ;
				}
			}
			document.getElementById('totalmain').value = tmpSum ;
		}
	}

aPricing[1657]='25|11|41|19|80|36' ;
aPricing[1656]='43|19|71|33|138|62' ;
aPricing[1658]='34|15|56|26|109|49' ;
aPricing[1659]='50|22|83|39|160|72' ;
aPricing[1660]='41|18|68|32|131|59' ;
aPricing[1661]='20|9|34|16|65|29' ;
aPricing[1662]='32|14|53|25|102|46' ;
aPricing[1663]='32|14|53|25|102|46' ;
aPricing[1664]='32|14|53|25|102|46' ;
aPricing[1666]='68|30|113|53|218|98' ;
aPricing[1667]='20|9|34|16|65|29' ;
aPricing[1668]='27|12|45|21|87|39' ;
aPricing[1669]='54|24|90|42|174|78' ;
aPricing[1670]='26|11|43|20|83|37' ;
aPricing[1671]='11|5|19|9|36|16' ;
aPricing[1672]='59|26|98|46|189|85' ;
// albert: zelf code bedacht voor onderstaande:
aPricing[1700]='13|10|38|18|73|33' ;
aPricing[1701]='61|27|101|47|196|88' ;

//vanaf 55.1
aPricing[1673]='34|15|56|26|109|49' ;
aPricing[1674]='20|9|34|16|65|29' ;
aPricing[1675]='32|14|53|25|102|46' ;
aPricing[1676]='68|30|113|53|218|98' ;
aPricing[1677]='16|7|26|12|51|23' ;

aPricing[1665]='29|9|50|15|95|29' ;

// inhoud van CODIM_formcheck.js

//Coding standards:
//	all errors should be displayed by using showError().
//All 'private function' names start with 'chkFrm_'


//Defaults
var strDefaultError = "U heeft niet alle verplichte velden ingevuld."

//This variable will hold verion info, so make sure it is updates each time a change is made
//This version info will be shown when CTRL + ALT + SHIFT + V is pressed
var checkFrmVersion = "f1.4.3.9"
var arSupportedTypes = new Array()
arSupportedTypes[0] = "hh:mm"
arSupportedTypes[1] = "dd/mm/yyyy"
arSupportedTypes[2] = "mm/dd/yyyy"
arSupportedTypes[3] = "text"
arSupportedTypes[4] = "email"
arSupportedTypes[5] = "numeric"
arSupportedTypes[6] = "alphanumeric"
arSupportedTypes[7] = "dutchzip"
arSupportedTypes[8] = "floatingnumber"
arSupportedTypes[9] = "twodecimalnumber"
arSupportedTypes[10] = "phonenumber"
arSupportedTypes[11] = "radio"


function checkFrm(objFrm) {
	var strLastCheckedRadio = "" //Hold the name of the radiobutton which was last checked 
	var i
	
	//Loop through form collection
	for (i=0;i<objFrm.length;i++) {
		var objField = objFrm[i]
		var strValue = objFrm[i].value
		var bRequired
		var re //will hold the regular expression to use
		
		//Get custom Attributes
		var strRequired = chkFrm_getCustomAttibute(objField,"codim_required").toLowerCase();
		var strType = chkFrm_getCustomAttibute(objField,"codim_type").toLowerCase();

		//set default values if no values are received
		strType = (strType.length==0) ? "text" : strType;
		bRequired = (strRequired=="true");
		bOptional = (strRequired=="optional");
		
		if ((bRequired) || (bOptional)) {
			//Perform check if this field is required OR if it is optional and filled.
			if (!(bOptional) || ((bOptional) && (strValue.length!=0)))
			{
				//Check the type of validation to perform			
				switch (strType) {
					case "hh:mm" :
						//check if time is valid
						re = /^([0-1][0-9]|[2][0-3]):([0-5][0-9])$/;
						if (chkFrm_doRegularExpression(re,strValue)== false) {
							chkFrm_showError(objField);
							return false;
						}
						break;
					case "dd/mm/yyyy" :
						//check if date is valid conform DD/MM/YYYY
						//If D or M is supplied, a preceding 0 will be automatically added.
						//YYYY should have four digits
						//allowed separation chars: '/','-','.',' '(space)
						//All separation chars will be replaced by a '/'
						chkFrm_formatDate((objField));
						//read new value
						strValue = objField.value
						strValue = objField.value
						if (CheckDate(strValue,'dd/mm/yyyy')== false) {
							chkFrm_showError(objField);
							return false;
						}
						break;
					case "mm/dd/yyyy" :
						//check if date is valid conform MM/DD/YYYY
						//If D or M is supplied, a preceding 0 will be automatically added.
						//YYYY should have four digits
						//allowed separation chars: '/','-','.',' '(space)
						//All separation chars will be replaced by a '/'
						chkFrm_formatDate((objField));
						//read new value
						strValue = objField.value
						if (CheckDate(strValue,'mm/dd/yyyy')== false) {
							chkFrm_showError(objField);
							return false;
						}
						break;
					case "text" :
						//check if the field is not empty
						if (strValue.length == 0 ){
							chkFrm_showError(objField);
							return false;
						}
						break;
					case "email" :
						//check if the email address is valid
						re = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,6})+$/;
						if (chkFrm_doRegularExpression(re,strValue)== false) {
							chkFrm_showError(objField);
							return false;
						}
						break;
					case "numeric" :
						//only numeric entries are allowed
						re = /^[0-9]+$/;
						if (chkFrm_doRegularExpression(re,strValue)== false) {
							chkFrm_showError(objField);
							return false;
						}
						break;
					case "alphanumeric" :
						//only alphanumeric characters (a-z AND A-Z) are allowed, no special characters
						re = /^[a-zA-Z\s]+$/; 
						if (chkFrm_doRegularExpression(re,strValue)== false) {
							chkFrm_showError(objField);
							return false;
						}
						break;
					case "dutchzip" :
						chkFrm_formatDutchZip(objField);
						//read new value
						strValue = objField.value
						re = /^[0-9]{4}\s{0,1}[a-zA-Z]{2}$/; 
						if (chkFrm_doRegularExpression(re,strValue)== false) {
							chkFrm_showError(objField);
							return false;
						}
						break;
					case "floatingnumber" :
						//number started with - or +
						//and one decimal sign . or ,
						re = /^[-+]?\d*[\.\,]?\d+$/; 
						if (chkFrm_doRegularExpression(re,strValue)== false) {
							chkFrm_showError(objField);
							return false;
						}
						break;
					case "twodecimalnumber" :
						//one . or , as decimal seperator, other chars only 0-9
						//two decimals max
	
						re = /^\d+[\.\,]?\d{1,2}$/; 
						if (chkFrm_doRegularExpression(re,strValue)== false) {
							chkFrm_showError(objField);
							return false;
						}
						break;
					case "phonenumber" :
						//only NUMERIC KEYS, (, ) , * , +, -,# and spaces are allowed
						re = /^[\d\(\)\-\+\*\# ]+$/; 
						if (chkFrm_doRegularExpression(re,strValue)== false) {
							chkFrm_showError(objField);
							return false;
						}
						break;
					case "radio" :
						//Get radio collection, use getElementsByName or names with a | or & in them will cause an error
						objRadio = document.getElementsByName(objField.name)
						if (objField.name != strLastCheckedRadio) {
							//This radiobuttongroup is not checked yet
							strLastCheckedRadio = objField.name;
							if (!(chkFrm_isOneRadioButtonSelected(objRadio))) {
								//No radio button in the group is selected
								chkFrm_showError(objField);
								return false;
							}
						}
						break;
				}
			}			 
		}
	}
	return true;
}

function chkFrm_getCustomAttibute(objItem,strAttribName) {
	//return the attribute with the specified name if it exists, else return '';
	var strReturn = (objItem.getAttribute(strAttribName)) ? objItem.getAttribute(strAttribName) : '';
	return strReturn;
}

function chkFrm_doRegularExpression(re, strWhat) {
	return (re.test(strWhat) == true);
}

function chkFrm_formatDutchZip(objField) {
	//remove all spaces
	objField.value = objField.value.replace(/ /g,'')
	//upperCase value
	objField.value = objField.value.toUpperCase();
}

function chkFrm_formatDate(objField) {
	//replace all spaces, dots and stripes with a slash '/'
	objField.value = objField.value.replace(/[\. \-]/g,'/')
	var arValue = objField.value.split("/")
	var strTmpvalue = '';
	var i;
	if (arValue.length == 3) {
		//two slashes are found
		//Make sure the values have a preceding 0, except the last element
		for (i=0;i<arValue.length-1;i++){
			if (arValue[i].length < 2) {
				arValue[i] = '0' + arValue[i]
			}
		}
		//The last element should have 4 characters (==year)
		while (arValue[arValue.length-1].length < 4) {
			//Ad an x until the length is at least 4 chars
			arValue[arValue.length-1] = 'x' + arValue[arValue.length-1]
		}
		
		//save array data into a string
		for (i=0;i<arValue.length;i++){
			strTmpvalue += arValue[i] + '/'
		}
		//Remove last slash
		if (strTmpvalue.substr(strTmpvalue.length-1,1)=='/') {
			strTmpvalue = strTmpvalue.substr(0,strTmpvalue.length-1)
		}
		
		//Show altered value 
		objField.value = strTmpvalue;
	}
}


function chkFrm_showError(objField) {

	var strErrorMsg = chkFrm_getCustomAttibute(objField,"codim_errormsg");
	strErrorMsg = (strErrorMsg.length==0) ? strDefaultError : strErrorMsg;
	//RF 24-02-2003: First give the alert, else focus() and select() might fail.
	alert (strErrorMsg);
	try {
		//try to set focus AND select
		objField.focus();
		objField.select();
	}
	catch (e) {
	}



}


function chkFrm_isOneRadioButtonSelected(objRadio) {
	//objRadio is the radio button collection, not one specific field!!
	var bOneIsChecked = false
	for (k=0;k<objRadio.length;k++){
		if (objRadio[k].checked) {
			bOneIsChecked = true;
			break;
		}
	}
	return (bOneIsChecked);
}	

function CheckDate(strDatum, strFormat){
	//Input: 
	//	strDatum: Date string to check, use / a delimiter
	//	strFormat: either 'dd/mm/yyyy' OR 'mm/dd/yyyy'
	var datDate, strNewDate = ""
	var strDate_mmddyyyy

	//Create  a string conform mm/dd/yyyy
	switch (strFormat.toLowerCase()) {
		case ('dd/mm/yyyy') :
			var arTmp = strDatum.split("/")
			if (arTmp.length == 3) {
				//two slashes are found
				strDate_mmddyyyy = arTmp[1] + '/' + arTmp[0] + '/' + arTmp[2]
			} else {
				strDate_mmddyyyy = ''
			}
			break;
		case ('mm/dd/yyyy'):
			strDate_mmddyyyy = strDatum
			break;
	}

	//Perform datecheck on DD/MM/YYYY string
	datDate = new Date(strDate_mmddyyyy)
	
	//NOTE :getMonth is zero based
	if( ( datDate.getMonth() + 1 ) < 10 ){strNewDate += "0"}
	strNewDate += ( datDate.getMonth() + 1 ) + "/"
	if( datDate.getDate() < 10 ){strNewDate += "0"}
	strNewDate += datDate.getDate() + "/"
	strNewDate += datDate.getFullYear()
	
	if( ( strNewDate == strDate_mmddyyyy ) && ( strNewDate.length == 10 ) ){
		return true
	} else{
		return false
	}
}



//***Version info will be shown when CTRL + ALT + SHIFT + V is pressed
try {
	document.onkeydown = chkFrm_showVersion;
} catch(e) {
}

function chkFrm_showVersion() {
	//Show version info
	//CTRL & ALT & SHIFT & V
	try {
		//This will only work in IE
		if ((event.keyCode==86) &&  (event.altLeft==true) && (event.ctrlLeft==true) && (event.shiftLeft==true)) { 
			var strMsg = "<b>CODIM checkFrm</b><br><br>version:&nbsp;" + checkFrmVersion +'<br><br><b>Supported types</b>:<br>'
			for (i = 0;i<arSupportedTypes.length;i++) {
				strMsg += arSupportedTypes[i] + '<br>'
			}
			var objChkFrmWin = window.open("","chkWindow","height=430,width=330,top=0,left=0,status=no,toolbar=no,menubar=no,location=no,resizable=yes,scrollbars=yes")
			objChkFrmWin.document.open();
			objChkFrmWin.document.write(strMsg);
			objChkFrmWin.document.close();
			objChkFrmWin.focus();
		}
		
	} catch (e) {
	}
}
//***End Version info 

// js voor pb_survey:
function isDateEuropean(dateStr) {
	var datePat = /^(\d{1,2})(\/|-|.)(\d{1,2})(\/|-|.)(\d{4})$/;
	var matchArray = dateStr.match(datePat);

    if (matchArray == null) return '1';
	day=matchArray[1];
	month=matchArray[3];
	year=matchArray[5];
    if (month < 1 || month > 12) return '2';
    if (day < 1 || day > 31) return '3';
    if ((month==4 || month==6 || month==9 || month==11) && day==31) return '4::'+month;
    if (month == 2) { // check for february 29th
        var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
        if (day > 29 || (day==29 && !isleap)) return '5:'+day+'::'+year;
    }
    return '0'; // date is valid
}

function isFirstDateEarlierEuropean(strDelimiter, strFirstDate, strSecondDate)
{
	var month;
	var day;
	var year;
	var splitArray;
	
	// Get the first date
	splitArray = strFirstDate.split(strDelimiter);
	day = splitArray[0];
	month = splitArray[1];
	year = splitArray[2];
	var firstDate = new Date(year, month - 1, day)

	// Get the second date
	splitArray = strSecondDate.split(strDelimiter);
	day = splitArray[0];
	month = splitArray[1];
	year = splitArray[2];
	var secondDate = new Date(year, month - 1, day)
	
	if (firstDate < secondDate)
	{
		return true;
	}
	else
	{
		return false;
	}
}

function changeAddCb(nm,v) {
	var q,f=document.forms['frmPbSurvey'];
	for (q=0;q<f.length;q++) {
		e=f.elements[q];
		strTemp = e.name;
		if (strTemp.indexOf(nm)>-1) {
			if ((e.type=='radio' && e.value=='add_txt') || e.type=='checkbox') {
				if (e.type=='checkbox') {
					e.value=v;
				}
				if (v!='') {
					e.checked=true;
				} else {
					e.checked=false;
				}
			}
		}
	}
}

function PB_validateSurvey() { //v4.0
	var a,b=0,c=0,d,e,g=0,h=1,l=1,p,q,te,v='',nm,test,num,min,max,errors='',args=PB_validateSurvey.arguments,f=document.forms['frmPbSurvey'];
	for (a=0;a<(args.length-2);a+=3) { // Read the arguments
		c=0;
		v='';
		test=args[a+2];p=test.split(':');
		for (q=0;q<f.length;q++) {
			e=f.elements[q];
			strTemp = e.name; 
			if (strTemp.indexOf(args[a])>-1) {
				if (p[0]=='ChMa' || p[0]=='MaCh' || p[0]=='MaOb') { // Type=1,3,6,8
					if (e.value=='add_txt' && e.checked==true) {
						te=q;
					}
					if (te>0 && strTemp.indexOf('additional')>-1) {
						f.elements[te].value=e.value;
						e.value='';
					}
					if (e.checked == true) {
						c++;
					}
				}
				if (p[0]=='ChOaD' || p[0]=='OeCb' || p[0]=='OeDa' || p[0]=='OeNu' || p[0]=='OeOl' || p[0]=='OeMl') { // Type=2,4,5,10,12,13,14,15
					if (e.value!='') {
						v=e.value;
						c++;
					}
				}
				if (p[0]=='MaTb') { // Type=7
					if (e.value!='') {
						v+=e.value;
					}
				}
				if (p[0]=='OeCs') { //Type=11
					if (e.value!='') {
						if (isNaN(e.value) && g!=1) {
							g=1; 
						} else {
							c+=parseFloat(e.value);
						}
					}
				}
				if (p[0]=='OeRa') { //Type=16
					if (e.value!='') {
						if (isNaN(e.value) && g!=1) {
							g=1; 
						} else { 
							if (parseInt(e.value)<l) l=parseInt(e.value);
							if (parseInt(e.value)>h) h=parseInt(e.value);
							var index = v.indexOf('||'+parseInt(e.value)+'||');
							while (index != -1) {
    							b++;
    							index = v.indexOf('||'+parseInt(e.value)+'||', index + 1);
							}
							v=v+'||'+parseInt(e.value)+'||';
							c++;  
						}
					}
				}												
			}
		}
		if (p[0]=='ChMa') { // Type=1,3
			if (p[1]=='R' && c<1) { 
				myString='- Selecteer aub een waarde voor vraag nummer %q\n';
				rExp=/%q/gi;
				errors+=myString.replace(rExp,args[a+1]);
			}
			if (p[2]!='' && parseInt(p[2])>c) {
				myString='- Selecteer tenminste %v waardes voor vraag nummer %q\n';
				rExp=/%q/gi;
				myString=myString.replace(rExp,args[a+1]);
				rExp=/%v/gi;
				errors+=myString.replace(rExp,p[2]);
			}
			if (p[3]!='' && c>parseInt(p[3])) {
				myString='- Selecteer niet meer dan %v waardes voor vraag nummer %q\n';
				rExp=/%q/gi;
				myString=myString.replace(rExp,args[a+1]);
				rExp=/%v/gi;
				errors+=myString.replace(rExp,p[3]);
			}
		}
		if (p[0]=='ChOaD') { // Type=2,4,5
			if (p[1]=='R' && v=='') {
				myString='- Selecteer aub een waarde voor vraag nummer %q\n';
				rExp=/%q/gi;
				errors+=myString.replace(rExp,args[a+1]);
			}
		}
		if (p[0]=='MaCh') { // Type=6
			if (p[1]=='R' && c<1) {
				myString='- Selecteer aub tenminste één item voor vraag nummer %q\n';
				rExp=/%q/gi;
				errors+=myString.replace(rExp,args[a+1]);
			}
		}
		if (p[0]=='MaTb') { // Type=7
			if (p[1]=='R' && v=='') {
				myString='- Vul aub een waarde in voor tenminste één item voor vraag nummer %q\n';
				rExp=/%q/gi;
				errors+=myString.replace(rExp,args[a+1]);
			}
		}
		if (p[0]=='MaOb') { // Type=8
			if (p[1]=='R' && c<p[2]) {
				myString='- Selecteer aub één item per rij voor vraag nummer %q\n';
				rExp=/%q/gi;
				errors+=myString.replace(rExp,args[a+1]);
			}
		}
		if (p[0]=='OeCb') { // Type=7
			if (p[1]=='R' && v=='') {
				myString='- Vul aub een waarde in voor vraag nummer %q\n';
				rExp=/%q/gi;
				errors+=myString.replace(rExp,args[a+1]);
			}
		}
		if (p[0]=='OeCs') { //Type=11
			if (g==1) {
				myString='- Zorg er voor dat alle waardes ingevuld voor vraag nummer %q een numerieke waarde hebben.\n';
				rExp=/%q/gi;
				errors+=myString.replace(rExp,args[a+1]);
			} else if (c>0 && c!=p[2] && p[2]) {
				myString='- De som van alle antwoorden op vraag nummer %q dienen opgeteld gelijk te zijn aan %t. De huidige som is %v\n';
				rExp=/%q/gi;
				myString=myString.replace(rExp,args[a+1]);
				rExp=/%v/gi;
				myString=myString.replace(rExp,c);
				rExp=/%t/gi;
				errors+=myString.replace(rExp,p[2]);
			} else if (c==0 && p[1]=='R') {
				myString='- Vul aub een waarde in voor vraag nummer %q\n';
				rExp=/%q/gi;
				errors+=myString.replace(rExp,args[a+1]);
			}
		}
		if (p[0]=='OeDa') { //Type=12
			ide = isDateEuropean(v);
			d=ide.split(':');c=parseInt(d[0]); 
			if (v!='' && c>0) {
				var ds=new Array(6);
				ds[1]='- Vul aub een datum in als dd/mm/yyy of dd-mm-yyy voor vraag nummer %q\n';
				ds[2]='- Maand dient tussen 1 en 12 te liggen voor vraag nummer %q\n';
				ds[3]='- Dag dient tussen 1 en 31 te liggen voor vraag nummer %q\n';
				ds[4]='- Maand %m heeft geen 31 dagen voor vraag nummer %q\n';
				ds[5]='- Februari %y heeft geen %d dagen voor vraag nummer %q\n';
				es=ds[c];
				rExp=/%d/gi;
				es=es.replace(rExp,d[1]);
				rExp=/%m/gi;
				es=es.replace(rExp,d[2]);
				rExp=/%y/gi;
				es=es.replace(rExp,d[3]);
				rExp=/%q/gi;
				errors+=es.replace(rExp,args[a+1]);	
			}
			if (v=='' && p[1]=='R') {
				myString='- Vul aub een datum in voor vraag nummer %q\n';
				rExp=/%q/gi;
				errors+=myString.replace(rExp,args[a+1]);
			}
			if (v!='' && c==0) {
				if (p[2]!='' && isFirstDateEarlierEuropean('-',v,p[2])==true) {
					myString='- Vul aub een datum in die groter is of gelijk aan %d voor vraag nummer %q\n';
					rExp=/%d/gi;
					myString=myString.replace(rExp,p[2]);
					rExp=/%q/gi;
					errors+=myString.replace(rExp,args[a+1]);
				}
				if (p[3]!='' && isFirstDateEarlierEuropean('-',p[3],v)==true) {
					myString='- Vul aub een datum in die kleiner is of gelijk aan %d voor vraag nummer %q\n';
					rExp=/%d/gi;
					myString=myString.replace(rExp,p[3]);
					rExp=/%q/gi;
					errors+=myString.replace(rExp,args[a+1]);
				}
			}
		}
		if (p[0]=='OeNu') { //Type=13
			if (v!='' && isNaN(v)) {
				myString='- Vul aub een numerieke waarde in voor vraag nummer %q\n';
				rExp=/%q/gi;
				errors+=myString.replace(rExp,args[a+1]);
			}
			if (v=='' && p[1]=='R') {
				myString='- Vul aub een waarde in voor vraag nummer %q\n';
				rExp=/%q/gi;
				errors+=myString.replace(rExp,args[a+1]);
			}
			if (v!='' && parseFloat(v)<p[2]) {
				myString='- Vul aub een waarde in die groter is of gelijk aan %v voor vraag nummer %q\n';
				rExp=/%v/gi;
				myString=myString.replace(rExp,p[2]);
				rExp=/%q/gi;
				errors+=myString.replace(rExp,args[a+1]);
			}
			if (v!='' && parseFloat(v)>p[3]) {
				myString='- Vul aub een waarde in die kleiner is of gelijk aan %v voor vraag nummer %q\n';
				rExp=/%v/gi;
				myString=myString.replace(rExp,p[3]);
				rExp=/%q/gi;
				errors+=myString.replace(rExp,args[a+1]);
			}
		}
		if (p[0]=='OeOl') { //Type=14
			if (v=='' && p[1]=='R') {
				myString='- Vul aub een waarde in voor vraag nummer %q\n';
				rExp=/%q/gi;
				errors+=myString.replace(rExp,args[a+1]);
			}
			x=v.indexOf('@');
        	if (v!='' && p[2]==1 && x<1) {
				myString='- Vul een geldig e-mailadres in voor vraag %q\n';
				rExp=/%q/gi;
				errors+=myString.replace(rExp,args[a+1]);
			}
		}
		if (p[0]=='OeMl') { // Type=15
			if (p[1]=='R' && c<1) { 
				myString='- Vul aub een waarde in voor vraag nummer %q\n';
				rExp=/%q/gi;
				errors+=myString.replace(rExp,args[a+1]);
			}
			if (c>0 && p[2]!='' && parseInt(p[2])>c) {
				myString='- Vul tenminste %v waardes in voor vraag nummer %q\n';
				rExp=/%q/gi;
				myString=myString.replace(rExp,args[a+1]);
				rExp=/%v/gi;
				errors+=myString.replace(rExp,p[2]);
			}
			if (c>0 && p[3]!='' && c>parseInt(p[3])) {
				myString='- Vul niet meer dan %v waardes in voor vraag nummer %q\n';
				rExp=/%q/gi;
				myString=myString.replace(rExp,args[a+1]);
				rExp=/%v/gi;
				errors+=myString.replace(rExp,p[3]);
			}
		}
		if (p[0]=='OeRa') { // Type=16
			if (g==1) {
				myString='- Zorg er voor dat alle waardes ingevuld voor vraag nummer %q een numerieke waarde hebben.\n';
				rExp=/%q/gi;
				errors+=myString.replace(rExp,args[a+1]);
			}
			if (b>0) {
				myString='- Elke waarderingswaarde kan slechts eenmalig worden ingevuld voor vraag %q\n';
				rExp=/%q/gi;
				errors+=myString.replace(rExp,args[a+1]);
			}
			if (l<1 || h>p[2]) {
				myString='- Waarderingscijfers liggen tussen 1 en %v voor vraag %q\n';
				rExp=/%q/gi;
				myString=myString.replace(rExp,args[a+1]);
				rExp=/%v/gi;
				errors+=myString.replace(rExp,p[2]);
			}
			if (p[1]=='R' && c<p[2]) { 
				myString='- Vul aub waardes in voor alle items van vraag nummer %q\n';
				rExp=/%q/gi;
				errors+=myString.replace(rExp,args[a+1]);
			}
		}
	}
	if (errors) alert('Fouten:\n'+errors);
  document.PB_returnValue = (errors == '');
}

	

