﻿var news;
var containerNews;

var interval;
var inizio, cost, fine;

function AX_changeNews() {
    containerNews = document.getElementById('contentMarquee');
    containerNews.style.width = '455px';
    containerNews.style.height = '91px';

    //controllo il browser perchè mozilla considera figli anche i testi quindi ha più figli
    //i valori di inizio fine sono diversi
    //tra i figli va considerato un figlio (che non è un vero tag html) e che non serve modificare
    if (navigator.appName == 'Netscape') {
        inizio = 1;
        cost = 2; //passi tra un figlio e l'altro
        fine = 10;
    } else {
        inizio = 0;
        cost = 1; //passi tra un figlio e l'altro
        fine = 5;
    }

    //imposto tutti i div che contengono le news
    for (k = inizio; k < fine; k = k + cost) {
        if (k != inizio) {
            containerNews.childNodes[k].style.zIndex = k;
            containerNews.childNodes[k].style.display = 'none';
            containerNews.childNodes[k].style.visibility = 'hidden';
            containerNews.childNodes[k].style.opacity = '.1';
            containerNews.childNodes[k].style.filter = 'alpha(opacity=10)';
        } else {
            containerNews.childNodes[k].style.zIndex = k;
            containerNews.childNodes[k].style.display = 'block';
            containerNews.childNodes[k].style.visibility = 'visible';
            containerNews.childNodes[k].style.opacity = '.1';
            containerNews.childNodes[k].style.filter = 'alpha(opacity=10)';
            AX_riempi(k, 1);
        }
    }

    interval = setTimeout('AX_change()', 2000);

}

function AX_change() {
    var newsAttiva;
    //trovo la news che è visibile
    for (k = inizio; k < fine; k = k + cost) {
        if (containerNews.childNodes[k].style.visibility == 'visible' || containerNews.childNodes[k].style.display == 'block') {
                newsAttiva = k;
                AX_sfuma(newsAttiva, 10);
        }
    }
}
function AX_sfuma(newsAttiva, i) {
    //modifico l'opacità della news visibile
    if (i >= 0) {
        containerNews.childNodes[newsAttiva].style.opacity = i / 10;
        containerNews.childNodes[newsAttiva].style.filter = 'alpha(opacity='+(i*10)+')';
        i--;
        //richiamo di nuovo la funzione (ritardando il tempo) per modificare di nuovo la news
        interval = setTimeout('AX_sfuma('+newsAttiva+', '+i+')', 100);
    } else {
        AX_newsSuccessiva(newsAttiva)
    }
}
function AX_riempi(newsAttiva, i) {
    //modifico l'opacità della news visibile
    if (i <= 10) {
        containerNews.childNodes[newsAttiva].style.opacity = i / 10;
        containerNews.childNodes[newsAttiva].style.filter = 'alpha(opacity=' + (i*10) + ')';
        i++;
        //richiamo di nuovo la funzione (ritardando il tempo) per modificare di nuovo la news
        interval = setTimeout('AX_riempi(' + newsAttiva + ', ' + i + ')', 100);
    }
}

function AX_newsSuccessiva(newsAttiva) {
    //nascondo la news che era attiva ed ho sfumato
    containerNews.childNodes[newsAttiva].style.visibility = 'hidden'
    containerNews.childNodes[newsAttiva].style.display = 'none'
    
    //attivo la news successiva, se non c'è riattivo la prima news
    if ((newsAttiva + cost) < fine) {
        containerNews.childNodes[newsAttiva + cost].style.visibility = 'visible'
        containerNews.childNodes[newsAttiva + cost].style.display = 'block'
        interval = setTimeout('AX_riempi(' + (newsAttiva+cost) + ', 1)', 100);

    } else {
        containerNews.childNodes[inizio].style.visibility = 'visible'
        containerNews.childNodes[inizio].style.display = 'block'
        interval = setTimeout('AX_riempi(' + inizio + ', 1)', 100);
    }

    interval = setTimeout('AX_change()', 3000);
}

function AX_stopChange() {
    var newsAttiva;
    //aumento al massimo l'opacità della news visibile
    for (k = inizio; k < fine; k = k + cost) {
        if (containerNews.childNodes[k].style.visibility == 'visible' || containerNews.childNodes[k].style.display == 'block') {
            containerNews.childNodes[k].style.opacity = '1.0';
            containerNews.childNodes[k].style.filter = 'alpha(opacity=100)';
        }
    }
    //stoppo l'esecuzione delle funzioni
    if (interval) {
        clearTimeout(interval);
    }
}