function prepareEventParameter(param) { var cmds = new Array(); if (param instanceof Array) { cmds = param; } else if (param instanceof Object) { cmds.push(param); } else if (typeof(param) == "string") { var p; var pa = (param.indexOf("{") == 0) ? param : "{"+param+"}"; try { p = JSON.parse(pa); cmds.push(p); } catch(e) { alert(e); return } } else { } return (cmds.length > 0) ? cmds : false; } function executeEventParameter(cmds,ctrl) { var nn; var obj = cmds[0]["obj"]; if (typeof(ie) == "undefined") var ie = null; if ( obj.addEventListener ) { for ( var i = 0; i < cmds.length; i++) { var arg = cmds[i]; if (ctrl) arg["obj"].addEventListener(arg["evt"],arg["fkt"],arg["ctrl"]); else arg["obj"].removeEventListener(arg["evt"],arg["fkt"],arg["ctrl"]); } ie = false; } else if ( obj.attachEvent ) { for ( var i = 0; i < cmds.length; i++ ) { var arg = cmds[i]; var evt; if ( arg["evt"] == "DOMMouseScroll" ) { evt = "onmousewheel"; } else { evt = "on"+arg["evt"]; } if (ctrl) arg["obj"].attachEvent( evt , arg["fkt"]); else arg["obj"].detachEvent( evt , arg["fkt"]); } ie = true; } else { } } function addEvent(param) { var cmds = prepareEventParameter(param) if (cmds !== false) { executeEventParameter(cmds,true); } } function removeEvent(param) { var cmds = prepareEventParameter(param) if (cmds !== false) { executeEventParameter(cmds,false); } }