(function()
{
  var addToCart = function(e)
  {
    // Show waiting thingie
    onAddToCartRequest();
    // Submit AJAX request
    var href = $(this).attr('href');
    $.ajax({
       type:      'GET',
       url:       href,
       dataType:  'html',
       success:   onAddToCartSuccess,
       error:     onAddToCartError
     });
     e.preventDefault();
  };
  
  var onAddToCartRequest = function()
  {
    $('#addtocart-info').fadeIn();
  };
  
  var onAddToCartSuccess = function(data)
  {
    $('#addtocart-info .waiting').hide();
    $('#addtocart-info .options').show();
  };
  
  var onAddToCartError = function(data)
  {
    alert("Something went wrong. Please try again.");
    addToCartContinue();
  };
  
  var addToCartContinue = function(e)
  {
    $('#addtocart-info').fadeOut(function()
    {
      $('#addtocart-info .waiting').show();
      $('#addtocart-info .options').hide();
    });
    e.preventDefault();
  };
  
  
  $(document).ready(function() {   
    
    /* Menu hover states */
    $('#sec_current ul li').hover(
      function() {
          $(this).addClass('sfhover');
      },
      function() {
          $(this).removeClass('sfhover');
      }
    );

    /* Enable facybox on .facybox elements */
    $('a[rel*=facybox]').facybox();
    
    // Bind add to cart
    $('#addto').click(addToCart);
    $('#addto-continue').click(addToCartContinue);
  });

})();
