function checkEmailSubscription(){
if(isBlank(document.forms[0].firstname.value)){
 alert("Please enter your first name");
        document.forms[0].firstname.focus();
}else if(!isAlphaNumeric(document.forms[0].firstname.value)) {
        alert("You entered special characters that cannot be read by our system. Please re-enter your first name");
        document.forms[0].firstname.focus();
    }else if (isNumericOnlyWithSpace(document.forms[0].firstname.value)){
        alert("First Name should not contain only numbers");
        document.forms[0].firstname.focus();
    }else if(isBlank(document.forms[0].lastname.value)){
        alert("Please enter your last name");
        document.forms[0].lastname.focus();
	}else if(!isAlphaNumeric(document.forms[0].lastname.value)) {
        alert("You entered special characters that cannot be read by our system. Please re-enter your last name");
        document.forms[0].lastname.focus();
    }else if (isNumericOnlyWithSpace(document.forms[0].lastname.value)){
        alert("Last Name should not contain only numbers");
        document.forms[0].lastname.focus();        
    }else if(isBlank(document.forms[0].email.value)){
        alert("Please enter your e-mail address");
        document.forms[0].email.focus();      
    }else if(checkemail(document.forms[0].email)){
        alert("Please enter a valid E-mail address, using the format username@subdomain.domain");
        document.forms[0].email.focus(); 
    }else if(isBlank(document.forms[0].zip.value)){
        alert("Please enter your zip code");
        document.forms[0].zip.focus();
    }else if(!checkLength(document.forms[0].zip.value, 5)){
        alert("Your zip code must be five digits long. Please re-enter your zip code");
        document.forms[0].zip.focus();
    }else if(!checkValidZip(document.forms[0].zip.value, 5)){
        alert("Please enter a valid zip code");
        document.forms[0].zip.focus();
    }else{
        //control to yesmail.
        document.forms[0].submit();
    }
}

/*--------------------------------------------------------------------------------
------------------------------------------------------------------------
    Name:       isBlank()
    Purpose:    Blank String Check
------------------------------------------------------------------------*/

var forms = "";
var elements = "";
if(navigator.userAgent.indexOf("MSIE") > 0)
{
    forms = "document";        
}
else
{
    forms = "document.forms";
    elements = ".elements";
}

function isBlank(str)
{
    
    if(str.length==0)
    {
        return true;
    }
    else
    {
        var strblank ="";
        for(i=0; i<str.length; i++)
        strblank = strblank + " " ;

        if(str == strblank)
            return true;
        else 
            return false;
    }

}

/*------------------------------------------------------------------------
    Name:       checkEmail()
    Purpose:    Validating Email Address
------------------------------------------------------------------------*/

function checkemail(field){

var testresults=false;
var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i

if (filter.test(field.value))
{
    testresults=false;
}
else
{
    testresults=true;
}

return testresults;
}

function checkLength(param, len)
{ 
    var param=trim(param);
    var num="0123456789";
    var tempChar;
    if (param.length != len){        
        return false;
    }else{
  return true;
  }
}

function checkValidZip(param, len)
{ 
    var param=trim(param);
    var num="0123456789";
    var tempChar;
    
        if (param.length== len ){
        if(param.charAt(0)=="0" && param.charAt(1)=="0"){
            return false;
        }
        else{
        for(ctrI=0; ctrI < param.length; ctrI++){
             if (num.indexOf(param.charAt(ctrI)) == -1){
                 return false;
             }
         }
         }
         }
          return true;
}

function isAlphaNumeric(str)
{
    var str=trim(str);
    var ctrI = 0;
    var strLength = str.length;
    var validStr="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890 ";
    for (ctrI = 0; ctrI < strLength; ctrI++) {
       if (validStr.indexOf(str.charAt(ctrI)) == -1){
          return false;
        }
    }
   return true;
}

function trim(inputString) {
   if (typeof inputString != "string") { return inputString; }
   var retValue = inputString;
   var ch = retValue.substring(0, 1);
   while (ch == " ") { 
      retValue = retValue.substring(1, retValue.length);
      ch = retValue.substring(0, 1);
   }
   ch = retValue.substring(retValue.length-1, retValue.length);
   while (ch == " ") { 
      retValue = retValue.substring(0, retValue.length-1);
      ch = retValue.substring(retValue.length-1, retValue.length);
   }
   while (retValue.indexOf("  ") != -1) { 
      retValue = retValue.substring(0, retValue.indexOf("  ")) + retValue.substring(retValue.indexOf("  ")+1, retValue.length); 
   }
   return retValue; 
} 

function isNumericOnlyWithSpace(str)
{
    var str = trim(str);
    var ctrI;
    var counter = 0;
    var strLength = str.length;
    var validStr = "1234567890 ";
    if(strLength == 0){
    return false;
    }
    for (ctrI = 0;ctrI < strLength;ctrI++){
    if (validStr.indexOf(str.charAt(ctrI)) != -1){
    counter++;}
    }if(strLength == counter){
   return true;
   }
   return false;
}