/*
 New BSD License <http://creativecommons.org/licenses/BSD/>
*/
(function(j,g){g.History=g.History||{};var h=g.History;if(typeof h.Adapter!=="undefined")throw Error("History.js Adapter has already been emulated...");(function(){var e={HTMLEvents:/^(?:load|unload|abort|error|select|hashchange|popstate|change|submit|reset|focus|blur|resize|scroll)$/,MouseEvents:/^(?:click|mouse(?:down|up|over|move|out))$/},f={pointerX:0,pointerY:0,button:0,ctrlKey:false,altKey:false,shiftKey:false,metaKey:false,bubbles:true,cancelable:true};Event.hasNativeEvent=function(b,d){var a=
null;$(b);for(var c in e)if(e[c].test(d)){a=c;break}return a?true:false};Event.bind=function(b,d,a){b=$(b);return Element.hasNativeEvent(b,d)?Element.observe(b,d,a):Element.observe(b,"custom:"+d,a)};Event.simulate=function(b,d,a){a=Object.extend(f,a||{});var c,i=null;b=$(b);for(c in e)if(e[c].test(d)){i=c;break}if(!i)return Element.fire(b,"custom:"+d);if(document.createEvent){c=document.createEvent(i);i=="HTMLEvents"?c.initEvent(d,a.bubbles,a.cancelable):c.initMouseEvent(d,a.bubbles,a.cancelable,
document.defaultView,a.button,a.pointerX,a.pointerY,a.pointerX,a.pointerY,a.ctrlKey,a.altKey,a.shiftKey,a.metaKey,a.button,b);b.dispatchEvent(c)}else{a.clientX=a.pointerX;a.clientY=a.pointerY;c=Object.extend(document.createEventObject(),a);b.fireEvent("on"+d,c)}return b};Element.addMethods({simulate:Event.simulate,trigger:Event.simulate,bind:Event.bind,hasNativeEvent:Event.hasNativeEvent})})();h.Adapter={bind:function(e,f,b){Element.bind(e,f,b)},trigger:function(e,f){Element.trigger(e,f)},onDomLoad:function(e){Event.observe(g,
"load",e)}};typeof h.init!=="undefined"&&h.init()})(Prototype,window);

