function floatingBox(box,options,index){this.targetX=-250;this.targetY=10;this.interval=50;this.menu=box;this.index=index;this.options=options;this.hasInner=typeof(window.innerWidth)=='number';this.hasElement=document.documentElement&&document.documentElement.clientWidth;this.move=function(){jQuery(this.menu).css('left',this.nextX+'px').css('top',this.nextY+'px');};this.computeShifts=function(){var de=document.documentElement;this.shiftX=this.hasInner?pageXOffset:this.hasElement?de.scrollLeft:document.body.scrollLeft;if(this.targetX<0){if(this.hasElement&&this.hasInner){this.shiftX+=de.clientWidth>window.innerWidth?window.innerWidth:de.clientWidth}
else{this.shiftX+=this.hasElement?de.clientWidth:this.hasInner?window.innerWidth:document.body.clientWidth;}}
this.shiftY=this.hasInner?pageYOffset:this.hasElement?de.scrollTop:document.body.scrollTop;if(this.targetY<0){if(this.hasElement&&this.hasInner){this.shiftY+=de.clientHeight>window.innerHeight?window.innerHeight:de.clientHeight}
else{this.shiftY+=this.hasElement?document.documentElement.clientHeight:this.hasInner?window.innerHeight:document.body.clientHeight;}}};this.doFloat=function(){var stepX,stepY;this.computeShifts();stepX=(this.shiftX+
this.targetX-this.nextX)*.07;if(Math.abs(stepX)<.5){stepX=this.shiftX+
this.targetX-this.nextX;}
stepY=(this.shiftY+
this.targetY-this.nextY)*.07;if(Math.abs(stepY)<.5){stepY=this.shiftY+
this.targetY-this.nextY;}
if(Math.abs(stepX)>0||Math.abs(stepY)>0){this.nextX+=stepX;this.nextY+=stepY;this.move();}
setTimeout('funcFloating['+this.index+'].func()',this.interval);};this.initSecondary=function(){this.computeShifts();this.nextX=this.shiftX+
this.targetX;this.nextY=this.shiftY+
this.targetY;this.move();};this.position=function(targetX,targetY){if(typeof(targetX)=='number'){this.targetX=targetX;}else if(typeof(targetX)=='string'){switch(targetX){case'left':this.targetX=5;break;case'right':this.targetX=-((jQuery(this.menu).outerWidth())+5);break;}}
if(typeof(targetY)=='number'){this.targetY=targetY;}else if(typeof(targetY)=='string'){switch(targetY){case'top':this.targetY=5;break;case'bottom':this.targetY=-((jQuery(this.menu).outerHeight()+5));break;}}};this.init=function(){jQuery(this.menu).css('position','absolute');if(typeof(this.options)=='object'){for(var i in this.options){switch(i){case'targetX':case'targetY':if(typeof(this.options[i])=='number'){this[i]=this.options[i];}else if(typeof(this.options[i])=='string'){switch(this.options[i]){case'top':this.targetY=5;break;case'bottom':this.targetY=-((jQuery(this.menu).outerHeight()+5));break;case'left':this.targetX=5;break;case'right':this.targetX=-((jQuery(this.menu).outerWidth())+5);break;}}
break;default:this[i]=this.options[i];}}}
this.initSecondary();this.doFloat();}};var funcFloating={};jQuery.fn.floating=function(options){return jQuery(this).each(function(i){var nextIndex=0;for(var index in funcFloating){nextIndex=parseInt(index);}
funcFloating[nextIndex+1]={};funcFloating[nextIndex+1].box=this;funcFloating[nextIndex+1].obj=new floatingBox(this,options,(nextIndex+1));funcFloating[nextIndex+1].func=function(){funcFloating[nextIndex+1].obj.doFloat();};if(document.layers){funcFloating[nextIndex+1].obj.init();}else{funcFloating[nextIndex+1].obj.init();funcFloating[nextIndex+1].obj.initSecondary();}});};jQuery.fn.floatingPosition=function(targetX,targetY){return jQuery(this).each(function(i){for(var j in funcFloating){if(funcFloating[j].box==this){funcFloating[j].obj.position(targetX,targetY);}}});};