function validateListing(listingform){
	with(listingform){
		var ErrMsg	= "";
		var ErrField	= "";
		Item	= country.selectedIndex;
		for(i=0; i < elements.length; i++){ elements[i].value = trim(elements[i].value); }

		if(perc1.value.length==0)	{ perc1.value=0; }
		if(perc2.value.length==0)	{ perc2.value=0; }
		if(perc3.value.length==0)	{ perc3.value=0; }
		if(perc4.value.length==0)	{ perc4.value=0; }
		if(perc5.value.length==0)	{ perc5.value=0; }

		if(!consent.checked){ 
			ErrMsg	= "Consent to receive communications via mail, email, fax and phone from Thomas Industrial Network Inc.\n\n"+ErrMsg;
			ErrField= consent;
		}
		if(ddesc.value.length==0){
			ErrMsg	= "\"Classifications and Detailed Descriptions\" is a required field\n\n"+ErrMsg;
			ErrField= ddesc;
		}
		if(year.value.length > 0 && !isNumberString(year.value)){
			ErrMsg	= "\"Year\" must be an integer\n\n"+ErrMsg;
			ErrField= year;
		}
		if(!isNumberString(perc5.value)){
			ErrMsg	= "\"% Residential\" must be an integer\n\n"+ErrMsg;
			ErrField= perc5;
		}
		if(!isNumberString(perc4.value)){
			ErrMsg	= "\"% Institutional\" must be an integer\n\n"+ErrMsg;
			ErrField= perc4;
		}
		if(!isNumberString(perc3.value)){
			ErrMsg	= "\"% Government\" must be an integer\n\n"+ErrMsg;
			ErrField= perc3;
		}
		if(!isNumberString(perc2.value)){
			ErrMsg	= "\"% Commercial\" must be an integer\n\n"+ErrMsg;
			ErrField= perc2;
		}
		if(!isNumberString(perc1.value)){
			ErrMsg	= "\"% Industrial\" must be an integer\n\n"+ErrMsg;
			ErrField= perc1;
		}
		var buspct = parseInt(perc1.value)+parseInt(perc2.value)+parseInt(perc3.value)+parseInt(perc4.value)+parseInt(perc5.value);
		if(buspct!=100){
			ErrMsg	= "\"Percent of your business\" must add up to 100\n\n"+ErrMsg;
			ErrField= perc1;
		}

		if(website.value.length==0){
			ErrMsg  = "\"Website\" is a required field\n\n"+ErrMsg;
			ErrField= website;
		}

		if(!isEmail(email.value) || email.value.length==0){
			ErrMsg	= "Please enter a valid \"E-mail\" address\n\n"+ErrMsg;
			ErrField= email;
		}
		
		if(phone.value.length==0){
			ErrMsg	= "\"Telephone\" is a required field\n\n"+ErrMsg;
			ErrField= phone;
		}
		if(country.options[0].selected || country.options[1].selected){
			ErrMsg	= "\"Country\" is a required field\n\n"+ErrMsg;
			ErrField= country;
		}
		if(zip.value.length==0 && (country.options[Item].value=="USA" || country.options[Item].text=="Canada")){
			ErrMsg	= "\"Zip/Postal Code\" is a required field\n\n"+ErrMsg;
			ErrField= zip;
		}
		if((state.options[0].selected || state.options[1].selected) && (country.options[Item].value=="USA" || country.options[Item].text=="Canada")){
			ErrMsg	= "\"State/Province\" is a required field\n\n"+ErrMsg;
			ErrField= state;
		}
		if(city.value.length==0){
			ErrMsg	= "\"City\" is a required field\n\n"+ErrMsg;
			ErrField= city;
		}
		if(addr1.value.length==0){
			ErrMsg	= "\"Address 1\" is a required field\n\n"+ErrMsg;
			ErrField= addr1;
		}
		if(lname.value.length==0){
			ErrMsg	= "\"Last Name\" is a required field\n\n"+ErrMsg;
			ErrField= lname;
		}
		if(fname.value.length==0){
			ErrMsg	= "\"First Name\" is a required field\n\n"+ErrMsg;
			ErrField= fname;
		}
		if(company.value.length==0){
			ErrMsg	= "\"Company\" is a required field\n\n"+ErrMsg;
			ErrField= company;
		}
		if(ErrMsg!=""){
			alert("The following information is missing or incomplete:\n\n" + ErrMsg);
			ErrField.focus();
			return false;
		}		
	}
}
