﻿var updateProcessingTextInterval;
var requestTimeoutTimeout;
var processingElement;
var processingText;

function startProcessing(obj, text, disable, timeout)
{
    processingElement = obj;

    processingText = text;
    setTimeout("showProcessing()", timeout)
}

function windowUnload()
{
    stopTimers();
}

function showProcessing()
{
    var div = document.getElementById("ProcessingDiv");

    if (!div)
    {
        return;
    }
    
    div.style.visibility = "visible";

    var span = document.getElementById("ProcessingSpan");
    span.innerHTML = processingText + (processingText != "" ? "..." : "");
    //updateProcessingTextInterval = setInterval("updateProcessingText()", 200);

    // In case nothing happens
    requestTimeoutTimeout = setTimeout("requestTimeout()", 4 * 60 * 1000);

    window.onunload = windowUnload;
}

function requestTimeout()
{
    stopTimers();

    var obj = document.getElementById("ProcessingDiv");
    obj.style.visibility = "hidden";

    processingElement.disabled = false;
}

function stopTimers()
{
    clearInterval(updateProcessingTextInterval);
    clearTimeout(requestTimeoutTimeout);
}

