var waitingCounter = 0;
var hWaitingBar = null;

var wbSize = 10;
var wbSizeCursor = 4;
var wbSpeed = 100;

var sliderCounter = 0;
function drawSlidebar(sb, length, position)
{
    var x = document.getElementById(sb);
    if (x && sliderCounter <= length) {
        var current = Math.ceil((position/length) * 100);
        x.width = current + "%";
    }
    
    var sbStatus = document.getElementById("sliderStatus");
    if (sbStatus) {
        sbStatus.innerHTML = x.width;
    }
}

function drawWaitingbar(sb, wbs)
{
    waitingCounter = (waitingCounter >= (wbSize + wbSizeCursor - 1)) ? 0 : waitingCounter + 1;
    
    var x = document.getElementById(sb);
    if (x && x.hasChildNodes()) {
        var colCounter = 0;
        for (i = 0; i < x.childNodes.length; i++) {
            var n = x.childNodes[i];
            if (n.nodeType == 1) {
                colCounter++;
                if (waitingCounter >= colCounter && waitingCounter <  (colCounter + wbSizeCursor) && n.attributes["id"].value != wbs) {
                    n.bgColor = "#20A0F0";
                } else {
                    n.bgColor = "#FFFFFF";
                }
            }
        }
    }
}

function drawWaitingBarStatus(wb, length, position, engine)
{
    var x = document.getElementById(wb);
    if (x && position <= length) {
        var current = Math.ceil((position/length) * 100);
//        x.innerHTML = (engine ? engine.host : "") + " " + (engine ? (position + 1) : position) + "/" + length + " [" + current + "%" + "]";
        x.innerHTML = (engine ? engine.host : "") + "&nbsp;&nbsp;[" + (engine ? (position + 1) : position) + "/" + length + "&nbsp;&nbsp;" + current + "%" + "]";
    }
    
    if (position >= length && hWaitingBar) {
        window.clearInterval(hWaitingBar);
        hWaitingBar = null;
    }
}

function startWaitingbar(wb, wbs)
{
    showLayer("box_waiting_bar");
//    hideLayer("elem_title");
//    hideLayer("elem_lang");
    if (!hWaitingBar) {
        hWaitingBar = window.setInterval("drawWaitingbar('" + wb + "', '" + wbs + "')", wbSpeed);
    }
}

function stopSearch()
{
    // Stop the search
    gSearchAllowed = false;
    
    // Stop the moving chart
    if (hWaitingBar) {
        window.clearInterval(hWaitingBar);
        hWaitingBar = null;
    }
    
    // Hide the gadget
    hideLayer('box_waiting_bar');
    
//    showLayer("elem_title");
//    showLayer("elem_lang");
}

