/*
	Form validation functions
*/

function isEmpty(s)
{   return ((s == null) || (s.length == 0));
}

// whitespace characters
var whitespace = " \t\n\r";
function isWhitespace (s)

{   var i;

    // Is s empty?
    if (isEmpty(s)) return true;

    // Search through string's characters one by one
    // until we find a non-whitespace character.
    // When we do, return false; if we don't, return true.

    for (i = 0; i < s.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);

        if (whitespace.indexOf(c) == -1) return false;
    }

    // All characters are whitespace.
    return true;
}

// 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){
	passed = false;
	errorMessage += '- '+string+'\r\n'
}

function printError(){
	alert(errorMessage);
	passed = true;
}

function confirmMessage(){
	confirm(errorMessage);
	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;
	}
}

var defaultEmptyOK = false;
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 validateForm(formName){
	switch(formName){
		case 'contact':
			if(!lengthCheck('lastname',1)){
				addError('U heeft geen naam ingevuld.');
				document.getElementById('lastname').className = 'formElementsError';
			}else{
				document.getElementById('lastname').className = 'formElements';
			}
			if(!lengthCheck('telnr',1)){
				addError('U heeft geen telefoonnummer ingevuld.');
				document.getElementById('telnr').className = 'formElementsError';
			}else{
				document.getElementById('telnr').className = 'formElements';
			}
			if(!isEmail(document.getElementById('email').value)){
				addError('Het e-mail adres is niet in het correct formaat.');
				document.getElementById('email').className = 'formElementsError';
			}else{
				document.getElementById('email').className = 'formElements';
			}
			if(!lengthCheck('question',1)){
				addError('U heeft geen vraag ingevuld.');
				document.getElementById('question').className = 'formElementsError';
			}else{
				document.getElementById('question').className = 'formElements';
			}
	}
	if(passed){						
		document.getElementById(formName).submit();
		return true;
	}else{
		printError();
		return false;
		placeFocus();
	}
}