function setOpacity(obj, opacity) {
  if (!obj) { return; }
  opacity = (opacity == 100)?99.999:opacity;
  obj.style.filter = "alpha(opacity:"+opacity+")";
  obj.style.KHTMLOpacity = opacity/100;
  obj.style.MozOpacity = opacity/100;
  obj.style.opacity = opacity/100;
}
function getElement(objID) {
  if (document.getElementById) {
    return document.getElementById(objID);
  } else if (document.all) {
    return document.all(objID);
  } else if (document.layers) {
    document.layers(objID);
  }
}
function updateStyle(stylename, styleobj) {
  if (document.styleSheets) {
    var stylee = -1;
    for (var i in document.styleSheets) {
      stylee = document.styleSheets[i];
      var styler;
      if (stylee.cssRules) { styler = stylee.cssRules; } else { styler = stylee.rules; }
      for (j in styler) {
        if (styler[j].selectorText == stylename) {
          for (var stylei in styleobj) {
            styler[j].style[stylei] = styleobj[stylei];
          }
        }
      }
    }
  }
}
function findPosX(obj)
{
        var curleft = 0;
        if (obj.x)
                curleft += obj.x;
        else if (obj.offsetParent)
        {
                while (obj.offsetParent)
                {
                        curleft += obj.offsetLeft
                        obj = obj.offsetParent;
                }
                curleft++;
        }
        return curleft;
}

function findPosY(obj)
{
        var curtop = 0;
        if (obj.y)
                curtop += obj.y;
        else if (obj.offsetParent)
        {
                while (obj.offsetParent)
                {
                        curtop += obj.offsetTop
                        obj = obj.offsetParent;
                }
                curtop++;
        }
        return curtop;
}
function jses_addEvent(obj, evType, fn){
  if (evType == "click" && obj.tagName.toLowerCase() == 'a') {
    obj.onclick = function() { return false; };
  }

  // load is special - there's no point setting it because the element will already have loaded
  // by the time we get here, so just run the handler.
  // don't do anything special for window because that's used for loading jses itself.
  if (evType == "load" && obj != window) {
    var e = new Object();
    e.srcElement = obj;
    fn(e);
    return true;
  }

  // Try various ways of attaching event handlers
  if (obj.addEventListener) {
    obj.addEventListener(evType, fn, false);
    return true;
  }
  else if (obj.attachEvent) {
    var r = obj.attachEvent("on"+evType, fn);
    return r;
  } else {
    return false;
  }
}
function setInnerHTMLAndExecScript (element, html) {
  var newElement = element.cloneNode(false);
  newElement.innerHTML = html;
  element.parentNode.replaceChild(newElement, element);
  var x = newElement.getElementsByTagName("script");
  for(var i=0;i<x.length;i++) {
    eval(x[i].text);
  }
} 
function createRequest() {
  var request;
  try {
    request = new XMLHttpRequest();
  } catch (trymicrosoft) {
    try {
      request = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (othermicrosoft) {
      try {
        request = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (failed) {
        request = false;
      }
    }
  }
  return request;
} 

