(function(){var b={HTMLEvents:/^(?:load|unload|abort|error|select|change|submit|reset|focus|blur|resize|scroll)$/,MouseEvents:/^(?:click|mouse(?:down|up|over|move|out))$/};var a={pointerX:0,pointerY:0,button:0,ctrlKey:false,altKey:false,shiftKey:false,metaKey:false,bubbles:true,cancelable:true};Event.simulate=function(h,d){var f=Object.extend(Object.clone(a),arguments[2]||{});var c,g=null;h=$(h);for(var e in b){if(b[e].test(d)){g=e;break}}if(!g){throw new SyntaxError("Only HTMLEvents and MouseEvents interfaces are supported")}if(document.createEvent){c=document.createEvent(g);if(g=="HTMLEvents"){c.initEvent(d,f.bubbles,f.cancelable)}else{c.initMouseEvent(d,f.bubbles,f.cancelable,document.defaultView,f.button,f.pointerX,f.pointerY,f.pointerX,f.pointerY,f.ctrlKey,f.altKey,f.shiftKey,f.metaKey,f.button,h)}h.dispatchEvent(c)}else{f.clientX=f.pointerX;f.clientY=f.pointerY;c=Object.extend(document.createEventObject(),f);h.fireEvent("on"+d,c)}return h};Element.addMethods({simulate:Event.simulate})})();
