function validate(form)
{
	errorMessage = "";
	myField = "";

	for ( i = 0; i <= (form.elements.length - 2); i++ )
	{
		field = form.elements[i];
			
		if( field.type == "select-one" && field.value == 0 )
		{
			errorMessage += field.name.replace(/_/g, ' ') + '\n';
		}
		else if( field.type == "text" )
		{
			found = true;
			range = false;
			required = false;
			min = 0;
			max = 0;
			switch( field.name )
			{
				case "Loan_Amount": min = 500; max = 2500000; message = "Loan Amount"; required = true; range = true; break;
				case "App1_Firstname": message = "First Name"; required = true; break;
				case "App1_Surname": message = "Surname"; required = true; break;
				case "App2_Firstname": message = "Second Applicant's First Name"; required = true; break;
				case "App2_Surname": message = "Second Applicant's Surname"; required = true; break;
				case "Email_Address": message = "Email Address"; required = true; break;
				case "Email_Confirm": message = "Confirm Email"; required = true; break;
				case "Daytime_Phone": message = "Daytime Telephone"; required = true; break;
				case "Address_1": message = "Address"; required = true; break;
				case "Town": message = "Town"; required = true; break;
				case "County": message = "County"; required = true; break;
				case "Postcode": message = "Postcode"; required = true; break;
				default: found = false;
			}
				
			if( found )
			{
				if( field.value == '' && required ){
					errorMessage += message + '\n';
				}
				else if( range )
				{
					if( (field.value < min || field.value > max) && field.value != '' ) 
						errorMessage += message + " must be in valid range" + '\n';
				
				}else if( field.name == "Email_Address" ){
					var objRegExp  = /(^[a-z]([a-z_\.]*)@([a-z_\.]*)([.][a-z]{3})$)|(^[a-z]([a-z_\.]*)@([a-z_\.]*)(\.[a-z]{3})(\.[a-z]{2})*$)/i;
						if( ! objRegExp.test(field.value) ){
							errorMessage += "Please enter a valid email address\n";
							
						}else if( document.getElementById( "Email_Confirm" ).value != field.value )
							errorMessage += "Confirm email must match your email\n";
					}	
				}
			}else if ( field.type == "radio" && myField != field.name )
			{
				myField = field.name;
				radiochk = false;

				for ( n = 0; n < form(myField).length; n++ )
				{
					el = form(myField)[n];
					radiochk = radiochk || el.checked;
				}
				if ( !radiochk )
				{
					if ( field.name == "App_Type" )
						errorMessage += 'Please State Single Or Joint App\n';
					else if ( field.name == "Homeowner" )
						errorMessage += 'Please State Whether You Are A Homeowner\n';
					else
						errorMessage += field.name.replace(/_/g, ' ') + '\n';
				}
				else
					myField.checked = true;

			}
			else if ( field.type == "checkbox" && !field.checked )
			{
				errorMessage += "Indicate that you accept the terms and conditions";
			}
	}
	if( errorMessage != "" )
	{
		errorMessage = errorMessage.replace(/App1\s/g, '');
		errorMessage = errorMessage.replace(/App2\s/g, '');
		errorMessage = errorMessage.replace(/ 2/g, ' of Second Applicant');
		alert( "Please complete the following fields before submitting the application:\n" + 
				"-------------------------------------------------------------------------------\n" + errorMessage );
		return false;
	}else{
		return true;
	}
}

function popUp(URL)
{
	day = new Date();
	id = day.getTime();
	eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=400,height=200,left = 440,top = 300');");
}