﻿/* DEFINIZIONI VARIABILI GLOBALI */
var preloadTimeout, items, hoverAnimationDuration, clickAnimationDuration, clickAnimationDurationPerItem;
var baseLiWidth, baseLiHeight, baseLiMargin, baseLiMarginY, baseLiMarginX;
var baseImgWidth, baseImgHeight, baseImgTop, baseImgLeft;
var overImgWidth, overImgHeight, overImgMarginTop, overImgMarginLeft;
var menuContentHeight;
var ie7 = (navigator.userAgent.toLowerCase().indexOf("msie 7") > -1);
var maxItemsPerPage = 8;
var node01, node02, remindNavigation;

/* INIZIALIZZAZIONE MENU */
function InitializeMenu()
{
    /* ANIMATION DURATION FIX */
    
    if (navigator.userAgent.toLowerCase().indexOf("firefox") == -1)
        hoverAnimationDuration = 0;
        
    /* LI CSS PROPERTIES */
    $('ul.mpThumb li').css('width',baseLiWidth + 'px');
    $('ul.mpThumb li').css('height',baseLiHeight + 'px');
    $('ul.mpThumb li').css('margin',baseLiMargin + 'px');
    $('ul.mpThumb li').css('margin-left',baseLiMarginX + 'px');
    $('ul.mpThumb li').css('margin-right',baseLiMarginX + 'px');
    
    $('ul.mpThumb li img').css('width',baseImgWidth + 'px');
    $('ul.mpThumb li img').css('height',baseImgHeight + 'px');
    $('ul.mpThumb li img').css('top',baseImgTop + 'px');
    $('ul.mpThumb li img').css('left',baseImgLeft + 'px');
    $('ul.mpThumb li img').css('padding',baseImgPadding + 'px');
    
    //Fix the ul of Subcategories menu to have same height of parent div
    $('div.ProdLvl1Menu').css('height',menuContentHeight + 'px');
    $('div.ProdLvl2Menu').css('height',menuContentHeight + 'px');
    $('div.ProdLvl2List').css('height',menuContentHeight + 'px');
    
    if(remindNavigation == 1)
    {
        // HO PREMUTO BACK : RECUPER I DATI DAL COOKIE
        var nodes_array=$.cookie('bpCookie').split(',');
        node01 = nodes_array[0];
        node02 = nodes_array[1];
    }
        
    if(node01 != null)
    {
        $("ul.mpThumb li").each(function(){
                if($(this).find('a').attr('rev') == node01)
                {
                    /* REPLICA LA FUNZIONE DEL CLICK */ 
                    var imageIndex = $(this).find('a').attr("id"); //Find Image Name
                    
                    $("ul.mpThumb li").each(function(){
                        if($(this).attr('id').replace('li','') != imageIndex)
                        {
                            $(this).css('visibility','hidden');
                            $(this).css('z-index','-1');
                        }
                      });

                    var moveMargin = $(this).find("img").offset().left - $("div.menuImage").offset().left;                 
                    thisDuration = clickAnimationDurationPerItem * imageIndex.replace("_","");
                    $(this).find('img').animate({
                            marginLeft: -moveMargin + overImgMarginLeft + 'px',
                            //top: '50%', 
                            //left: '50%', 
                            width: overImgWidth + 'px', // hMax 
                            height: overImgHeight + 'px', // lMax 
                            padding: overImgPadding + 'px'	                        
                        }, thisDuration,
                            function() {                            
                                // ANIMAZIONE DIV CON MENU                           
                                
                                // Aggiunge la classe selected per non visualizzare più i li
                                $("ul.mpThumb").find("li").addClass("selected");
                                
                                // imposta l'immagine selezionata come background del menu a sx
                                $("div.menuImage").css('background-repeat', 'no-repeat');
                                $("div.menuImage").css('background-position', 'center top');
                                $("div.menuImage").css('background-image', 'url(' + $(this).attr('src') + ')');
                                $("div.menuImage").css('visibility','visible');
                                
                                // nasconde l'immagine che si era animata
                                $(this).css('visibility','hidden');
                                $("ul.mpThumb li ").css('visibility','hidden');
                                
                                // imposta visibile il menu corrispondente all'elemento cliccato
                                document.getElementById("menu" + imageIndex).style.display='block';
                                
                                // mostra con una animazione il contenuto della categoria cliccata
                                $("div.menuContent").animate(
                                {
                                    marginTop: '0px',
                                    marginLeft: '0px',
                                    bottom: '15px', 
                                    left: '135px', 
                                    width: '735px', // hMax 
                                    height: menuContentHeight + 'px', // lMax 
                                    padding: '0px'
                                },clickAnimationDuration);
                            }
                    );
                    setTimeout("$('div.closeButton').css('visibility','visible');", thisDuration);
                    //$("div.closeButton").css('visibility','visible');              
                }
            }
        );
        $("div#" + ParentDivId).addClass("WhiteBG");
    }
    if(node02 != null)
    {
        $("ul.navProdLvl1 li").each(function(){
                if($(this).find('a').attr('rev') == node02)
                {
                    var values = $(this).find('a').attr('rel');
                    var value1 = values.substring(0, values.indexOf(','));
                    var value2 = values.substring(values.indexOf(',') + 1);
                    $(this).find('a').addClass(("catSel"));
                    ShowThis(value1, value2);
                }
            }
        );
    }
}

