jq(document).ready(function() {
  setup_submenu();
  start_slideshow();  
  // load_basket();
});

var menu_shown = false;
var hide_menu = function() { jq('#sub-navigation').fadeOut(100);};

function setup_submenu() {
  jq('#navigation-projects').hover(
    function() {
      jq(this).addClass('hover');
      jq('#sub-navigation').stop(true, true).css({display: 'block'});
      menu_shown = true;
    },
    function() {
      menu_shown = false;
      setTimeout(
        function() {
          if (menu_shown) return;
          jq('#navigation-projects').removeClass('hover');
          hide_menu();
        },
        10
      );
    }
  );

  jq('#sub-navigation').hover(
    function() {
      jq('#navigation-projects').addClass('hover');
      jq('#sub-navigation').stop(true, true).css({display: 'block'});
      menu_shown = true;
    },
    function() {
      jq('#navigation-projects').removeClass('hover');
      hide_menu();
    }
  );
}

var slide_offset = 0, slide_count;
var SLIDE_HEIGHT;

function start_slideshow() {
  slide_count = jq('#hero-rail-1 img').length;
  if (slide_count < 2) return;

  SLIDE_HEIGHT = jq('#hero-rail-1 img').first().height();
  jq('#hero-rail-1').clone().attr('id', 'hero-rail-2').insertAfter('#hero-rail-1');
  setTimeout(advance_slide, 8000);
}

function advance_slide() {
  jq('#hero-rail-1').css({top: px(slide_offset * -1), opacity: 1});
  slide_offset = (slide_offset + SLIDE_HEIGHT) % (slide_count * SLIDE_HEIGHT);
  jq('#hero-rail-2').css({top: px(slide_offset * -1)});
  jq('#hero-rail-1').animate({opacity: 0}, 500);
  
  setTimeout(advance_slide, 8000);
}

// General functions

function px(val) { return val + 'px'; }

// function load_basket() {
//   console.debug('load_basket');
//   
//   var basket_el = jq('#basket-overview');
//   
//   if (basket_el.length < 1) return; 
// 
//   console.debug('load_basket in shop');
// 
// 
//   jq.ajax({
//     url: '/shop/display_basket',
//     dataType: 'json',
//     success: function(data) {
//       console.debug(data);
//       jq('#basket-count').text(data.basket_count);
//     },
//     error: function(error) {
//       console.debug('error', error);
//     }
//   });
//     
// }

