  $(document).ready(function(){
    // validate email on submit
    $("#signup").bind('submit',function(){
      var email_field = $(this).find("input[name='EmailAddress']");
      var zip_field = $(this).find("input[name='PostalCode']");
      if ( validate_email( email_field ) ){
        $.cookie('skip_splash','true', { expires: 365, path: '/' } );
        return true; 
      } else {
        return false;
      }
    });

    // validate email on blur
    $("#signup").find("input[name='EmailAddress']").bind('blur',function(){
      validate_email( $(this) );
    });

    $("#signup").restore_form_values();
  });

  // email validation
  function validate_email(email_field){
    if( email_field.val() ){
      if ( email_field.val().match(/^\s*[\w\-\+_]+(\.[\w\-\+_]+)*\@[\w\-\+_]+\.[\w\-\+_]+(\.[\w\-\+_]+)*\s*$/) ){
        email_field.data('restore_form_values').initial = "Email Address*";
        email_field.data('restore_form_values').blank = '';
        email_field.removeClass('error');
        return true;
      } else {
        email_field.addClass('error');
        email_field.data('restore_form_values').initial = "Invalid email";
        if ( email_field.val() != "Email Address*") email_field.data('restore_form_values').blank = email_field.val();
        email_field.val("Invalid email");
        return false;
      }
    } else {
      email_field.addClass('error');
      email_field.data('restore_form_values').initial = "Missing email";
      email_field.data('restore_form_values').blank = email_field.val();
      email_field.val("Missing email");
      return false;
    }
  }


  // zip validation
  function validate_zip(zip_field){
    if( zip_field.val() ){
      if ( zip_field.val().match(/^\d{5}$/) ){
        zip_field.data('restore_form_values').initial = "Zip*";
        zip_field.data('restore_form_values').blank = '';
        zip_field.removeClass('error');
        return true;
      } else {
        zip_field.addClass('error');
        zip_field.data('restore_form_values').initial = "Invalid zip";
        if ( zip_field.val() != "Zip*") zip_field.data('restore_form_values').blank = zip_field.val();
        zip_field.val("Invalid zip");
        return false;
      }
    } else {
      zip_field.addClass('error');
      zip_field.data('restore_form_values').initial = "Missing zip";
      zip_field.data('restore_form_values').blank = zip_field.val();
      zip_field.val("Missing zip");
      return false;
    }
  }


