//==========================================================================================
//
//						FORM VALIDATION
//
//==========================================================================================


var pictures = new Array("/images/forms/exclamation.png", "/images/forms/tick.png");

function checkVal (id) {
	var value = document.contactform.elements[id].value;
	var pic_id = "pic_" + id;

	if (value == "") {
		document.images[pic_id].src = pictures[0];
		return false;
	}
	else {
		if (id == "email" || id == "fr_email") {
			var check = echeck(value);
			if (check == false) {
				document.images[pic_id].src = pictures[0];
				return false;
			}
		}
		document.images[pic_id].src = pictures[1];
		return "";
	}
}

function testAll () {
	var inputIds = new Array('fname', 'name', 'email', 'fr_fname', 'fr_name', 'fr_email');
	var fout = "";
	for (var i = 0; i < inputIds.length; i++) {
		fout = fout + checkVal(inputIds[i]);
	}
	
	if (fout == "") {
		return true;
	}
	else {
		alert("Please fill in all the required fields.");		
		return false;
	}
}


function testInfo() {
	var inputIds = new Array('fname', 'name', 'email', 'phone'); //, 'street', 'nr', 'postcode', 'city', 'country');
	var fout = "";
	for (var i = 0; i < inputIds.length; i++) {
		fout = fout + checkVal(inputIds[i]);
	}
	
	if (fout == "") {
		return true;
	}
	else {
		alert("Please fill in all the required fields.");		
		return false;
	}
}


function echeck(str) {
	var at="@";
	var dot=".";
	var lat=str.indexOf(at);
	var lstr=str.length;
	var ldot=str.indexOf(dot);
	
	if (str.indexOf(at)==-1){
	   return false;
	}

	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
	   return false;
	}

	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		return false;
	}

	 if (str.indexOf(at,(lat+1))!=-1){
		return false;
	 }

	 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		return false;
	 }

	 if (str.indexOf(dot,(lat+2))==-1){
		return false;
	 }
	
	 if (str.indexOf(" ")!=-1){
		return false;
	 }

	 return true;			
}
