// This script can be reused as long as the following 
// copyright notice is not removed.  
// SetInterval and ClearInterval Compatibility Script
// Copyright 1999 InsideDHTML.com, LLC. All rights reserved
// See www.insideDHTML.com for more information.

var aTracking = new Array()

var version = parseInt(navigator.appVersion)
var appName = navigator.appName
var ns4 = version>=4 && appName=="Netscape"
function runInterval(sIndex) {
  if (aTracking[sIndex]) {
    var args = aTracking[sIndex].arguments
    // Call function and pass in any extra argument
    var callargs="aTracking[sIndex].code(";
    for(i=0;i < args.length;++i) {
      callargs=callargs+"args["+i+"]";
      if(i < args.length) callargs+=",";
    }
    callargs=callargs+")";
    eval(callargs);
    // Start up timer for next iteration
    aTracking[sIndex].timerID = setTimeout("runInterval(" + sIndex + ")",aTracking[sIndex].interval)
  }
}

function newSetInterval(func,interval) {
 var fCall = func
 if (typeof func!="function") 
  var fCall= new Function(func)
 var nextIdx = aTracking.length
 aTracking[nextIdx] = new Object
 aTracking[nextIdx].interval = interval
 aTracking[nextIdx].code = fCall
 aTracking[nextIdx].arguments = new Array()
 for (var i=2;i < arguments.length;i++) 
  aTracking[nextIdx].arguments[aTracking[nextIdx].arguments.length] = arguments[i]
 aTracking[nextIdx].timerID = setTimeout("runInterval(" + nextIdx + ")",interval)
 return nextIdx
}

function newClearInterval(idx) {
 if (aTracking[idx]) {
  clearTimeout(aTracking[idx].timerID)
  aTracking[idx] = null
 }
}

if (!ns4) {
 top.setInterval = newSetInterval
 top.clearInterval = newClearInterval
}

/*
// Demonstrations
function setClock() {
 var d = new Date()
 document.demo.clock.value = d.getHours() +":"+d.getMinutes() + ":" + d.getSeconds()
}

var clockID = setInterval(setClock,900)

function howLong(start) {
  var d = new Date()
  window.status = Math.round((d-start)/1000) + " second(s)"
}
*/
