
var extMouseWheel=function()
{
var keepDeltaAtPlusMinusThree=true;
var f=[];
var thisMovie=function(movieName)
{
if(navigator.appName.indexOf("Microsoft")!=-1){
return window[movieName];
}else{
return document[movieName];
}
}
var findPosX=function(obj)
{
var curleft=0;
if(obj.offsetParent)
while(1)
{
curleft+=obj.offsetLeft;
if(!obj.offsetParent)
break;
obj=obj.offsetParent;
}
else if(obj.x)
curleft+=obj.x;
return curleft;
}
var findPosY=function(obj)
{
var curtop=0;
if(obj.offsetParent)
while(1)
{
curtop+=obj.offsetTop;
if(!obj.offsetParent)
break;
obj=obj.offsetParent;
}
else if(obj.y)
curtop+=obj.y;
return curtop;
}
var uaContains=function(str)
{
return(navigator.userAgent.indexOf(str)!=-1);
}
var onWheelHandler=function(event)
{
var delta=0;
if(!event)event=window.event;
if(event.wheelDelta)
{
delta=event.wheelDelta/120;
if(window.opera)delta=-delta;
}
else if(event.detail)
delta=-event.detail*3;
if(keepDeltaAtPlusMinusThree)
{
if(delta>0)delta=3;
else if(delta==0)delta=0;
else delta=-3;
}
if(delta)
{
var thisFlashMovieId=null;
for(var j in f)
if(f[j]!=null&&f[j]==event.currentTarget)thisFlashMovieId=j;
var thisMouse;
if(uaContains("Camino"))
thisMouse={x:event.layerX,y:event.layerY};
else if(uaContains('Firefox'))
thisMouse={x:(event.layerX-findPosX(event.currentTarget)),y:(event.layerY-findPosY(event.currentTarget))};
else
thisMouse={x:event.offsetX,y:event.offsetY};
thisMouse.ctrlKey=(uaContains('Mac'))?(event.metaKey||event.ctrlKey):event.ctrlKey;
thisMouse.altKey=event.altKey;
thisMouse.shiftKey=event.shiftKey;
thisMouse.buttonDown=false;
if(thisMovie(thisFlashMovieId).dispatchExternalMouseWheelEvent)
thisMovie(thisFlashMovieId).dispatchExternalMouseWheelEvent(delta,thisMouse.x,thisMouse.y,
thisMouse.ctrlKey,thisMouse.altKey,
thisMouse.shiftKey,thisMouse.buttonDown);
};
if(event.preventDefault)event.preventDefault();
event.returnValue=false;
}
return{
initCaptureFor:function(aFlashObjectId)
{
if(uaContains('Mac')||uaContains('Safari'))
{
var parentdiv=document.getElementById(aFlashObjectId).parentNode;
while(parentdiv!=null&&parentdiv.nodeName!="DIV")
parentdiv=parentdiv.parentNode;
if(parentdiv!=undefined&&parentdiv!=null)
{
f[aFlashObjectId]=parentdiv;
if(parentdiv.addEventListener)parentdiv.addEventListener('DOMMouseScroll',onWheelHandler,false);
parentdiv.onmousewheel=onWheelHandler;
return true;
}
else
return false;
}
else
return false;
}
};
}();


