﻿// Parametri cookie
var cookieName = 'layoutPos';
var cookieDuration = 365; // days

// Percorso immagini per il tree menu
var subImgOpen = '/templates/rabbi/images/list_open.png';
var subImgClose = '/templates/rabbi/images/list_close.png';

var tabOne = null;
var tabTwo = null;
var tabNews = null;
var tabInbank = null;
var tabsContent = null;

var layoutPos = null;

var closeTabsTimer = null;
var closeTabsTime = 2000;

function closeTabs() {
    tabOne.setClass('tabsInbackOff');
    tabTwo.setClass('tabsNewsOff');
    layoutPos.set('posTabLeft', 0);
    tabOne.set('status','close');
    tabTwo.set('status','close');
    tabInbank.setStyle('display','none');
    tabNews.setStyle('display','none');
    tabsContent.tween('height',0);

    closeTabsTimer = setTimeout('closeTabs()',closeTabsTime);
}

window.addEvent('domready', function() {

    // Apro il cookie
    layoutPos = new Hash.Cookie(cookieName, {autoSave: true, duration: cookieDuration, path: '/' });
    layoutPos.load();
    
    // Gestione tabs inbank, news /////////////////////////////////////////////////////////////////////////////////////////////////////////
    
    var closeTab = $$('.tree-navigation').length > 0;
       
    tabOne = $('tabOne');
    tabTwo = $('tabTwo');
    tabInbank = $('tabInbank');
    tabNews = $('tabNews');
    tabsContent = $('tabsContent');

    if (closeTab) {
        // Funzione per l'autochiusura del box
        closeTabsTimer = setTimeout('closeTabs()',closeTabsTime);

        tabsContent.set('defaultHeight',tabsContent.getStyle('height').toInt());
        tabsContent.set('tween',{ duration: 200 });
        $$('.tabsBox','.tabsBoxHome').addEvent('mouseenter',function(){clearTimeout(closeTabsTimer);});
        $$('.tabsBox','.tabsBoxHome').addEvent('mouseleave',function(){closeTabsTimer = setTimeout('closeTabs()',closeTabsTime);});
    }
        
    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
    if(closeTab) { tabsContent.setStyle('height',0); }

    // Chiuso di default nelle pagine interne
    if (!closeTab) {
        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);
        }
        else {
            tabOne.setClass('tabsInbackOff');
            tabTwo.setClass('tabsNewsOff');
            layoutPos.set('posTabLeft', 0);
            // Collasso lo spazio news se non sono nella homepage
            tabsContent.setStyle('height',0);
        }
    }

    tabOne.addEvent('click', function(){
        if (tabOne.get('status') == 'open' && closeTab) {
	        tabOne.setClass('tabsInbackOff');
	        layoutPos.set('posTabLeft', 0);
            tabOne.set('status','close');
            tabsContent.tween('height',0);
            tabInbank.setStyle('display','none');
            tabNews.setStyle('display','none');
        }
        else {
            if($('tabsContent').getStyle('height').toInt() <= 0) {
                tabsContent.tween('height',tabsContent.get('defaultHeight'));
            }
            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' && closeTab) {
	        tabTwo.setClass('tabsNewsOff');
	        layoutPos.set('posTabLeft', 0);
            tabTwo.set('status','close');
            tabsContent.tween('height',0);
            tabInbank.setStyle('display','none');
            tabNews.setStyle('display','none');
        }
        else {               
            if($('tabsContent').getStyle('height').toInt() <= 0) {
                tabsContent.tween('height',tabsContent.get('defaultHeight'));
            }
            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');
        }
	});

	// 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);
	}

// 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);
		    }
	    });							
    });

});
