function validateNonSpace(formObj){
//	var oForm=formObj.form;
    var pattern = /[\S]/;
    var val = formObj.value;
	var match = val.match(pattern);

	if (match == null){
		alert("Space is not accepted in this field.");
		formObj.focus();
		return false;			
	} 			
}

function validateEmail(addr,man,db) {
	if (addr == '' && man) {
	   if (db) alert('email address is mandatory');
	   return false;
	}
	var invalidChars = '\/\'\\ ";:?!()[]\{\}^|';
	for (i=0; i<invalidChars.length; i++) {
	   if (addr.indexOf(invalidChars.charAt(i),0) > -1) {
	      if (db) alert('email address contains invalid characters');
	      return false;
	   }
	}
	for (i=0; i<addr.length; i++) {
	   if (addr.charCodeAt(i)>127) {
	      if (db) alert("email address contains non ascii characters.");
	      return false;
	   }
	}

	var atPos = addr.indexOf('@',0);
	if (atPos == -1) {
	   if (db) alert('email address must contain an @');
	   return false;
	}
	if (atPos == 0) {
	   if (db) alert('email address must not start with @');
	   return false;
	}
	if (addr.indexOf('@', atPos + 1) > - 1) {
	   if (db) alert('email address must contain only one @');
	   return false;
	}
	if (addr.indexOf('.', atPos) == -1) {
	   if (db) alert('email address must contain a period in the domain name');
	   return false;
	}
	if (addr.indexOf('@.',0) != -1) {
	   if (db) alert('period must not immediately follow @ in email address');
	   return false;
	}
	if (addr.indexOf('.@',0) != -1){
	   if (db) alert('period must not immediately precede @ in email address');
	   return false;
	}
	if (addr.indexOf('..',0) != -1) {
	   if (db) alert('two periods must not be adjacent in email address');
	   return false;
	}
	var suffix = addr.substring(addr.lastIndexOf('.')+1);
	if (suffix.length != 2 && suffix != 'com' && suffix != 'net' && suffix != 'org' && suffix != 'edu' && suffix != 'int' && suffix != 'mil' && suffix != 'gov' & suffix != 'arpa' && suffix != 'biz' && suffix != 'aero' && suffix != 'name' && suffix != 'coop' && suffix != 'info' && suffix != 'pro' && suffix != 'museum') {
	   if (db) alert('invalid primary domain in email address');
	   return false;
	}
return true;
}

