 function Trim(s) 
        {
                // Remove leading spaces and carriage returns
                  
                while ((s.substring(0,1) == ' ') || (s.substring(0,1) == '\n') || (s.substring(0,1) == '\r'))
                {
                        s = s.substring(1,s.length);
                }

                // Remove trailing spaces and carriage returns

                while ((s.substring(s.length-1,s.length) == ' ') || (s.substring(s.length-1,s.length) == '\n') || (s.substring(s.length-1,s.length) == '\r'))
                {
                        s = s.substring(0,s.length-1);
                }
                return s;
        }

function validateSelections(){


		return true;
	}
	
	
function validateContact(f){

	
	var myErrorCount = 0;
	var myErrorMessage = "";
	
	for (var i=0; i < f.elements.length; i++){
		var myMessage;
		myMessage = "Index: " + i.toString()
		myMessage = myMessage + "\r\n" + "Name: " + f.elements[i].name;
		myMessage = myMessage + "\r\n" + "Type: " + f.elements[i].type;
		
		var myElement = f.elements[i];
		var regExp;
		var strName = "";

		
		 if (myElement.type=="textarea")
		{
			if ( myElement.value=="")
			{
				switch (myElement.name) 
				{
					case "Geography":
					strName = "Geography";
					break;
				
					case "Demographics":
					strName = "Demographics";
					break;
				}
			}
		}
		else if (myElement.type=="text")
		{
			switch (myElement.name) 
			{			
				/* [2009-10-30 Mark Bernhardt mbernhardt@usadata.com]
				    Omit validation on business name, which was not inclusive of commas 
					or numbers or other valid characters, anyway.
				case "Company":
				strName = "Business Name";
				regExp=/[ a-z\.'-]/i;
				break;
				*/
				
				case "fName":
				strName = "First Name";
				regExp=/[ a-z\.'-,]/i;
				break;
				
				case "lName":
				strName = "Last Name";
				regExp=/[ a-z\.'-,]/i;
				break;				
				
				/* [2010-02-24 Mark Bernhardt mbernhardt@usadata.com]
				   Omit validation on phone number, removing requirement.
				case "Phone":
				strName = "Phone Number";
				regExp=/[ a-z\.'-]/i;
				break;
				*/
				
				case "Email":
				strName = "Email Address";
				regExp=/[a-z0-9\.-_]+@{1}[a-z0-9-_]+\.{1}[a-z]+/i;		
				
			}
			}
			//alert(strName);
			if (strName!=""){
			
				if (strName == "DesiredLeadCount" || strName == "ExpectedDelivery"){
						
						switch (strName) {
		
							case "DesiredLeadCount":
							myErrorCount++;
							myErrorMessage = myErrorMessage + "Please choose: How many leads you are looking for?\r\n";
							break;

							case "ExpectedDelivery":
							myErrorCount++;
							myErrorMessage = myErrorMessage + "Please choose: How soon do you need this list?\r\n";
							break;
						}
					
				}
				else if (strName == "Geography" || strName == "Demographics"){
				
					switch (strName) {
						case "Geography":
						myErrorCount++;
						myErrorMessage = myErrorMessage + "Please enter your target geographic area.\r\n";
						break;

						case "Demographics":
						myErrorCount++;
						myErrorMessage = myErrorMessage + "Please describe your target audience.\r\n";
						break;
					}
				}
				else 
				{					
					if (myElement.value.length==0){
						myErrorMessage = myErrorMessage + "Please enter your " + strName + "\r\n";
						myErrorCount++;
					} else {
						if (myElement.value.length>50){
							myErrorMessage = myErrorMessage + "The value for " + strName + " cannot have more than 50 characters.\r\n";
							myErrorCount++;
						} else {
							if (strName!="Email Address"){
							
								if (strName=="Phone Number"){									
									if (!regExp.test(Trim(myElement.value))) {
									myErrorMessage = myErrorMessage + "Please enter a valid " + strName + "\r\n";
									myErrorCount++;
								}
								}
								else
								{
									for (var j=0;j<myElement.value.length;j++){
										if (!regExp.test(myElement.value.charAt(j))) {
											myErrorMessage = myErrorMessage + "Please enter a valid " + strName + "\r\n";
											myErrorCount++;
											j=myElement.value.length;
										}
									}
								}
								
							} else {								
								if (!regExp.test(Trim(myElement.value))) {
									myErrorMessage = myErrorMessage + "Please enter a valid " + strName + "\r\n";
									myErrorCount++;
								}
							
							}
						}
					}
				}
			}
		}
	
	if (myErrorCount > 0){
		alert(myErrorMessage);
		return false;
	} else {
		return true;
	}
}
 
function submitBack()
{
        history.go(-1);
}

function submitForm(){
        if (validateContact(f)){ 
//			    document.forms[0].submit();
				return true;
        }       
		else
			return false;
}


function SpecialtySelect (object)
{
	document.forms[0].SpecialtyListofInterest.selectedIndex = object.selectedIndex;
}

function SpecialtySelectL (object)
{
	document.forms[0].SpecialtyListofInterestLeft.selectedIndex = object.selectedIndex;
}

function sendRequest(f) {
	if (validateContact(f)) {
		switch (Page.id) {
			/* pages in / folder */
			case "500freeleads.html":
				f.action = "/500FreeSurvey_Submit.asp";
				break;
			case "accountants-leads.html":
				f.action = "/solution-account.asp";
				break;
			case "auto-leads.html":
				f.action = "/solution-auto.asp";
				break;
			case "callcenter-leads.html":
			case "callcenter_leads.html":
				f.action = "/solution-callcenter.asp";
				break;
			case "dental-leads.html":
				f.action = "/solution-dental.asp";
				break;
			case "education-leads.html":
			case "education_leads.html":
				f.action = "/solution-education.asp";
				break;
			case "email-marketing.html":
				f.action = "/EmailListsSubmit.asp";
				break;
			case "FEB15.html":
				f.action = "/indexSubmitV3.asp";
				break;
			case "franchise-leads.html":
				f.action = "/solution-submit.asp";
				break;
			case "healthcare-leads.html":
				f.action = "/solution-healthcare.asp";
				break;
			case "home_leads.html":
				f.action = "/solution-home.asp";
				break;
			case "homeowner.html":
			case "new-homeowner-data-selects.html":
			case "new_homeowner_data_selects.html":
				f.action = "/HomeOwnerSubmit.asp";
				break;
			case "insurance-leads.html":
				f.action = "/solution-insurance.asp";
				break;
			case "lists.html":
			case "specialty_data_selects.html":
				f.action = "/ListsSubmit.asp";
				break;
			case "movers.html":
			case "new-mover-data-selects.html":
			case "new_mover_data_selects.html":
				f.action = "/MoversSubmit.asp";
				break;
			case "myspace.html":
				f.action = "/indexSubmitV3.asp";
				break;
			case "ncoalink-list-cleaner.html":
			case "ncoalink_list_cleaner.html":
				f.action = "/ncoa-cleaner-submit.asp";
				break;
			case "notforprofit-leads.html":
				f.action = "/solution-notforprofit.asp";
				break;
			case "physician.html":
				/*f.action = "/PhysicianSubmit.asp";
				break; // Use the new ASP, instead */
			case "specialty-physician.html":
				f.action = "/quote-physician.asp";
				break;
			case "realstate-leads.html":
				f.action = "/solution-realstate.asp";
				break;
			case "religious-leads.html":
				f.action = "/solution-religious.asp";
				break;
			case "reseller-app.html":
				f.action = "/reseller-app-submit.asp";
				break;
			case "reseller-solutions.html":
	     		//f.action = "/webtoprintsubmit.asp";
				f.action = "/reseller-solutions-submit.asp";
				break;
			case "residents.html":
			case "occupant-data-selects.html":
			case "occupant_data_selects.html":
				f.action = "/ResOcSubmit.asp";
				break;
			case "retailers-leads.html":
				f.action = "/solution-retailers.asp";
				break;
			case "web-to-print-apps.html":
				f.action = "/web-to-print-apps-submit.asp";
				break;
			case "youth-organizations-leads.html":
				f.action = "/solution-youth.asp";
				break;
			/* pages in /mailing-lists/ folder */
			case "business.html":
			case "business-leads.html":
			case "business-data-selects.html":
			case "business_data_selects.html":
				f.action = "/BusinessSubmit.asp";
				break;
			case "consumer.html":
			case "consumer-leads.html":
			case "consumer-data-selects.html":
			case "consumer_data_selects.html":
				f.action = "/consumerSubmit.asp";
				break;
			case "insurance.html":
				f.action = "/InsuranceSubmit.asp";
				break;
			case "realestate.html":
				f.action = "/RealEstateSubmit.asp";
				break;
			case "quote_popup.html":
				f.action = "/quote-popup.asp"
				break;
			case "dscoop5.html":
				f.action = "/dscoop_submit.asp";
				break;
			case "podi.html":
				f.action = "/podi_submit.asp";
				break;
			default:
				// Nothing -- use the default page for general inquiries
		}
		f.submit();
	}
	else {
		return void(0);
	}
}

function subscribeEmail(f) {
	if (validateContact(f)) {
		f.submit();
	}
	return void(0);
}

function startList(f) {
	for (el = 0; el < f.elements.length; el++) {
		if (f.elements[el].checked) {
			self.location = f.elements[el].value;
			return void(0);
		}
	}
	// Else, workflow is not a choice but a hidden field
	if (f.workflow.value) { self.location = f.workflow.value; return void(0); }
	return void(0);
}