/* NASCONDE PRELOAD GIF */
function DidEndLoad()
{
    $('#imgLoad').css('display','none');
    $('div.loaded').css('display','block');
}

//MENU PRODOTTI
$(document).ready(function(){ 
    SetVariables();
    InitializeMenu();
    setTimeout(DidEndLoad,preloadTimeout);
        
    // ZOOM IMAGE ON MOUSE OVER        
    $("ul.mpThumb li").hover(
        function() 
        {
            /* IE7 BUG FIX */  
            baseImgMarginLeftIE7 = '0';
            if (ie7)
            {
                overImgMarginLeft = -((overImgWidth - baseImgWidth) / 2);
                if(baseLiMarginX == 85)
                    overImgMarginLeft = overImgMarginLeft - 40;
                if(baseLiMarginX == 2)
                    overImgMarginLeft = overImgMarginLeft - 44;
                baseImgMarginLeftIE7 = + baseLiMarginX;
            }
            /* END FIX*/
            if(!$(this).hasClass("selected"))
            {                
                $(this).css({'z-index' : '10'});
                $(this).find('img').addClass("hover")
                    .animate({
                        marginTop: overImgMarginTop +'px',
                        marginLeft: overImgMarginLeft + 'px',
                        top: '50%', 
                        left: '50%', 
                        width: overImgWidth + 'px',
                        height: overImgHeight + 'px',
                        padding: overImgPadding + 'px' 
                    }, hoverAnimationDuration);
                 //this.css('margin-left','53px');
                 //this.css('margin-right','53px');
             }
         },
         function() 
         {
            if(!$(this).hasClass("selected"))
            {
                $(this).css({'z-index' : '0'});
                $(this).find('img').removeClass("hover")
                    .animate({
                        marginTop: '0px', 
                        marginLeft: baseImgMarginLeftIE7 + 'px',
                        top: baseImgTop + 'px', 
                        left: baseImgLeft + 'px', 
                        width: baseImgWidth + 'px',
                        height: baseImgHeight + 'px',
                        padding: baseImgPadding + 'px'
                    }, hoverAnimationDuration);
             }
         }
     );
    // Animate Image on Click
    $("ul.mpThumb li a").click(
        function() 
        {
            if(!$("ul.mpThumb li").hasClass("selected") && $("ul.mpThumb li img").hasClass("hover"))
            {
                //Nasconde i LI non cliccati
                var imageIndex = $(this).attr("id"); //Find Image Name
                
                $("ul.mpThumb li").each(function(){
                    if($(this).attr('id').replace('li','') != imageIndex)
                    {
                        $(this).css('visibility','hidden');
                        $(this).css('z-index','-1');
                        if(ie7) $(this).find('img').css('display','none');
                    }
                  });
                
                //Animazione immagine cliccata
                var moveMargin = $(this).find("img").offset().left - $("div.menuImage").offset().left;                 
                thisDuration = clickAnimationDurationPerItem * imageIndex.replace("_","");
                    
                $(this).find('img').animate({ 
                        marginLeft: -moveMargin + overImgMarginLeft + 'px',
                        top: '50%', 
                        left: '50%', 
                        width: overImgWidth + 'px', // hMax 
                        height: overImgHeight + 'px', // lMax 
                        padding: overImgPadding + 'px'	                        
                    }, thisDuration,
                        function() {                            
                            // ANIMAZIONE DIV CON MENU                           
           
                            // Aggiunge la classe selected per non visualizzare più i li
                            $("ul.mpThumb").find("li").addClass("selected");
                            
                            // imposta l'immagine selezionata come background del menu a sx
                            $("div.menuImage").css('background-repeat', 'no-repeat');
                            $("div.menuImage").css('background-position', 'center top');
                            $("div.menuImage").css('background-image', 'url(' + $(this).attr('src') + ')');
                            $("div.menuImage").css('visibility','visible');
                            
                            // nasconde l'immagine che si era animata
                            $(this).css('visibility','hidden');
                            $("ul.mpThumb li ").css('visibility','hidden');
                            
                            // imposta visibile il menu corrispondente all'elemento cliccato
                            document.getElementById("menu" + imageIndex).style.display='block';
                            
                            // mostra con una animazione il contenuto della categoria cliccata
                            $("div.menuContent").animate(
                            {
                                marginTop: '0px',
                                marginLeft: '0px',
                                bottom: '15px', 
                                left: '135px', 
                                width: '735px', // hMax 
                                height: menuContentHeight + 'px', // lMax 
                                padding: '0px'
                            },clickAnimationDuration);
                        }
                );
                setTimeout("$('div.closeButton').css('visibility','visible');", thisDuration);
                //$("div.closeButton").css('visibility','visible');
            }

            $("div#" + ParentDivId).addClass("WhiteBG");
            return false;
        }
    );
    // Set Category Selected onClick
    $("ul.navProdLvl1 li a").click(
        function() 
        {
            $("ul.navProdLvl1 li a").removeClass(("catSel"));
            $(this).addClass(("catSel"));
        }
    );
    
    $("a.pLinkOk").click(
        function() 
        {
            var cat2 = $('ul.navProdLvl1 li a.catSel').attr('rev');
            var nodesID = $('ul.navProdLvl1 li a.catSel').attr('rel').split(',');;
            var cat1 = $('a#_' + nodesID[0]).attr('rev');
            $.cookie('bpCookie', cat1 + ',' + cat2);
        }
    );
});
function ShowThis(menuIndex, itemIndex)
{
    if(itemIndex > 0)
    {
        $("div.ProdLvl2List").css('display','none');
        $("div#menu_" + menuIndex + "_ProductsList" + itemIndex).css('display','block');
        
        var child_count = $("div#menu_" + menuIndex + "_ProductsList" + itemIndex).children().size(); 
        if(child_count > maxItemsPerPage)
        {
            $("div.Pager").css('visibility','visible'); //HERE
            bindPaginator(menuIndex, itemIndex, 1)
        }
        else
        {
            // Paginator Clear
            clearPages();
            $("div.Pager").css('visibility','hidden'); //HERE
        }
    }
}
function clearPages()
{
    $("div.Pager div.pagesList").empty();
    $("div.Pager a.prevPageLink").remove();
    $("div.Pager a.nextPageLink").remove();
}
function bindPaginator(menuIndex, itemIndex, page)
{
    // RIEMPIRE IL PAGINATORE CON I DATI DELLE PAGINE
    var pages = Math.ceil($("div#menu_" + menuIndex + "_ProductsList" + itemIndex).children().size() / maxItemsPerPage);
    
    // Paginator Clear
    clearPages();
    
    // Btn PrevPage  
    var ppl = "<a href=\"javascript:void(0);\" class=\"prevPageLink\" runat=\"server\" onclick=\"bindPaginator('" + menuIndex + "','" + itemIndex + "','" + (parseInt(page) - 1) + "');\"></a>";
    $("div.Pager span.pgText").before(ppl);
    if(page == 1)
        $("div.Pager a.prevPageLink").css('visibility','hidden');
    else
        $("div.Pager a.prevPageLink").css('visibility','visible');
    
    // All Pages
    for(i=1; i <= pages; i++)
    {
        var result;
        if(i == page)
            result = "<span class=\"pgSelected\">" + i + "</span>"
        else
            result = "<a href=\"javascript:void(0);\" class=\"pgLink\" onclick=\"bindPaginator('" + menuIndex + "','" + itemIndex + "','" + i + "');\">" + i + "</a>";
        if (i != pages)
            result += "<span class=\"pgSeparator\">|</span>";
            
        $("div.Pager div.pagesList").append(result);
    }
    
    // Btn NextPage
    var npl = "<a href=\"javascript:void(0);\" class=\"nextPageLink\" runat=\"server\" onclick=\"bindPaginator('" + menuIndex + "','" + itemIndex + "','" + (parseInt(page) + 1) + "');\"></a>";
    $("div.Pager div.pagesList").append(npl);
    if(page == pages)
        $("div.Pager a.nextPageLink").css('visibility','hidden');
    else
        $("div.Pager a.nextPageLink").css('visibility','visible');
    
    // VISUALIZZARE GLI ELEMENTI DELLA PAGINA CORRENTE
    var first = (page * maxItemsPerPage) - maxItemsPerPage;
    var last = (page * maxItemsPerPage) - 1;

    /* SENZA EFFETTI
    $("div#menu_" + menuIndex + "_ProductsList" + itemIndex).children().each(function(index) {
        
        if(index >= first && index <= last)
        {
            $(this).css('display','block');
        }
        else
        {
            $(this).css('display','none');
        }
     });
        */
        
    /* CON DISSOLVENZA */
    $("div#menu_" + menuIndex + "_ProductsList" + itemIndex).children().each(function(index) {
        if(index < first || index > last)
        {
            $(this).fadeOut('fast', function() {
                $(this).css('display','none');
            });
        }
    });
    setTimeout('', 200);
    $("div#menu_" + menuIndex + "_ProductsList" + itemIndex).children().each(function(index) {
        if(index >= first && index <= last)
        {
            $(this).fadeIn('fast', function() {
                $(this).css('display','block');
            });
        }
    });
}

