﻿
///////////////////
//  appversion
///////////////////

	if (/Firefox[\/\s](\d+\.\d+)/.test(navigator.userAgent)){ //test for Firefox/x.x or Firefox x.x (ignoring remaining digits);
	 var ffversion=new Number(RegExp.$1) // capture x.x portion and store as a number
	 if (ffversion>=3)
	  //document.write("You're using FF 3.x or above");
		 document.write('<link href="/FrontEnd/css/ff3.css" media="all" rel="stylesheet" type="text/css" />');
	 else if (ffversion>=2)
	  //document.write("You're using FF 2.x");
		 document.write('<link href="/FrontEnd/css/ff1-2.css" media="all" rel="stylesheet" type="text/css" />');
	 else if (ffversion>=1)
	  //document.write("You're using FF 1.x");
		 document.write('<link href="/FrontEnd/css/ff1-2.css" media="all" rel="stylesheet" type="text/css" />');
	}
	else
	 document.write('')


///////////////////
//  ToggleDiv
///////////////////

	function toggleDiv(strDivID)
	{
		if(document.getElementById(strDivID).style.display=='none')
		{
			document.getElementById(strDivID).style.display='block';
		}
		else
		{
			document.getElementById(strDivID).style.display='none';
		}
	}

	function showDiv(strDivID2) 
	{
		document.getElementById(strDivID2).style.display = 'block';
	   }

	function hideDiv(strDivID3) 
	{
		document.getElementById(strDivID3).style.display = 'none';
	}

	function toggleNewsEmail(div, panel, confirm)
	{
		if (document.getElementById(confirm).style.display == 'none')
		{
			toggleDiv(div);
		}
		else 
		{
			document.getElementById(div).style.display = 'block';
			document.getElementById(panel).style.display = 'block';
			document.getElementById(confirm).style.display = 'none';
		}
	}

	function ShowBlock(linkbutton)
	{
		linkbutton.className = linkbutton.className + " true";
	}


///////////////////
//  Blocks
///////////////////

	var Blocks =
	{
		currentPath: '',

		Click: function(hyperlink) {
			var id = this.GetClass(hyperlink)
			this.CloseOthers(id)
			this.ShowBlock(id)

			$('.CAO_HH').show()
			
			var lastCharUrl = hyperlink.href.substring(hyperlink.href.length - 1, hyperlink.href.length)
			if (lastCharUrl == "#")
			{
				$('.faqserviceQuestions').hide()
			}
		},

		GetClass: function(hyperlink) {
			var classes = hyperlink.className.split(' ')
			for (var i = 0; i < classes.length; i++) {
				if (classes[i].substring(0, 3) == 'li-') {
					return classes[i].substring(3, classes[i].length)
				}
			}
		},

		CloseOthers: function(path) {
			if (path.indexOf(this.currentPath) != 0) {
				// Hide current folders
				var folders = this.currentPath.split('_')
				var folderPath = ''
				for (var i = 0; i < folders.length; i++) {
					folderPath += folders[i]
					this.HideBlock(folderPath)
					folderPath += '_'
				}

				// Show current
				var folders = path.split('_')
				var folderPath = ''
				for (var i = 0; i < folders.length; i++) {
					folderPath += folders[i]
					this.ShowBlock(folderPath)
					folderPath += '_'
				}

			}
			this.currentPath = path
		},

		HideBlock: function(folderPath) {
			$('.' + folderPath).hide()
			$('.li-' + folderPath).removeClass('true')
		},

		ShowBlock: function(folderPath) {
			$('.' + folderPath).show()
			$('.li-' + folderPath).addClass('true')
		}
	}


