/* j123 -- JavaScript common library mail: sebastian.hanula@gmail.com www: http://www.hanula.com/lab/j123 j123 events library */ j123.events = { Key : { MB_LEFT: 1, MB_RIGHT: 2, KEY_ESC: 27, KEY_RETURN: 13 }, __events : false, fix : function(e) { if (!e) e = window.event; if (e.target) { if (e.target.nodeType == 3) e.target = e.target.parentNode } else if (e.srcElement) { e.target = e.srcElement } if(j123.browser.isIE) e.button = e.button-1; return e }, add: function(el,type,fn ) { if(!this.__events) this.__events = []; this.__events.push([el,type,fn]); if(el.addEventListener) { el.addEventListener(type, fn,false); } else if(el.attachEvent) { if (!el._listeners) el._listeners = new Array(); if (!el._listeners[type]) el._listeners[type] = new Array(); var applyFunc = function() { fn.apply(el, new Array()); } el._listeners[type][fn] = applyFunc; el.attachEvent('on' + type, applyFunc); } }, remove:function(el,type, fn) { if(el.removeEventListener) { el.removeEventListener(type,fn,false); } else if(el.detachEvent) { if (el._listeners && el._listeners[type] && el._listeners[type][fn]) { el.detachEvent('on' + type, el._listeners[type][fn]); } } }, unload : function(e) { if(j123.events.__events) for(var i=0;i