//2006/11/01 sharkie@outlook.net
//use asynchronous XMLHttp request (AJAX) to get system time:
//requirement: zxml library
function getInitTime() {
  var oXmlHttp = zXmlHttp.createRequest();
  var timeStamp = new Date;
  var cacheBuster = timeStamp.getTime();
  oXmlHttp.open("get", "/ny1/navigation/support/nostore/getCurrentTime.jsp?cacheBuster=" + cacheBuster, true);
  oXmlHttp.onreadystatechange = function () {
  if (oXmlHttp.readyState == 4) {
    if (oXmlHttp.status == 200) {
      //handle response:
      displayInitTime( oXmlHttp.responseText );
    } else {
      //alert("An error occurred while getting time:\n" + oXmlHttp.statusText);
    } //if status
  } //if readyState
  };
  oXmlHttp.send(null);
} //getInitTime()

//display current time in time_div
//and assign increment events (1st in 60-current seconds, next every 60 seconds)
function displayInitTime( currentTime ) {
  var serverTimeStamp = new Date( Date.parse( currentTime ) );
  displayTime( serverTimeStamp, 0 );
  setTimeout( function() { displayTimeCont( serverTimeStamp ); }, (60-serverTimeStamp.getSeconds())*1000 );
} //displayInitTime()

//display time with minute increment(s):
function displayTime( dTime, minIncrement ) {
  //increse dTime by minIncrement:
  var minutes = dTime.getMinutes();
  dTime.setMinutes( minutes + minIncrement );
  //display dTime in H:MM format:
  var hours = dTime.getHours();
  minutes = dTime.getMinutes();
  //hours = ( hours > 12 ) ? hours - 12 : hours;  //convert to AM/PM
  if(hours==0)hours=12;
  else if(hours>12)hours=hours-12;
  //hours = ( hours <= 9 ) ? "0" + hours : hours;
  minutes = ( minutes <= 9 ) ? "0" + minutes : minutes;
  var oDisp = document.getElementById( "time_span" );
  if( oDisp ) oDisp.innerHTML = hours + ':' + minutes + '\n';
} //displayTime()

//display time continously:
function displayTimeCont( dTime ) {
  setInterval( function() { displayTime( dTime, 1 ); }, 60000 );
} //displayTimeCont()

//get and display current temp in temp_div
//and assign update events
function getTemp() {
  var oXmlHttp = zXmlHttp.createRequest();
  var sTemp=eatCookie("NYCurrTemp");
  var oDisp = document.getElementById( "temp_span" );
  if(!sTemp){
    oXmlHttp.open("get", "/ny1/navigation/support/getCurrentTemp.jsp", true);
    oXmlHttp.onreadystatechange = function () {
    if (oXmlHttp.readyState == 4) {
      if (oXmlHttp.status == 200) {
        //handle response:
	var sTemp2 = oXmlHttp.responseText.substring(0,2);
	oDisp.innerHTML = sTemp2 + '°';
        var expires = new Date();
        expires.setTime(expires.getTime()+900000);
        bakeCookie("NYCurrTemp",sTemp2,expires);
      } else {
        //alert("An error occurred while getting temp:\n" + oXmlHttp.statusText);
      } //if status
    } //if readyState
    };
    oXmlHttp.send(null);
  } else {
    oDisp.innerHTML = sTemp + '°';
  } //if !sTemp
  setInterval( getTemp, 900000 ); //recurse every 15 mins
} //getTemp()