///////////////////
//  DropDownMenu
///////////////////
		
	var MenuHideElement = null
	var MenuNumber = 0
	var MenuTimeouts = new Array()
	var MenuElements = new Array()
	var MenuVisible = new Array()
	var MenuHidingQueue = new Array()
	var MenuOpened = false

	$(document).ready(function() {
		$('ul.mainnav li').mouseout(function() {
			Hide(this)
		});
		$('ul.mainnav li').mouseover(function() {
			Show(this)
		});
		$('ul.mainnav ul ul').hide()
		$('ul.mainnav ul').hide()
	})

	function Show(element) {
		var id = GetId(element)
		if (MenuTimeouts[id]) {
			clearTimeout(MenuTimeouts[id])
		}
		var timeout = (MenuOpened ? 1 : 75)
		MenuTimeouts[id] = setTimeout('DoShow("' + id + '")', timeout)
		MenuElements[id] = element
		MenuVisible[id] = true
	}

	function DoShow(id) {
		if (MenuVisible[id] == false) return
		HideOthers()
		var element = MenuElements[id]
		$(element).children("ul").show()
		$(element).addClass('selected')
		MenuOpened = true
	}

	function Hide(element) {
		MenuHideElement = element
		if (!GetId(MenuHideElement)) {
			SetId(MenuHideElement)
		}
		var id = GetId(MenuHideElement)
		MenuVisible[id] = false
		AddToQueue(id)
		MenuTimeouts[id] = setTimeout('DoHide("' + id + '")', 100)
	}

	function DoHide(id) {
		if (MenuVisible[id] == true) return
		$('.' + id).children("ul").hide()
		$('.' + id).removeClass('selected')
		CheckMenuOpened()
	}

	function GetId(element) {
		if (element.className == '') return null
		if (element.className.substring(0, 7) == 'element') {
			var end = element.className.indexOf(' ')
			if (end == -1) end = element.className.length
			return element.className.substring(0, end)
		}
		return null
	}

	function SetId(element) {
		MenuHideElement.className = 'element' + MenuNumber + ' ' + MenuHideElement.className
		MenuNumber++
	}

	function HideOthers() {
		for (var i = 0; i < MenuHidingQueue.length; i++) {
			id = MenuHidingQueue.pop()
			clearTimeout(MenuTimeouts[id])
			DoHide(id)
		}
	}

	function AddToQueue(id) {
		MenuHidingQueue.unshift(id)
	}

	function CheckMenuOpened() {
		for (var id in MenuVisible) {
			if (id != 'null' && MenuVisible[id] == true) {
				return
			}
		}
		MenuOpened = false
	}
	
///////////////////
//  FileUpload
///////////////////
			
	AIM = {

		frame: function(c) {

			var n = 'f' + Math.floor(Math.random() * 99999);
			var d = document.createElement('DIV');
			d.innerHTML = '<iframe style="display:none" src="about:blank" id="' + n + '" name="' + n + '" onload="AIM.loaded(\'' + n + '\')"></iframe>';
			document.body.appendChild(d);

			var i = document.getElementById(n);
			if (c && typeof (c.onComplete) == 'function') {
				i.onComplete = c.onComplete;
			}

			return n;
		},

		form: function(f, name) {
			f.setAttribute('target', name);
		},

		submit: function(f, c) {
			AIM.form(f, AIM.frame(c));
			if (c && typeof (c.onStart) == 'function') {
				return c.onStart();
			} else {
				return true;
			}
		},

		loaded: function(id) {
			var i = document.getElementById(id);
			if (i.contentDocument) {
				var d = i.contentDocument;
			} else if (i.contentWindow) {
				var d = i.contentWindow.document;
			} else {
				var d = window.frames[id].document;
			}
			if (d.location.href == "about:blank") {
				return;
			}

			if (typeof (i.onComplete) == 'function') {
				i.onComplete(d.body.innerHTML);
			}
		}
	}

	function startCallback() {
		// make something useful before submit (onStart)
		return true;
	}

	function completeCallback(response) {
		// make something useful after (onComplete)
		document.getElementById('nr').innerHTML = parseInt(document.getElementById('nr').innerHTML) + 1;
		document.getElementById('r').innerHTML = response;
	}


///////////////////
//  NavigationFixes
///////////////////
		
	function endsWith(source, pattern) {
		var d = source.length - pattern.length;
		return d >= 0 && source.lastIndexOf(pattern) === d;
	}

	function startsWith(source, pattern) {
		return source.indexOf(pattern) === 0;
	}

	$(document).ready(function() { 

	});


