// protoHover
// a simple hover implementation for prototype.js
// Sasha Sklar and David Still
(function(){var a=function(b,e){var d=b.relatedTarget;while(d&&d!=e){try{d=d.parentNode;}catch(c){d=e;}}return d==e;};Object.extend(Event,{mouseEnter:function(c,e,b){c=$(c);var d=(b&&b.enterDelay)?(function(){window.setTimeout(e,b.enterDelay);}):(e);if(Prototype.Browser.IE){c.observe("mouseenter",d);}else{c.hovered=false;c.observe("mouseover",function(f){if(!c.hovered){c.hovered=true;d(f);}});}},mouseLeave:function(c,e,b){c=$(c);var d=(b&&b.leaveDelay)?(function(){window.setTimeout(e,b.leaveDelay);}):(e);if(Prototype.Browser.IE){c.observe("mouseleave",d);}else{c.observe("mouseout",function(f){var g=Event.element(f);if(!a(f,c)){d(f);c.hovered=false;}});}}});Element.addMethods({hover:function(c,d,e,b){b=Object.extend({},b)||{};Event.mouseEnter(c,d,b);Event.mouseLeave(c,e,b);}});})();
