var bgc = "#F4ECD0"; //background error color
var df = "#FFFFFF"; //default bgcolor

//Login Form
function FormLoginCheck() {
	var frm, memEmail, memPassword, validateFields, arrLen, i, t, fld, tfld;
	frm = document.forms["FormLogin"];
	memEmail = frm.elements["memEmail"];
	memPassword = frm.elements["memPassword"];
	validateFields=new Array('memEmail','memPassword');
	arrLen = validateFields.length;
	
	for(i=0; i < arrLen; i++) 
	{
		fld = validateFields[i];
		if (frm.elements[fld].value == "") 
		{ 
		frm.elements[fld].style.background=bgc;
		document.getElementById("fel"+i).innerHTML="Required";
		} 
		else 
		{ 
		frm.elements[fld].style.background=df; 
		document.getElementById("fel"+i).innerHTML="";
		}
	}	
	
	//focus set
	for (t=arrLen-1; t >= 0; t--) {
		tfld = validateFields[t];
		if (frm.elements[tfld].value == "") 
		{ frm.elements[tfld].focus() }
	}

	if (memEmail.value != "" && memPassword.value != "")  {
		//All good submit
		return true;
	}
	return false;
};



//Signup Form
function FormAccountSignUpCheck() {
	var frm, memEmail, ConfirmEmail, memPassword, ConfirmPassword, memFName, memLName, arrLen, validateFields, fld, i, t, tfld;
	
	frm = document.forms["FormAccountSignUp"];	
	memEmail = frm.elements["memEmail"]; 
	memPassword = frm.elements["memPassword"];
	ConfirmEmail = frm.elements["ConfirmEmail"]; 
	ConfirmPassword = frm.elements["ConfirmPassword"];
	memFName = frm.elements["memFName"]; 
	memLName = frm.elements["memLName"];
	validateFields=new Array('memFName','memLName','memEmail', 'ConfirmEmail', 'memPhone','memPassword','ConfirmPassword');
	arrLen = validateFields.length;
	
	for(i=0; i < arrLen; i++) 
	{
		fld = validateFields[i];
		if (frm.elements[fld].value == "") 
		{ 
		frm.elements[fld].style.background=bgc;
		document.getElementById("fels"+i).innerHTML="Required";
		} 
		else 
		{ 
		frm.elements[fld].style.background=df; 
		document.getElementById("fels"+i).innerHTML="";
		}
	}	
	
	//focus set
	for (t=arrLen-1; t >= 0; t--) {
		tfld = validateFields[t];
		if (frm.elements[tfld].value == "") { frm.elements[tfld].focus() }
	}
	
	if (! /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(memEmail.value) && memEmail.value != "")  {
		memEmail.style.background=bgc;
		memEmail.value = "Invalid Email Format";
		memEmail.focus();
		return false;
		}	
	if (! /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(ConfirmEmail.value) && ConfirmEmail.value != "")  {
		ConfirmEmail.style.background=bgc;
		ConfirmEmail.value = "Invalid Email Format";
		ConfirmEmail.focus();
		return false;
		}	
	if ((ConfirmEmail.value != memEmail.value) && ConfirmEmail.value != "" && memEmail.value != "") {
		memEmail.style.background=bgc;
		ConfirmEmail.style.background=bgc;
		ConfirmEmail.value = "Emails don't match";
		return false;
	}
	
	if ((ConfirmPassword.value != memPassword.value) && ConfirmPassword.value != "" && memPassword.value != "") {
		memPassword.style.background=bgc;
		ConfirmPassword.style.background=bgc;
		alert("Passwords don't match");
		memPassword.value="";
		ConfirmPassword.value="";
		memPassword.focus();
		return false;
	}
	
	//Final Check through all
	if (memEmail.value != "" && ConfirmEmail.value != "" && ConfirmPassword.value != "" && memPassword.value != "" && memFName.value != "" && memLName.value != "") 					
	{
		//All good submit
		return true;
	} else {
		return false;
	}
	return false;
};


