$(document).ready(function() {
    initBannerListener("jquery-smn-banner-listener-container");
});

function initBannerListener() {
    $("div.smn-banner-listener-container").prepend("<div class='smn-banner-listener-paginator-container'><div class='smn-banner-listener-paginator'></div><div class='smn-banner-listener-paginator-clear'></div></div>");
    $("div.smn-banner-listener-container a").each(function(i){
        $(this).addClass("top-banner-smn-list-element top-banner-smn-list-element"+i);
        if(i!=0) {
            $(this).hide(0);
        }
        $("div.smn-banner-listener-paginator").append("<div class='smn-banner-listener-paginator-element smn-banner-listener-paginator-element"+i+"'><a href='javascript:;' onclick='switchBannerListenerPage("+i+")'>"+(i+1)+"</a></div>");
    });
    $("div.smn-banner-listener-container a").mouseout(function(){
        if($("div.smn-banner-listener-container").hasClass("smn-banner-listener-container-disabled")) {
            $("div.smn-banner-listener-container").removeClass("smn-banner-listener-container-disabled");
        }
    });
    $("div.smn-banner-listener-container a").mouseover(function(){
        if(!$("div.smn-banner-listener-container").hasClass("smn-banner-listener-container-disabled")) {
            $("div.smn-banner-listener-container").addClass("smn-banner-listener-container-disabled");
        }

    });
    $("div.smn-banner-listener-paginator").fadeIn(200);
    processTopBannerListener();
}

function switchBannerListenerPage(index) {
    $("div.smn-banner-listener-paginator-element.selected-banner-listener").removeClass("selected-banner-listener");
    $("div.smn-banner-listener-paginator-element"+index).addClass("selected-banner-listener");

    $("div.smn-banner-listener-paginator").attr("id", "smn-banner-listener-paginator" + index);

    if($("a.top-banner-smn-list-element:visible").hasClass("top-banner-smn-list-element"+index)) {
        return; // ----------->
    }
    animationSpeed = parseFloat($("div#smn-banner-listener-animation-speed").text());
    if(animationSpeed == 0 || animationSpeed == NaN) {
        animationSpeed = 500;
    }
    $("a.top-banner-smn-list-element:visible").fadeOut(animationSpeed, function() {
        $("a.top-banner-smn-list-element:visible").removeClass("selected-banner-element");
        $(this).hide(0);
    });
    $("a.top-banner-smn-list-element"+index).fadeIn(animationSpeed, function(){
    });
    $("a.top-banner-smn-list-element"+index).addClass("selected-banner-element");
}

function processTopBannerListener(){
    idString = $("div.smn-banner-listener-paginator").attr("id");
    if(idString != "") {
        index = idString.substring(idString.length - 1);
    } else {
        index = -1;
    }
    if(!$("div.smn-banner-listener-container").hasClass("smn-banner-listener-container-disabled")) {
        if(++index >= $("div.smn-banner-listener-container a.top-banner-smn-list-element").size()) {
            index = 0;
        }
        switchBannerListenerPage(index);
    }
    timeoutListener = parseFloat($("div#smn-banner-listener-timeout").text());
    if(timeoutListener == 0 || timeoutListener == NaN) {
        timeoutListener = 3000;
    }
    setTimeout("processTopBannerListener()", timeoutListener);
}
