var promoRotaion;

$(function(){
    if ($.browser.msie && $.browser.version < 8) return;
    promoRotaion = function(path, width, id, speed) {
        if (!path) {
            alert('promoRotation: path to xml is needed!');
            return;
        }

        var timerTime = 5000;
        var intTime = 30000;
        var promos = [];
        var blockid = id || '#promos';
        var pid = 0;
        var st = null;
        var si = undefined;
        var aspeed = speed || 400;
        width = width || 500;

        if ($(id).length <= 0) {
            return;
        }

        var loadBanners = function(suc_callback) {
            $.ajax({
                type: "GET",
                url: __WWWHOST+path,
                dataType: "xml",
                success: function(xml) {
                    var values = [];
                    var interval = $(xml).find('interval').text();
                    var timer = $(xml).find('timer').text();
                    timerTime = parseInt(timer*1000);
                    intTime = parseInt(interval*1000);
                    $(xml).find('promo').each(function() {
                        values = [];
                        tthis = $(this);
                        values['src'] = tthis.find('src').text();
                        values['link'] = tthis.find('link').text();
                        values['title'] = tthis.find('title').text();
                        promos.push(values);
                    });
                    suc_callback();
                },
                error: function(a) {
                }
            });
        };

        var runBanners = function() {
            var block = $(blockid);
            if (promos.length>0) block.show();
            for (var i in promos) {
                promo = promos[promos.length-i-1];
                $('<a href="'+promo.link+'" class="promos" title="'+promo.title+'" style="background: url('+__WWWHOST+promo.src+');"></a>').prependTo(blockid+' .inner');
                if (i == promos.length-1) bclass = 'class="prsa'+(promos.length-i-1)+' active"';
                else bclass = 'class="prsa'+(promos.length-i-1)+'"';
                var but = $('<a '+bclass+' href="#"><b></b>'+promo.title+'<i></i></a>');
                but.prependTo(blockid+' .buttons');
                $(blockid+' .inner').css('width',width*promos.length);
                but.click(function(){
                    if ($(this).hasClass('active')) return false;
                    touchButtons();
                    return slidePromo($(this).attr('class').replace('prsa',''));
                });
            }
            autoBanners();
        };

        var autoBanners = function() {
            si = setInterval(function(){
                if (pid == promos.length-1)
                    pid = 0;
                else
                    pid++;
                slidePromo(pid);
            },intTime);
        };

        var slidePromo = function(id) {
            $(blockid+' .buttons a').removeClass('active');
            $('.prsa'+id).addClass('active');
            pid = id;
            $(blockid+' .inner').animate({'left':'-'+(pid*width)+'px'},aspeed);
            return false;
        };

        var touchButtons = function() {
            clearInterval(si);
            clearTimeout(st);
            si=st='';
            st = setTimeout(function(){
                autoBanners();
            },timerTime);
        };

        loadBanners(runBanners);
    };

    promoRotaion('/files/files/promos/promos.xml',960,'#promos');
    promoRotaion('/files/files/promos/cpromos.xml',175,'#cpromos');
});
