$(document).ready(function() {
  $('.next_step').click(function() {
    $('#form_box').slideDown('fast');
    return false;
  });
  
  $('#form_box .close_icon').click(function() {
    $('#form_box').slideUp('fast');
    return false;
  });
  
  $('#submit_button').click(function() {
    validateForm();
    
    return false;
  });
});

function validateForm() {
  var errors = 0;
  
  if($('#firstname_input').val()=="") {
    $('#firstname_input').addClass('error');
    errors++;
  } else {
    $('#firstname_input').removeClass('error');
  }
  
  if($('#lastname_input').val()=="") {
    $('#lastname_input').addClass('error');
    errors++;
  } else {
    $('#lastname_input').removeClass('error');
  }
  
  if($('#job_title_input').val()=="") {
    $('#job_title_input').addClass('error');
    errors++;
  } else {
    $('#job_title_input').removeClass('error');
  }
  
  if(!validateEmail($('#email_input').val())) {
    $('#email_input').addClass('error');
    errors++;
  } else {
    $('#email_input').removeClass('error');
  }
  
  if($('#company_input').val()=="") {
    $('#company_input').addClass('error');
    errors++;
  } else {
    $('#company_input').removeClass('error');
  }
  
  if($('#country_input').val()=="") {
    $('#country_error').addClass('error');
    errors++;
  } else {
    $('#country_error').removeClass('error');
  }
  
  if(errors > 0) {
    alert("Please correct the errors.");
  } else {
    var serializedData = $('#next_step_form').serialize();
    
    $('#submit_button').hide();
    $("#spinner").show();
  
    $.ajax({
      type: "POST",
      url: "contact.php",
      data: serializedData,
      success: function(msg){
        $("#spinner").hide()
        
        if(msg == "ok") {
          $('#form_show').hide();
          $('#confirm_message_show').show();
        } else {
          alert('An error occurred. Please try again.');
          $('#submit_button').show();
        }
      },
      async: false
    });
  }
}

function validateEmail(elementValue){  
  var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;  
  return emailPattern.test(elementValue);  
}

