var wbids_news_list = [];
var wbids_news_request = null;
var wbids_news_interval = 5*1000;
var wbids_news_refresh = 30*1000;
var wbids_news_first_run = true;
var wbids_news_current_timeout = null;
var wbids_current_version = null;

function wbids_news_init(interval, refresh)
{
    wbids_news_interval = interval * 1000;
    wbids_news_refresh = refresh * 1000;
    wbids_news_request = new queueRequest(wbids_news_pack, wbids_news_callback, 1000, 5000);
    wbids_news_request.addTarget(0);
}

function wbids_news_pack(actionArray)
{
    return 'getnews.php?a=b';
}

function wbids_news_callback(request, xmlData)
{
    var x=xmlData.getElementsByTagName(xmlText['news']);
    if(!x) return;

    wbids_news_list = [];

    for (var i=0;i<x.length;i++) {
        wbids_news_list.push(x[i].childNodes[0].nodeValue);
        /* create the whole html stuff here */
        /*
        var id = x[i].getElementsByTagName(xmlText['id'])[0].childNodes[0].nodeValue;
        var header = x[i].getElementsByTagName(xmlText['header'])[0].childNodes[0].nodeValue;
        var ndate = x[i].getElementsByTagName(xmlText['date'])[0].childNodes[0].nodeValue;

        var tmp = '<a href="news.php?id='+id+'">'+'<strong>'+ndate+'</strong> '+header+'</a>';

        wbids_news_list.push(tmp);
        */
    }
    wbids_news_update(0, wbids_news_first_run); 
    wbids_news_first_run = false;

    request.removeTarget(0);

    setTimeout('wbids_news_request.addTarget(0)', wbids_news_refresh);

    // check if wbids version has changed so we can force page refresh
    x=xmlData.getElementsByTagName(xmlText['version'])[0].childNodes[0].nodeValue;
    if(x) {
        if(!wbids_current_version)
            wbids_current_version = x;
        else if(x != wbids_current_version) {
            location.reload(true);
        }
    }

    // message box data
    try {
        x=xmlData.getElementsByTagName(xmlText['message'])[0].childNodes[0].nodeValue;
        if(x.length > 0) {
            wbids_info(x);
        }
    } catch(e) { }
}

function wbids_news_update(i, settimeout)
{
    if(wbids_news_list.length) {
        if (i >= wbids_news_list.length) {
            i = 0;
        }
        var el = document.getElementById('news_content');
        if(el) {
            if(el.innerHTML != wbids_news_list[i]) {
                if(wbids_news_current_timeout) {
                    clearTimeout(wbids_news_current_timeout);
                    wbids_news_current_timeout = null;
                }
                wbids_news_fade('news_content', 0, wbids_news_list[i]);
            }
            i++;
        }
    }
    if(settimeout)
        setTimeout('wbids_news_update('+i+', true)', wbids_news_interval);
}

function wbids_news_fade(name, step, text)
{
    var el = document.getElementById(name);
    el.style.opacity = eval(1-(step/100));
    el.style.filter = 'alpha(opacity='+eval(100-step)+')';

    if(text != 'null')
        step+=3;
    else
        step-=3;

    if(step >= 100 && text != 'null') {
        el.innerHTML = text;
        text = 'null';
    }

    if(text != 'null' || step > 0)
        wbids_news_current_timeout = setTimeout('wbids_news_fade(\''+name+'\', '+step+', \''+text+'\')', 60);
    else    wbids_news_current_timeout = null;
}

wbids_news_init(10, 60);

/* vim:set et sw=4 sts=4: */
