 $(document).ready(function(){
  var email_example_txt = 'Enter Email Here';
  var openid_example_txt = 'Enter OpenID URL Here';
  
  // initialize input fields
  //setExample('#user_session_email', 'Email');
  setExample('#user_session_email', email_example_txt);
  setExample('#user_session_openid_identifier', openid_example_txt);

  // Set the validator default messages as empty text ('')
  jQuery.validator.messages.required = "";
  jQuery.validator.messages.minlength = "";
  jQuery.validator.messages.email = "Please Enter a Valid Email";

  // Validate the form
  $('#new_user_session').validate({
    ignore: '.ignore',
    focusInvalid: false,
    invalidHandler: function(form, validator) {
      // iterate over the error list
			for ( var i = 0; validator.errorList[i]; i++ ) {
				var error = validator.errorList[i];
				if (($(error.element).val() == '') && ($(error.element).attr('id') == 'user_session_email')) { setExample(error.element, email_example_txt) };
				//if (($(error.element).val() == '') && ($(error.element).attr('id') == 'user_session_password')) { setExample('#example_password', 'Password') };
			}
			
			if (validator.errorList.length > 0) {
			  Metrics.loginEmailError();
			}
    },
    errorPlacement: function(error, element) {
      if (element.attr("name") == "user_session[email]")
        $('#email_custom_error').append(error);
      else
        error.insertAfter(element);
     },
    rules: {
      'user_session[password]': {
        required: true
      },
      'user_session[email]': {
        required: true,
        email: true,
        remote: {
          data    : { email: function(){ return $("#user_session_email").val();} },
          type    : 'get',
          url     : "/user_session/check_email"
        }
      }
    }
  });

  // Validate the openid form
  $('#openid_new_user_session').validate({

    rules: {
      'user_session[openid_identifier]': {
        required: true
      }
    },
    invalidHandler: function(form, validator) {
			if (validator.errorList.length > 0) {
			  Metrics.loginOpenIdError();
			}
    }
  });
});