function addEvent(obj, evType, fn){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 removeEvent(obj, evType, fn, useCapture){if (obj.removeEventListener){obj.removeEventListener(evType, fn, useCapture);return true;}else if (obj.detachEvent){var r=obj.detachEvent("on"+evType, fn);return r;}else{alert("Handler could not be removed");}}
function getViewportHeight(){if (window.innerHeight!=window.undefined)return window.innerHeight;if (document.compatMode=='CSS1Compat')return document.documentElement.clientHeight;if (document.body)return document.body.clientHeight;return window.undefined;}
function getViewportWidth(){var offset=17;var width=null;if (window.innerWidth!=window.undefined)return window.innerWidth;if (document.compatMode=='CSS1Compat')return document.documentElement.clientWidth;if (document.body)return document.body.clientWidth;}
function getScrollTop(){if (self.pageYOffset){return self.pageYOffset;}
else if (document.documentElement && document.documentElement.scrollTop)
{return document.documentElement.scrollTop;}
else if (document.body){return document.body.scrollTop;}}
function getScrollLeft(){if (self.pageXOffset){return self.pageXOffset;}
else if (document.documentElement && document.documentElement.scrollLeft)
{return document.documentElement.scrollLeft;}
else if (document.body){return document.body.scrollLeft;}}

