/*******************************************************************************
 * This notice must be untouched at all times.
 *
 * This javascript library contains helper routines to assist with event 
 * handling consinstently among browsers
 *
 * EventHelpers.js v.1.3 available at http://www.useragentman.com/
 *
 * released under the MIT License:
 *   http://www.opensource.org/licenses/mit-license.php
 *
 *******************************************************************************/
var EventHelpers=new function(){function removeEventAttribute(a,b){var c=a.attributes;for(var d=0;d<c.length;d++){var e=c[d],f=e.name;f.indexOf(b)==0&&(e.specified=!1)}}function init(){}var me=this,safariTimer,isSafari=/WebKit/i.test(navigator.userAgent),globalEvent;me.init=function(){if(me.hasPageLoadHappened(arguments))return;document.createEventObject?globalEvent=document.createEventObject():document.createEvent&&(globalEvent=document.createEvent("HTMLEvents")),me.docIsLoaded=!0},me.addEvent=function(a,b,c){a.addEventListener?a.addEventListener(b,c,!1):a.attachEvent&&(a["e"+b+c]=c,a[b+c]=function(){a["e"+b+c](self.event)},a.attachEvent("on"+b,a[b+c]))},me.removeEvent=function(a,b,c){if(a.removeEventListener)a.removeEventListener(b,c,!1);else if(a.detachEvent)try{a.detachEvent("on"+b,a[b+c]),a[b+c]=null,a["e"+b+c]=null}catch(d){}},me.addScrollWheelEvent=function(a,b){a.addEventListener&&a.addEventListener("DOMMouseScroll",b,!0),a.attachEvent&&a.attachEvent("onmousewheel",b)},me.removeScrollWheelEvent=function(a,b){a.removeEventListener&&a.removeEventListener("DOMMouseScroll",b,!0),a.detachEvent&&a.detatchEvent("onmousewheel",b)},me.getMouseX=function(a){if(!a)return;return a.pageX!=null?a.pageX:window.event!=null&&window.event.clientX!=null&&document.body!=null&&document.body.scrollLeft!=null?window.event.clientX+document.body.scrollLeft:a.clientX!=null?a.clientX:null},me.getMouseY=function(a){if(a.pageY!=null)return a.pageY;if(window.event!=null&&window.event.clientY!=null&&document.body!=null&&document.body.scrollTop!=null)return window.event.clientY+document.body.scrollTop;if(a.clientY!=null)return a.clientY},me.getScrollWheelDelta=function(a){var b=0;return a||(a=window.event),a.wheelDelta?(b=a.wheelDelta/120,window.opera&&(b=-b)):a.detail&&(b=-a.detail/3),b},me.addMouseEvent=function(a){document.captureEvents&&document.captureEvents(Event.MOUSEMOVE),document.onmousemove=a,window.onmousemove=a,window.onmouseover=a},me.getEventTarget=function(a){return a.toElement?a.toElement:a.currentTarget?a.currentTarget:a.srcElement?a.srcElement:null},me.getKey=function(a){if(a.keyCode)return a.keyCode;if(a.event&&a.event.keyCode)return window.event.keyCode;if(a.which)return a.which},me.addPageLoadEvent=function(funcName){var func=eval(funcName);if(isSafari)pageLoadEventArray.push(func),safariTimer||(safariTimer=setInterval(function(){if(/loaded|complete/.test(document.readyState)){clearInterval(safariTimer),me.runPageLoadEvents();return}set=!0},10));else if(document.addEventListener)var x=document.addEventListener("DOMContentLoaded",func,null);else me.addEvent(window,"load",func)};var pageLoadEventArray=new Array;me.runPageLoadEvents=function(a){if(isSafari||a.srcElement.readyState=="complete")for(var b=0;b<pageLoadEventArray.length;b++)pageLoadEventArray[b]()},me.hasPageLoadHappened=function(a){if(a.callee.done)return!0;a.callee.done=!0},me.preventDefault=function(a){a.preventDefault&&a.preventDefault();try{a.returnValue=!1}catch(b){}},me.cancelBubble=function(a){a.stopPropagation&&a.stopPropagation();try{a.cancelBubble=!0}catch(b){}},me.fireEvent=function(a,b,c){if(!a)return;return document.createEventObject?a.fireEvent("on"+b,globalEvent):(globalEvent.initEvent(b,!0,!0),!a.dispatchEvent(globalEvent))},init()};EventHelpers.addPageLoadEvent("EventHelpers.init")