///////////////////
//  SWFObject
///////////////////
		

/**
* SWFObject v1.5: Flash Player detection and embed - http://blog.deconcept.com/swfobject/
*
* SWFObject is (c) 2007 Geoff Stearns and is released under the MIT License:
* http://www.opensource.org/licenses/mit-license.php
*
*/
if (typeof deconcept == "undefined")
{
	var deconcept = new Object();
}

if (typeof deconcept.util == "undefined")
{
	deconcept.util = new Object();
}

if (typeof deconcept.SWFObjectUtil == "undefined")
{
	deconcept.SWFObjectUtil = new Object();
}

deconcept.SWFObject = function(_1, id, w, h, _5, c, _7, _8, _9, _a)
{
	if (!document.getElementById)
	{
		return;
	}

	this.DETECT_KEY = _a ? _a : "detectflash";
	this.skipDetect = deconcept.util.getRequestParameter(this.DETECT_KEY);
	this.params = new Object();
	this.variables = new Object();
	this.attributes = new Array();

	if (_1)
	{
		this.setAttribute("swf", _1);
	}
	if (id)
	{
		this.setAttribute("id", id);
	}
	if (w)
	{
		this.setAttribute("width", w);
	}
	if (h)
	{
		this.setAttribute("height", h);
	}
	if (_5)
	{
		this.setAttribute("version", new deconcept.PlayerVersion(_5.toString().split(".")));
	}

	this.installedVer = deconcept.SWFObjectUtil.getPlayerVersion();

	if (!window.opera && document.all && this.installedVer.major > 7)
	{
		deconcept.SWFObject.doPrepUnload = true;
	}
	if (c)
	{
		this.addParam("bgcolor", c);
	}

	var q = _7 ? _7 : "high"; this.addParam("quality", q);
	this.setAttribute("useExpressInstall", false);
	this.setAttribute("doExpressInstall", false);
	var _c = (_8) ? _8 : window.location; this.setAttribute("xiRedirectUrl", _c);
	this.setAttribute("redirectUrl", ""); 
	
	if (_9)
	{
		this.setAttribute("redirectUrl", _9); 
	}
};

