function ValidateFields(form){
	 var error_condition = 0;
   document.getElementById("her_first").className = "";
   document.getElementById("her_first_label").className = "";
   document.getElementById("her_last").className = "";
   document.getElementById("her_last_label").className = "";
   document.getElementById("her_address1").className = "";
   document.getElementById("her_address1_label").className = "";
   document.getElementById("her_city").className = "";
   document.getElementById("her_city_label").className = "";
   document.getElementById("her_zip").className = "";
   document.getElementById("her_zip_label").className = "";
   document.getElementById("her_email").className = "";
   document.getElementById("her_email_label").className = "";
   document.getElementById("his_first").className = "";
   document.getElementById("his_first_label").className = "";
   document.getElementById("his_last").className = "";
   document.getElementById("his_last_label").className = "";
   document.getElementById("his_address1").className = "";
   document.getElementById("his_address1_label").className = "";
   document.getElementById("his_city").className = "";
   document.getElementById("his_city_label").className = "";
   document.getElementById("his_zip").className = "";
   document.getElementById("his_zip_label").className = "";
   document.getElementById("his_email").className = "";
   document.getElementById("his_email_label").className = "";
   if(trim(form.her_first.value)==""){
      error_condition = 1;
      document.getElementById("her_first").className = "error";
      document.getElementById("her_first_label").className = "error";
   }
   if(trim(form.her_last.value)==""){
      error_condition = 1;
      document.getElementById("her_last").className = "error";
      document.getElementById("her_last_label").className = "error";
   }
   if(trim(form.her_address1.value)==""){
      error_condition = 1;
      document.getElementById("her_address1").className = "error";
      document.getElementById("her_address1_label").className = "error";
   }
   if(trim(form.her_city.value)==""){
      error_condition = 1;
      document.getElementById("her_city").className = "error";
      document.getElementById("her_city_label").className = "error";
   }
   if(trim(form.her_zip.value)==""){
      error_condition = 1;
      document.getElementById("her_zip").className = "error";
      document.getElementById("her_zip_label").className = "error";
   }
   if(trim(form.his_first.value)==""){
      error_condition = 1;
      document.getElementById("his_first").className = "error";
      document.getElementById("his_first_label").className = "error";
   }
   if(trim(form.his_last.value)==""){
      error_condition = 1;
      document.getElementById("his_last").className = "error";
      document.getElementById("his_last_label").className = "error";
   }
   if(trim(form.his_address1.value)==""){
      error_condition = 1;
      document.getElementById("his_address1").className = "error";
      document.getElementById("his_address1_label").className = "error";
   }
   if(trim(form.his_city.value)==""){
      error_condition = 1;
      document.getElementById("his_city").className = "error";
      document.getElementById("his_city_label").className = "error";
   }
   if(trim(form.his_zip.value)==""){
      error_condition = 1;
      document.getElementById("his_zip").className = "error";
      document.getElementById("his_zip_label").className = "error";
   }
   if ( error_condition ) {
   	  alert ( tx_required );
   	  return false;
   }
   if ( ! validateZipcode ( trim(form.her_zip.value) ) ) {
      alert ( tx_herzip );
      document.getElementById("her_zip").className = "error";
      document.getElementById("her_zip_label").className = "error";
      form.her_zip.focus();
      return false;
   }
   if(trim(form.her_email.value)!=""){
      emailID = trim(form.her_email.value);
      if (validateEmail(emailID)==false){
         alert( tx_heremail );
         document.getElementById("her_email").className = "error";
         document.getElementById("her_email_label").className = "error";
         form.her_email.focus();
         return false;
      }
   }
   if ( trim(form.her_home1.value) ) {
      if ( ! validatePhone ( form.her_home1, tx_herhome, 3 ) ) {
         document.getElementById("her_home1").className = "error";
         document.getElementById("her_home_label").className = "error";
      	 return false;
      }
   }
   if ( trim(form.her_home2.value) ) {
      if ( ! validatePhone ( form.her_home2, tx_herhome, 3 ) ) {
         document.getElementById("her_home2").className = "error";
         document.getElementById("her_home_label").className = "error";
      	 return false;
      }
   }
   if ( trim(form.her_home3.value) ) {
      if ( ! validatePhone ( form.her_home3, tx_herhome, 4 ) ) {
         document.getElementById("her_home3").className = "error";
         document.getElementById("her_home_label").className = "error";
      	 return false;
      }
   }
   if ( ( trim(form.her_home1.value) ) || ( trim(form.her_home2.value) ) || ( trim(form.her_home3.value) ) ) {
   	  if ( ( ! trim(form.her_home1.value) ) || ( ! trim(form.her_home2.value) ) || ( ! trim(form.her_home3.value) ) ) {
         document.getElementById("her_home_label").className = "error";
         alert ( tx_herhome_incomplete );
         form.her_home1.focus();
      	 return false;
      }
   }
   if ( trim(form.her_work1.value) ) {
      if ( ! validatePhone ( form.her_work1, tx_herwork, 3 ) ) {
         document.getElementById("her_work1").className = "error";
         document.getElementById("her_work_label").className = "error";
      	 return false;
      }
   }
   if ( trim(form.her_work2.value) ) {
      if ( ! validatePhone ( form.her_work2, tx_herwork, 3 ) ) {
         document.getElementById("her_work2").className = "error";
         document.getElementById("her_work_label").className = "error";
      	 return false;
      }
   }
   if ( trim(form.her_work3.value) ) {
      if ( ! validatePhone ( form.her_work3, tx_herwork, 4 ) ) {
         document.getElementById("her_work3").className = "error";
         document.getElementById("her_work_label").className = "error";
      	 return false;
      }
   }
   if ( ( trim(form.her_work1.value) ) || ( trim(form.her_work2.value) ) || ( trim(form.her_work3.value) ) ) {
   	  if ( ( ! trim(form.her_work1.value) ) || ( ! trim(form.her_work2.value) ) || ( ! trim(form.her_work3.value) ) ) {
         document.getElementById("her_work_label").className = "error";
         alert ( tx_herwork_incomplete );
         form.her_work1.focus();
      	 return false;
      }
   }
   if ( trim(form.her_cell1.value) ) {
      if ( ! validatePhone ( form.her_cell1, tx_hercell, 3 ) ) {
         document.getElementById("her_cell1").className = "error";
         document.getElementById("her_cell_label").className = "error";
      	 return false;
      }
   }
   if ( trim(form.her_cell2.value) ) {
      if ( ! validatePhone ( form.her_cell2, tx_hercell, 3 ) ) {
         document.getElementById("her_cell2").className = "error";
         document.getElementById("her_cell_label").className = "error";
      	 return false;
      }
   }
   if ( trim(form.her_cell3.value) ) {
      if ( ! validatePhone ( form.her_cell3, tx_hercell, 4 ) ) {
         document.getElementById("her_cell3").className = "error";
         document.getElementById("her_cell_label").className = "error";
      	 return false;
      }
   }
   if ( ( trim(form.her_cell1.value) ) || ( trim(form.her_cell2.value) ) || ( trim(form.her_cell3.value) ) ) {
   	  if ( ( ! trim(form.her_cell1.value) ) || ( ! trim(form.her_cell2.value) ) || ( ! trim(form.her_cell3.value) ) ) {
         document.getElementById("her_cell_label").className = "error";
         alert ( tx_hercell_incomplete );
         form.her_cell1.focus();
      	 return false;
      }
   }
   if ( ( trim(form.her_home1.value) == "" ) &&
        ( trim(form.her_work1.value) == "" ) &&
        ( trim(form.her_cell1.value) == "" ) ) {
      alert ( tx_phone_required );
      form.her_home1.focus();
      return false;
   }
   if ( ! validateZipcode ( trim(form.his_zip.value) ) ) {
      alert ( tx_hiszip );
      document.getElementById("his_zip").className = "error";
      document.getElementById("his_zip_label").className = "error";
      form.his_zip.focus();
      return false;
   }
   if(trim(form.his_email.value)!=""){
      emailID = trim(form.his_email.value);
      if (validateEmail(emailID)==false){
         alert( tx_hisemail );
         document.getElementById("his_email").className = "error";
         document.getElementById("his_email_label").className = "error";
         form.his_email.focus();
         return false;
      }
   }
   if ( trim(form.his_home1.value) ) {
      if ( ! validatePhone ( form.his_home1, tx_hishome, 3 ) ) {
         document.getElementById("his_home1").className = "error";
         document.getElementById("his_home_label").className = "error";
      	 return false;
      }
   }
   if ( trim(form.his_home2.value) ) {
      if ( ! validatePhone ( form.his_home2, tx_hishome, 3 ) ) {
         document.getElementById("his_home2").className = "error";
         document.getElementById("his_home_label").className = "error";
      	 return false;
      }
   }
   if ( trim(form.his_home3.value) ) {
      if ( ! validatePhone ( form.his_home3, tx_hishome, 4 ) ) {
         document.getElementById("his_home3").className = "error";
         document.getElementById("his_home_label").className = "error";
      	 return false;
      }
   }
   if ( ( trim(form.his_home1.value) ) || ( trim(form.his_home2.value) ) || ( trim(form.his_home3.value) ) ) {
   	  if ( ( ! trim(form.his_home1.value) ) || ( ! trim(form.his_home2.value) ) || ( ! trim(form.his_home3.value) ) ) {
         document.getElementById("his_home_label").className = "error";
         alert ( tx_hishome_incomplete );
         form.his_home1.focus();
      	 return false;
      }
   }
   if ( trim(form.his_work1.value) ) {
      if ( ! validatePhone ( form.his_work1, tx_hiswork, 3 ) ) {
         document.getElementById("his_work1").className = "error";
         document.getElementById("his_work_label").className = "error";
      	 return false;
      }
   }
   if ( trim(form.his_work2.value) ) {
      if ( ! validatePhone ( form.his_work2, tx_hiswork, 3 ) ) {
         document.getElementById("his_work2").className = "error";
         document.getElementById("his_work_label").className = "error";
      	 return false;
      }
   }
   if ( trim(form.his_work3.value) ) {
      if ( ! validatePhone ( form.his_work3, tx_hiswork, 4 ) ) {
         document.getElementById("his_work3").className = "error";
         document.getElementById("his_work_label").className = "error";
      	 return false;
      }
   }
   if ( ( trim(form.his_work1.value) ) || ( trim(form.his_work2.value) ) || ( trim(form.his_work3.value) ) ) {
   	  if ( ( ! trim(form.his_work1.value) ) || ( ! trim(form.his_work2.value) ) || ( ! trim(form.his_work3.value) ) ) {
         document.getElementById("his_work_label").className = "error";
         alert ( tx_hiswork_incomplete );
         form.his_work1.focus();
      	 return false;
      }
   }
   if ( trim(form.his_cell1.value) ) {
      if ( ! validatePhone ( form.his_cell1, tx_hiscell, 3 ) ) {
         document.getElementById("his_cell1").className = "error";
         document.getElementById("his_cell_label").className = "error";
      	 return false;
      }
   }
   if ( trim(form.his_cell2.value) ) {
      if ( ! validatePhone ( form.his_cell2, tx_hiscell, 3 ) ) {
         document.getElementById("his_cell2").className = "error";
         document.getElementById("his_cell_label").className = "error";
      	 return false;
      }
   }
   if ( trim(form.his_cell3.value) ) {
      if ( ! validatePhone ( form.his_cell3, tx_hiscell, 4 ) ) {
         document.getElementById("his_cell3").className = "error";
         document.getElementById("his_cell_label").className = "error";
      	 return false;
      }
   }
   if ( ( trim(form.his_cell1.value) ) || ( trim(form.his_cell2.value) ) || ( trim(form.his_cell3.value) ) ) {
   	  if ( ( ! trim(form.his_cell1.value) ) || ( ! trim(form.his_cell2.value) ) || ( ! trim(form.his_cell3.value) ) ) {
         document.getElementById("his_cell_label").className = "error";
         alert ( tx_hiscell_incomplete );
         form.his_cell1.focus();
      	 return false;
      }
   }
   if ( ( trim(form.his_home1.value) == "" ) &&
        ( trim(form.his_work1.value) == "" ) &&
        ( trim(form.his_cell1.value) == "" ) ) {
      alert ( tx_phone_required );
      form.his_home1.focus();
      return false;
   }

   document.getElementById('contpay').style.display='none';

   return true;
}
function trim(stringToTrim) {
	 return stringToTrim.replace(/^\s+|\s+$/g,"");
}
function validatePhone ( phone, phoneFieldName, fieldSize ) {
	 phone_entry = '';
   for ( i = 0; i < phone.value.length; i++ ) {
      curr_char = phone.value.charAt (i);
      if ( curr_char == "0" ) {
         phone_entry = phone_entry + curr_char;
      } else if ( parseFloat ( curr_char ) ) {
         phone_entry = phone_entry + curr_char;
      }
   }
   if ( phone_entry.length != fieldSize ) {
      alert ( phoneFieldName + tx_not_enough_digits );
      phone.focus();
      return false;
   }
   phone.value = phone_entry;
   return true;
}
function validateEmail(str) {
   var at="@";
   var dot=".";
   var lat=str.indexOf(at);
   var lstr=str.length;
   var ldot=str.indexOf(dot);

   if (str.indexOf(at)==-1){
      return false;
   }

   if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
      return false;
   }

   if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
      return false;
   }

   if (str.indexOf(at,(lat+1))!=-1){
      return false;
   }

   if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
      return false;
   }

   if (str.indexOf(dot,(lat+2))==-1){
      return false;
   }

   if (str.indexOf(" ")!=-1){
      return false;
   }
   return true;
}
function validateZipcode ( zipcode ) {
   zip_chars = 0;

   for ( i = 0; i < zipcode.length; i++ ) {
      if ( zipcode.charAt (i) != "0" ) {
         if ( zipcode.charAt (i) != "-" ) {
            if ( ! parseFloat ( zipcode.charAt (i) ) ) {
               return false;
            } else {
               zip_chars++;
            }
         } else {
            if ( i != 5 ) {
               return false;
            }
         }
      } else {
         zip_chars++;
      }
   }
   if ( ( zip_chars != 5 ) && ( zip_chars != 9 ) ) {
      return false;
   }
   return true;
}
function weddingStatus () {
	 if ( document.getElementById('wedding_not_set').checked ) {
	 	  document.getElementById('wedding_date').disabled = true;
	 } else {
	 	  document.getElementById('wedding_date').disabled = false;
	 }
}
