// JavaScript Document

var bType=window.navigator.appName;
var green="#E9F7E6";
var red="#FFBFBF";
var changed = false;
var boxName = new Array("payroll","hr","payCharge","expenses","flexible_benefits","hosted");


function readyChange()
	{
		for(a=0;a<document.forms[0].elements.length;a++)
     		{
     			document.forms[0].elements[a].onchange = showChange;
			}
   	}
 
function showChange(e)
	{
		if(bType=="Netscape")
			{
				var fred=e.target.id;
			}
		else
			{
				var fred=event.srcElement.id;
			}
		document.getElementById(fred).style.backgroundColor = green;
		changed = true;
	}



//Validating the phone number entered.
function validTel(telephone)
	{
		var phone = document.forms[0].elements["telephone"];
		var telVal = phone.value;		
		
		if(telVal=="")
			{
				//phone.style.background="#F5F5F5";
				return false;
			}
		else if(isNaN(parseInt(telVal)))
			{
				phone.style.background=red;
				alert("Invalid character(s) found.\nPlease include only numerical values.");
				document.forms[0].elements["telephone"].focus();
				document.forms[0].elements["telephone"].select();
				return false;
			}
	}
	
//Validating the name entered.
function validName()
	{
		var name = document.forms[0].elements["name"];
		var nameVal = name.value;
		var invalidChars = "0123456789!£$%^*()/-+";
		
		
		if(nameVal=="")
			{
				return false;
			}
		else
			{
			for(b=0;b<invalidChars.length;b++)
				{
					var badChar = invalidChars.charAt(b);
					
						if(nameVal.indexOf(badChar,0)>-1)
							{
								name.style.background=red;
								alert("Invalid character(s) found.\nPlease do not include any of the characters below:\n\n 0 1 2 3 4 5 6 7 8 9 ! £ $ % ^ * ( ) / - +");
								document.forms[0].elements["name"].focus();
								document.forms[0].elements["name"].select();
								return false;
							}
				}
			}
	}

//Validating the email address entered.
function validEmail(emailAddr)
	{
		var email = document.forms[0].elements["emailAddr"];
		var emailval = email.value;
		var invalidChars = " /:,;";
		
		if(emailval=="")
			{
				return false;
			}
		else
			{
			for(i=0;i<invalidChars.length;i++)
				{
					var badChar = invalidChars.charAt(i);
					
						if(emailval.indexOf(badChar,0)>-1)
							{
								email.style.background=red;
								alert("Invalid character(s) found. Please do not include: \n / : , ; or spaces.");								
								email.focus();
								email.select();
								return false;
							}
				}
			
		var atPos = emailval.indexOf("@",1);
		
			if(atPos == -1)
				{
					email.style.background=red;
					alert("Invalid email address.\nPlease use the following examples as a guide:\n name@email.co.uk or\n name@email.com")/*\nPlease include an @ sign.")*/;
					email.focus();
					email.select();
					return false;
				}
			
			if(emailval.indexOf("@",atPos+1) != -1)
				{
					email.style.background=red;
					alert("Invalid email address.\nPlease use the following examples as a guide:\n name@email.co.uk or\n name@email.com")/*\nPlease include only one @ sign.")*/;
					email.focus();
					email.select();
					return false;
				}
			
		var periodPos = emailval.indexOf(".",atPos);
		
			if(periodPos == -1)
				{
					email.style.background=red;
					alert("Invalid email address.\nPlease use the following examples as a guide:\n name@email.co.uk or\n name@email.com")/*\nAt least one dot(.) is required.")*/;
					email.focus();
					email.select();
					return false;
				}
			
			if(periodPos+3 > emailval.length)
				{
					email.style.background=red;
					alert("Invalid email address.\nPlease use the following examples as a guide:\n name@email.co.uk or\n name@email.com");
					email.focus();
					email.select();
					return false;
				}
			}
	}


//Changes background colour of checkboxes to original (grey'ish) when one is checked.	
function chkColor()
	{
		for(j=0; j<boxName.length; j++)
			{
				var boxName2 = document.getElementById([boxName[j]]);
				if(document.forms[0].elements[boxName[j]].checked != true)
					{
						boxName2.style.background="#F5F5F5";
					}
				else
					{
						boxName2.style.background=green;
					}		
			}
	}
	

//Beginning of function thats run when form is submitted.
function test()
	{
		if(changed==false)
			{
				alert("You have not entered any details.\n\nPlease completed the form before submitting.");
				return false;
			}
		
		var boss = true;
		var Ok = false;
		var fldNames = new Array("name","company","emailAddr","no_employees","address_1","town_city","postcode");
		var errNames = new Array("Name<br>","Company<br>","e-mail address<br>","Number of Employees<br>","First line of Address<br>","Town/City<br>","Postcode<br>");
		var errorFields = new Array();
		var arrFocus = new Array();
		var chkAlert = new Array();
			

//Checks that required fields are not blank (not check boxes).			
			for(i=0;i<fldNames.length;i++)
			{
				var formFields = document.forms[0].elements[fldNames[i]];
				if((formFields.value=="")||(formFields.selectedIndex==0))
					{
						arrFocus[arrFocus.length]=fldNames[i];
						formFields.style.background=red;
						errorFields[errorFields.length] = errNames[i];
						document.forms[0].elements[arrFocus[0]].focus();
						Ok = true;
					}
			}
			
//Checks if any checkboxes have been checked!!.
			for(k=0; k<boxName.length; k++)
			{
				var boxName2 = document.forms[0].elements[boxName[k]];
				if(document.forms[0].elements[boxName[k]].checked == true)
					{
						boss=false;
					}
				else
					{
						chkAlert[chkAlert.length]=boxName[k];
					}
			}
				
//Output for checkboxes.			
			if(boss)
				{
					errorFields[errorFields.length] = "\nAreas of Interest";
					//document.getElementById("phil").disabled = true;
					
					for(y=0;y<chkAlert.length;y++)
						{
							var boxName3=document.getElementById([chkAlert[y]]);
							boxName3.style.background=red;
						}	
				}

//Output for form fields and checkboxes.			
			var errText="";
			if((Ok)||(boss))
				{
					for(z=0;z<errorFields.length;z++)
						{
							errText=errText + errorFields[z] + "\n";
						}
					document.getElementById("error").style.visibility = "visible";
					document.getElementById("errorText").innerHTML = errText;
					//document.getElementById("phil").disabled = true;
					return false;
				}
			else if((Ok==false)&&(boss==false))
				{
					document.forms[0].submit();
				}
	}
