// 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 evalLength(objectId,length,nextObjectId){
	if(document.getElementById(objectId).value.length >= length){
		document.getElementById(nextObjectId).focus();
	}
}

function validate(){
	x=document.formzoek;
	if (x.srchstr.value == ''){
		alert("Geen zoekterm ingevuld");
		return false;
	}
}

function in_array(the_needle, the_haystack){
	var the_hay = the_haystack.toString();
	if(the_hay == ''){
		return false;
	}
	var the_pattern = new RegExp(the_needle, 'g');
	var matched = the_pattern.test(the_haystack);
	return matched;
}

function changeFrameHeight(iFrame){
	document.getElementById(iFrame).height = document.getElementById(iFrame).document.body.scrollHeight + 185;
}

/*
	Form validation functions
*/

// Global variables
var errorMessage 	= 'De volgende problemen hebben zich voorgedaan met betrekking tot de invulling van het formulier: \r\n';
var passed 			= 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;
}

function fixPostcode(postCode,objectName){
	if(postCode.length < 7){
		td = postCode.substr(0,4);
		if(postCode.length == 6){
			td += ' ';
			td += postCode.substr(4,2).toUpperCase();
		}				
	}

	if(postCode.length == 7){
		td = postCode.substr(0,5);
		td += postCode.substr(5,2).toUpperCase();
	}
	document.getElementById(objectName).value = td;
}

function lengthCheck(elementName, length){
	if(document.getElementById(elementName).value.length < length){
		return false;
	}else{
		return true;
	}
}

function checkPostalCode(textBox){	
	success = true;
	if(lengthCheck(textBox,7)){
		if(!isInteger(document.getElementById(textBox).value.substr(0, 4))){
			success = false;
		}
		
		if(!isAlphabetic(document.getElementById(textBox).value.substr(5, 2))){
			success = false;
		}
		
		if(document.getElementById(textBox).value.substr(4,1) != ' '){
			success = false;
		}
		
	}else{
			success = false;
	}
	if(!success){
		document.getElementById(textBox).className = 'inputError';
		return false;
	}else{
		document.getElementById(textBox).className = 'formElements';
		return true;
	}
}

function checkMultiple(elementName){
	retVar = false;
	for(y = 0; y < document.getElementsByName(elementName).length; y++){
		if(document.getElementsByName(elementName)[y].checked){
			retVar = true;
		}
	}
	return retVar;
}

function ucFirst(str){
	if(str.length > 0){
		first = str.substr(0,1).toUpperCase();
		return first + str.substr(1,str.length-1);
	}else{
		return str.toUpperCase();
	}
}

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 isWebsite (string){
	if (isWhitespace(string)) return false;
	if (string.substr(0,7) == 'http://'){
		return true;
	}else{
		return false;
	}
}

function getRadioValue(radioObj) {
	if(!radioObj)
		return "";
	var radioLength = radioObj.length;
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}

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;
}

