function CheckRequiredFields() {

var errormessage = new String();

// Put field checks below this point.


if(WithoutContent(document.form.first_name.value))

	{ errormessage += "\nFirst Name can not be empty."; }



if(WithoutContent(document.form.last_name.value))

	{ errormessage += "\nLast Name can not be empty."; }



if(WithoutContent(document.form.address.value))

	{ errormessage += "\nAddress can not be empty."; }

	

/*if(WithoutContent(document.form.city.value))

	{ errormessage += "\nCity can not be empty."; }
*/
if(WithoutContent(document.form.zipcode.value))
{
	errormessage += "\nZipcode can not be empty.";
}
else if(isNaN(document.form.zipcode.value))
{
	errormessage += "\nZipcode should be digit only.";
}
else if(document.form.zipcode.value.length!=5)
{
	errormessage += "\nZipcode length should be 5 digit.";
}

/*if(WithoutSelectionValue(document.form.state))

	{ errormessage += "\nState must be selected."; }
*/
if(WithoutContent(document.form.primary_phone.value))

	{ errormessage += "\nPhone1 must be complete."; }

if(WithoutContent(document.form.email.value))
{ errormessage += "\nEmail can not be empty."; }

else if(!echeck(document.form.email.value))

		{ errormessage += "\nInvalid Email."; }

if(WithoutSelectionValue(document.form.best_time_to_call))

	{ errormessage += "\nPlease select best time to call."; }
	
if(WithoutSelectionValue(document.form.time_frame))

	{ errormessage += "\nTime frame must be selected."; }

if(NoneWithCheck(document.form.home_owner))

{ errormessage += "\nPlease answer to Home Owner."; }

/*if(WithoutContent(document.form.comments.value))

	{ errormessage += "\nPlease write comments."; }

if(WithoutCheck(document.form.agree))

	{ errormessage += "\nPlease agree to terms and conditions."; }*/


// Put field checks above this point.

if(errormessage.length > 2) {

	alert(errormessage);

	return false;

	}

check_zipcode();
	

} // end of function CheckRequiredFields()





function WithoutContent(ss) {

if(ss.length > 0)
{
	ss = trim(ss);
	if(ss.length > 0)
	{
		return false;
	}
}

return true;

}



function NoneWithContent(ss) {

for(var i = 0; i < ss.length; i++) {

	if(ss[i].value.length > 0) { return false; }

	}

return true;

}



function NoneWithCheck(ss) {

for(var i = 0; i < ss.length; i++) {

	if(ss[i].checked) { return false; }

	}

return true;

}



function WithoutCheck(ss) {
if(!ss)  { return true; }
if(ss.checked) { return false; }

return true;

}



function WithoutSelectionValue(ss) {

for(var i = 0; i < ss.length; i++) {

	if(ss[i].selected) {

		if(ss[i].value.length) { return false; }

	}

}

return true;

}



function echeck(str) {



		var at="@"

		var dot="."

		var lat=str.indexOf(at)

		var lstr=str.length

		var ldot=str.indexOf(dot)

		if (str.indexOf(at)==-1){

		   return false

		}



		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){

		   return false

		}



		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){

		    return false

		}



		 if (str.indexOf(at,(lat+1))!=-1){

		    return false

		 }



		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){

		    return false

		 }



		 if (str.indexOf(dot,(lat+2))==-1){

		    return false

		 }

		

		 if (str.indexOf(" ")!=-1){

		    return false

		 }

		 

 		 return true					

}

// Removes leading whitespaces
function LTrim( value ) {
	
	var re = /\s*((\S+\s*)*)/;
	return value.replace(re, "$1");
	
}

// Removes ending whitespaces
function RTrim( value ) {
	
	var re = /((\s*\S+)*)\s*/;
	return value.replace(re, "$1");
	
}
// Removes leading and ending whitespaces
function trim( value ) {
	
	return LTrim(RTrim(value));
	
}

