function insertAfter(oBeforeNode, oNewNode) {
  if (oBeforeNode.nextSibling)
    oBeforeNode.parentNode.insertBefore(oNewNode,oBeforeNode.nextSibling);
  else
    oBeforeNode.parentNode.appendChild(oNewNode);
}

function newTransport() {
 try {
  return new ActiveXObject('Msxml2.XMLHTTP');
 } catch (e) {
  try {
   return new ActiveXObject('Microsoft.XMLHTTP');
  } catch (e) {
   try {
    return new XMLHttpRequest();
   } catch (e) {
    return false;
   }
  }
 }
}

function objInfo() {
  w = window.open('about:blank','_blank');
  w.document.open();
  w.document.write('Starting...<br>');
  for (var i = 0; i < arguments.length; i++) {
   var obj = arguments[i];
   for (v in obj) {
     w.document.write(v + ' = ' + obj[v] + '<br>');
   }
   w.document.write('<hr />');
  }
  w.document.write('...Done');
  w.document.close();
}

function offsetLeft(obj) {
 var left = isNaN(obj.offsetLeft) ? 0 : obj.offsetLeft;
 if (obj.offsetParent) left += offsetLeft(obj.offsetParent);
 return left;
}
function offsetTop(obj) {
 var top = isNaN(obj.offsetTop) ? 0 : obj.offsetTop;
 if (obj.offsetParent) top += offsetTop(obj.offsetParent);
 return top;
}
function offsetWidth(obj) {
 var width = isNaN(obj.offsetWidth) ? 0 : obj.offsetWidth;
 return width;
}
function offsetHeight(obj) {
 var height = isNaN(obj.offsetHeight) ? 0 : obj.offsetHeight;
 return height;
}


var EventHelper = {
 attach : function(obj, evt, func) {
  if (typeof(obj) == 'string') obj = document.getElementById(obj);
  if (obj.addEventListener) {
   obj.addEventListener(evt, func, true);
  } else if (obj.attachEvent) {
   obj.attachEvent('on' + evt, func);
  }
 },
 detach : function(obj, evt, func) {
  if (typeof(obj) == 'string') obj = document.getElementById(obj);
  if (obj.removeEventListener) {
   obj.removeEventListener(evt, func, true);
  } else if (obj.detachEvent) {
   obj.detachEvent('on' + evt, func);
  }
 },
 target : function(evt) {
  return (window.event ? window.event.srcElement : evt.target);
 },
 point : function(evt) {
  if (window.event) evt = window.event;
  return new Point(evt.clientX, evt.clientY);
 }
};

function setCookie(name, value, expires, path, domain, secure) {
 var theCookie = name + "=" + escape(value) +
                 (expires ? "; expires=" + expires.toGMTString() : "") +
                 (path ? "; path=" + path : "") +
                 (domain ? "; domain=" + domain : "") +
                 (secure ? "; secure" : "");
 document.cookie = theCookie;
}

function getCookie(name) {
 var dc = document.cookie;
 var prefix = name + "=";
 var begin = dc.indexOf("; " + prefix);
 if (begin == -1) {
  begin = dc.indexOf(prefix);
  if (begin != 0) return null;
 } else {
  begin += 2;
 }
 var end = document.cookie.indexOf(";", begin);
 if (end == -1)
  end = dc.length;
 return unescape(dc.substring(begin + prefix.length, end));
}

function cookiesEnabled() {
 setCookie('test_cookie', 12345);
 var enabled = getCookie('test_cookie') == 12345;
 setCookie('test_cookie', 1, new Date(0));
 return enabled;
}

function setActiveStyleSheet(title, remember) {
 if (remember && !cookiesEnabled()) {
  alert('Error setting stylesheet');
 }
 var links = document.getElementsByTagName("link");
 for (var i = 0; i < links.length; i++) {
  var lnk = links[i];
  if (lnk.getAttribute("rel").indexOf("style") != -1 && lnk.getAttribute("title")) {
   lnk.disabled = (lnk.getAttribute("title") != title);
  }
 }
 //if (remember) setCookie('stylesheet', title);
}

function getActiveStyleSheet() {
   var links = document.getElementsByTagName("link");
   for (var i = 0; i < links.length; i++) {
     var lnk = links[i];
     if (lnk.getAttribute("rel").indexOf("style") != -1 && lnk.getAttribute("title")) {
       if (!lnk.disabled) return lnk.getAttribute("title");
     }
   }
   return null;
}

function checkActiveStyleSheet() {
 if (cookiesEnabled()) {
  setCookie("activeStyleSheet", getActiveStyleSheet(), 0, '/');
 }
}
setInterval('checkActiveStyleSheet()', 500);
/*
EventHelper.attach(window, 'load', function() {
 var labList = document.getElementById('lab-list');
 if (!labList) return;
 var dts = labList.getElementsByTagName('dt');
 for (var i = 0; i < dts.length; i++) {
  var links = dts[i].getElementsByTagName('a');
  for (var j = 0; j < links.length; j++) {
   EventHelper.attach(links[j], 'mouseover', function(e) {
    if (window.event) e = window.event;
    var target = window.event ? e.srcElement : e.target;
    target.style.background = 'transparent';
    target.parentNode.style.borderColor =
    target.parentNode.nextSibling.nextSibling.style.borderColor = '#036';
   });
   EventHelper.attach(links[j], 'mouseout', function() {
    if (window.event) e = window.event;
    var target = window.event ? e.srcElement : e.target;
    target.style.background = '';
    target.parentNode.style.borderColor =
    target.parentNode.nextSibling.nextSibling.style.borderColor = '';
   });
  }
 }
});
*/