/**
 * SWFWheel - remove dependencies of mouse wheel on each browser.
 *
 * Copyright (c) 2008 - 2009 Spark project (www.libspark.org)
 *
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 */
(function(){if(window.SWFWheel)return;var h=window,j=document,l=navigator;var c=window.SWFWheel=function(a){this.setUp(a);if(c.browser.msie)this.bind4msie();else this.bind()};c.prototype={setUp:function(a){var b=c.retrieveObject(a);if(b.nodeName.toLowerCase()=='embed'||c.browser.safari)b=b.parentNode;this.target=b;this.eventType=c.browser.mozilla?'DOMMouseScroll':'mousewheel'},bind:function(){this.target.addEventListener(this.eventType,function(a){var b,e,f=0;if(/XPCNativeWrapper/.test(a.toString())){var d=a.target.getAttribute('id')||a.target.getAttribute('name');if(!d)return;b=c.retrieveObject(d)}else{b=a.target}e=b.nodeName.toLowerCase();if(e!='object'&&e!='embed')return;a.preventDefault();a.returnValue=false;if(!b.externalMouseEvent)return;switch(true){case c.browser.mozilla:f=-a.detail;break;case c.browser.opera:f=a.wheelDelta/40;break;default:f=a.wheelDelta/80;break}b.externalMouseEvent(f)},false)},bind4msie:function(){var f,d,g=this.target;f=function(){var a=h.event,b=0,e=a.srcElement.nodeName.toLowerCase();if(e!='object'&&e!='embed')return;a.returnValue=false;if(!g.externalMouseEvent)return;b=a.wheelDelta/40;g.externalMouseEvent(b)};d=function(){g.detachEvent('onmousewheel',f);h.detachEvent('onunload',d)};g.attachEvent('onmousewheel',f);h.attachEvent('onunload',d)}};c.browser=(function(a){return{version:(a.match(/.+(?:rv|it|ra|ie)[\/:\\s]([\\d.]+)/)||[0,'0'])[1],chrome:/chrome/.test(a),stainless:/stainless/.test(a),safari:/webkit/.test(a)&&!/(chrome|stainless)/.test(a),opera:/opera/.test(a),msie:/msie/.test(a)&&!/opera/.test(a),mozilla:/mozilla/.test(a)&&!/(compatible|webkit)/.test(a)}})(l.userAgent.toLowerCase());c.join=function(a){var b=setInterval(function(){if(c.retrieveObject(a)){clearInterval(b);new c(a)}},0)};c.force=function(a){if(c.browser.safari||c.browser.stainless)return true;var b=c.retrieveObject(a),e=b.nodeName.toLowerCase();if(e=='object'){var f,d,g,k=b.getElementsByTagName('param'),m=k.length;for(var i=0;i<m;i++){g=k[i];if(g.parentNode!=b)continue;f=g.getAttribute('name');d=g.getAttribute('value')||'';if(/wmode/i.test(f)&&/(opaque|transparent)/i.test(d))return true}}else if(e=='embed'){return/(opaque|transparent)/i.test(b.getAttribute('wmode'))}return false};c.retrieveObject=function(a){var b=j.getElementById(a);if(!b){var e=j.getElementsByTagName('embed'),f=e.length;for(var d=0;d<f;d++){if(e[d].getAttribute('name')==a){b=e[d];break}}}return b}})();
