function ValidateData() {

var name1=document.correspond.fname.value;
var name2=document.correspond.lname.value;
var comp=document.correspond.company.value;
var addrs=document.correspond.addr.value;
var cty=document.correspond.city.value;
var st=document.correspond.state.value;
var zp=document.correspond.zip.value;
//var cntry=document.correspond.country.value;
var fon=document.correspond.phone.value;
var fx=document.correspond.fax.value;
var email1=document.correspond.email.value;
var whitespace = " \t\n\r";
var chk1=/[^@\-\.\w]|^[_@\.\-]|[\._\-]{2}|[@\.]{2}|(@)[^@]*\1/;
var chk2=/@[\w\-]+\./;
var chk3=/\.[a-zA-Z]{2,3}$/;
var chkname=/[0-9]|[@!#$%^&*()_~+]/g;
var chkname2=/[@!#$%^*()_~+]/g;
var chknum=/[a-zA-Z]/g;
var chkaddr=/[@!$%^&*_+]/g;
var chkfonfax=/^(1\s*[-\/\.]?)?(\((\d{3})\)|(\d{3}))\s*[-\/\.]?\s*(\d{3})\s*[-\/\.]?\s*(\d{4})\s*(([xX]|[eE][xX][tT])\.?\s*(\d+))*$/;
var zipcode=/^\d{5}-\d{4}|\d{5}|[A-Z]\d[A-Z] \d[A-Z]\d$/;

//Required Field -First Name
if (name1.length==0) {
alert("First name needed !");
document.correspond.fname.select();
return false;
}
if (name1.search(chkname) !=-1) {
alert("Invalid Entry ! Please enter a proper First Name.");
document.correspond.fname.select();
return false;
}
//Required Field -Last Name
if (name2.length==0) {
alert("Last name needed !");
document.correspond.lname.select();
return false;
}
if (name2.search(chkname) !=-1) {
alert("Invalid Entry ! Please enter a proper Last Name.");
document.correspond.lname.select();
return false;
}


//Optional Field - Company
if (comp.length>0) {
if (comp.search(chkname2) !=-1) {
alert("Invalid Entry ! Please enter a proper company Name  or leave blank.");
document.correspond.company.select();
return false;
}
}


//Optional Field -Address
if (addrs.length>0) {
if (addrs.search(chkaddr) !=-1) {
alert("Invalid Entry ! Please enter a valid Address  or leave blank.");
document.correspond.addr.select();
return false;
}
}
//Optional Field - City
if (cty.length>0) {
if (cty.search(chkname) !=-1) {
alert("Invalid Entry ! Please enter a valid City Name  or leave blank.");
document.correspond.city.select();
return false;
}
}
//Optional Field -State or Province
if (st.length>0) {
if (st.search(chkname) !=-1) {
alert("Invalid Entry ! Please enter a valid State\/Province Name or Abbreviation or leave blank");
document.correspond.state.select();
return false;
}
}
//Optional Field -Zip Code
if (zp.length>0) {
if (zp.search(zipcode)) {
alert("Invalid Entry ! Please enter a valid Postal code or leave blank.");
document.correspond.zip.select();
return false;
}
}

/*
//Optional Field -Country
if (cntry.length>0) {
if (cntry.search(chkname) !=-1) {
alert("Invalid Entry ! Please enter a valid Country Name or leave blank.");
document.correspond.country.select();
return false;
}
}
*/

//Required Field -Telephone Number
if (fon.length==0)  {
alert("A valid telephone number is needed !");
document.correspond.phone.select();
return false;
}
if (fon.search(chkfonfax)) {
alert("Invalid Entry ! Please enter a valid Telephone Number.");
document.correspond.phone.select();
return false;
}
//Optional Field - Fax Number
if (fx.length>0) {
if (fx.search(chkfonfax)) {
alert("Invalid Entry ! Please enter a valid Fax Number or leave blank");
document.correspond.fax.select();
return false;
}
}
//Required Field -Email Address
if ((email1.search(chk1) != -1) 
|| (email1.search(whitespace) !=-1) 
|| (email1.search(chk2) == -1) 
|| (email1.search(chk3) == -1)) {
alert("Please insert a valid Email address !");
document.correspond.email.select();
return false;
}
else {
return true;
}
}