function validateForm(formName){
	switch(formName){
		case 'formContact':
			if(!lengthCheck('initials',1)){
				addError('Voorletters is niet correct ingevuld');
				document.getElementById('initials').className = 'inputError';
			}else{
				document.getElementById('initials').className = 'formElements';
			}
			if(!lengthCheck('lastName',1)){
				addError('Achternaam is niet correct ingevuld');
				document.getElementById('lastName').className = 'inputError';
			}else{
				document.getElementById('lastName').className = 'formElements';
			}
			if(!lengthCheck('street',1)){
				addError('Adres is niet correct ingevuld');
				document.getElementById('street').className = 'inputError';
			}else{
				document.getElementById('street').className = 'formElements';
			}
			if(!lengthCheck('number',1)){
				addError('Huisnummer is niet correct ingevuld');
				document.getElementById('number').className = 'inputError';
			}else{
				document.getElementById('number').className = 'formElements';
			}
			if(!checkPostalCode('zipCode')){
				addError('Postcode is niet correct ingevuld');
				document.getElementById('zipCode').className = 'inputError';
			}else{
				document.getElementById('zipCode').className = 'formElements';
			}	
			if(!lengthCheck('city',1)){
				addError('Plaats is niet correct ingevuld');
				document.getElementById('city').className = 'inputError';
			}else{
				document.getElementById('city').className = 'formElements';
			}	
			if(!lengthCheck('telNr',10)){
				addError('Het telefoonnummer is niet correct ingevuld');
				document.getElementById('telNr').className = 'inputError';
			}else{
				document.getElementById('telNr').className = 'formElements';
			}			
			if(!isEmail(document.getElementById('email').value) || !lengthCheck('email',4)){
				addError('Het email adres is niet correct ingevuld');
				document.getElementById('email').className = 'inputError';
			}else{
				document.getElementById('email').className = 'formElements';
			}
			if(!lengthCheck('question',3)){
				addError('U heeft geen vraag ingevuld');
				document.getElementById('question').className = 'inputErrorArea';
			}else{
				document.getElementById('question').className = 'formElementsArea';
			}	
			break;
		case 'formModifyInsurance':
			if(!lengthCheck('initials',1)){
				addError('Voorletters is niet correct ingevuld');
				document.getElementById('initials').className = 'inputError';
			}else{
				document.getElementById('initials').className = 'formElements';
			}
			if(!lengthCheck('lastName',1)){
				addError('Achternaam is niet correct ingevuld');
				document.getElementById('lastName').className = 'inputError';
			}else{
				document.getElementById('lastName').className = 'formElements';
			}
			if(!lengthCheck('street',1)){
				addError('Adres is niet correct ingevuld');
				document.getElementById('street').className = 'inputError';
			}else{
				document.getElementById('street').className = 'formElements';
			}
			if(!lengthCheck('number',1)){
				addError('Huisnummer is niet correct ingevuld');
				document.getElementById('number').className = 'inputError';
			}else{
				document.getElementById('number').className = 'formElements';
			}
			if(!checkPostalCode('zipCode')){
				addError('Postcode is niet correct ingevuld');
				document.getElementById('zipCode').className = 'inputError';
			}else{
				document.getElementById('zipCode').className = 'formElements';
			}	
			if(!lengthCheck('city',1)){
				addError('Plaats is niet correct ingevuld');
				document.getElementById('city').className = 'inputError';
			}else{
				document.getElementById('city').className = 'formElements';
			}	
			if(!lengthCheck('telNr',10)){
				addError('Het telefoonnummer is niet correct ingevuld');
				document.getElementById('telNr').className = 'inputError';
			}else{
				document.getElementById('telNr').className = 'formElements';
			}			
			if(!isEmail(document.getElementById('email').value) || !lengthCheck('email',4)){
				addError('Het email adres is niet correct ingevuld');
				document.getElementById('email').className = 'inputError';
			}else{
				document.getElementById('email').className = 'formElements';
			}
			if(!lengthCheck('polisnummer',1)){
				addError('Het polisnummer is niet correct ingevuld');
				document.getElementById('polisnummer').className = 'inputError';
			}else{
				document.getElementById('polisnummer').className = 'formElements';
			}
			if(!lengthCheck('shortModify',1)){
				addError('De omschrijving van de wijziging is niet correct ingevuld');
				document.getElementById('shortModify').className = 'inputError';
			}else{
				document.getElementById('shortModify').className = 'formElements';
			}	
			break;
		case 'formSchade':
			if(!lengthCheck('initials',1)){
				addError('Voorletters is niet correct ingevuld');
				document.getElementById('initials').className = 'inputError';
			}else{
				document.getElementById('initials').className = 'formElements';
			}
			if(!lengthCheck('lastName',1)){
				addError('Achternaam is niet correct ingevuld');
				document.getElementById('lastName').className = 'inputError';
			}else{
				document.getElementById('lastName').className = 'formElements';
			}
			if(!lengthCheck('street',1)){
				addError('Adres is niet correct ingevuld');
				document.getElementById('street').className = 'inputError';
			}else{
				document.getElementById('street').className = 'formElements';
			}
			if(!lengthCheck('number',1)){
				addError('Huisnummer is niet correct ingevuld');
				document.getElementById('number').className = 'inputError';
			}else{
				document.getElementById('number').className = 'formElements';
			}
			if(!checkPostalCode('zipCode')){
				addError('Postcode is niet correct ingevuld');
				document.getElementById('zipCode').className = 'inputError';
			}else{
				document.getElementById('zipCode').className = 'formElements';
			}	
			if(!lengthCheck('city',1)){
				addError('Plaats is niet correct ingevuld');
				document.getElementById('city').className = 'inputError';
			}else{
				document.getElementById('city').className = 'formElements';
			}	
			if(!lengthCheck('telNr',10)){
				addError('Het telefoonnummer is niet correct ingevuld');
				document.getElementById('telNr').className = 'inputError';
			}else{
				document.getElementById('telNr').className = 'formElements';
			}			
			if(!isEmail(document.getElementById('email').value) || !lengthCheck('email',4)){
				addError('Het email adres is niet correct ingevuld');
				document.getElementById('email').className = 'inputError';
			}else{
				document.getElementById('email').className = 'formElements';
			}
			if(!lengthCheck('schadedatum',10)){
				addError('De datum wijziging is niet correct ingevuld');
				document.getElementById('schadedatum').className = 'inputError';
			}else{
				document.getElementById('schadedatum').className = 'formElements';
			}
			if(!lengthCheck('polisnummer',1)){
				addError('Het polisnummer is niet correct ingevuld');
				document.getElementById('polisnummer').className = 'inputError';
			}else{
				document.getElementById('polisnummer').className = 'formElements';
			}
			if(!lengthCheck('shortSchade',1)){
				addError('De omschrijving van de schade is niet correct ingevuld');
				document.getElementById('shortSchade').className = 'inputError';
			}else{
				document.getElementById('shortSchade').className = 'formElements';
			}
			if(!lengthCheck('schadeBedrag',1)){
				addError('De indicatie van het schadebedrag is niet correct ingevuld');
				document.getElementById('schadeBedrag').className = 'inputError';
			}else{
				document.getElementById('schadeBedrag').className = 'formElements';
			}
			break;
		case 'formModifyAddress':
			if(!lengthCheck('initials',1)){
				addError('Voorletters is niet correct ingevuld');
				document.getElementById('initials').className = 'inputError';
			}else{
				document.getElementById('initials').className = 'formElements';
			}
			if(!lengthCheck('lastName',1)){
				addError('Achternaam is niet correct ingevuld');
				document.getElementById('lastName').className = 'inputError';
			}else{
				document.getElementById('lastName').className = 'formElements';
			}
			if(!lengthCheck('street',1)){
				addError('Adres is niet correct ingevuld');
				document.getElementById('street').className = 'inputError';
			}else{
				document.getElementById('street').className = 'formElements';
			}
			if(!lengthCheck('number',1)){
				addError('Huisnummer is niet correct ingevuld');
				document.getElementById('number').className = 'inputError';
			}else{
				document.getElementById('number').className = 'formElements';
			}
			if(!checkPostalCode('zipCode')){
				addError('Postcode is niet correct ingevuld');
				document.getElementById('zipCode').className = 'inputError';
			}else{
				document.getElementById('zipCode').className = 'formElements';
			}	
			if(!lengthCheck('city',1)){
				addError('Plaats is niet correct ingevuld');
				document.getElementById('city').className = 'inputError';
			}else{
				document.getElementById('city').className = 'formElements';
			}	
			if(!lengthCheck('telNr',10)){
				addError('Het telefoonnummer is niet correct ingevuld');
				document.getElementById('telNr').className = 'inputError';
			}else{
				document.getElementById('telNr').className = 'formElements';
			}			
			if(!isEmail(document.getElementById('email').value) || !lengthCheck('email',4)){
				addError('Het email adres is niet correct ingevuld');
				document.getElementById('email').className = 'inputError';
			}else{
				document.getElementById('email').className = 'formElements';
			}
			if(!lengthCheck('modifyStreet',1)){
				addError('De nieuwe straat is niet correct ingevuld');
				document.getElementById('modifyStreet').className = 'inputError';
			}else{
				document.getElementById('modifyStreet').className = 'formElements';
			}
			if(!lengthCheck('modifyNumber',1)){
				addError('Het nieuwe huisnummer is niet correct ingevuld');
				document.getElementById('modifyNumber').className = 'inputError';
			}else{
				document.getElementById('modifyNumber').className = 'formElements';
			}
			if(!checkPostalCode('modifyZipCode')){
				addError('De nieuwe postcode is niet correct ingevuld');
				document.getElementById('modifyZipCode').className = 'inputError';
			}else{
				document.getElementById('modifyZipCode').className = 'formElements';
			}
			if(!lengthCheck('modifyCity',1)){
				addError('De nieuwe plaatsnaam is niet correct ingevuld');
				document.getElementById('modifyCity').className = 'inputError';
			}else{
				document.getElementById('modifyCity').className = 'formElements';
			}
			if(!lengthCheck('modifyTelNr',10)){
				addError('Het nieuwe telefoonnummer is niet correct ingevuld');
				document.getElementById('modifyTelNr').className = 'inputError';
			}else{
				document.getElementById('modifyTelNr').className = 'formElements';
			}
			break;
	}

	if(passed){		
		document.getElementById(formName).submit();
		return true;
	}else{
		printError();
		return false;
	}
}