function login_pre_request(formData, jqForm, options) {
  $("div#login_message").removeClass("error notice").html("");
  $("form#login_form input").attr("disabled", "disabled");
  return true; // returning anything other than false will allow the form submit to continue 
}

function login_post_request(json, statusText) { 
  $("div#login_message").flashMessage(json.type, json.msg, 6000);
  if( json.type == "error") {
    $("form#login_form input").removeAttr("disabled");
    $("input#login_email").select();
  }
  else { // result = success!!
    setTimeout( "document.location.href='index.php?type=notice&msg=You are now logged in and can place orders, request estimates and upload files.'", 3000);
  }
}

  $(document).ready(function() {
    $("form#login_form").show();
    
    $("a#forgot_password_link").click(function() {
      disable_form();
      $("div#login_message").removeClass("error notice").html("").hide();
      login_email_val = jQuery.trim($("input#login_email").val());
      if( login_email_val == "" ) {
        enable_form();
        $("div#login_message").flashMessage("error", "Enter your email address, then click \'forgot password\' again.", 5000 );
        $("input#login_email").select();
      }
      else {
        $.post("./php/controller.php", { action: "forgot_password", email: login_email_val }, 
          function(data) {
            $("div#login_message").flashMessage(data.type, data.msg, 6000)
            $("form#login_form input").removeAttr("disabled");
            if( data.type == "error" ) {
              $("input#login_email").select();
            }
          }, 
        "json")
      }

    }); 

    // create option object for the ajaxSubmit call 
    var login_ajaxsubmit_options = {
      beforeSubmit:  login_pre_request,    // pre-submit callback 
      success:       login_post_request,   // post-submit callback
      dataType:     'json'           // 'xml', 'script', or 'json' (expected server response type)       
    }

  	var validator = $("form#login_form").validate({
  		rules: {
  			login_email: {
  				required: true,
  				email: true
  			},
        login_password: {
          required: true,
          minlength: 6
        }
  		},
  		messages: {
  			login_password: {
  				required: "&nbsp;",
  				minlength: "&nbsp;"
  			},
  			login_email: {
  				required: "&nbsp;",
  				email: "&nbsp;"
  			}
  		},
  		// set this class to error-labels to indicate valid fields
  		success: function(label) {
  			// set &nbsp; as text for IE
  			label.html("&nbsp;").addClass("checked");
  		},
  		submitHandler: function() {
  			$("form#login_form").ajaxSubmit(login_ajaxsubmit_options);
        return false;  //  return false to prevent standard browser submit
  		}
  	});

  });
/*
*/