$(document).ready(function() {
	
	mainNav();
    layout();
	sliders();
	extras();
	
});
// end document ready

// FUNCTIONS

/* 1. MAIN NAVIGATION */
function mainNav () {
// home
if (!($('ul#main-nav li#home').hasClass("current")) ) {
    $('ul#main-nav li#home a')
	.css( {backgroundPosition: "0 0"} )
	.mouseover(function(){
		$(this).stop().animate({backgroundPosition:"(0 -41px)"}, {duration:500, easing: 'easeOutElastic'      })
	})
	.mouseout(function(){
	$(this).stop().animate({backgroundPosition:"(0 0)"}, {duration:300, easing: 'easeInQuad'});
  });
}
// products
if (!($('ul#main-nav li#products').hasClass("current")) ) {
    $('ul#main-nav li#products a')
	.css( {backgroundPosition: "-101px 0"} )
	.mouseover(function(){
		$(this).stop().animate({backgroundPosition:"(-101px -41px)"}, {duration:500, easing: 'easeOutElastic'})
	})
	.mouseout(function(){
	$(this).stop().animate({backgroundPosition:"(-101px 0)"}, {duration:300, easing: 'easeInQuad'});
   });
}
// moments
if (!($('ul#main-nav li#moments').hasClass("current")) ) {
    $('ul#main-nav li#moments a')
	.css( {backgroundPosition: "-230px 0"} )
	.mouseover(function(){
		$(this).stop().animate({backgroundPosition:"(-230px -41px)"}, {duration:500, easing: 'easeOutElastic'})
	})
	.mouseout(function(){
	$(this).stop().animate({backgroundPosition:"(-230px 0)"}, {duration:300, easing: 'easeInQuad'});
   });
}
// about
if (!($('ul#main-nav li#about').hasClass("current")) ) {
    $('ul#main-nav li#about a ')
	.css( {backgroundPosition: "-364px 0"} )
	.mouseover(function(){
		$(this).stop().animate({backgroundPosition:"(-364px -41px)"}, {duration:500, easing: 'easeOutElastic'})
	})
	.mouseout(function(){
	$(this).stop().animate({backgroundPosition:"(-364px 0)"}, {duration:300, easing: 'easeInQuad'});
   });
}

}
// end mainNav 
  
