// Main nav drop downs 
(function($) {
  var timeout    = 500;
  var closetimer = 0;
  var ddmenuitem = 0;
  
  function mainnav_open() 
  {  mainnav_canceltimer();
     mainnav_close();
     ddmenuitem = $(this).find('.subnav').css('visibility', 'visible');}

  function mainnav_close()
  {  if(ddmenuitem) ddmenuitem.css('visibility', 'hidden');}

  function mainnav_timer()
  {  closetimer = window.setTimeout(mainnav_close, timeout);}

  function mainnav_canceltimer()
  {  if(closetimer)
     {  window.clearTimeout(closetimer);
        closetimer = null;}}

  $(document).ready(function() {
    $('#mainnav > li').bind('mouseenter', mainnav_open)
    $('#mainnav > li').bind('mouseleave',  mainnav_timer)
  });
  
})(jQuery);

// Global nav form submissions
(function($) {
  
  // Validate and post consumer login
  function doLogin() {
    $("#new_session").RSV({
      onCompleteHandler: function() { 
        $.ajax({
          async: false,
          type: "POST",
          url: "/ajax/sign-in.json",
          data: {
            "session[email]": $('#session_email').val(),
            "session[password]": $('#session_password').val(),
            "session[remember_me]": $('#session_remember_me').val()
          },
          success: function(data, textStatus) {
            if (data.length) {
              // Display errors inline.
            } else {
              // Update header for a logged in user.
            }
          }
        });
        return false;
      },
      rules: [
        "required,session_email,Please enter your e-mail address.",
        "required,session_password,Please enter a password."
      ]
    });
  }
  $('#UserLoginSubmit').click(doLogin);
  
  // Validate and post new consumer registration
  function doQuickReg(e) {
    $("#new_consumer").RSV({
      onCompleteHandler: function() { return true; },
      rules: [
        "required,consumer_email,Please enter your e-mail address.",
        "required,consumer_terms_and_conditions,You must agree to the terms and conditions in order to use this service.",
        "valid_email,consumer_email,Please enter a valid e-mail address.",
        "function,checkRecaptcha"
      ]
    });
  }
  $('#QuickRegSubmit').click(doQuickReg);
  
  // ReCaptcha code
  function checkRecaptcha() {
    var pass = false;
    $.ajax({
      async: false,
      type: "POST",
      url: "/ajax/recaptcha",
      data: {
        recaptcha_response_field: $('#recaptcha_response_field').val(),
        recaptcha_challenge_field: $('#recaptcha_challenge_field').val()
      },
      success: function(data, textStatus) {
        if (data == 'Success') {
          pass = true;
        }
      }
    });

  	if (pass == false) {
  		var field = document.getElementById("recaptcha_response_field");
  		return [[field, "Incorrect ReCaptcha match."]];
  	}
  	return true;
  };
  
  $(document).ready(function() {
    $('li.user-name a').text($.fn.truncate($('li.user-name a').text(), 13));
    $('#LoginLink, #RegLink, #FindBakeryLink').layer({
      placement: 'below',
      onShow: function(el) {
        $(el).find('input[type="text"]:first').trigger('focus');
      }
    });
    // $('#LoginLink').layer({
    //   content: '#UserLoginForm',
    //   placement: 'below'
    // })
    // $('#RegLink').layer({
    //   content: '#QuickReg',
    //   placement: 'below'
    // })
    // $('#FindBakeryLink').layer({
    //   content: '#FindBakery',
    //   placement: 'below'
    // })
  });
  
})(jQuery);