deconcept.SWFObject.prototype =
{
	useExpressInstall: function(_d)
	{
		this.xiSWFPath = !_d ? "expressinstall.swf" : _d;
		this.setAttribute("useExpressInstall", true);
	},

	setAttribute: function(_e, _f)
	{
		this.attributes[_e] = _f;
	},

	getAttribute: function(_10)
	{
		return this.attributes[_10];
	},

	addParam: function(_11, _12)
	{
		this.params[_11] = _12;
	},

	getParams: function()
	{
		return this.params;
	},

	addVariable: function(_13, _14)
	{
		this.variables[_13] = _14;
	},

	getVariable: function(_15)
	{
		return this.variables[_15];
	},

	getVariables: function()
	{
		return this.variables;
	},

	getVariablePairs: function()
	{
		var _16 = new Array();
		var key; var _18 = this.getVariables();

		for (key in _18)
		{
			_16[_16.length] = key + "=" + _18[key];
		}

		return _16;
	},

	getSWFHTML: function()
	{
		var _19 = "";
		if (navigator.plugins && navigator.mimeTypes && navigator.mimeTypes.length)
		{
			if (this.getAttribute("doExpressInstall"))
			{
				this.addVariable("MMplayerType", "PlugIn");
				this.setAttribute("swf", this.xiSWFPath);
			}
			_19 = "<embed type=\"application/x-shockwave-flash\" src=\"" + this.getAttribute("swf") + "\" width=\"" + this.getAttribute("width") + "\" height=\"" + this.getAttribute("height") + "\" style=\"" + this.getAttribute("style") + "\""; _19 += " id=\"" + this.getAttribute("id") + "\" name=\"" + this.getAttribute("id") + "\" ";
			var _1a = this.getParams();

			for (var key in _1a)
			{
				_19 += [key] + "=\"" + _1a[key] + "\" ";
			}

			var _1c = this.getVariablePairs().join("&");
			
			if (_1c.length > 0)
			{
				_19 += "flashvars=\"" + _1c + "\"";
			} 
			
			_19 += "/>";
		}
		else
		{
			if (this.getAttribute("doExpressInstall"))
			{
				this.addVariable("MMplayerType", "ActiveX");
				this.setAttribute("swf", this.xiSWFPath);
			}
			_19 = "<object id=\"" + this.getAttribute("id") + "\" classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" width=\"" + this.getAttribute("width") + "\" height=\"" + this.getAttribute("height") + "\" style=\"" + this.getAttribute("style") + "\">";
			_19 += "<param name=\"movie\" value=\"" + this.getAttribute("swf") + "\" />";
			var _1d = this.getParams();
			for (var key in _1d)
			{
				_19 += "<param name=\"" + key + "\" value=\"" + _1d[key] + "\" />"; 
			}

			var _1f = this.getVariablePairs().join("&");

			if (_1f.length > 0)
			{
				_19 += "<param name=\"flashvars\" value=\"" + _1f + "\" />";
			}

			_19 += "</object>";
		}

		return _19;
	},

	write: function(_20)
	{
		if (this.getAttribute("useExpressInstall"))
		{
			var _21 = new deconcept.PlayerVersion([6, 0, 65]);
			if (this.installedVer.versionIsValid(_21) && !this.installedVer.versionIsValid(this.getAttribute("version")))
			{
				this.setAttribute("doExpressInstall", true);
				this.addVariable("MMredirectURL", escape(this.getAttribute("xiRedirectUrl")));
				document.title = document.title.slice(0, 47) + " - Flash Player Installation"; this.addVariable("MMdoctitle", document.title);
			}
		}
		if (this.skipDetect || this.getAttribute("doExpressInstall") || this.installedVer.versionIsValid(this.getAttribute("version")))
		{ 
	var n = (typeof _20 == "string") ? document.getElementById(_20) : _20; n.innerHTML = this.getSWFHTML(); 
	return true; } else { if (this.getAttribute("redirectUrl") != "") { document.location.replace(this.getAttribute("redirectUrl")); } } return false; } }; deconcept.SWFObjectUtil.getPlayerVersion = function() { var _23 = new deconcept.PlayerVersion([0, 0, 0]); if (navigator.plugins && navigator.mimeTypes.length) { var x = navigator.plugins["Shockwave Flash"]; if (x && x.description) { _23 = new deconcept.PlayerVersion(x.description.replace(/([a-zA-Z]|\s)+/, "").replace(/(\s+r|\s+b[0-9]+)/, ".").split(".")); } } else { if (navigator.userAgent && navigator.userAgent.indexOf("Windows CE") >= 0) { var axo = 1; var _26 = 3; while (axo) { try { _26++; axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash." + _26); _23 = new deconcept.PlayerVersion([_26, 0, 0]); } catch (e) { axo = null; } } } else { try { var axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7"); } catch (e) { try { var axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6"); _23 = new deconcept.PlayerVersion([6, 0, 21]); axo.AllowScriptAccess = "always"; } catch (e) { if (_23.major == 6) { return _23; } } try { axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash"); } catch (e) { } } if (axo != null) { _23 = new deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(",")); } } } return _23; }; deconcept.PlayerVersion = function(_29) { this.major = _29[0] != null ? parseInt(_29[0]) : 0; this.minor = _29[1] != null ? parseInt(_29[1]) : 0; this.rev = _29[2] != null ? parseInt(_29[2]) : 0; }; deconcept.PlayerVersion.prototype.versionIsValid = function(fv) { if (this.major < fv.major) { return false; } if (this.major > fv.major) { return true; } if (this.minor < fv.minor) { return false; } if (this.minor > fv.minor) { return true; } if (this.rev < fv.rev) { return false; } return true; }; deconcept.util = { getRequestParameter: function(_2b) { var q = document.location.search || document.location.hash; if (_2b == null) { return q; } if (q) { var _2d = q.substring(1).split("&"); for (var i = 0; i < _2d.length; i++) { if (_2d[i].substring(0, _2d[i].indexOf("=")) == _2b) { return _2d[i].substring((_2d[i].indexOf("=") + 1)); } } } return ""; } }; deconcept.SWFObjectUtil.cleanupSWFs = function() { var _2f = document.getElementsByTagName("OBJECT"); for (var i = _2f.length - 1; i >= 0; i--) { _2f[i].style.display = "none"; for (var x in _2f[i]) { if (typeof _2f[i][x] == "function") { _2f[i][x] = function() { }; } } } }; if (deconcept.SWFObject.doPrepUnload) { if (!deconcept.unloadSet) { deconcept.SWFObjectUtil.prepUnload = function() { __flash_unloadHandler = function() { }; __flash_savedUnloadHandler = function() { }; window.attachEvent("onunload", deconcept.SWFObjectUtil.cleanupSWFs); }; window.attachEvent("onbeforeunload", deconcept.SWFObjectUtil.prepUnload); deconcept.unloadSet = true; } } if (!document.getElementById && document.all) { document.getElementById = function(id) { return document.all[id]; }; } var getQueryParamValue = deconcept.util.getRequestParameter; var FlashObject = deconcept.SWFObject; var SWFObject = deconcept.SWFObject;
	
	
