function ValidateData() {

var name1=document.subscribe.fname.value;
var name2=document.subscribe.lname.value;
var comp=document.subscribe.company.value;
var addrs=document.subscribe.addr1.value;
var cty=document.subscribe.city.value;
var st=document.subscribe.state.value;
var zp=document.subscribe.zip.value;
//var cntry=document.subscribe.country.value;
var fon=document.subscribe.phone.value;
var fx=document.subscribe.fax.value;
var email1=document.subscribe.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 -Magazine Check boxes
if (document.subscribe.busmag.checked != true && document.subscribe.constructmag.checked != true  && document.subscribe.healthmag.checked != true){
alert("You didn't select a Magazine !");
document.subscribe.busmag.select();
return false;
}


//Required Field -First Name
if (name1.length==0) {
alert("First name needed !");
document.subscribe.fname.select();
return false;
}
if (name1.search(chkname) !=-1) {
alert("Invalid Entry ! Please enter a proper First Name.");
document.subscribe.fname.select();
return false;
}

//Required Field -Last Name
if (name2.length==0) {
alert("Last name needed !");
document.subscribe.lname.select();
return false;
}
if (name2.search(chkname) !=-1) {
alert("Invalid Entry ! Please enter a proper Last Name.");
document.subscribe.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.subscribe.company.select();
return false;
}
}


//Required Field -Address1
if (addrs.length==0) {
alert("Address 1 needed !");
document.subscribe.addr1.select();
return false;
}
if (addrs.search(chkaddr) !=-1) {
alert("Invalid Entry ! Please enter a valid Address.");
document.subscribe.addr1.select();
return false;
}


//Required Field - City
if (cty.length==0) {
alert("City needed !");
document.subscribe.city.select();
return false;
}
if (cty.search(chkname) !=-1) {
alert("Invalid Entry ! Please enter a valid City Name.");
document.subscribe.city.select();
return false;
}


//Required Field -State or Province
if (st.length==0) {
alert("State or Province needed !");
document.subscribe.state.select();
return false;
}
if (st.search(chkname) !=-1) {
alert("Invalid Entry ! Please enter a valid State\/Province Name or Abbreviation");
document.subscribe.state.select();
return false;
}


//Required Field -Zip Code
if (zp.length==0) {
alert("Postal or Zip code needed !");
document.subscribe.zip.select();
return false;
}
if (zp.search(zipcode)) {
alert("Invalid Entry ! Please enter a valid Postal code.");
document.subscribe.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.");
document.subscribe.country.select();
return false;
}
}
*/

//Required Field -Telephone Number
if (fon.length==0)  {
alert("A valid telephone number is needed !");
document.subscribe.phone.select();
return false;
}
if (fon.search(chkfonfax)) {
alert("Invalid Entry ! Please enter a valid Telephone Number.");
document.subscribe.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.subscribe.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.subscribe.email.select();
return false;
}
else {
return true;
}
}
