var intervalID;
var DoScroll = true;

function scrollBanners(element, interval, url, contentid, languageid) {
    if (!url)       {var url = "/resources/src/banners.txt";}
    if (!element) { var element = $('body'); }
    //var interval = (interval) ? interval : 4500;
    var interval = 4500;

    $.ajax({
        url: url,
        type: 'POST',
        async: true,
        cache: true,
        data: "{contentid :'" + contentid + "', languageid: '" + languageid + "'}",
        contentType: "application/json; charset=utf-8",
        dataType: 'json',
        success: function(data, textStatus, XMLHttpRequest) {
            if (textStatus != 'success') {
                $(element).text(textStatus);
            }           
            insertBanners(element, data.d);
            doScrollBanners(element, interval);
        },
        error: function(XMLHttpRequest, textStatus, errorThrown) {
            return;
        }
    });
}

function insertBanners(element, data) {
    if (!data || undefined == data || data.length < 1) {
        return;
    }
    if(!element || undefined == element){
        return;
    }
    
    $(element).css('height','244px');
    var insertEle = '<ul class="bannerlist">\n';
    var i = 0;
    data = data.reverse();
    if(data.length > 2){
        data.unshift(data.pop());
        data.unshift(data.pop());
    }

    while (i < data.length) {
        var style = '';
        var onclick = '';
        for (var j in data[i].Style) {
            if(undefined != data[i].Style[j]){
                style += j.replace('_','-') + ': ' + data[i].Style[j] + ';';
            }
        }
        if (data[i].Link) { 
            onclick = 'cursor: pointer;" onclick="window.location.href=\'' +data[i].Link + '\'"';
        }
        insertEle += '<li style="background: transparent url(/ImageHandler.ashx?width=769&image=' + data[i].ImageUrl + ') no-repeat scroll center bottom; '+ onclick +'">\n<span style="position: absolute; ' + style + '">' + data[i].Rss + '</span>\n</li>';
        i++;
    }
    insertEle += '\n</ul>';
    element.prepend(insertEle);

    element.live('mouseenter mouseleave', function () {
        DoScroll = !DoScroll;
    });
}

function doScrollBanners(element, interval) {
    if (!element || !DoScroll) {
        return;
    }
    if ($(element).find('ul.bannerlist').children('li').length < 2) {
        return;
    }
    var list = $(element).find('ul.bannerlist');
    var width = list.children('li:eq(0)').width();
    if (interval) {
        list.css('left', '-' + width + 'px');
        window.setTimeout(function() {
            intervalID = window.setInterval(function() {
                doScrollBanners(element)
            }, interval)
        }, 50);
    } else {
        list.animate({ 'left': '0px' }, 2500, function() {
            list.prepend(list.children('li:last-child'));
            list.css('left', '-' + width + 'px');
        });
    }
}
