﻿/// <reference name="MicrosoftAjax.js"/>


var counter=0;
var id;
var total = 120;
var pgUpdateSpeed = 1000;

//---------------------------------------------------------
//Progress Bar for First Updates on Devices
function progressBarUpdateStart(deviceid, waittime) {
    total = waittime;
    id = deviceid;
    progressBarUpdateCheck();
}

function progressBarUpdateCheck() {
    //Call Service to check if an first update has occured //add timestamp of when first config saved
    Services.HasDeviceReceivedConfig(id, progressBarUpdateSucceededCallback);
}

function progressBarUpdateSucceededCallback(result) {
    var RsltElem = document.getElementById("Results"); //Does this get used?
    counter += 1;

    percent = Math.floor((100 / total) * counter);
    progressBarUpdateUI(percent);
    if (result == false && counter < total)
        setTimeout("progressBarUpdateCheck()", pgUpdateSpeed);
    else if (counter >= total || result) {
        if (result) {
            finished();
        }
        else {
            timeout();
        }
    }
}
///---------------------------------------------------
//Progress bar for Devices
function progressBarDeviceStart(boxid, waittime) {
    total = waittime;
    id = boxid;
    progressBarDeviceCheck();

}

function progressBarDeviceCheck() {
    Services.IsGatewayNewDeviceRegistered(id, progressBarDeviceSucceededCallback);
}

function progressBarDeviceSucceededCallback(result) {
    var RsltElem = document.getElementById("Results");
    counter += 1;

    percent = Math.floor((100 / total) * counter);
    progressBarUpdateUI(percent);

    if (result == false && counter < total)
        setTimeout("progressBarDeviceCheck()", pgUpdateSpeed);
    else if (counter >= total || result)
        if (result)
        finished();
     else
        timeout();    
}
//---------------------------------------------------
//Progress bar for gateways
function progressBarStart(boxid,waittime)
{
    total = waittime;
    id = boxid;
    progressBarCheck();
}

function progressBarCheck()
{
    Services.IsGatewayRegistered(id,
        progressBarSucceededCallback);
}
function progressBarSucceededCallback(result)
{
    var RsltElem = document.getElementById("Results");
    counter+=1;
    
    percent = Math.floor((100/total) * counter);    
    progressBarUpdateUI(percent);
    
    if (result==false && counter<total)
        setTimeout("progressBarCheck()",pgUpdateSpeed);
    else if (counter>=total || result)
        if (result)
            finished();    
        else
            timeout();    
}

//----------------------------------------------------
function progressBarUpdateUI(precent)
{
    $get("progressbar").style.cssText = "width:" + percent + "%;background-color: #ffc008; height: 20px; ";
    $get("progressinfo").innerHTML = counter + " sec of " + total + " sec";
}

