var error_firstname_required;
var error_firstname_invalid;
var error_lastname_required;
var error_lastname_invalid;
var error_dateofbirth_required;
var error_dateofbirth_invalid;
var error_address_required;
var error_city_required;
var error_city_invalid;
var error_state_required;
var error_state_invalid_US;
var error_state_invalid_CA;
var error_zipcode_required;
var error_zipcodeUS_invalid;
var error_zipcodeCA_invalid;
var error_country_required;
var error_email_required;
var error_email_invalid;
var error_altemail_required;
var error_altemail_invalid;
var error_email_notequal;
var error_reqfieldmissing;
var error_reqfieldincorrect;
var error_email_domain_invalid;

//Function to initialise error messages.
function initialize_fn_wildlifesweeps(firstname_required,
									firstname_invalid,
									lastname_required,
									lastname_invalid,
									dateofbirth_required,
									dateofbirth_invalid,
									address_required,
									city_required,
									city_invalid,
									state_required,
									state_invalid_US,
									state_invalid_CA,
									zipcode_required,
									zipcodeUS_invalid,
									zipcodeCA_invalid,
									country_required,
									email_required,
									email_invalid,
									altemail_required,
									altemail_invalid,
									email_notequal,
									reqfieldmissing,
									reqfieldincorrect,
									email_domain_invalid) {
	error_firstname_required = firstname_required;
	error_firstname_invalid = firstname_invalid;
	error_lastname_required = lastname_required;
	error_lastname_invalid = lastname_invalid;
	error_dateofbirth_required = dateofbirth_required;
	error_dateofbirth_invalid = dateofbirth_invalid;
	error_address_required = address_required;
	error_city_required = city_required;
	error_city_invalid = city_invalid;
	error_state_required = state_required;
	error_state_invalid_US = state_invalid_US;
	error_state_invalid_CA = state_invalid_CA;
	error_zipcode_required = zipcode_required;
	error_zipcodeUS_invalid = zipcodeUS_invalid;
	error_zipcodeCA_invalid = zipcodeCA_invalid;
	error_country_required = country_required;
	error_email_required = email_required;
	error_email_invalid = email_invalid;
	error_altemail_required = altemail_required;
	error_altemail_invalid = altemail_invalid;
	error_email_notequal = email_notequal;
	error_reqfieldmissing = reqfieldmissing;
	error_reqfieldincorrect = reqfieldincorrect;
	error_email_domain_invalid=email_domain_invalid;
}

//Function to submit user data.
function submitUserData() {
        var errorMessage = validateForm();
        if (errorMessage == '') {
          return true;
        } else {
          document.getElementById('show_errors').innerHTML = errorMessage+'<br/>';
          scroll(0,500);
		  return false;
        }
}

