/****************************************************
All HTML, CSS and Javascript (yes, the entire file in fact) has active copyright.
Don't copy and use on your own site. If you like what you see, contact WinterMedia.
*****************************************************/

function getViewport() {
  if (typeof window.innerWidth != 'undefined') {
    viewportwidth = window.innerWidth;
    viewportheight = window.innerHeight;
  } else if (typeof document.documentElement != 'undefined' && typeof document.documentElement.clientWidth != 'undefined' && document.documentElement.clientWidth != 0) {
    viewportwidth = document.documentElement.clientWidth;
    viewportheight = document.documentElement.clientHeight;
  } else {
    viewportwidth = document.getElementsByTagName('body')[0].clientWidth;
    viewportheight = document.getElementsByTagName('body')[0].clientHeight;
  }
}
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 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;
      }
    }
  }

  if (!request)
    alert("Error initializing XMLHttpRequest!");

  return request;
}
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);
}
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;
}


