function CheckRequiredFields() {

var errormessage = new String();

// Put field checks below this point.


if(NoneWithCheck(document.getElementsByName('products[]')))

	{ errormessage += "\n\nPlease select atleast one product."; }



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

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



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

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



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

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


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

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

	

if(WithoutSelectionValue(document.leadForm.state))

	{ errormessage += "\n\nState must be selected."; }
*/


if(WithoutContent(document.leadForm.zipcode.value))

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



if(WithoutContent(document.leadForm.email.value))

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

if(!echeck(document.leadForm.email.value))

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

if(WithoutContent(document.leadForm.primary_phone.value))

	{ errormessage += "\n\nPrimary Phone must be complete."; }

/*if(WithoutSelectionValue(document.leadForm.best_time_to_call))

	{ errormessage += "\n\nPlease select time to call."; }

	
if(WithoutSelectionValue(document.leadForm.time_frame))

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

if(isNaN(document.leadForm.windows_quantity.value))

	{ errormessage += "\n\nQuantity of windows should be numeric only."; }

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

	{ errormessage += "\n\nPlease write project description."; }


if(WithoutSelectionValue(document.leadForm.home_owner))

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

/*if(WithoutContent(document.leadForm.private_key.value))

	{ errormessage += "\n\nPlease enter captcha code."; }

else if (document.leadForm.private_key.value != document.leadForm.public_key.value)

	{ errormessage+="\n\nPlease enter correct captcha code : " + document.leadForm.public_key.value;	}
*/
if(WithoutContent(document.leadForm.secure.value))

	{ errormessage += "\n\nPlease enter captcha result."; }
else if(document.leadForm.secure.value == "what's the result?")
{ errormessage += "\n\nPlease enter captcha result."; }

if(WithoutCheck(document.leadForm.agree))

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


// Put field checks above this point.

if(errormessage.length > 2) {

	alert('NOTE:' + errormessage);

	return false;

	}
	
	check_zipcode();
	

} // end of function CheckRequiredFields()





/*function WithoutContent(ss) {

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

return true;

}*/

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));
	
}