//Function to validate form.
function validateForm() {
          var result = true;
          var errorMsg = '';
          var reqdErrorMsg = '';
          var invalidErrorMsg = '';

		  document.getElementById('sweepsform').firstName.value = trim(document.getElementById('sweepsform').firstName.value);		  
          var fname = document.getElementById('sweepsform').firstName;
		  
          if (!validRequired(fname)) {
              reqdErrorMsg = reqdErrorMsg + error_firstname_required;
              result = false;
          }else if (!validCharactersName(fname)) {
              invalidErrorMsg = invalidErrorMsg + error_firstname_invalid;
              result = false;
          }    

		  document.getElementById('sweepsform').lastName.value = trim(document.getElementById('sweepsform').lastName.value);		  
          var lName = document.getElementById('sweepsform').lastName;
          if (!validRequired(lName)) {
              reqdErrorMsg = reqdErrorMsg + error_lastname_required;
              result = false;
          } else if (!validCharactersLastName(lName)) {
              invalidErrorMsg = invalidErrorMsg + error_lastname_invalid;
              result = false;
          }


      var day = document.getElementById('sweepsform').dob.value;
          var month = document.getElementById('sweepsform').mob.value;
          var year = document.getElementById('sweepsform').yob.value;
          var monthArr = getDaysinMonthsArray(year);

          if ( (month == -1) || (day ==  -1) || (year ==  -1) ) {
              reqdErrorMsg = reqdErrorMsg + error_dateofbirth_required;
              result = false;
          } else if (day > monthArr[month]) {

              // error number of days in month is greater.
              invalidErrorMsg = invalidErrorMsg + error_dateofbirth_invalid;
              result = false;
          } 

		  document.getElementById('sweepsform').address.value = trim(document.getElementById('sweepsform').address.value);		  
          var addr = document.getElementById('sweepsform').address;
          if (!validRequired(addr)) {
              reqdErrorMsg = reqdErrorMsg + error_address_required;
              result = false;
          }

		  document.getElementById('sweepsform').city.value = trim(document.getElementById('sweepsform').city.value);		  
          var cityName = document.getElementById('sweepsform').city;
          if (!validRequired(cityName)) {
              reqdErrorMsg = reqdErrorMsg + error_city_required;
              result = false;
          }else if (!validCity(cityName)) {
              invalidErrorMsg = invalidErrorMsg + error_city_invalid;
              result = false;
          }    

          if (document.getElementById('sweepsform').state.value == -1 || document.getElementById('sweepsform').state.value == -2) {
		     
              reqdErrorMsg = reqdErrorMsg + error_state_required;
              result = false;
          }else{
		  
		   var state_val = document.getElementById('sweepsform').state.value;
		  //UNITED STATES length is 2.
		  //CANADA length is greater than 2
		   if(document.getElementById('sweepsform').country.value == 'UNITED STATES' && state_val.length > 2){
		   reqdErrorMsg = reqdErrorMsg + error_state_invalid_US;
              result = false;
		   
		   }else if(document.getElementById('sweepsform').country.value == 'CANADA' && (state_val.length == 2)){
		   reqdErrorMsg = reqdErrorMsg + error_state_invalid_CA;
              result = false;
		   
		   }
		  
		  }
		  document.getElementById('sweepsform').zip.value = trim(document.getElementById('sweepsform').zip.value);		
          var zip = document.getElementById('sweepsform').zip;

          if (!validRequired(zip)) {
              reqdErrorMsg = reqdErrorMsg + error_zipcode_required;
              result = false;
           }else if(trim(document.getElementById('sweepsform').country.value) == 'UNITED STATES'){
              if( !isZipUS(zip.value)){
              invalidErrorMsg = invalidErrorMsg + error_zipcodeUS_invalid;
              result = false;
              }
			  if( !isZipUSzero(zip.value)){
              invalidErrorMsg = invalidErrorMsg + error_zipcodeUS_invalid;
              result = false;
              }
           }else if(trim(document.getElementById('sweepsform').country.value) == 'CANADA'){
            if( !isZipCA(zip.value)){
              invalidErrorMsg = invalidErrorMsg + invalidErrorMsg + error_zipcodeCA_invalid;
              result = false;
              }
          }
		   

          if (document.getElementById('sweepsform').country.value == -1) {
              reqdErrorMsg = reqdErrorMsg + error_country_required;
              result = false;
          }

         //Email validation check
		 document.getElementById('sweepsform').email.value = trim(document.getElementById('sweepsform').email.value);		
           var eMail = document.getElementById('sweepsform').email;
          if ( !validRequired(eMail)) {
              reqdErrorMsg = reqdErrorMsg + error_email_required;
              result = false;
          }else if (!isEmailAddr(eMail)) {  			  
              invalidErrorMsg = invalidErrorMsg + error_email_invalid;
              result = false;
          }
		  else if (!validEmailDomain(eMail)) {  			  
              invalidErrorMsg = invalidErrorMsg + error_email_domain_invalid;
              result = false;
          }
		  
		  
		  else{
              //Email Validation added by Anshul on 07/03/2006
              var reg="^([\\w-]+(?:\\.[\\w-]+)*)@((?:[\\w-]+\\.)*\\w[\\w-]{0,66})\\.([a-zA-Z]{2,6}(?:\\.[a-zA-Z]{2})?)$"; 
                  var reg1 = new RegExp(reg);
                  if(!reg1.test(trim(eMail.value))){
                   invalidErrorMsg = invalidErrorMsg + error_email_invalid;
                      result = false;
                  }
		      }

          //Confirm email address validation check
		  document.getElementById('sweepsform').reemail.value = trim(document.getElementById('sweepsform').reemail.value);
           var reemail = document.getElementById('sweepsform').reemail;
          if ( !validRequired(reemail)) {
              reqdErrorMsg = reqdErrorMsg + error_altemail_required;
              result = false;
          }else if (!isEmailAddr(reemail)) {  			  
              invalidErrorMsg = invalidErrorMsg + error_altemail_invalid;
              result = false;
          }else if ((trim(eMail.value)).toLowerCase() != (trim(reemail.value)).toLowerCase()) {
              invalidErrorMsg = invalidErrorMsg + error_email_notequal;
              result = false;
          }
		  
		  
		  else{
              var reg="^([\\w-]+(?:\\.[\\w-]+)*)@((?:[\\w-]+\\.)*\\w[\\w-]{0,66})\\.([a-zA-Z]{2,6}(?:\\.[a-zA-Z]{2})?)$"; 
                  var reg1 = new RegExp(reg);
                  if(!reg1.test(trim(reemail.value))){
                   invalidErrorMsg = invalidErrorMsg + error_altemail_invalid;
                      result = false;
                  }
		      } 


          
          if (reqdErrorMsg != '') {
              errorMsg = error_reqfieldmissing + reqdErrorMsg + '<br/>';
          }
          if (invalidErrorMsg != '') {
              errorMsg = errorMsg + error_reqfieldincorrect + invalidErrorMsg;
          }

          return errorMsg;
}