function restart()
{
    $("div#" + ParentDivId).removeClass("WhiteBG");
    $("ul.navProdLvl1 li a").removeClass(("catSel"));
    
    $("ul.mpThumb li").removeClass("selected");
    $("ul.mpThumb li").css('z-index','0');
    $("ul.mpThumb li").css('visibility','visible');
    if(ie7) $("ul.mpThumb li img").css('display','block');
    
    $("ul.mpThumb li img").removeClass('hover');
    $("ul.mpThumb li img").css('margin-top','0');
    $("ul.mpThumb li img").css('margin-left','0');
    $("ul.mpThumb li img").css('top',baseImgTop + 'px');
    $("ul.mpThumb li img").css('left',baseImgLeft + 'px');
    $("ul.mpThumb li img").css('width', baseImgWidth + 'px');
    $("ul.mpThumb li img").css('height',baseImgHeight + 'px');
    $("ul.mpThumb li img").css('padding',baseImgPadding + 'px');
    $("ul.mpThumb li img").css('visibility','visible');
             
    $("div.closeButton").css('visibility','hidden');
    $("div.Pager a.nextPageLink").css('visibility','hidden'); //HERE
    $("div.Pager a.prevPageLink").css('visibility','hidden'); //HERE
    $("div.Pager").css('visibility','hidden'); //HERE
    $("div.menuImage").css('visibility','hidden');
    $("div.menuContent").css('width','0px');
    $("div.CatSubLevel").css('display','none');
    $("div.ProdLvl2List").css('display','none');
}