function FormAccountProceedCheck() {
	var frm, invFName, invLName, invEmail, validateFields, arrLen, i, t, fld, tfld;
	
	///Passenger Form
	frm = document.forms["FormAccountProceed"];	
	invFName = frm.elements["invFName"]; 
	invLName = frm.elements["invLName"];
	invEmail = frm.elements["invEmail"];
	validateFields=new Array('invFName','invLName','invEmail');
	arrLen = validateFields.length;
	
	for(i=0; i < arrLen; i++)  
	{
		fld = validateFields[i];
		if (frm.elements[fld].value == "") 
		{ 
		frm.elements[fld].style.background=bgc;
		document.getElementById("felx"+i).innerHTML="Required";
		} 
		else 
		{ 
		frm.elements[fld].style.background=df; 
		document.getElementById("felx"+i).innerHTML="";
		}
	}
	
	//focus set
	for (t=arrLen-1; t >= 0; t--) {
		tfld = validateFields[t];
		if (frm.elements[tfld].value == "") { frm.elements[tfld].focus() }
	}
	
	if (! /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(invEmail.value) && invEmail.value != "")  {
		invEmail.style.background=bgc;
		invEmail.value = "Invalid Email Format";
		invEmail.focus();
		return false;
		}
	
	if (invFName.value != "" && invLName.value != "" && invEmail.value != "") 					
	{
		//All good submit
		return true;
	} else {
		return false;
	}
	return false;
};

function FormForgottenPassword() {
	var frm, memUserName, memEmail, validateFields, arrLen, i, fld, t, tfld;
	
	frm = document.forms["FormForgotten"];	
	memUserName = frm.elements["memUserName"];
	memEmail = frm.elements["memEmail"];

	if (memUserName.value == "" && memEmail.value == "")  {
		memUserName.style.background=bgc;
		memUserName.focus();
		return false;
	}
	
	if (! /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(memEmail.value) && memEmail.value != "")  {
		memEmail.style.background=bgc;
		memEmail.value = "Invalid Email Format";
		memEmail.focus();
		return false;
	}

	if (memUserName.value != "" || memEmail.value != "")  {
		//One or more send
		return true;
	}
	return false;
};


function FormTripSelectCheck(form)
{
	var frm, validateFields, arrLen, pass;
	frm = form;
	validateFields=new Array('StartNode','EndNode','TravelDate');
	arrLen = validateFields.length;
	pass=0; 
	
	for(i=0; i < arrLen; i++)  
	{
		var fld = frm.elements[validateFields[i]];
		if (fld.value == 0 || fld.value == "Select Travel Date" || fld.value == "") 
		{ 
			fld.style.background=bgc;
		} else {
			fld.style.background=df;
			pass++;
		}
		if (pass == arrLen)
		{
			return true;
		}
	}
	return false;
}


function FormTripSelectTodayCheck(form)
{
	var frm, validateFields, arrLen, pass;
	frm = form;
	validateFields=new Array('StartNode','EndNode');
	arrLen = validateFields.length;
	pass=0; 
	
	for(i=0; i < arrLen; i++)  
	{
		var fld = frm.elements[validateFields[i]];
		if (fld.value == 0) 
		{ 
			fld.style.background=bgc;
		} else {
			fld.style.background=df;
			pass++;
		}
		if (pass == arrLen)
		{
			return true;
		}
	}
	return false;
}


function FormContestEntry(form)
{
	var frm, i, t, validateFields, arrLen, pass;
	frm = form;
	validateFields=new Array('ContestAnswer','FName','LName','Phone','Email','codeMatch');
	arrLen = validateFields.length;
	pass=0; 
	
	for(i=0; i < arrLen; i++)  
	{
		
		var fld = frm.elements[validateFields[i]];
		if (fld.value == "") 
		{ 
			fld.style.background=bgc;
		} else {
			fld.style.background=df;
			pass++;
			
			//Specific Checks
			if (! /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(frm.elements["Email"].value) && frm.elements["Email"].value != "" && frm.elements["Email"].value != "Invalid Email Format") 
			{
				frm.elements["Email"].style.color = "red";
				frm.elements["Email"].value = "Invalid Email Format";
				pass--;
			}
			
			if (frm.elements["codeMatch"].value.length < 6 && frm.elements["codeMatch"].value != "") 
			{
				frm.elements["codeMatch"].style.color = "red";
				frm.elements["codeMatch"].value = "";
				pass--;
			} 
			
		}
		if (pass == arrLen)
		{
			return true;
		}
	}
	
	//focus set
	for (t=arrLen-1; t >= 0; t--) 
	{
		tfld = frm.elements[validateFields[t]];
		if (tfld.value == "") { tfld.focus(); }
	}
	
	return false;
}