///////////////////
//  FormFunctions
///////////////////
		
function SetUniqueRadioButton(nameregex, current)
{
	re = new RegExp(nameregex);

	for (i = 0; i < document.forms[0].elements.length; i++)
	{
		elm = document.forms[0].elements[i];
		if (elm.type == 'radio')
		{
			if (re.test(elm.name))
			{
				elm.checked = false;
			}
		}
	}
	current.checked = true;
}

/// <summary>
/// Trigger the click event on a button
/// </summary>
function SubmitThisBox(evnt, id)
{
	// capture the event
	evnt = evnt ? evnt : event

	// enter pressed
	if (evnt.keyCode == 13)
	{
		var hyperlink = document.getElementById(id)
		if (!hyperlink) return

		if (hyperlink.click)
		{
			//alert(hyperlink.click)
			// click the button
			hyperlink.click()
			return
		}

		if (hyperlink.href)
		{
			// go to the url
			var url = hyperlink.href
			url = unescape(url)
			if (url.substring(0, 11) == 'javascript:')
			{
				var postback = url.substring(11)
				eval(postback)
			}
			else
			{
				self.location.href = unescape(hyperlink.href)
			}
			return
		}
	}
}

// Focus: remove watermark text and style
function FocusThisBox(textBox, value, cssClass)
{
	if (textBox.value == value)
	{
		textBox.value = ''
		textBox.className = cssClass
	}
}

// Blur: set watermark text and style
function BlurThisBox(textBox, value, cssClass)
{
	if (textBox.value == '')
	{
		textBox.value = value
		textBox.className = cssClass
	}
}

function IsHidden(element)
{
	if (!element.style) return false
	if (element.style.display == 'none') return true
	if (!element.parentNode) return false
	return IsHidden(element.parentNode)
}

function CheckRequired(sender, args)
{
	if (IsHidden(document.getElementById(sender.controltovalidate)))
	{
		args.IsValid = true;
		return
	}

	if (args.Value != '')
	{
		args.IsValid = true;
	}
	else
	{
		args.IsValid = false;
	}
	
	SetErrorMessage(sender, args.IsValid);
}

function CheckPostalCodeFormatTextBox(sender, args)
{
	CheckField(sender, args, "^[1-9][0-9]{3}( )?[a-zA-Z]{2}$", "Vul een geldige postcode in.");
}

function CheckEmailFormatTextBox(sender, args)
{
	CheckField(sender, args,
		"^[A-Za-z0-9_-]+([.][A-Za-z0-9_-]+)*[@][A-Za-z0-9-][A-Za-z0-9-]+([.-][A-Za-z0-9-]+)*[.]([A-Za-z]){2,6}$", 
		"Vul een geldig e-mailadres in.");
}

