function OpenNewWinWindowName(url,wn,wd,hg){
	/*
	Opens window with own window name.
	OpenNewWin will work only for one popup at a time
	5th parameter: 0=no scrollbars;1=scrollbars
	6th parameter: 0=not resizable;1=resizable
	*/
	var NewWin = null;
	var scrollbars = OpenNewWinWindowName.arguments[4];
	var resizable = OpenNewWinWindowName.arguments[5];
	var status = OpenNewWinWindowName.arguments[6];
	if(typeof(scrollbars)=='undefined'){ scrollbars=1};
	if(typeof(resizable)=='undefined'){ resizable=1};
	if(typeof(status)=='undefined'){ status=0};
	NewWin = window.open(url,wn,'toolbar=0,location=0,directories=0,status='+status+', menubar=0,scrollbars='+scrollbars+',width='+wd+',height='+hg+',resizable='+resizable);
	if(!NewWin.closed) {NewWin.focus();}
}
		
function OpenNewWin(url,wd,hg){
	/*
	4th parameter: 0=no scrollbars;1=scrollbars
	5th parameter: 0=not resizable;1=resizable
	*/
	var NewWin = null;
	var scrollbars = OpenNewWin.arguments[3];
	var resizable = OpenNewWin.arguments[4];
	var status = OpenNewWin.arguments[5];
	if(typeof(scrollbars)=='undefined'){ scrollbars=1};
	if(typeof(resizable)=='undefined'){ resizable=1};
	if(typeof(status)=='undefined'){ status=0};
	NewWin = window.open(url,'Cme','toolbar=0,location=0,directories=0,status='+status+', menubar=0,scrollbars='+scrollbars+',width='+wd+',height='+hg+',resizable='+resizable);
	if(!NewWin.closed) {NewWin.focus();}
}

function OpenNewWin2(url,wd,hg){
	/*
	4th parameter: 0=no scrollbars;1=scrollbars
	5th parameter: 0=not resizable;1=resizable
	*/
	var NewWin = null;
	var scrollbars = OpenNewWin2.arguments[3];
	var resizable = OpenNewWin2.arguments[4];
	var status = OpenNewWin2.arguments[5];
	if(typeof(scrollbars)=='undefined'){ scrollbars=1};
	if(typeof(resizable)=='undefined'){ resizable=1};
	if(typeof(status)=='undefined'){ status=0};
	NewWin = window.open(url,'Cme2','toolbar=0,location=0,directories=0,status='+status+', menubar=0,scrollbars='+scrollbars+',width='+wd+',height='+hg+',resizable='+resizable);
}

function formHandlerSearchBar(form){
	var URL = document.form.selector.options[document.form.selector.selectedIndex].value;
	if (URL != ""){
		parent.location = URL;
	}
}

function getObject(objectId){
	if(document.getElementById && document.getElementById(objectId)){
		return document.getElementById(objectId);
	}
	else if(document.all && document.all(objectId)){
		return document.all(objectId);
	}
	else if(document.layers && document.layers[objectId]){ 
		return document.layers[objectId];
	}
	else{
		return false;
	}
}

function ConfirmDelete(url,object){
	if(window.confirm("Weet u zeker dat u "+object+" wilt verwijderen?")){
		window.location=url;
	}
}

