var currentCategory;
var closedMenu = false;
$(document).ready(function() {

    $(".categoryClose").click(function(e) { // Manually Close Categories
        e.preventDefault();
        closedMenu = true;
        removeCategory();
    });

    $(".category").click(function(e) { // Manually Show Category
        e.preventDefault();

        var tempCat = "#" + $(this).attr('id') + "Content";
        if ($(tempCat).is(":hidden")) {
            addCategory(String($(this).attr('id')));
            $(".current").removeClass('current');
            $(this).addClass('current');
        }
    });

    $(".categoryHotSpot").click(function(e) { // Manually Show Category
        e.preventDefault();

        var tempCat = "#" + $(this).attr('targetElm') + "Content";
        var tempCatLink = "#" + $(this).attr('targetElm');
        if ($(tempCat).is(":hidden")) {
            addCategory(String($(this).attr('targetElm')));
            $(".current").removeClass('current');
            $(tempCatLink).addClass('current');
        }
    });


    function categoryManual(elm) {
        var tempCat = "#" + elm + "Content";
        var tempCatLink = "#" + elm;
        if ($(tempCat).is(":hidden")) {
            addCategory(String(elm));
            $(".current").removeClass('current');
            $(tempCatLink).addClass('current');
        }
    }


    var overThumb = false; // Set Global Boolean for Hover Intent Override
    var thumbConfig = { // Hover Intent Settings for Mega-Menu Content
        interval: 100,
        sensitivity: 9,
        over: addThumb,
        timeout: 10,
        out: removeThumb
    };

    $(".item").hoverIntent(thumbConfig); // Add Hover Intent to menu links

    function overThumb() {
        //overThumb
    }

    function addThumb() {
        var xOffset = -75;
        var yOffset = 150;
        this.t = this.title;
        this.title = "";
        var pos = $(this).offset();

        var toolTipStr = "";
        toolTipStr += "<div class='toolTipProduct'>";
        toolTipStr += "<div class='tooltipThumb'>";
        toolTipStr += "<img src='" + $(this).find("img").attr("src") + "' border='0'>";
        toolTipStr += "</div>";
        toolTipStr += "<div class='toolTipContent' style='width:110px'>";
        toolTipStr += "<div class='toolTipProductName' style='width:110px'>";
        toolTipStr += $(this).find("img").attr("alt");
        toolTipStr += "</div>";
        toolTipStr += "<a href='" + $(this).find("a").attr("href") + "' class='toolTipProductDetails'>";
        toolTipStr += productDetailsLabel + " &gt;";
        toolTipStr += "</a>";
        toolTipStr += "</div>";
        toolTipStr += "</div>";

        $("body").append("<div id='thumbImg'>" + $(this).attr('id') + "</div>");
        $("#thumbImg")
			.css("top", (pos.top - yOffset) + "px")
			.css("left", (pos.left + xOffset) + "px")
			.html(toolTipStr)
			.show()
		    .hover(function() {
		        overThumb = true;
		    }, function() {
		        overThumb = false;
		        removeThumb();
		    });
    }

    function removeThumb() {
        if (overThumb == false) {
            $("#thumbImg").remove();
        }
        overThumb = false;
    }

    if (requestQueryString("diet") != "") {
        setTimeout(function() {categoryManual("catlink0")}, 500);
    }

    if (requestQueryString("cocktails") != "") {
        setTimeout(function() { categoryManual("catlink1") }, 500);
    }

    if (requestQueryString("blends") != "") {
        setTimeout(function() { categoryManual("catlink2") }, 500);
    }

    if (requestQueryString("craisins") != "") {
        setTimeout(function() { categoryManual("catlink3") }, 500);
    }

    if (requestQueryString("sauce") != "") {
        setTimeout(function() { categoryManual("catlink4") }, 500);
    }


});                             
// JavaScript Document

function removeCategory(){ // Hide Current Category
		$(currentCategory).hide( 'slide', {direction: 'down'} ); 
	}

function addCategory(ID){ // Show Category

    if (typeof (currentCategory) != "undefined" && closedMenu != true) {
		removeCategory();
	}

	currentCategory = "#" + ID + "Content";
	var productMenu = $('.menu_bar');

	cHeight = $(currentCategory).outerHeight();
	
    var pos = $(productMenu).offset();    
	var left = "0px";

    var top = pos.top - cHeight + "px";

	$(currentCategory).css( { 
			position: 'absolute',
			zIndex: 5000,
			left: left, 
			top: top
	} );

	$(currentCategory).show('slide', { direction: 'down' });
	closedMenu = false;

 	
 	if (isScrolledIntoView($(currentCategory)) == false) {
 	    $('html, body').animate({ scrollTop: top }, 400);
 	}
	
	
}


function isScrolledIntoView(elem) {
    var docViewTop = $(window).scrollTop();
    //var docViewBottom = docViewTop + $(window).height();

    var elemTop = $(elem).offset().top;
    var elemBottom = elemTop + $(elem).height();

    //alert(docViewTop + " - " + elemTop + " - " + docViewBottom + " - " + $(elem).height())

    var elmAnimTop = elemTop - $(elem).height();

    //return ((elemBottom >= docViewTop) && (elemTop <= docViewBottom));

    return (elmAnimTop > docViewTop);
}

/* Product Slider functionality */
$(document).ready(function() {
    $(".item_container_block .leftSliderArrow").click(function() {
        var parentContainer = $(this).parent();
        var slider = $(".item_slider", parentContainer);
        slider.animate({ left: 0 }, 500, 'linear', function() {
            $(".leftSliderArrow", $(this).parent().parent()).hide();
            $(".rightSliderArrow", $(this).parent().parent()).show();
        });
    });

    $(".item_container_block .rightSliderArrow").click(function() {
        var parentContainer = $(this).parent();
        var slider = $(".item_slider", parentContainer);
        slider.animate({ left: -816 }, 500, 'linear', function() {
            $(".leftSliderArrow", $(this).parent().parent()).show();
            $(".rightSliderArrow", $(this).parent().parent()).hide();
        });
    });
});