function CheckStreetAndHouseNrTextBox(sender, args)
{
	CheckField(sender, args, "^[A-Za-z0-9-]*~[0-9]*~[A-Za-z0-9-]*$", "Vul een geldige straat en huisnummer in");
}

function CheckPostalCodeAndCityTextBox(sender, args)
{
	CheckField(sender, args, "^[1-9][0-9]{3}( )?[a-zA-Z]{2}~[A-Za-z0-9-]*$", "Vul een geldige postcode en woonplaats in");
}

function CheckTelnrFormatTextBox(sender, args)
{
	CheckField(sender, args, "^[0-9- ]{10,15}$", "Vul een geldig telefoonnummer in.");
}

function CheckNumberFormatTextBox(sender, args)
{
	CheckField(sender, args, "^[0-9][0-9]*$", "Vul een geldig nummer in.");
}

function CheckField(sender, args, regex, errormessage)
{
	if (IsHidden(document.getElementById(sender.controltovalidate)))
	{
		args.IsValid = true;
		return
	}

	var error;

	var arrMatch = new RegExp(regex).exec(args.Value);

	if (args.valueOf = '')
	{
		args.IsValid = false;
	}
	else if (!arrMatch)
	{
		args.IsValid = false;
		error = errormessage;
	}
	else
	{
		args.IsValid = true;
	}

	SetErrorMessage(sender, args.IsValid, error);	
}

function SetErrorMessage(sender, isValid, error)
{
	if (!error) error = sender.errormessage
	if (isValid)
	{
		$(sender).hide()
		$(sender).parent().parent().removeClass('error');
		$(sender).parent().parent().addClass('oke');
	}
	else
	{
		$(sender).html(error)
		$(sender).show()
		$(sender).parent().parent().removeClass('oke');
		$(sender).parent().parent().addClass('error');
	}
}

function showDivByCheckBox(divItem, checkBoxItem)
{
	var visibility = (checkBoxItem.checked) ? "block" : "none";
	document.getElementById(divItem).style.display = visibility;
}

function ChangeTextBoxView(textBoxID, checkbox)
{
	var textbox = document.getElementById(textBoxID);

	textbox.disabled = !checkbox.checked;

	if (!textbox.disabled)
	{
		textbox.focus();
	}
	else
	{
		textbox.value = ""
	}

}

function ChangeItemCheck(checkboxID, checkboxItem)
{
	var array = checkboxID.split("~");

	for (var i = 0; i < array.length; i++)
	{
		document.getElementById(array[i]).checked = checkboxItem.checked;
	}
}

function UncheckItem(checkBoxID, checkBoxItem)
{
	if (!checkBoxItem.checked) document.getElementById(checkBoxID).checked = false;
}

function FillFullName(textboxId, initialsId, infixId, lastnameId)
{
	var textbox = document.getElementById(textboxId);
	
	var initials = document.getElementById(initialsId);
	var infix = document.getElementById(infixId);
	var lastname = document.getElementById(lastnameId);

	textbox.value = (initials.value != "" && lastname.value != "")
		? initials.value + "~" + infix.value + "~" + lastname.value
		: "";
}

function FillStreetAndHousenr(textboxId, streetId, housenrId, housenrAddId)
{
	var textbox = document.getElementById(textboxId);

	var street = document.getElementById(streetId);
	var housenr = document.getElementById(housenrId);
	var housenrAdd = document.getElementById(housenrAddId);

	textbox.value = (street.value != "" && housenr.value != "")
		? street.value + "~" + housenr.value + "~" + housenrAdd.value
		: "";
}

function FillPostalCodeAndCity(textboxId, zipcodeId, cityId)
{
	var textbox = document.getElementById(textboxId);

	var zipcode = document.getElementById(zipcodeId);
	var city = document.getElementById(cityId);

	textbox.value = (zipcode.value != "" && city.value != "")
		? zipcode.value + "~" + city.value
		: "";
}

