﻿// Parametri cookie
var cookieName = 'layoutPos';
var cookieDuration = 365; // days

// Percorso immagini per il tree menu
var subImgOpen = '/templates/pinzolo/images/list_open.png';
var subImgClose = '/templates/pinzolo/images/list_close.png';

var tabOne = null;
var tabTwo = null;
var tabNews = null;
var tabInbank = null;
var tabsContent = null;

var layoutPos = null;

// Dock menu
var myDock = null;

window.addEvent('domready', function() {

    // Apro il cookie
    layoutPos = new Hash.Cookie(cookieName, { autoSave: true, duration: cookieDuration, path: '/' });
    layoutPos.load();

    // Gestione Dock Menu ////////////////////////////////////////////////////////////////////////////////////////////////////
    myDock = new Dock('dock', { elCaption: 'dockTitle', classCaption: 'specialTitle' });

    // Gestione tabs inbank, news /////////////////////////////////////////////////////////////////////////////////////////////////////////

    //var closeTab = $$('.tree-navigation').length > 0;

    tabOne = $('tabOne');
    tabTwo = $('tabTwo');
    tabInbank = $('tabInbank');
    tabNews = $('tabNews');
    tabsContent = $('tabsContent');

    tabOne.set('status', 'close');
    tabTwo.set('status', 'close');

    var posTabLeft = layoutPos.get('posTabLeft');

    // Se è null, quindi prima volta di defautl apro la seconda tab (news)
    if (posTabLeft == null) { posTabLeft = 2; }
    // Se nn posso chiudere le tab e nessuna è aperta, apro le news
    if (posTabLeft != 1 && posTabLeft != 2 /* && !closeTab*/) { posTabLeft = 2; }

    // Se sono nella pagina con i content allora chiudo di default
    // Chiuso di default nelle pagine interne
    if (posTabLeft == 1) {
        tabOne.setClass('tabsInbackOn');
        tabOne.set('status', 'open');
        tabInbank.setStyle('display', 'block');
        layoutPos.set('posTabLeft', 1);
    }
    else if (posTabLeft == 2) {
        tabTwo.setClass('tabsNewsOn');
        tabTwo.set('status', 'open');
        tabNews.setStyle('display', 'block');
        layoutPos.set('posTabLeft', 2);
    }

    tabOne.addEvent('click', function() {
        //        if (tabOne.get('status') == 'open') {
        //	        tabOne.setClass('tabsInbackOff');
        //	        layoutPos.set('posTabLeft', 0);
        //            tabOne.set('status','close');
        //            tabsContent.tween('height',0);
        //            tabInbank.setStyle('display','none');
        //            tabNews.setStyle('display','none');
        //        }
        //        else {
        tabOne.setClass('tabsInbackOn');
        tabTwo.setClass('tabsNewsOff');
        layoutPos.set('posTabLeft', 1);
        tabOne.set('status', 'open');
        tabTwo.set('status', 'close');
        tabInbank.setStyle('display', 'block');
        tabNews.setStyle('display', 'none');
        //        }
    });

    tabTwo.addEvent('click', function() {
        //        if (tabTwo.get('status') == 'open') {
        //	        tabTwo.setClass('tabsNewsOff');
        //	        layoutPos.set('posTabLeft', 0);
        //            tabTwo.set('status','close');
        //            tabsContent.tween('height',0);
        //            tabInbank.setStyle('display','none');
        //            tabNews.setStyle('display','none');
        //        }
        //        else {
        tabOne.setClass('tabsInbackOff');
        tabTwo.setClass('tabsNewsOn');
        tabInbank.setStyle('display', 'none');
        tabNews.setStyle('display', 'block');
        layoutPos.set('posTabLeft', 2);
        tabOne.set('status', 'close');
        tabTwo.set('status', 'open');
        //        }
    });

    // Gestion NEWS con fade
    var boxNews = $$('.newsboxBlock');
    if (boxNews.length > 1) {
        var currNews = 0;
        var mouseOver = false;
        boxNews.setStyles({ 'opacity': 0, 'display': 'block' });
        boxNews[0].setStyle('opacity', 1);
        boxNews.set('tween', { duration: 800 });
        boxNews.addEvent('mouseenter', function() { mouseOver = true; }).addEvent('mouseleave', function() { mouseOver = false; });
        var fadeNews = function() {
            if (!mouseOver) {
                currNews = (currNews + 1) % boxNews.length;
                boxNews.tween('opacity', 0);
                boxNews[currNews].tween('opacity', 1);
            }
        }
        fadeNews.periodical(6000);
    }

    // Box icone a scorrimento
    var iconsForRow = 3;
    var iconsList = $$('.highlights div');
    var iconsCount = iconsList.length;
    var currentIcon = iconsForRow - 1; // Ultima icona mostrata
    var currentIconPos = 0; // Ultimo posto dove è stata mostrata l'icona
    var overIcon = false;
    var timeIconDelay = 4000;
    var timeIconFade = 1200;

    // Cambia icona
    var changeIcon = function () {

        // Se sono sopra un'icona esco
        if (overIcon) {
            return;
        }

        // Calcolo la posizione dove mettere l'immagine
        var cLeft = iconsList[currentIconPos].getStyle('left').toInt();
        // Nascondo l'immagine che sta occupando il posto di quella nuova
        iconsList[currentIconPos].tween('opacity', 0);
        // Aggiorno la postazione
        currentIconPos = (currentIconPos + 1) % iconsCount;
        // Calcolo la nuova immagine di mostrate
        currentIcon = (currentIcon + 1) % iconsCount;
        // Imposto la posizione dell'immagine
        iconsList[currentIcon].setStyle('left', cLeft);
        // Mostro l'immagine corrente
        iconsList[currentIcon].tween('opacity', 1);

    }

    if (iconsCount > iconsForRow) {
        iconsList.each(function (el, i) {

            el.set('tween', {
                duration: timeIconFade
            }).addEvent('mouseenter', function () {
                overIcon = true;
            }).addEvent('mouseleave', function () {
                overIcon = false;
            });

            if (i >= iconsForRow) {
                el.setStyles({
                    'opacity': 0,
                    'display': 'block'
                });
            }

        });
        // Start con il ciclo
        changeIcon.periodical(timeIconDelay + timeIconFade);
    }

    // Gestione tab HOMEPAGE

    var ie6 = Browser.Engine.name == 'trident' && Browser.Engine.version < 5 ? true : false;
    var ie7 = Browser.Engine.name == 'trident' && Browser.Engine.version == 5 && navigator.userAgent.indexOf('MSIE 7') > 0 ? true : false;

    var boxHome = $$('.boxHome');
    var btnHome = $$('.btnSmall', '.btnBig');
    if (boxHome.length > 0 && boxHome.length == btnHome.length) {
        if (ie6 || ie7) {
            boxHome.setStyle('display', 'none');
            //boxHome[0].setStyle('display', 'block');
        }
        else {
            boxHome.setStyles({ 'opacity': 0, 'display': 'block' });
            //boxHome[0].setStyle('opacity', 0.9);
            boxHome.set('tween', { duration: 600 });
        }
        btnHome.each(function(el, index) {
            el.addEvent('mouseenter', function() {
                btnHome.removeClass('selected');
                el.addClass('selected');
                if (ie6 || ie7) {
                    boxHome.setStyle('display', 'none');
                    boxHome[index].setStyle('display', 'block');
                }
                else {
                    boxHome.tween('opacity', 0);
                    boxHome[index].tween('opacity', 0.9);
                }
            });
        });
    }

    // Chiusura del DOMREADY
});

window.addEvent('load', function() {

    // Gestione del primo menu dinamico //////////////////////////////////////////////////////////////////////////////////////
    var listVoice = $$('.listVoice');
    var initListHeight = 27;
    listVoice.each(function(el) {
        el.set('tween', { duration: 500 });

        var childs = el.getChildren('div');
        childs[0].addEvent('click', function() {
            listVoice.tween('height', initListHeight);
            if (childs[1].getChildren().length > 0) {
                if (el.getStyle('height').toInt() <= initListHeight)
                    el.tween('height', initListHeight + childs[1].getSize().y);
            }
        });
    });

});
