// file: etc/js/main.js

/*
	Random main functions.
*/

function open_win(knr){	
	window.open("customerManagementDetail.php?customerId="+knr,"_blank","toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=yes, width=400, height=520")
}

function openWin(url){
	if(url.length > 0){
		window.open(url,"_blank","toolbar=no, location=no, directories=no, status=yes, menubar=no, scrollbars=yes, resizable=no, copyhistory=yes, width=640, height=640")
	}
}

function conf_del(knr, page, txt){
	if (confirm(txt)){
		location.href=page+".php?del="+knr;
	}else{
		return false;
	}
}

function confDelFromGroup(location, txt){
	if(confirm(txt)){
		window.location = location;
	}else{
		return false;
	}
}

function validate(){
	x=document.formzoek;
	if (x.srchstr.value == ''){
		alert("Geen zoekterm ingevuld");
		return false;
	}
}

function changeFrameHeight(id){
	if (!window.opera && document.all && document.getElementById){
		parent.document.getElementById(id).style.height = this.document.body.offsetHeight+"px";
	}
	else if(document.getElementById) {
		parent.document.getElementById(id).style.height = this.document.body.scrollHeight+"px";
	}
}

function explodeArray(item,delimiter) {
	if(item.length == 0){
		return Array();
	}
	tempArray = new Array(1);
	var Count = 0;
	var tempString = new String(item);

	while(tempString.indexOf(delimiter) > 0) {
    	tempArray[Count] = tempString.substr(0,tempString.indexOf(delimiter));	
	    tempString = tempString.substr(tempString.indexOf(delimiter)+1,tempString.length-tempString.indexOf(delimiter)+1); 
    	Count = Count+1;
	}

	tempArray[Count]=tempString;
	return tempArray;
}

// this piece of code is for debugging purposes
var message 	= 'Het formulier bevat de volgende elementen: \r\n\r\n';

function addFormElm(i, string){
		message += (i+1) + ' - '+string+'\r\n'
}

function printFormElements(){
	alert(message);
}

function showFormElements(form){
	if (message !== 'Het formulier bevat de volgende elementen: \r\n\r\n') message = 'Het formulier bevat de volgende elementen: \r\n\r\n';
	var form = document.getElementById(form);
	var len = form.length;
	var elm = form.elements;
	for (i=0; i < len; i++){
	  addFormElm(i, 'elmId = ' + elm[i].id + ', elmName = ' + elm[i].name + ', elmType = ' + elm[i].type + ', elmValue = ' + elm[i].value);
	}
	printFormElements();
}
// end debugging

var errorMessage 	= 'De volgende problemen hebben zich voorgedaan met betrekking tot de invulling van het formulier: \r\n';
var passed 			= true;

function lengthCheck(elementName, length){
	if(document.getElementById(elementName).value.length < length){
		return false;
	}else{
		return true;
	}
}

function isEmail (s)
{   if (isEmpty(s)) 
       if (isEmail.arguments.length == 1) return defaultEmptyOK;
       else return (isEmail.arguments[1] == true);
   
    if (isWhitespace(s)) return false;
    
    var i = 1;
    var sLength = s.length;

    while ((i < sLength) && (s.charAt(i) != "@"))
    { i++;
    }

    if ((i >= sLength) || (s.charAt(i) != "@")) return false;
    else i += 2;

    while ((i < sLength) && (s.charAt(i) != "."))
    { i++;
    }

    if ((i >= sLength - 1) || (s.charAt(i) != ".")) return false;
    else return true;
}

function addError(string){
	if(passed)
		passed = false;
		errorMessage += '- '+string+'\r\n'
}

function printError(){
	alert(errorMessage);
	errorMessage = 'De volgende problemen hebben zich voorgedaan met betrekking tot de invulling van het formulier: \r\n';
	passed = true;
}

// check multiple value for same name and add to alertmessage
// this is used for radiobuttons or selectbox
function checkMultipleName(elementName){
	//alert('current element : ' + elementName);
	retVar = false;
	var txt = document.getElementById(elementName + 'Required');
	for(y = 0; y < document.getElementsByName(elementName).length; y++){
		if(document.getElementsByName(elementName)[y].checked  || document.getElementsByName(elementName)[y].selectedIndex > 0){
			retVar = true;
		}
	}
	if (retVar == false){
		addError('Maak s.v.p. een keuze bij \'' + document.getElementById(elementName + 'Text').innerHTML + '\'');
		//txt.innerHTML = '**';
		txt.className = 'inputFalse';
	}else{
		txt.className = 'inputTrue';
	}
	return retVar;
}

function validateForm(formName){
	
	switch(formName){
		case 'formActionContact':
			if(!lengthCheck('lastname',1)){
				addError('Achternaam is niet correct ingevuld');
				document.getElementById('lastnameRequired').className = 'inputFalse';
			}else{
				document.getElementById('lastnameRequired').className = 'inputTrue';
			}
			if(!lengthCheck('initials',1)){
				addError('Voorletters is niet correct ingevuld');
				document.getElementById('initialsRequired').className = 'inputFalse';
			}else{
				document.getElementById('initialsRequired').className = 'inputTrue'
			}	
			if(!lengthCheck('telnr',10)){
				addError('Het telefoonnummer is niet correct ingevuld');
				document.getElementById('telnrRequired').className = 'inputFalse';
			}else{
				document.getElementById('telnrRequired').className = 'inputTrue'
			}			
			if(!isEmail(document.getElementById('email').value) || !lengthCheck('email',4)){
				addError('Het emailadres is niet correct ingevuld');
				document.getElementById('emailRequired').className = 'inputFalse';
			}else{
				document.getElementById('emailRequired').className = 'inputTrue'
			}
			break;

		case 'formActionContactNew':
			checkMultipleName ('gender')
			if(!lengthCheck('lastname',1)){
				addError('Achternaam is niet correct ingevuld');
				document.getElementById('lastnameRequired').className = 'inputFalse';
			}else{
				document.getElementById('lastnameRequired').className = 'inputTrue';
			}
			if(!lengthCheck('initials',1)){
				addError('Voorletters is niet correct ingevuld');
				document.getElementById('initialsRequired').className = 'inputFalse';
			}else{
				document.getElementById('initialsRequired').className = 'inputTrue'
			}	
			if(!lengthCheck('telnr',10)){
				addError('Het telefoonnummer is niet correct ingevuld');
				document.getElementById('telnrRequired').className = 'inputFalse';
			}else{
				document.getElementById('telnrRequired').className = 'inputTrue'
			}			
			if(!isEmail(document.getElementById('email').value) || !lengthCheck('email',4)){
				addError('Het emailadres is niet correct ingevuld');
				document.getElementById('emailRequired').className = 'inputFalse';
			}else{
				document.getElementById('emailRequired').className = 'inputTrue'
			}
			
			break;

		case 'formAutoScanBanner':
			if(!lengthCheck('kenteken1',2) || !lengthCheck('kenteken2',2) || !lengthCheck('kenteken3',2)){
				addError('Kenteken is niet of onvolledig ingevuld');
			}	
			if(!isEmail(document.getElementById('email').value) || !lengthCheck('email',4)){
				addError('Uw emailadres is niet correct ingevuld');
			}
			break;
	}

	if(passed){		
		document.getElementById(formName).submit();
		return true;
	}else{
		printError();
		return false;
	}
}