﻿$j(document).ready(function() {

    initWebshopSideMenu();
    initWebshopCategoriesMenu();
    
    if ($j("#wrapper").hasClass("WebshopSkin")) {
        initWebshopProductsOverview("#dnn_ContentPane div.productOverviewItem, .relatedPane div.productOverviewItem, #dnn_ContentPane div.productOverviewTopItem, #dnn_ContentPane div.productTipItemExtended");
        initWebshopSideMenu();
        initWebshopDetailPage();

        $j("ul.sideMenu li a").each(function() {
            $(this).html($(this).html().split("/").join(" / "));
        });
    }
    
});

function maxReached(showId) {
    $j("#" + showId).show().animate({ opacity: 1.0 }, 5000).fadeOut(1000);
}

function pageLoad() {// only in webshopskin
    if ($j("#wrapper").hasClass("WebshopSkin")) {
        $j("#wrapper input.productCount").nummericStepper({ maxValue: 9999, minValue: 0, step: 1, addButtonText: '+', removeButtonText: '-' });

        $('input.nummericStepperAddButton').click(function() {
        $(this).attr('disabled', 'disabled');
        var stock = $inp.attr("Stock");
        if (parseInt($inp.val()) >= parseInt(stock)) {
            $add.addClass('disabled');
            $(this).find("span.outOfStock").show().animate({ opacity: 1.0 }, 5000).fadeOut(1000);
        }
        });
        $('input.nummericStepperRemoveButton').click(function() {
            $(this).attr('disabled', 'disabled');
        });

        $j("input.nummericStepperAddButton", this).removeAttr('disabled');
        $j("input.nummericStepperRemoveButton", this).removeAttr('disabled');
        
        // Remove + if item is out of stock
        $("#dnn_ContentPane div.cartItem").each(function() {
            var $inp = $j("input.productCount", this);
            var $add = $j("input.nummericStepperAddButton", this);
           
        });    
       
    }
};

// Dropdown Select List //
function initWebshopCategoriesMenu() {
    $j("div.dropdownButton").click(function() {
        $j('div.panelCategoriesFiltered ul.sideMenu').slideToggle();
    });
};


var layerIndex = 0;
function initWebshopDetailPage() {
    var $jimageList = $j("#dnn_ContentPane div.imageList");
    var CROSSFADE_SPEED = 300;
    var SELECTED_CLASS = "selected";
    var BIG_IMAGE_CLASS = "productImageBig";
    var IMAGE_SELECTOR = "img.productImage"
    var $img = $j(IMAGE_SELECTOR, $jimageList);

    $img
        .each(function(index) {
            // create duplicates
            $j("div.productImageChange").prepend("<img src='" + $j(this).attr("src") + "' class='" + BIG_IMAGE_CLASS + "' id='" + BIG_IMAGE_CLASS + "-" + index + "' style='display:none'  />");
            $j(this).attr("BigID",BIG_IMAGE_CLASS + "-" + index);

            // apply to first image            
            if (index == 0) {
                $j(this).addClass(SELECTED_CLASS);
                $j("#" + BIG_IMAGE_CLASS + "-" + index).fadeIn(CROSSFADE_SPEED);
            }
        })
        .live("click", function() {
            // hide all
            $j("img." + BIG_IMAGE_CLASS, $j("div.productImageChange")).hide();
            // crossfade in the new
            $j("#" + $j(this).attr("BigID")).fadeIn(CROSSFADE_SPEED);

            // add selected class to current
            $j(IMAGE_SELECTOR, $jimageList).removeClass(SELECTED_CLASS);
            $j(this).addClass(SELECTED_CLASS);

        });
};

function initWebshopSideMenu() {

    var $jlistItems = $j("ul.sideMenu li");
    var $jleftMenu = $j("#webshopLeftMenu");
    $j("ul", $jlistItems).css("display", "none");

    $jlistItems.hoverIntent({
        sensitivity: 1, // number = sensitivity threshold (must be 1 or higher)
        interval: 100,   // number = milliseconds of polling interval
        over: function() { $j("ul", this).slideDown() },  // function = onMouseOver callback (required)
        timeout: 400,   // number = milliseconds delay before onMouseOut function call
        out: function() { $j("ul", this).slideUp() }    // function = onMouseOut callback (required)
    });

    // tab menu
    $j("#btnCategoryTab").click(function(e) {
        $j(this).closest("ul")
            .removeClass("tab1active")
            .removeClass("tab2active")
            .addClass("tab1active");
        $j("div.panelCategories", $jleftMenu).slideDown(0);
        $j("div.panelBrands", $jleftMenu).slideUp(0);
        e.preventDefault();
    }).click();
    
    $j("#btnBrandsTab").click(function(e) {
        $j(this).closest("ul")
            .removeClass("tab1active")
            .removeClass("tab2active")
            .addClass("tab2active");

        $j("div.panelCategories", $jleftMenu).slideUp(0);
        $j("div.panelBrands", $jleftMenu).slideDown(0);
        
        e.preventDefault();
    }); 
    
    var HoverWSOtherOptionsMenu = false;
    $j("div.wsOtherOptionsMenu").hover(function(e){
            HoverWSOtherOptionsMenu = true;
        },
        function(e){            
            HoverWSOtherOptionsMenu = false;
            $j(this).slideUp(250);
        }
    );

        $j("div.wsSelectedValue").hoverIntent({ over: wsSelectedValueOver, timeout: 200, out: wsSelectedValueOut });
        $j("div.wsSelectedValueSub").hoverIntent({ over: wsSelectedValueOverSub, timeout: 200, out: wsSelectedValueOutSub });
    
    
    function wsSelectedValueOver() {
        var $dd =  $j(this).parent().next();
        $j("div.wsOtherOptionsMenu").not($dd).hide();
        $dd.slideDown(250);
    }

    function wsSelectedValueOut() {
        if(!HoverWSOtherOptionsMenu) {
            $j(this).next().slideUp(250)
        }
    }
        
      function wsSelectedValueOverSub() {
        var $dd =  $j(this).parent().next().next();
        $j("div.wsOtherOptionsMenu").not($dd).hide();
        $dd.slideDown(250);
    }

    function wsSelectedValueOutSub() {
        if(!HoverWSOtherOptionsMenu) {
            $j(this).next().slideUp(250)
        }
    }
};