function FormValidate(){
	var oForm=document.frmPSDetail;
	var valFormName = oForm.formName.value;
	var valFName = oForm.first_name.value;
	var valLName = oForm.last_name.value;
	var valEmail = oForm.email.value;
	var valPhone = oForm.phone.value;
	var valTitle = oForm.title.value;
	var valStreet = oForm.street.value;
	var valCompany = oForm.company.value;
	var valCity = oForm.city.value;
	var valState = oForm.state.value;
	var valCountry = oForm.country.value;
	var valZip = oForm.zip.value;
	var valLeadSrc = oForm.lead_source.value;
	//var valCDGProduct = oForm.CDGProduct.value + oForm.CDGProduct1.value;
	//var valCDGProduct1 = oForm.CDGProduct1.value;
	var valComments = oForm["00N50000001N3ty"].value;
	var valNewsletter = oForm["00N50000001N3v5"].value;
	
	if(valFName == ""){
		alert("First Name is a required field. Please provide the information for this field.");
		oForm.first_name.focus();
		return false;		
	}
	if (valFName != ""){
		var validFName = validateNonSpace(oForm.first_name);
		if (validFName == false) {
		oForm.first_name.focus();			
		return false;
		}			
	}	
	if(valLName == ""){
		alert("Last Name is a required field. Please provide the information for this field.");
		oForm.last_name.focus();
		return false;		
	}
	if (valLName != ""){
		var validLName = validateNonSpace(oForm.last_name);
		if (validLName == false) {
		oForm.last_name.focus();			
		return false;
		}			
	}			
	if (!validateEmail(valEmail,1,0)) {
		alert("Email address is invalid or was not entered. Please provide the proper information for this field.");
		return false;
	} 		
	if(valPhone == ""){
		alert("Phone is a required field. Please provide the information for this field.");
		oForm.phone.focus();
		return false;		
	}
	if (valPhone != ""){
		var validPhone = validateNonSpace(oForm.phone);
		if (validPhone == false) {
		oForm.phone.focus();			
		return false;
		}			
	}	
	
	if(valCompany == ""){
		alert("Company is a required field.");
		oForm.company.focus();
		return false;		
	}
	if (valCompany != ""){
		var validCompany = validateNonSpace(oForm.company);
		if (validCompany == false) {
		oForm.company.focus();			
		return false;
		}			
	}
	if(valStreet == ""){
		alert("Street address is a required field.");
		oForm.street.focus();
		return false;		
	}
	if (valStreet != ""){
		var validStreet = validateNonSpace(oForm.street);
		if (validStreet == false) {
		oForm.street.focus();			
		return false;
		}			
	}
	if(valCity == ""){
		alert("City is a required field. Please provide the information for this field.");
		oForm.city.focus();
		return false;		
	}
	if (valCity != ""){
		var validCity = validateNonSpace(oForm.city);
		if (validCity == false) {
		oForm.city.focus();			
		return false;
		}			
	}			
	if(valState == ""){
		alert("State is a required field.  Please choose one from the list provided.");
		oForm.state.focus();
		return false;		
	}
 	
	if(valCountry == ""){
		alert("Country is a required field.  Please choose one from the list provided.");
		oForm.country.focus();
		return false;		
	}
	if(valLeadSrc == ""){
		alert("Lead source is a required field. Please choose one from the list provided.");
		oForm.lead_source.focus();
		return false;		
	}
		
	if (valFormName == "AIA DAILY LEAD - LEAN INFO REQUEST - A"){
		oForm.retURL.value="http://www.cdgnow.com/AIADailyLead/LeanRequestConfirmation.asp?fname="+valFName+"&lname="+valLName+"&email="+valEmail+"&phone="+valPhone+"&title="+valTitle+"&company="+valCompany+"&city="+valCity+"&state="+valState+"&zip="+valZip+"&country="+valCountry+"&lead_source="+valLeadSrc+"&Comments="+valComments+"&newsletter="+valNewsletter+"&FormName="+valFormName;
	}
	if (valFormName == "ATA SMARTBRIEF - LEAN INFO REQUEST - A"){
		oForm.retURL.value="http://www.cdgnow.com/ATASmartBrief/LeanRequestConfirmation.asp?fname="+valFName+"&lname="+valLName+"&email="+valEmail+"&phone="+valPhone+"&title="+valTitle+"&company="+valCompany+"&city="+valCity+"&state="+valState+"&zip="+valZip+"&country="+valCountry+"&lead_source="+valLeadSrc+"&Comments="+valComments+"&newsletter="+valNewsletter+"&FormName="+valFormName;
	}
	if (valFormName == "PTC S1000D Webinar Download"){
		oForm.retURL.value="http://www.cdgnow.com/S1000DWebcast-PTC-CDG/RequestConfirmation.asp?fname="+valFName+"&lname="+valLName+"&email="+valEmail+"&phone="+valPhone+"&title="+valTitle+"&company="+valCompany+"&city="+valCity+"&state="+valState+"&zip="+valZip+"&country="+valCountry+"&lead_source="+valLeadSrc+"&Comments="+valComments+"&newsletter="+valNewsletter+"&FormName="+valFormName;
	}

	if (valFormName == "AIA - Digital Imaging and Engineering Conversion Inquiry - A" || valFormName == "AIA - Digital Imaging and Engineering Conversion Inquiry - B" || valFormName == "AIA - Digital Imaging and Engineering Conversion Inquiry - C"){
		oForm.retURL.value="http://www.cdgnow.com/AIADailyLead/ImagingRequestConfirmation.asp?fname="+valFName+"&lname="+valLName+"&email="+valEmail+"&phone="+valPhone+"&title="+valTitle+"&company="+valCompany+"&city="+valCity+"&state="+valState+"&zip="+valZip+"&country="+valCountry+"&lead_source="+valLeadSrc+"&Comments="+valComments+"&newsletter="+valNewsletter+"&FormName="+valFormName;
	}
	
	if (valFormName == "ATA - Digital Imaging and Engineering Conversion Inquiry - A" || valFormName == "ATA - Digital Imaging and Engineering Conversion Inquiry - B" || valFormName == "ATA - Digital Imaging and Engineering Conversion Inquiry - C"){
		oForm.retURL.value="http://www.cdgnow.com/ATASmartBrief/ImagingRequestConfirmation.asp?fname="+valFName+"&lname="+valLName+"&email="+valEmail+"&phone="+valPhone+"&title="+valTitle+"&company="+valCompany+"&city="+valCity+"&state="+valState+"&zip="+valZip+"&country="+valCountry+"&lead_source="+valLeadSrc+"&Comments="+valComments+"&newsletter="+valNewsletter+"&FormName="+valFormName;
	}

return true;						
}