
$(document).ready(function()
{
	jQuery('ul#headerimg').innerfade({ 
		speed: 1000,
		timeout: 5000,
		type: 'sequence',
		containerheight: '280px'
	}); 
	
});

// file: etc/js/formCheck.js

/*
	Form validation functions
*/

function evalLength(objectId,length,nextObjectId){
	if(document.getElementById(objectId).value.length >= length){
		document.getElementById(nextObjectId).focus();
	}
}

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 upperCase(input){
	input.value = input.value.toUpperCase();
}

// determine length of input value
function lengthCheck(elementName, length){
	if(document.getElementById(elementName).value.length < length){
		document.getElementById(elementName).className += ' inputFalse';
		return false;
	}else{
		document.getElementById(elementName).className += ' inputTrue';
		return true;
	}
}


// fix PostCode
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;
}
// check PostCode validity
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('zipCodeRequired').innerHTML = '**';
		document.getElementById('postalcode').className += ' inputFalse';
		return false;
	}else{
		document.getElementById('postalcode').className += ' inputTrue';
		return 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 checkTextInput(elementName, num){
	//alert('current element : ' + elementName);
	retVar = false;
	var element = document.getElementById(elementName);
	if(elementName !== 'number' && elementName !== 'numberFriend' && elementName !== 'city' && elementName !== 'cityFriend' && elementName !== 'modifyNumber' && elementName !== 'modifyCity'){
		var txt = document.getElementById(elementName + 'Required');
	}
	if(lengthCheck(elementName, num) == false){
		addError('\'' + document.getElementById(elementName + 'Text').innerHTML + '\' is niet correct ingevuld');
		if(elementName !== 'number' && elementName !== 'numberFriend' && elementName !== 'city' && elementName !== 'cityFriend' && elementName !== 'modifyNumber' && elementName !== 'modifyCity' && elementName !== 'risicoNumber' && elementName !== 'risicoCity'){
			//document.getElementById(elementName + 'Required').innerHTML = '**';
			document.getElementById(elementName + 'Required').className = 'inputFalse';
		}
		retVar = false;
	}else{
		if(elementName !== 'number' && elementName !== 'numberFriend' && elementName !== 'city' && elementName !== 'cityFriend' && elementName !== 'modifyNumber' && elementName !== 'modifyCity' && elementName !== 'risicoNumber' && elementName !== 'risicoCity'){
			document.getElementById(elementName + 'Required').className = 'inputTrue';
		}
		retVar = true;
	}
	return retVar;
}

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 getRadioValueNew(radioObj) {
	var radioOps = document.getElementsByName(radioObj);
	var radioLen = radioOps.length;
	for(var i = 0; i < radioLen; i++) {
		if(radioOps[i].checked) {
			return radioOps[i].value;
		}
	}
	return "";
}

function lengthCheck(elementName, length){
	if(document.getElementById(elementName).value.length < length){
		return false;
	}else{
		return 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);
	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;
}

/////////////////////////////////////////////////////////////////

// Global variables
var errorMessage 	= 'De volgende problemen hebben zich voorgedaan met betrekking tot de invulling van het formulier: \r\n';
var passed 			= true;

// add to errorstring
function addError(string){
	if(passed)
		passed = false;
		errorMessage += '- '+string+'\n'
}

// show errors
function printError(){
	alert(errorMessage);
	errorMessage = 'De volgende problemen hebben zich voorgedaan met betrekking tot de invulling van het formulier: \r\n';
	passed = true;
}

// some other default functions
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 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 evalLength(objectId,length,nextObjectId){

	if(document.getElementById(objectId).value.length >= length){

		document.getElementById(nextObjectId).focus();

	}

}

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;

}

// 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

function validateForm(formName){
	
	switch(formName){ // newsletter
		case 'contactform':
			// check name	
			if(!lengthCheck('naam',2)){
				addError('Vul s.v.p. uw naam in.');
				document.getElementById('naam').className='error';
			}else{
				document.getElementById('naam').className='text';
			}	
			// check email
			if(!lengthCheck('email',2)){
				addError('Vul s.v.p. een emailadres in.');
				document.getElementById('email').className='error';
			}else{
				if((isEmail(document.getElementById('email').value)) == false){
					addError('Het emailadres dat u invulde is geen correct adres.');
					document.getElementById('email').className='error';
				}else{
					document.getElementById('email').className='text';
				}
			}	
			// check telefoon	
			if(!lengthCheck('phone',2)){
				addError('Vul s.v.p. een telefoonnummer in.');
				document.getElementById('phone').className='error';
			}else{
				document.getElementById('phone').className='text';
			}		
		break;
		case 'newsletter':
			// check email
			if(!lengthCheck('newsletteremail',2) || (document.getElementById('newsletteremail').value == 'E-mailadres')){
				addError('Vul s.v.p. een emailadres in.');
				document.getElementById('newsletteremail').addClass('error');
			}else{
				document.getElementById('newsletteremail').removeClass('error');
			}	
		break;
	}
	
	//alert(passed);
	if(passed){		
		return true;
	}else{
		printError();
		return false;
	}
}

