
function stopBubble(e)
{if(!document.all)e.stopPropagation();else
window.event.cancelBubble=true;}
function stopDefault(e)
{if(!document.all)e.preventDefault();else window.event.returnValue=false;return false;}
function addEvent(toElement,tcType,tfHandler)
{if(toElement.constructor==String)toElement=id(toElement);if(!tfHandler.$$guid)tfHandler.$$guid=addEvent.guid++;if(!toElement.events)toElement.events={};var handlers=toElement.events[tcType];if(!handlers)
{handlers=toElement.events[tcType]={};if(toElement["on"+tcType])
{handlers[0]=toElement["on"+tcType];}}
handlers[tfHandler.$$guid]=tfHandler;toElement["on"+tcType]=handleEvent;};addEvent.guid=1;function removeEvent(toElement,tcType,tfHandler)
{if(element.events&&element.events[type])
{delete element.events[type][tfHandler.$$guid];}};function handleEvent(event)
{var returnValue=true;event=event||fixEvent(window.event);var handlers=this.events[event.type];for(var i in handlers)
{this.$$handleEvent=handlers[i];if(this.$$handleEvent(event)===false)
{returnValue=false;}}
return returnValue;};function fixEvent(event)
{event.preventDefault=fixEvent.preventDefault;event.stopPropagation=fixEvent.stopPropagation;return event;};fixEvent.preventDefault=function(){this.returnValue=false;};fixEvent.stopPropagation=function(){this.cancelBubble=true;};