function addLoadEvent(func, window) {
  addWindowEvent(func, window.onload, function(toSet){window.onload=toSet;});
}

function addUnloadEvent(func, window) {
  addWindowEvent(func, window.onunload, function(toSet){window.onunload=toSet;});
}

function addWindowEvent(eventCallback, windowEventHandler, windowEventHandlerSetterFunction){
  var oldonunload = windowEventHandler;
  if (typeof windowEventHandler != 'function') {
    windowEventHandlerSetterFunction(eventCallback);
  } else {
    windowEventHandlerSetterFunction(function() {
      if (oldonunload) {
        oldonunload();
      }
      eventCallback();
    });
  }
}

function getXmlHTTPObject() {
  var xmlhttp;
/*@cc_on
  @if (@_jscript_version >= 5)
  try {
    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (e) {
    try {
      xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (E) {
      xmlhttp = false;
    }
  }
  @else
    xmlhttp = false;
  @end @*/
  if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
    try {
      xmlhttp = new XMLHttpRequest();
    } catch (e) {
      xmlhttp = false;
    }
  }
  return xmlhttp;
}