// ------------------------------- start validate functions ---------------------------
function validate() {
	var error_find = false;
	var group_ok = false;
	var divs = document.getElementsByTagName('div');
	error_find = false;
	for (var i=0; i<divs.length; i++) {
		if (divs[i].getAttribute('name') == 'validate_input') 
		{
			var inputs = divs[i].getElementsByTagName('input')
			var selects = divs[i].getElementsByTagName('select')

			removePreviousMsg(divs[i]);
			if (divs[i].getAttribute('id') == 'mandatory') {
				if (inputs.length > 0) {
					if (ValidateInputMandatory(divs[i]) == false) { 
						error_find = true;
					}
				}
				else if (selects.length > 0) {
					if (ValidateSelectMandatory(divs[i]) == false) { 
						error_find = true;
					}
				}
			}
			else if (divs[i].getAttribute('id') == 'date_mandatory') {
				if(ValidateDateMandatory(divs[i]) == false){ error_find = true}
			}
			else if (divs[i].getAttribute('id') == 'email_mandatory') {
				if (ValidateInputMandatory(divs[i]) == false){ error_find = true}
				else if (ValidateInputEmail(divs[i]) == false){ error_find = true;}
			}
			else if (divs[i].getAttribute('id') == 'email_group') {
				if (ValidateInputEmailGroup(divs[i]) == true){
					if (divs[i].getElementsByTagName('div').length == 1) {
						error_find = true;
					}
					group_ok = true;
				}
			}
			else {
				if (inputs.length > 0) {
					if (ValidateInputMandatory(divs[i]) == false) { 
						error_find = true;
					}
				}
				else if (selects.length > 0) {
					if (ValidateSelectMandatory(divs[i]) == false) { 
						error_find = true;
					}
				}
			}
		}
	}
		
	if (group_ok == false) {
		// all are empty
		divs = document.getElementsByTagName('div');
		for (var i=0; i<divs.length; i++) 
		{
			if (divs[i].getAttribute('name') == 'validate_input' && divs[i].getAttribute('id') == 'email_group' && divs[i].getElementsByTagName('div').length == 0) {
				PrintError(divs[i], '* Verplicht veld invullen.');
				error_find = true;
			}
		}		
	}
			
	if (error_find == true){
		return false;
	}
	else {
		return true;
	}
}

function ValidateInputEmail(DOMElement) {
	with (DOMElement.getElementsByTagName('input')[0]){
		var apos=value.indexOf("@")
		var dotpos=value.lastIndexOf(".")
		if (apos<1||dotpos-apos<2){
			PrintError(DOMElement, '* Geen geldig e-mailadres.')
			return false;
		}
		else {
			return true;
		}
	}
}

function ValidateInputEmailGroup(DOMElement) {
	with (DOMElement.getElementsByTagName('input')[0]){
		if (value==null||value==''){
			return false;
		}
		else {
			ValidateInputEmail(DOMElement);
			return true;
		}
	}
}

function ValidateInputMandatory(DOMElement) {
	with (DOMElement.getElementsByTagName('input')[0]){
		if (getAttribute('type') == 'radio') {
			var isChecked = false
			for (var i=0; i<DOMElement.getElementsByTagName('input').length; i++){
				var radiobutton = DOMElement.getElementsByTagName('input')[i];
				if (radiobutton.checked==true){
						isChecked = true;
				}
			}
			if (isChecked == false){
				PrintError(DOMElement, '* Verplicht veld invullen.')
				return false;
			}
		}
		else if (getAttribute('type') == 'checkbox'){
			if (checked==null||checked==false) {
				PrintError(DOMElement, '* Verplicht veld invullen.')
				return false;
			}
		}
		else if (value==null||value=='') {
				PrintError(DOMElement, '* Verplicht veld invullen.')
				return false;
		}
		else {
			return true;
		}
	}
}

function ValidateSelectMandatory(DOMElement) {
	with (DOMElement.getElementsByTagName('select')[0]){
		if (options[0].selected == true) {
			PrintError(DOMElement, '* Keuze verplicht.')
			return false;
		}
		else {
			return true;
		}

	}
}

function ValidateDateMandatory(DOMElement) {
	if (DOMElement.getElementsByTagName('select')[0].options[0].selected == true || DOMElement.getElementsByTagName('select')[1].options[0].selected == true || DOMElement.getElementsByTagName('select')[2].options[0].selected == true){
		PrintError(DOMElement, '* Datum verplicht.')
		return false;
	}
	else {
		return true;
	}
}

function removePreviousMsg(DOMElement){
	/* remove previous error message */
	if (DOMElement.getElementsByTagName('div').length == 1){
		DOMElement.removeChild(DOMElement.getElementsByTagName('div')[0]);
	}
}

function PrintError(DOMElement, errorMsg){
	var eDIV = document.createElement('div');
	//use the setAttribute method to assign it an id
	eDIV.setAttribute('id','val_error');
	// create a FONT element, using the variable eFONT as a reference to it
	var eFONT = document.createElement('font');
	// add the text to the font with createTextNode
	eFONT.appendChild(document.createTextNode(errorMsg))
	// setting the color (red), this doesn't work if set for appendChild where the TextNode is created
	eFONT.setAttribute('color', '#ff0000');
	// add the FONT to the Div
	eDIV.appendChild(eFONT);
	// append your newly created DIV element to an already existing element.
	DOMElement.appendChild(eDIV);
	//divs[i].appendChild(eDIV);
}
// ------------------------------- end validate functions ---------------------------
