var kaHttpRequest = false;
var kaOldSessionId = '';
var katds;
if (typeof kaDebug == 'undefined')
{
  var kaDebug = false;
}
if (typeof kaServerPage == 'undefined')
{
  var kaServerPage = '/inc/session.asp';
}
if (typeof kaInterval == 'undefined')
{
  var kaInterval = 60;
}
if (typeof kaOkMessage == 'undefined')
{
  var kaOkMessage = '<span style="color: #41930a;">Server Online</span>';
}
if (typeof kaExpiredMessage == 'undefined')
{
  var kaExpiredMessage = '<span style="color: #b82c06;">Session expired</span>';
}
if (typeof kaErrorMessage == 'undefined')
{
  var kaErrorMessage = '<span style="color: #b82c06;">Session check error</span>';
}
if (typeof kaStatusElementID == 'undefined')
{
  var kaStatusElementID = 'sessionstatus';
}

kaAjax('POST', kaServerPage, '', kaStatusElementID);
setInterval("kaAjax('POST', kaServerPage, '', kaStatusElementID)", kaInterval * 1000);

function setClock() {
katds = "";
kaNow = new Date();
var kaCurDay = kaNow.getDate();
var kaCurMonth = kaNow.getMonth() + 1;
var kaCurYear = kaNow.getFullYear();
var kaCurHour = kaNow.getHours();
var kaCurMinute = kaNow.getMinutes();
kaNow = null;
if( kaCurHour > 12 ) {
kaCurHour = kaCurHour - 12;
ampm = 1;
}
else
ampm = 0;
if( kaCurHour == 0 )
kaCurHour = 12;
if( kaCurMinute < 10 )
kaCurMinute = "0" + kaCurMinute;
kaCurHour = kaCurHour + ":" + kaCurMinute;
if( ampm == 1 )
kaCurHour = kaCurHour + " P.M.";
else
kaCurHour = kaCurHour + " A.M.";
katds = kaCurDay + "/" + kaCurMonth + "/" + kaCurYear + " " + kaCurHour;
}

function kaAjax(httpRequestMethod, url, parameters, target)
{
  kaHttpRequest = false;
  document.getElementById(target).innerHTML = '...'
  if (window.XMLHttpRequest)
  { // For Mozilla, Safari, Opera, IE7+
    kaHttpRequest = new XMLHttpRequest();
    if (kaHttpRequest.overrideMimeType)
    {
      kaHttpRequest.overrideMimeType('text/plain');
      //Change MimeType to match the data type of the server response.
      //Examples: "text/xml", "text/html", "text/plain"
    }
  }
  else if (window.ActiveXObject)
  { // For IE6
    try
    {
      kaHttpRequest = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch (e)
    {
      try
      {
        kaHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");
      }
      catch (e)
      {}
    }
  }
  if (!kaHttpRequest)
  {
    alert('Giving up :( Cannot create an XMLHTTP instance');
    return false;
  }
  kaHttpRequest.onreadystatechange = function() {updateElement(target);};
  if (httpRequestMethod == 'GET')
  {
    kaHttpRequest.open('GET', url + '?' + parameters, true);
    kaHttpRequest.send(null);
    ser = ser + 1;
  }
  else if (httpRequestMethod == 'POST')
  {
    kaHttpRequest.open('POST', url, true);
    kaHttpRequest.setRequestHeader('Content-Type',
      'application/x-www-form-urlencoded');
    kaHttpRequest.send(parameters);
  }
  else
  {
    alert('Sorry, unsupported HTTP method');
  }
}

function updateElement(target)
{
  if (kaHttpRequest.readyState == 4)
  {
    if (kaDebug == true)
    {
      alert(kaHttpRequest.responseText);
    }
    if (kaHttpRequest.status == 200)
    {
      if (kaOldSessionId == '')
      {
        kaOldSessionId = kaHttpRequest.responseText;
      }
      if (kaHttpRequest.responseText == kaOldSessionId)
      {
//        document.getElementById(target).innerHTML = kaOkMessage;
		setClock()
		document.getElementById(target).innerHTML = katds;
      }
      else
      {
        document.getElementById(target).innerHTML = kaExpiredMessage;
      }
    }
    else
    {
      document.getElementById(target).innerHTML = kaErrorMessage;
    }
  }
}
