var timeout;
var xmlRequest;// = getNewXmlHttpRequest();
var g_delay = 1000;
var seconds = 0;
var minutes = 0;
var hours = 0;
var connected = false;

function getNewXmlHttpRequest() {
    var req = false;
    // branch for native XMLHttpRequest object
    if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
    // branch for IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
        try {
            req = new ActiveXObject('Msxml2.XMLHTTP');
        } catch(e) {
            try {
                req = new ActiveXObject('Microsoft.XMLHTTP');
            } catch(e) {
                req = new XMLHttpRequest();
            }
        }
    }

    if(req)
    {
        req.onreadystatechange = processReqChange;
    } // else do nothing
    return req;
}

function initClock()
{
    pollServer();
    doTick();
}

function doTick()
{
    seconds++;
    if (seconds > 59)
    {
        seconds = 0;
        minutes++
        pollServer();
        if (minutes > 59)
        {
            minutes = 0;
            hours++;
        }
    }
    node = document.getElementById('clock');
    if (connected)
    {
        var h,m,s;
        if (hours < 10 ) {h = '0'+hours;} else {h = hours;}
        if (minutes < 10) {m = '0'+minutes;} else {m = minutes;}
        if (seconds < 10) {s = '0'+seconds;} else {s = seconds;}
        node.innerHTML = h+':'+m+':'+s;
        node.style.color="#000000";
    } else
    {
        node.style.color="#A0A0A0";
        node.title = "Нет связи"
        
    }
    timeout = setTimeout("doTick()",g_delay);
}

function pollServer() {

  xmlRequest = getNewXmlHttpRequest();
  xmlRequest.onreadystatechange = processReqChange;
  xmlRequest.open('GET','/templates/getDate?rnd='+Math.random());
  xmlRequest.send(false);
}

function processReqChange()
{
    // only if req shows "complete"
    if (xmlRequest.readyState == 4) {
        // only if "OK"
        if (xmlRequest.status == 200) {
            // ...processing statements go here...


            r = xmlRequest.responseText;
            var parts = r.split(":");
            hours = parseInt(parts[0],10);
            minutes = parseInt(parts[1],10);
            seconds = parseInt(parts[2],10);
            connected = true;

        } else {
            connected = false;
        }
    }
}




