/* Validate the user's input for sending out email requests */

$(document).ready(function(){
 $("#submit").click(function(){
  $(".error").hide();
  var hasError=false;
  var emailReg=/^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
  var addressToVal=$("#addressTo").val();
  if(addressToVal==''){
   $("#addressTo").after('<div class="error">Please specify a contact to send your email.</div>');
   hasError=true;
  }  
  var emailToVal=$("#nameFrom").val();
  if(emailToVal==''){
   $("#nameFrom").after('<div class="error">Please enter your full name.</div>');
   hasError=true;
  }
  var emailFromVal=$("#emailFrom").val();
  if(emailFromVal==''){
   $("#emailFrom").after('<div class="error">Please enter your contact email address.</div>');
   hasError=true;
  }else if(!emailReg.test(emailFromVal)){
   $("#emailFrom").after('<div class="error">Please enter a valid email address.</div>');
   hasError=true;
  }
  var subjectVal=$("#subject").val();
  if(subjectVal == ''){
   $("#subject").after('<div class="error">Please enter the subject.</div>');
   hasError=true;
  }
  var messageVal=$("#message").val();
  if(messageVal==''){
   $("#message").after('<div class="error">Please enter the message.</div>');
   hasError=true;
  }
  var phoneVal=$("#phone").val();
  phoneVal=phoneVal.replace(/[\' '\(\)\.\-\ ]/g,'');
  if(!phoneVal==''){
   if(phoneVal.length!=10){
    $("#phone").after('<div class="error">You didn\'t enter a valid phone number, please include your area code.</div>');
    hasError=true;
   }else if(isNaN(parseInt(phoneVal))){
    $("#phone").after('<div class="error">The phone number must contain only numbers.</div>');
    hasError=true;
   }else{
    sA=phoneVal.slice(0,3);
    sB=phoneVal.slice(3,6);
    sC=phoneVal.slice(6,10);
    phoneVal=sA+"."+sB+"."+sC;
   }
  }
  var recaptchaVal=$("#recaptcha_response_field").val();
  if(recaptchaVal==''){
   $("#recaptcha_response_field").after('<div class="error">Please validate your form submission.</div>');
   hasError=true;
  }
  if(recaptchaVal!=''){
   var challengeField=$("#recaptcha_challenge_field").val();
   var responseField=$("#recaptcha_response_field").val();
   var html=$.ajax({
    type:"POST",
    url:"./functions/ajax.recaptcha.php",
    data:"recaptcha_challenge_field="+challengeField+"&recaptcha_response_field="+responseField,
    async:false
   }).responseText;
   if(html!="success"){
    $("#recaptcha_response_field").after('<div class="error">Validation error. Please try again.</div>');
    Recaptcha.reload();
    hasError=true;
   }
  }
  if(hasError==false){
   $(this).hide();
   $.post("./functions/sendemail.php",
   {addressTo:addressToVal,emailTo:emailToVal,emailFrom:emailFromVal,phone:phoneVal,subject:subjectVal,message:messageVal},
    function(data){
     $("#sendEmail").slideUp("slow");
     $("#sendEmail").after('<span id="thnkyou"><br /><br /><p>Thank you.<br /><br />Your email has been sent. We will respond as soon as possible.</p><br /><br /></span>');
     resize=125;
    }
   );
  }else{
   resize=document.getElementById('popup_block').offsetHeight;
  }
  resizeT=resize/2;
  document.getElementById('innerWin').style.top='-'+resizeT+'px';
  document.getElementById('innerWin').style.height=resize+'px';
  window.scrollTo(0,0);
  return false;
 });
});
