﻿	<!--
	
		/*
			Function:	validate
			Purpose:	validate fields
			In:			form object
			Out:		if all values are fine, return true. Otherwise, false			
		*/
		function validate(whatform)
		{		
		
			with (whatform)
			{
			
				/* 
					Validate required values first 
				*/
				if ( Required(fullname,"Please provide your first and last name.") == false )
				{
					fullname.focus();
					return false;
				}
				
				// --------- HOME PHONE --------
				if ( Required(homephone,"Please provide your home phone number.") == false )
				{
					homephone.focus();
					return false;
				}

				if (!(/^\(?\d{3}\)?\s|-\d{3}-\d{4}$/.test(homephone.value)))
				{
					alert ("Please enter a home phone number in xxx-xxx-xxxx format.");
					homephone.focus();
					return false;
				}
								
				// --------- EMAIL --------
				if ( Required(emailid,"Please provide your email id.") == false )
				{
					emailid.focus();
					return false;
				}				
				
				if ( EmailCheck(emailid,"Please provide a valid email address.") == false )
				{
					emailid.focus();
					return false;
				}	
				
				// --------- WORK PHONE --------
				if (!(workphone.value==null || workphone.value==""))
				{
					if (!(/^\(?\d{3}\)?\s|-\d{3}-\d{4}$/.test(workphone.value)))
					{
						alert ("Please enter a work phone number in xxx-xxx-xxxx format.");
						workphone.focus();
						return false;
					}
				}
								
				// --------- ZIP --------
				if(!(zip.value==null || zip.value==""))
				{
					if (!(/\d{5}(-\d{4})?/.test(zip.value)))
					{
						alert ("Please enter a valid zip code");
						zip.focus();
						return false;
					}
				}				
				
				
				// --------- NUMBERS --------
				if (!(ValidateMinMaxValues(monthlypayment,0,100000000,"Please enter a valid monthly payment.")))
				{
					monthlypayment.focus();
					return false;
				}				
	
	
				if (!(ValidateMinMaxValues(downpayment,0,100000000,"Please enter valid downpayment.")))
				{
					downpayment.focus();
					return false;
				}
						

				if ( Required(security_image,"Please enter the text from the image") == false )
				{
					security_image.focus();
					return false;
				}


				
			}	
			return true;
		}
		
		

		/*
			Function:	ValidateMinMaxValues
			Purpose:	validates incoming fields value if it is not empty
						and checks if it is within the given min and max range
						If not, throws an alert and returns false, otherwise returns true
			In:			fieldname, minimum value the field can take, max value, alert
			Out:		true if field is good, false otherwise
		*/		
		function ValidateMinMaxValues(fieldname,minvalue,maxvalue,message)		
		{
			with (fieldname)
			{
				if (!(value==null || value==""))
				{
					// validate without the comma
					var valueTemp = value.replace(/,/g,'');					
					if (!(valueTemp >= minvalue && valueTemp <= maxvalue ))
					{						
						alert (message);
						return false;
					}
					else
					{
						return true;
					}
				}
				else
				{
					return true;
				}
			}
		}
		
		

		/*
			Function:	EmailCheck
			Purpose:	validates incoming email address
			In:			fieldname and message
			Out:		true if email address is valid, false otherwise
		*/
		function EmailCheck(fieldname,message)
		{
			with (fieldname)
			{
				if (!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(value))) 
				{
					alert(message);
					return false;
				}
				else
				{
					return true;
				}
			}
		}
		
		
		
		/*
			Function:	Required
			Purpose:	Checks fieldname to see if it is empty. If empty, 
						throws error message and returns false
			In:			field name and alert message text
			Out:		true if value is contained in the field, false otherwise			
		*/
		function Required(fieldname,message)
		{
			with (fieldname)
			{
				if (value==null || value=="")
				{
					alert(message);
					return false;
				}
				else
				{
					return true;
				}
			}
		}		
	-->


