function validate(f)
{
	try
	{
	var dob_regex = /^([0-9]){2}(\/){1}([0-9]){2}(\/)([0-9]){4}$/;   // DD/MM/YYYY
	var num_regex = /^\d+$/; // numeric digits only
	var search_regex = "/hello/";
	var phone_regex = /^\(\d{3]\) \d{3}-\d{4}$/;  // (xxx) xxx-xxxx
	var question_regex = /\?$/; // ends with a question mark
	var result=false;
	for(var i=0;i<f.elements.length;i++)
	{
		if(f.elements[i].name=="txtMake")
		{
			if(chkMake(f.elements[i])==false) 
			{
				result=false
				break;
			}
		}
		else if(f.elements[i].name=="txtModel")
		{
			if(chkModel(f.elements[i])==false) 
			{
				result=false
				break;
			}
		}
		else if(f.elements[i].name=="txtName")
		{
			if(chkName(f.elements[i])==false) 
			{
				result=false
				break;
			}
		}
		else if(f.elements[i].name=="txtLocation")
		{
			if(chkLocation(f.elements[i])==false) 
			{
				result=false
				break;
			}
		}
		else if(f.elements[i].name=="txtEmail")
		{
			if(chkEmail(f.elements[i])==false)
			{
				result=false
				break;
			}
		}
		else if(f.elements[i].name=="txtWrate")
		{
			if(chkWrate(f.elements[i])==false)
			{
				result=false
				break;
			}
		}
		else if(f.elements[i].name=="txtAddress")
		{
			if(chkAddress(f.elements[i])==false) 
			{
				result=false
				break;
			}
		}
		else if(f.elements[i].name=="txtPhone")
		{
			if(chkPhone(f.elements[i])==false) 
			{
				result=false
				break;
			}
		}
		else
		{
			result = true;
		}
	}
	return result;
	}
	catch(ex)
	{alert(ex.description);}
}

function trim(s)
{
	var l=0; var r=s.length -1;
	while(l < s.length && s[l] == ' ')
	{	l++; }
	while(r > l && s[r] == ' ')
	{	r-=1;	}
	return s.substring(l, r+1);
}

function chkName(e)
{
	var username_regex = /^[\w.-]+$/; 
	if(trim(e.value)=="")
	{
		alert("Please enter your Name.");
		e.focus();
		return false;
	}
	return true;
}

function chkLocation(e)
{
	if(trim(e.value)=="")
	{
		alert("Please enter your Location.");
		e.focus();
		return false;
	}
	return true;
}

function chkEmail(e)
{
	var email_regex = /^[a-zA-Z0-9._-]+@([a-zA-Z0-9.-]+\.)+[a-zA-Z0-9.-]{2,4}$/;
	if(trim(e.value)=="")
	{
		alert("Please enter your Email ID");
		e.focus();
		return false;
	}
	else if(!email_regex.test(trim(e.value)))
	{
		alert("Please enter a valid Email ID");
		e.focus();
		return false;
	}
}

function chkWrate(e)
{
	var v = e.value;
	decallowed = 2;
	if (isNaN(v) || v == "") 
	{
		alert("That does not appear to be a valid Hourly Rate.  Please type only numeric value.");
		e.focus();
		return false;
	}
}

function chkAddress(e)
{
	if(trim(e.value)=="")
	{
		alert("Please enter Postal Address.");
		e.focus();
		return false;
	}
}

function chkPhone(e)
{
	if(trim(e.value)=="")
	{
		alert("Please enter Phone.");
		e.focus();
		return false;
	}
}


function chkMake(e)
{
	if(trim(e.value)=="")
	{
		alert("Please enter Make.");
		e.focus();
		return false;
	}
}

function chkModel(e)
{
	if(trim(e.value)=="")
	{
		alert("Please enter Model.");
		e.focus();
		return false;
	}
}

function isAlpha(str)
{
	var re = /^[A-Za-z ]+$/;
	return re.test(str);
}

function isNumeric(value)
{
	var anum=/(^\d+$)|(^\d+\.\d+$)/
	if (anum.test(value))
	return true;
	return false;
}


