﻿$(document).ready(function() {
    var posEl = 3;
        $('.menuPrincipale li.li_menuPrincipale_liv1').css("position", "absolute");
        var numEl = $('.menuPrincipale li.li_menuPrincipale_liv1').size();
        
        var angolo = 2 * Math.PI / numEl;
        var larghezza = 750;
        var altezza = 200;
        var pesoCos = 0;

        for (var i = 0; i < numEl; i++) {

            pesoCos = Math.cos(angolo * (i+3));
            pesoSen = Math.sin(angolo * (i+3));
            
            if(pesoSen == 0){
                $(".menuPrincipale li.li_menuPrincipale_liv1:eq(" + i + ")").addClass("selezionato");
            }else{
                $(".menuPrincipale li.li_menuPrincipale_liv1:eq(" + i + ")").removeClass("selezionato");
            }
            
            var altezzaImgArrivo = altezza * (1 - ((1 - pesoCos) / 2) / 1.5);
            var pesoOpacity = (1 + pesoCos)/2;
            var m_opacity = (pesoOpacity < 0.5) ? 0.2 : (pesoOpacity >= 0.95) ? 1 : 0.7 ;

            $(".menuPrincipale li.li_menuPrincipale_liv1:eq(" + i + ")").css("z-index", parseInt((1 + pesoCos)/2 * 1000));
            $(".menuPrincipale li.li_menuPrincipale_liv1:eq(" + i + ") .immagineMenu:first").css("height", altezzaImgArrivo);
            
            var imgCorr = $(".menuPrincipale li.li_menuPrincipale_liv1:eq(" + i + ") .immagineMenu:first");
            
            $(".menuPrincipale li.li_menuPrincipale_liv1:eq(" + i + ")").css("left", (((larghezza / 2) + (larghezza / 2) * pesoSen)) + 50 - (imgCorr.width() / 2));
            $(".menuPrincipale li.li_menuPrincipale_liv1:eq(" + i + ")").css("top", ((altezzaImgArrivo / -2) + altezza/2) + (50 * (1 + pesoCos) / 2));
            $(".menuPrincipale li.li_menuPrincipale_liv1:eq(" + i + ")").css("opacity", m_opacity);
            $(".menuPrincipale li.li_menuPrincipale_liv1:eq(" + i + ")").css("height", altezzaImgArrivo + 20);

        }
        spostaMenuDx();

        function spostaMenuDx() {
            posEl++;
            if (posEl >= numEl) posEl = 0;
            var count = 0;
            for (var i = 0; i < numEl; i++) {
                count = i + posEl;
                if (count > numEl) count = count - numEl;
                
                pesoCos = Math.cos(angolo * count);
                pesoSen = Math.sin(angolo * count);
                
                if(pesoSen <= 0.1 && pesoSen > -0.1){
                    $(".menuPrincipale li.li_menuPrincipale_liv1:eq(" + i + ")").addClass("selezionato");
                }else{
                    $(".menuPrincipale li.li_menuPrincipale_liv1:eq(" + i + ")").removeClass("selezionato");
                }
                
                var altezzaImgArrivo = altezza * (1 - ((1 - pesoCos) / 2) / 1.5);
                var pesoOpacity = (1 + pesoCos)/2;
                var m_opacity = (pesoOpacity < 0.5) ? 0.2 : (pesoOpacity >= 0.95) ? 1 : 0.7 ;

                var imgCorr = $(".menuPrincipale li.li_menuPrincipale_liv1:eq(" + i + ") .immagineMenu:first");
                
                $(".menuPrincipale li.li_menuPrincipale_liv1:eq(" + i + ") .immagineMenu:first").animate({ height: altezzaImgArrivo}, 1000, function() { /* Animation complete. */ }); 

                $(".menuPrincipale li.li_menuPrincipale_liv1:eq(" + i + ")").animate({ left: (((larghezza / 2) + (larghezza / 2) * pesoSen)) + 50 - (altezzaImgArrivo / 2), top: ((altezzaImgArrivo / -2) + altezza/2) + (50 * (1 + pesoCos) / 2), opacity: m_opacity }, 1000, function() { /* funzione completa */ });
                $(".menuPrincipale li.li_menuPrincipale_liv1:eq(" + i + ")").css("z-index", parseInt((1 + pesoCos) / 2 * 1000));
                $(".menuPrincipale li.li_menuPrincipale_liv1:eq(" + i + ")").css("height", altezzaImgArrivo + 20);

            }
            
            //$("#test").html("i: "+i + " - c: " + count + " - p: " + posEl);
            
        }
        
        function spostaMenuSx() {
            posEl--;
            if (posEl < 0) posEl = (numEl-1);
            var count = 0;
            for (var i = 0; i < numEl; i++) {
                count = i + posEl;
                if (count > numEl) count = count - numEl;
                
                pesoCos = Math.cos(angolo * count);
                pesoSen = Math.sin(angolo * count);
                
                if(pesoSen <= 0.1 && pesoSen > -0.1){
                    $(".menuPrincipale li.li_menuPrincipale_liv1:eq(" + i + ")").addClass("selezionato");
                }else{
                    $(".menuPrincipale li.li_menuPrincipale_liv1:eq(" + i + ")").removeClass("selezionato");
                }
                
                var altezzaImgArrivo = altezza * (1 - ((1 - pesoCos) / 2) / 1.5);
                var pesoOpacity = (1 + pesoCos)/2;
                var m_opacity = (pesoOpacity < 0.5) ? 0.2 : (pesoOpacity >= 0.95) ? 1 : 0.7 ;

                var imgCorr = $(".menuPrincipale li.li_menuPrincipale_liv1:eq(" + i + ") .immagineMenu:first");
                
                $(".menuPrincipale li.li_menuPrincipale_liv1:eq(" + i + ") .immagineMenu:first").stop(true, true).animate({ height: altezzaImgArrivo}, 1000, function() { /* funzione completa */ }); 

                $(".menuPrincipale li.li_menuPrincipale_liv1:eq(" + i + ")").stop(true, true).animate({ left: (((larghezza / 2) + (larghezza / 2) * pesoSen)) + 50 - (altezzaImgArrivo / 2), top: ((altezzaImgArrivo / -2) + altezza/2) + (50 * (1 + pesoCos) / 2), opacity: m_opacity }, 1000, function() { /* Animation complete. */ }); //.css("left", (larghezza / 2) + (larghezza / 2) * pesoSen);
                $(".menuPrincipale li.li_menuPrincipale_liv1:eq(" + i + ")").css("z-index", parseInt((1 + pesoCos) / 2 * 1000));
                $(".menuPrincipale li.li_menuPrincipale_liv1:eq(" + i + ")").css("height", altezzaImgArrivo + 20);

            }
            
            //$("#test").html("i: "+i + " - c: " + count + " - p: " + posEl);
            
        }
        
        //muovi con l'hover
            
        var hWindow = $(window).height();
        var wWindow = $(window).width();
        jQuery.event.add(window, "resize", resizeFrame);
        
        function resizeFrame() {
            hWindow = $(window).height();
            wWindow = $(window).width();
        }
        
        var xSpostamento = 0;
        
        
        var timerSpostaMenu = null;
        var spostaMenu = false;
        
        $(document).mousemove(function(e){
           xSpostamento = e.pageX - wWindow/2;
        });
        
        function loopSposta(){
            if(xSpostamento < -125){
                spostaMenuDx();
            }else{
                if(xSpostamento > 125){
                    spostaMenuSx();
                }else{
                    clearTimeout(timerSpostaMenu);
                    if (spostaMenu) timerSpostaMenu = setTimeout(function(){ loopSposta(); }, 200);
                    return;
                }
            }
            
            if (spostaMenu) timerSpostaMenu = setTimeout(function(){ loopSposta(); }, 1000);
        }
        
        $(".menuPrincipale").hover(
            function(){
                spostaMenu = true;
                loopSposta();
            },
            function(){
                spostaMenu = false;
                clearTimeout(timerSpostaMenu);
            }
        );
});
