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 valTitle = oForm.title.value;
	var valPhone = oForm.phone.value;
	var valCompany = oForm.company.value;
	var valStreet = oForm.street.value;
	var valCity = oForm.city.value;
	var valZip = oForm.zip.value;
	var valState = oForm.state.value;
	var valCountry = oForm.country.value;
	var valLeadSrc = oForm.lead_source.value;
	var valNewsletter = oForm["00N50000001N3v5"].value;
	
	if (valFormName=="InfoRequest"){
		var valCDGServices = oForm["00N50000001PXM4"].value;
		var valComent = oForm["00N50000001N3ty"].value;
	}
	if (valFormName=="White Paper Request"){
		var valWhitePapers = oForm["00N50000001N3uw"].value;
	}
	
	//-move returl value formation after validation
	//if (valFormName == ""){
	//	var valLeadSrc = oForm.lead_source.value;
	//	oForm.retURL.value="http://www.cdgnow.com/contact/info_request.asp?fname="+valFName+"&lname="+valLName+"&email="+valEmail+"&phone="+valPhone+"&title="+valTitle+"&company="+valCompany+"&city="+valCity+"&state1="+valState+"&zip="+valZip+"&D1="+valCountry+"&MarketSource="+valLeadSrc;
	//}
	
	//if (valFormName == "CDG-LOCC Pre-Show - Case Study Request - 0906"){
	//	oForm.retURL.value="http://www.cdgnow.com/contact/CustomizedLandingPage_Confirm.asp?fname="+valFName+"&lname="+valLName+"&email="+valEmail+"&phone="+valPhone+"&title="+valTitle+"&company="+valCompany+"&city="+valCity+"&state1="+valState+"&zip="+valZip+"&D1="+valCountry+"&formName="+valFormName;
	//}

	//if (valFormName == "CDG BANKING/FINANCE WHITE PAPER OFFER - 0906"){
	//	oForm.retURL.value="http://www.cdgnow.com/contact/CustomizedLandingPage_Confirm.asp?fname="+valFName+"&lname="+valLName+"&email="+valEmail+"&phone="+valPhone+"&title="+valTitle+"&company="+valCompany+"&city="+valCity+"&state1="+valState+"&zip="+valZip+"&D1="+valCountry+"&formName="+valFormName;
	//}

	//if (valFormName == "White Paper Request"){
	//	var valLeadSrc = oForm.lead_source.value;
	//	oForm.retURL.value="http://www.cdgnow.com/contact/whitepaper_request.asp?fname="+valFName+"&lname="+valLName+"&email="+valEmail+"&phone="+valPhone+"&title="+valTitle+"&company="+valCompany+"&city="+valCity+"&state1="+valState+"&zip="+valZip+"&D1="+valCountry+"&MarketSource="+valLeadSrc;
	//}

	if(valFName == ""){
		alert("First Name is a required 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.");
		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');
		return false;
	} 		
	if(valPhone == ""){
		alert("Phone is a required field.");
		oForm.phone.focus();
		return false;		
	}
	if (valPhone != ""){
		var validPhone = validateNonSpace(oForm.phone);
		if (validPhone == false) {
		oForm.phone.focus();			
		return false;
		}			
	}	
	if(valFormName=="InfoRequest" && valTitle == ""){
		alert("Job Title is a required field.");
		oForm.title.focus();
		return false;		
	}
	if (valTitle != ""){
		var validTitle = validateNonSpace(oForm.title);
		if (validTitle == false) {
		oForm.title.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.");
		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.");
	//	oForm.state.focus();
	//	return false;		
	//}
	if(valZip == ""){
		alert("Zip/postal code is a required field.");
		oForm.zip.focus();
		return false;		
	}
	if (valZip != ""){
		var validZip = validateNonSpace(oForm.zip);
		if (validZip == false) {
		oForm.zip.focus();			
		return false;
		}			
	}	
	if(valCountry == "" || valCountry=="Choose One"){
		alert("Country is a required field.");
		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=="White Paper Request" && valWhitePapers == ""){
		alert("Please select one or more from the list of CDG white papers.");
		oForm["00N50000001N3uw"].focus();
		return false;		
	}	
	if(valFormName=="InfoRequest" && valCDGServices == ""){
		alert("Please select one or more from the list of CDG Services.");
		oForm["00N50000001PXM4"].focus();
		return false;		
	}
	if(valFormName=="InfoRequest" && valCDGServices == "Other" && valComent == ""){
		alert("Please specify which CDG other services you are interested in.");
		oForm["00N50000001PXM4"].focus();
		return false;		
	}	
	if (valFormName == "InfoRequest"){
		oForm.retURL.value="http://www.cdgnow.com/contact/info_request.asp?fname="+valFName+"&lname="+valLName+"&email="+valEmail+"&phone="+valPhone+"&title="+valTitle+"&company="+valCompany+"&city="+valCity+"&state1="+valState+"&zip="+valZip+"&D1="+valCountry+"&MarketSource="+valLeadSrc;
	}
	
	if (valFormName == "CDG-LOCC Pre-Show - Case Study Request - 0906"){
		oForm.retURL.value="http://www.cdgnow.com/contact/CustomizedLandingPage_Confirm.asp?fname="+valFName+"&lname="+valLName+"&email="+valEmail+"&phone="+valPhone+"&title="+valTitle+"&company="+valCompany+"&city="+valCity+"&state1="+valState+"&zip="+valZip+"&D1="+valCountry+"&formName="+valFormName;
	}

	if (valFormName == "CDG BANKING/FINANCE WHITE PAPER OFFER - 0906"){
		oForm.retURL.value="http://www.cdgnow.com/contact/CustomizedLandingPage_Confirm.asp?fname="+valFName+"&lname="+valLName+"&email="+valEmail+"&phone="+valPhone+"&title="+valTitle+"&company="+valCompany+"&city="+valCity+"&state1="+valState+"&zip="+valZip+"&D1="+valCountry+"&formName="+valFormName;
	}

	if (valFormName == "White Paper Request"){
		oForm.retURL.value="http://www.cdgnow.com/contact/whitepaper_request.asp?fname="+valFName+"&lname="+valLName+"&email="+valEmail+"&phone="+valPhone+"&title="+valTitle+"&company="+valCompany+"&city="+valCity+"&state1="+valState+"&zip="+valZip+"&D1="+valCountry+"&Newsletter="+valNewsletter+"&MarketSource="+valLeadSrc;
	}
	
	if (valFormName == "Config Mgmt White Paper Request"){
		oForm.retURL.value="http://www.cdgnow.com/configurationmgmt/confirmation.asp?fname="+valFName+"&lname="+valLName+"&email="+valEmail+"&phone="+valPhone+"&title="+valTitle+"&company="+valCompany+"&city="+valCity+"&state1="+valState+"&zip="+valZip+"&D1="+valCountry+"&Newsletter="+valNewsletter+"&MarketSource="+valLeadSrc;
	}
	if (valFormName == "PresentationDownloadRequest"){
		oForm.retURL.value="http://www.cdgnow.com/GetLeanWebinar/presentationreqconfirmation.asp?fname="+valFName+"&lname="+valLName+"&email="+valEmail+"&phone="+valPhone+"&title="+valTitle+"&company="+valCompany+"&city="+valCity+"&state1="+valState+"&zip="+valZip+"&D1="+valCountry+"&Newsletter="+valNewsletter+"&MarketSource="+valLeadSrc;
	}

return true;						
}