var FloatLayers=new Array();var FloatLayersByName=new Object();function addFloatLayer(f,e,b,c,a,d){new FloatLayer(f,e,b,c,a,d)}function removeFloatLayer(a){toRemove=FloatLayersByName[a];if(toRemove==null){return}FloatLayersByName[a]=null}function getFloatLayer(a){return FloatLayersByName[a]}function alignFloatLayers(){for(var a in FloatLayersByName){floatLayer=FloatLayersByName[a];if(floatLayer instanceof FloatLayer){floatLayer.align()}}}function getXCoord(a){x=0;while(a){x+=a.offsetLeft;a=a.offsetParent}return x-document.body.scrollLeft}function getYCoord(a){y=0;while(a){y+=a.offsetTop;a=a.offsetParent}return y}FloatLayer.prototype.setFloatToTop=setTopFloater;FloatLayer.prototype.setFloatToBottom=setBottomFloater;FloatLayer.prototype.setFloatToLeft=setLeftFloater;FloatLayer.prototype.setFloatToRight=setRightFloater;FloatLayer.prototype.initialize=defineFloater;FloatLayer.prototype.adjust=adjustFloater;FloatLayer.prototype.align=alignFloater;FloatLayer.prototype.alignImmediately=alignImmediately;FloatLayer.prototype.toString=function(){return"FloatLayer{name="+this.name+"}"};function FloatLayer(g,f,b,c,a,d){FloatLayersByName[g]=this;this.element=f;this.name=g;this.floatX=0;this.floatY=0;this.tm=null;this.steps=d;this.alignHorizontal=(c>=0)?(b=="l"?leftLeftFloater:leftRightFloater):(b=="l"?rightLeftFloater:rightRightFloater);this.alignVertical=(a>=0)?topFloater:bottomFloater;this.ifloatX=Math.abs(c);this.ifloatY=Math.abs(a)}function defineFloater(){this.layer=document.getElementById(this.name);this.width=this.layer.offsetWidth;this.height=this.layer.offsetHeight;this.prevX=this.layer.offsetLeft;this.prevY=this.layer.offsetTop}function adjustFloater(){this.tm=null;if(this.layer.style.position!="absolute"){return}var b=Math.abs(this.floatX-this.prevX);var a=Math.abs(this.floatY-this.prevY);if(b<this.steps/2){cx=(b>=1)?1:0}else{cx=Math.round(b/this.steps)}if(a<this.steps/2){cy=(a>=1)?1:0}else{cy=Math.round(a/this.steps)}if(this.floatX>this.prevX){this.prevX+=cx}else{if(this.floatX<this.prevX){this.prevX-=cx}}if(this.floatY>this.prevY){this.prevY+=cy}else{if(this.floatY<this.prevY){this.prevY-=cy}}this.layer.style.left=this.prevX;this.layer.style.top=this.prevY;if(cx!=0||cy!=0){if(this.tm==null){this.tm=setTimeout("FloatLayersByName['"+this.name+"'].adjust()",50)}}else{alignFloatLayers()}}function setLeftFloater(){this.alignHorizontal=leftFloater}function setRightFloater(){this.alignHorizontal=rightFloater}function setTopFloater(){this.alignVertical=topFloater}function setBottomFloater(){this.alignVertical=bottomFloater}function leftLeftFloater(){this.floatX=getXCoord(this.element)+document.body.scrollLeft+this.ifloatX}function leftRightFloater(){this.floatX=getXCoord(this.element)+document.body.scrollLeft+this.ifloatX+this.element.offsetWidth}function topFloater(){this.floatY=getYCoord(this.element)+document.body.scrollTop+this.ifloatY;var a=this.floatY+this.height;if(a>document.body.scrollHeight-5){this.floatY-=(a-document.body.scrollHeight+5)}}function rightLeftFloater(){this.floatX=getXCoord(this.element)+document.body.scrollLeft-this.ifloatX-this.width}function rightRightFloater(){this.floatX=getXCoord(this.element)+document.body.scrollLeft-this.ifloatX-this.width+this.element.offsetWidth}function bottomFloater(){this.floatY=document.body.scrollTop+document.body.clientHeight-this.ifloatY-this.height}function alignFloater(){if(this.layer==null){this.initialize()}this.alignHorizontal();this.alignVertical();if(this.prevX!=this.floatX||this.prevY!=this.floatY){if(this.tm==null){this.tm=setTimeout("FloatLayersByName['"+this.name+"'].adjust()",50)}}}function alignImmediately(){this.initialize();this.layer.style.display="";this.initialize();this.alignHorizontal();this.alignVertical();if(this.prevX!=this.floatX||this.prevY!=this.floatY){this.layer.style.left=this.floatX;this.layer.style.top=this.floatY;this.prevX=this.floatX;this.prevY=this.floatY}};
