function addEvent(O,type,FN){if(!FN.$$guid)FN.$$guid=addEvent.guid++;if(!O.events)O.events={};var FNs=O.events[type];if(!FNs){FNs=O.events[type]={};if(O["on"+type])FNs[0]=O["on"+type]}FNs[FN.$$guid]=FN;O["on"+type]=handleEvent}addEvent.guid=1;
function removeEvent(O,type,FN){if(O.events&&O.events[type])delete O.events[type][FN.$$guid]}
function handleEvent(event){var R=true;event=event||fixEvent(window.event);var FNs=this.events[event.type];for(var i in FNs){this.$$handleEvent=FNs[i];if(this.$$handleEvent(event)===false)R=false}return R}
function fixEvent(event){event.preventDefault=fixEvent.preventDefault;event.stopPropagation=fixEvent.stopPropagation;return event}fixEvent.preventDefault=function(){this.R=false};fixEvent.stopPropagation=function(){this.cancelBubble=true}