/* 2. LAYOUT & EFFECTS */
function layout() {

   // hover effects
   $("h1.home-logo a").hover(
    function () {
    $(this).stop().fadeTo(200, 0.6);
       },
    function () {
    $(this).stop().fadeTo(300, 1);
       }
    );
	
	// home links hover effects
	$('ul#home-links li.tubs a, ul#home-links li.sticks a, ul#home-links li.easter a').hover(
	function() {
		$(this).find('img').fadeOut(250);
	},
	function() {
		$(this).find('img').fadeIn(250);
	});
	$('ul#home-links li.comedy a').hover(
	function() { $(this).find('img').fadeTo(250, 0.8); },
	function() { $(this).find('img').fadeTo(250, 1.0); });
	
	// get stuck in rollover arrow effect
	$('ul#home-links li.stuck-in a').hover(
    function() {
     $(this).find('img.stuck-arrow')
      .animate({left:"40px" }, {duration:70, easing: 'easeInQuad'})
	  .animate({left:"5px"}, {duration:220, easing: 'easeOutQuad'});
     },
	function() {

	});
	// range landing rollovers
	$('#product-panes #all-products a').hover(
    function() {
     $(this).find('span.product-shot img').stop().animate({marginTop: "-40px"}, {duration:320, easing: 'easeOutBack'});
	 $(this).find('span.product-arrow').stop().animate({ marginLeft: "20px"}, {duration:800, easing: 'easeOutElastic'});
     },
	function() {
     $(this).find('span.product-shot img').stop().animate({marginTop: "0px"}, {duration:500, easing: 'easeOutBounce'});
	 $(this).find('span.product-arrow').stop().animate({ marginLeft: "6px"}, {duration:700, easing: 'easeOutElastic'});
	});
	
	// remove and add current class
	$("#tubs-nav li a, #sticks-nav li a").click(function(){
      if (!($(this).hasClass("current")) ) {
        $('#tubs-nav li a, #sticks-nav li a').css({backgroundPosition: "0 181px"});
		$('#tubs-nav li a span.tubs-nav-name, #sticks-nav li a span.sticks-nav-name').css({backgroundPosition: "0 0"});
	    $(this).css( {backgroundPosition: "0 0"} );
		$(this).find('span.tubs-nav-name, span.sticks-nav-name').css( {backgroundPosition: "0 -33px"} );
		$('.overlay-nut').hide();
		$('.overlay-ing').hide();
	  }
   });
   
    // rollover animation for non current links
	$('#tubs-nav li a span.tubs-nav-name, #sticks-nav li a span.sticks-nav-name').css({backgroundPosition: "0 0"});
	$('#tubs-nav li a, #sticks-nav li a')
	.css({backgroundPosition: "0 181px"})
	.mouseover(function(){
		if (!($(this).hasClass("current")) ) {
		$(this).stop().animate({backgroundPosition:"(0 0)"}, {duration:100, easing: 'easeOutQuad'});
		$(this).find('span.tubs-nav-name, span.sticks-nav-name').stop().animate({backgroundPosition:"(0 -33px)"}, {duration:180, easing: 'easeOutQuad'});
		}
	})
	.mouseout(function() {
		if (!($(this).hasClass("current")) )  {
	    $(this).stop().animate({backgroundPosition:"(0 181px)"}, {duration:320, easing: 'easeOutQuad'});
		$(this).find('span.tubs-nav-name, span.sticks-nav-name').stop().animate({backgroundPosition:"(0 0)"}, {duration:160, easing: 'easeOutQuad'});
		}
    });
	
	// nutritional & ingredients info popups
    $("a.overlay-button-nut").click(function(){
	  $('#tubs-panes > div, #sticks-panes > div').find('div.overlay-ing').fadeOut(450);
	  $('#tubs-panes > div, #sticks-panes > div').find('div.overlay-nut').fadeIn(450).jScrollPane({verticalDragMaxHeight: 70});
    });
    $("a.overlay-button-ing").click(function(){
	  $('#tubs-panes > div, #sticks-panes > div').find('div.overlay-nut').fadeOut(450);
	  $('#tubs-panes > div, #sticks-panes > div').find('div.overlay-ing').fadeIn(450).jScrollPane({verticalDragMaxHeight: 70});
    });
    $(".close").click(function(){
	  $('#tubs-panes > div, #sticks-panes > div').find('div.overlay-nut').fadeOut(450);
	  $('#tubs-panes > div, #sticks-panes > div').find('div.overlay-ing').fadeOut(450);
    });
 
}
// end layout

/* 3. SLIDERS & TABS */
function sliders() {
	
  // home carousel
  $("ul#home-carousel-nav").tabs(".items > div", {
	 effect: 'fade',
	 fadeOutSpeed: 600,
	 fadeInSpeed: 600,
	 rotate: true
  }).slideshow({autoplay: true, interval: 6000, clickable:false});
  
  // range detail - tubs nested tab
  $("#tubs-nav").tabs("#tubs-panes > div", {
	 history: true,
	 effect:'fade',
	 fadeInSpeed: 600
  }); 
  // range detail - tubs nested tab
  $("#sticks-nav").tabs("#sticks-panes > div", {
	 history: true,
	 effect:'fade',
	 fadeInSpeed: 600
  });
 	
}
// end sliders

/* 4. WIA, ANALYTICS & SOCIAL SHARING */
function extras() {
   // replaces target blank
   $(function() {
    $('a[rel*=external]').click( function() {
        window.open(this.href);
        return false;
      });
   });
   
   // Track outbound links with Google Analytics
   $('a[href^="http://"]').bind('click',function(link) {
   var href = link.target.href;
   if(href.indexOf(window.location.host) < 0) {
      window._gaq.push(['_trackEvent','Outbound Links', href]);
       }
    });
	
   // social sharing buttons
   $('#footer .social-share').load('social-share-buttons.html');
   
   // WIA ARIA
   setupARIA();
   
   function setupARIA() {
      // Add ARIA roles to the document
      addARIARole('ul#main-nav', 'role', 'navigation');
      addARIARole('ul#product-tabs', 'role', 'navigation');
	  addARIARole('ul#tubs-nav', 'role', 'navigation');
	  addARIARole('ul#sticks-nav', 'role', 'navigation');
      addARIARole('h1.home-logo', 'role', 'banner');
	  addARIARole('#main-content', 'role', 'main');
	  addARIARole('.overlay-ing, .overlay-nut', 'role', 'complementary');
      addARIARole('#footer', 'role', 'contentinfo');   
    }

    function addARIARole(strID, role, roleVal) {
      // Find the element to add a role property to
      var obj =  $(strID);
      if (obj) {
      $(obj).attr(role, roleVal);
        }
      }
   
}
// end extras
