

var efSplash = {};

efSplash.active = false;
efSplash.pages = [];
efSplash.currentPage = null;
efSplash.speed = null;
efSplash.sto = null;

efSplash.initialize = function() {
    if (efSplash.active) {
        var pages = [];
        $('#splash-box .splash-page').each(function(){
            pages[pages.length] =
            {
                sid: $(this).attr('sid'),
                period: parseInt($(this).attr('period'))
            };
        });

        efSplash.pages = pages;

        if (efSplash.pages.length < 1)
            return;

        var nav = '';

        for (var i = 0; i < efSplash.pages.length; i++) {
            if (i != 0)
                $('#splash-page-' + efSplash.pages[i].sid).hide(efSplash.speed);

            nav += '<td class="nav-page">' + (i + 1) + '</td>';
        }

        nav = '<td class="nav-pre"></td>' + nav
            + '<td class="nav-next"></td>'
        ;

        nav =  '<table><tr>' + nav + '</tr></table>';

        if (efSplash.pages.length > 0) {
            $('#splash-navigation').html(nav);
            $('#splash-navigation td').click(efSplash.navigate);
        }

        efSplash.display(0);
    }
};

efSplash.change = function(diff) {
    diff = typeof(diff) == 'number' && diff < 0 ? -1 : +1;
    var pg = efSplash.currentPage;
    pg =  pg ? pg : 0;
    pg += diff;
    efSplash.display(pg);


//    if (efSplash.pages.length < 2)
//        return;
//
//    diff = parseInt(diff);
//    if (isNaN(diff)) {
//        diff = parseInt(Math.random() * efSplash.pages.length);
//    }
//
//    var pg = efSplash.currentPage;
//    pg =  pg ? pg : 0;
//    pg += diff;
//    efSplash.display(pg);
};

efSplash.navigate = function() {
//    var clazz = $(this).attr('class');
    var pg;
//    if (clazz == 'nav-page') {
    if ($(this).is('.nav-page')) {
        pg = $(this).html();
        pg = parseInt(pg) - 1;
        efSplash.display(pg);
    }
//    else if ($(this).attr('class') == 'nav-pre') {
    else if ($(this).is('.nav-pre')) {
        efSplash.change(-1);
    }
    else {
        efSplash.change(+1);
    }
};

efSplash.display = function(pg) {
    if (efSplash.sto) {
        clearTimeout(efSplash.sto);
        efSplash.sto = null;
    }

    pg = (pg + efSplash.pages.length) % efSplash.pages.length;

    var cp = efSplash.currentPage;
    if (typeof(cp) == 'number') {
        cp = efSplash.pages[cp];
    }
    efSplash.currentPage = pg;
    pg = efSplash.pages[pg];


    if (pg != cp) {
        if (cp) {
            $('#splash-page-' + cp.sid).hide(efSplash.speed);
        }
        $('#splash-page-' + pg.sid).show(efSplash.speed);
    }


    {
        var idx = efSplash.currentPage;
        var from = idx - 2;
        var to = idx + 2;

        var pages = efSplash.pages;
        var LEN = pages.length;

        if (LEN < 6) {
            from = 0;
            to = LEN - 1;
        }
        else {
            if (from < 0) {
                from = 0;
                to = 4;
            }
            else if (to >= LEN) {
                to = LEN -1;
                from = LEN -5;
            }
        }

        var i = 0;
        var spd = null;

        $('#splash-navigation td.nav-page').each(function() {

            if (i == idx) {
                $(this).addClass('selected').removeClass('hidden');
            }
            else if (i >= from && i <= to) {
                $(this).removeClass('selected').removeClass('hidden');
            }
            else {
                $(this).removeClass('selected').addClass('hidden');
            }


            i++;
        });

    }

    efSplash.sto = setTimeout(efSplash.change, pg.period);

};

$(document).ready(function() {
    window.efSplash.initialize();
});