function FillTextBox(textBox, dropdownDay, dropdownMonth, dropdownYear, mindate, maxdate)
{
	var dropdownboxDay = document.getElementById(dropdownDay);
	var dropdownboxMonth = document.getElementById(dropdownMonth);
	var dropdownboxYear = document.getElementById(dropdownYear);

	document.getElementById(textBox).value = "";

	if (dropdownboxDay.value != "Dag")
	{
		if (dropdownboxMonth.value != "00")
		{
			if (dropdownboxYear.value != "Jaar")
			{
				date = new Date(dropdownboxYear.value, dropdownboxMonth.value, dropdownboxDay.value);

				if (date >= mindate && date <= maxdate)
				{
					document.getElementById(textBox).value = dropdownboxDay.value + '-' + dropdownboxMonth.value + '-' + dropdownboxYear.value;
				}
			}
		}
	}
}

function MultipleFieldsValidatorEvaluateIsValid(val)
{

	controltovalidateIDs = val.controlstovalidate.split(',');
	switch (val.condition)
	{
		case 'OR':
			for (var controltovalidateIDIndex in controltovalidateIDs)
			{
				var controlID = controltovalidateIDs[controltovalidateIDIndex];
				if (ValidatorTrim(ValidatorGetValue(controlID)) != '')
				{
					return true;
				}
			}
			return false;
			break;
		case 'XOR':
			for (var controltovalidateIDIndex in controltovalidateIDs)
			{
				var controlID = controltovalidateIDs[controltovalidateIDIndex];
				if (controltovalidateIDIndex == '0')
				{
					var previousResult = !(ValidatorTrim(ValidatorGetValue(controlID)) == '');
					continue;
				}
				var currentResult = !(ValidatorTrim(ValidatorGetValue(controlID)) == '');
				if (currentResult != previousResult)
				{
					return true;
				}
				previousResult != currentResult;
			}
			return false;
			break;
		case 'AND':
			for (var controltovalidateIDIndex in controltovalidateIDs)
			{
				var controlID = controltovalidateIDs[controltovalidateIDIndex];
				if (ValidatorTrim(ValidatorGetValue(controlID)) == '')
				{
					return false;
				}
			}
			return true;
			break;
	}
	return false;
}

function CheckFileExtension(sender, args)
{
	var fileupload = document.getElementById(sender.controltovalidate);
	var extension = fileupload.value.replace(fileupload.value.substr(fileupload.value, fileupload.value.lastIndexOf(".") + 1), "");
	var forbiddenExtensions = new Array("bat", "exe", "zip");
	var error = '';

	args.IsValid = true;

	for (var i = 0; i < forbiddenExtensions.length; i++)
	{
		if (extension == forbiddenExtensions[i])
		{
			args.IsValid = false;
			error = 'Dit bestandsformaat is niet toegestaan';
		}
	}

	SetErrorMessage(sender, args.IsValid, error);
}

// Tooltip
var tooltip

function MouseOver(id, evnt)
{
	tooltip = document.getElementById(id)
	if (!tooltip) return
	evnt = evnt || event
	LocateTooltip(evnt)
	tooltip.style.display = 'block'
}

function MouseOut(id, evnt)
{
	if (!tooltip) return
	tooltip.style.display = 'none'
	tooltip = null
}

function Mousemove(evnt)
{
	if (!tooltip) return
	evnt = evnt || event
	LocateTooltip(evnt)
}

function LocateTooltip(evnt)
{
	mx = evnt.clientX + 16 + document.documentElement.scrollLeft
	my = evnt.clientY + document.documentElement.scrollTop
	var tooltipWidth = tooltip.clientWidth
	if (tooltipWidth == 0) tooltipWidth = 250;

	if (mx + tooltipWidth > document.body.offsetWidth + document.body.scrollLeft)
	{
		var x = (document.body.clientWidth - mx + 32) + 'px'
		tooltip.style.right = x
		tooltip.style.left = ''
	}
	else
	{
		tooltip.style.left = mx + 'px'
	}
	tooltip.style.top = my + 'px'
}
	
	