var $powerFloat=function(t,n){$isEle(t)&&(t=[t]);if(!$isArr(t))return!1;var r={width:"auto",offsets:{x:0,y:0},zIndex:19,eventType:"hover",showDelay:0,hideDelay:0,hoverHold:!0,targetMode:"common",target:null,targetAttr:"rel",container:null,reverseSharp:!1,position:"4-1",edgeAdjust:!1,showCall:$empty,hideCall:$empty},i={targetGet:function(){if(!this.trigger)return this;var e=this.trigger.attr(this.s.targetAttr),t=this.s.target;switch(this.s.targetMode){case"common":return t?$isEle(t)?i.target=t:$isArr(t)&&$isEle(t[0])?i.target=t[0]:$isStr(t)&&$(t)&&(i.target=$(t)):e&&$(e)&&(i.target=$(e)),i.target&&i.targetShow(),this;case"ajax":var n=t||e;this.targetProtect=!1;if(/(\.jpg|\.png|\.gif|\.bmp|\.jpeg)$/i.test(n))if(i.cacheData[n])i.target=i.cacheData[n],i.targetShow();else{var r=new Image;i.loading(),r.onload=function(){var e=r.width,t=r.height,s=$(window).getWidth(),u=$(window).getHeight(),a=e/t,f=s/u;a>f?e>s/2&&(e=s/2,t=e/a):t>u/2&&(t=u/2,e=t*a);var l=(new Element("img")).attr({width:e,height:t,src:n,"class":"float_ajax_image"});i.target=l,i.cacheData[n]=l,i.targetShow()},r.onerror=function(){i.target=(new Element("div")).addClass("float_ajax_error").set("text","图片加载失败!"),i.targetShow()},r.src=n}else n&&(i.cacheData[n]?(i.target=(new Element("div")).addClass("float_ajax_data").html(i.cacheData[n]),i.targetShow()):(i.loading(),(new Request.HTML({method:"get",url:n,onComplete:function(e,t,r,s){i.target=(new Element("div")).addClass("float_ajax_data").html(r),i.targetShow(),i.cacheData[n]=r},onError:function(){i.target=(new Element("div")).addClass("float_ajax_error").set("text","数据没有加载成功。"),i.targetShow()}})).send()));break;case"list":var s=(new Element("ul")).addClass("float_list_ul"),u="",a;$isArr(t)&&(a=t.length)?t.each(function(e,t){var n="",r="",i,s;t===0&&(r=' class="float_list_li_first"'),t===a-1&&(r=' class="float_list_li_last"'),$isObj(e)&&(i=e.text.toString())?(s=e.href||"javascript:")?n=''+i+"":n=i:e&&$isStr(e)&&(n=e),n&&(u+=""+n+"")}):u+='
  • 列表无数据。
  • ',i.target=s.html(u),this.targetProtect=!1,i.targetShow();break;case"remind":var f=t||e;this.targetProtect=!1,$isStr(f)&&(i.target=(new Element("span")).html(f),i.targetShow());break;default:var l=t||e;l&&($isStr(l)?$$(l).length?(i.target=$$(l)[0],this.targetProtect=!0):i.target=(new Element("div")).html(l):$isEle(l)?i.target=l:$isArr(l)&&$isEle(l[0])&&(i.target=l[0]),i.targetShow())}return this},container:function(){var e=this.s.container,t=this.s.targetMode||"mode";return t==="ajax"||t==="remind"?this.s.sharpAngle=!0:this.s.sharpAngle=!1,this.s.reverseSharp&&(this.s.sharpAngle=!this.s.sharpAngle),t!=="common"&&(e===null&&(e="plugin"),e==="plugin"&&($("floatBox_"+t)||(new Element("div")).attr("id","floatBox_"+t).addClass("float_"+t+"_box").out().inject(document.body),e=$("floatBox_"+t)),e&&!$isStr(e)&&(this.targetProtect&&i.target.show().into(),i.target=e.empty().adopt(i.target))),this},setWidth:function(){var e=this.s.width;return e==="auto"?this.target.style.width&&this.target.css("width","auto"):e==="inherit"?this.target.w(this.trigger.w()):this.target.css("width",e),this},position:function(){var e=this.trigger.getPosition(),t=0,n=0,r=0,s=0,u,a,f,l,c,h,p=this.target.h(),d=this.target.w(),v=window.getScroll().y,m=this.s.offsets.x.toInt()||0,g=this.s.offsets.y.toInt()||0,t=this.trigger.h();n=this.trigger.w(),u=e.x,a=e.y;var y=["4-1","1-4","5-7","2-3","2-1","6-8","3-4","4-3","8-6","1-2","7-5","3-2"],b=this.s.position,w=!1,E;y.each(function(e){if(e===b){w=!0;return}}),w||(b="4-1");var S=function(e){var t="bottom";switch(e){case"1-4":case"5-7":case"2-3":t="top";break;case"2-1":case"6-8":case"3-4":t="right";break;case"1-2":case"8-6":case"4-3":t="left";break;case"4-1":case"7-5":case"3-2":t="bottom"}return t},x=function(e){return e==="5-7"||e==="6-8"||e==="8-6"||e==="7-5"?!0:!1},T=function(e){var r=0,s=0,f=i.s.sharpAngle&&i.corner?!0:!1;if(e==="right"){s=u+n+d+m,f&&(s+=i.corner.w());if(s>$(window).getWidth())return!1}else if(e==="bottom"){r=a+t+p+g,f&&(r+=i.corner.h());if(r>v+$(window).getHeight())return!1}else if(e==="top"){r=p+g,f&&(r+=i.corner.h());if(r>a-v)return!1}else if(e==="left"){s=d+m,f&&(s+=i.corner.w());if(s>u)return!1}return!0};E=S(b),this.s.sharpAngle&&this.createSharp(E),this.s.edgeAdjust&&(T(E)?function(){if(x(b))return;var e={top:{right:"2-3",left:"1-4"},right:{top:"2-1",bottom:"3-4"},bottom:{right:"3-2",left:"4-1"},left:{top:"1-2",bottom:"4-3"}},t=e[E],n;if(t)for(n in t)T(n)||(b=t[n])}():function(){if(x(b)){var e={"5-7":"7-5","7-5":"5-7","6-8":"8-6","8-6":"6-8"};b=e[b]}else{var t={top:{left:"3-2",right:"4-1"},right:{bottom:"1-2",top:"4-3"},bottom:{left:"2-3",right:"1-4"},left:{bottom:"2-1",top:"3-4"}},n=t[E],r=[];for(name in n)r.push(name);T(r[0])||!T(r[1])?b=n[r[0]]:b=n[r[1]]}}());var N=S(b),C=b.split("-")[0];this.s.sharpAngle&&(this.createSharp(N),r=this.corner.w(),s=this.corner.h());switch(N){case"top":l=a-g-p-s,C=="1"?f=u-m:C==="5"?f=u-(d-n)/2-m:f=u-(d-n)-m,h=a-s-g-1,c=u-(r-n)/2;break;case"right":f=u+n+m+r,C=="2"?l=a+g:C==="6"?l=a-(p-t)/2+g:l=a-(p-t)+g,c=u+n+m+1,h=a-(s-t)/2;break;case"bottom":l=a+t+g+s,C=="4"?f=u+m:C==="7"?f=u-(d-n)/2+m:f=u-(d-n)+m,h=a+t+g+1,c=u-(r-n)/2;break;case"left":f=u-d-m-r,C=="2"?l=a-g:C==="6"?l=a-(d-n)/2-g:l=a-(p-t)-g,c=f+r,h=a-(d-r)/2}return s&&r&&this.corner&&this.corner.css({left:c,top:h,zIndex:this.s.zIndex+1}),this.target.css({position:"absolute",left:f,top:l,zIndex:this.s.zIndex}),this},createSharp:function(e){var t,n,r="",i="",s={left:"right",right:"left",bottom:"top",top:"bottom"},o=s[e]||"top";this.target&&(t=this.target.css("background-color"),this.target.css("border-"+o+"-width").toInt()>0&&(n=this.target.css("border-"+o+"-color")),n&&n!=="transparent"?r='style="color:'+n+';"':r='style="display:none;"',t&&t!=="transparent"?i='style="color:'+t+';"':i='style="display:none;"');var u='",a=(new Element("div")).attr("id","floatCorner_"+e).addClass("float_corner float_corner_"+e).html(u);return $("floatCorner_"+e)||a.inject(document.body),this.corner=$("floatCorner_"+e),this},targetHold:function(){if(this.s.hoverHold){var e=this.s.hideDelay.toInt()||200;this.target.addEvents({mouseenter:function(){i.flagDisplay=!0},mouseleave:function(){i.flagDisplay=!1,setTimeout(function(){i.displayDetect()},e)}})}return this},loading:function(){return this.target=(new Element("div")).addClass("float_loading"),this.targetShow(),this},displayDetect:function(){return this.flagDisplay||this.targetHide(),this},targetShow:function(){return i.cornerClear(),this.flagDisplay=!0,this.container().setWidth().position(),this.target.show(),$isFun(this.s.showCall)&&this.s.showCall.call(this.trigger,this.target),window.powerFloatHide=function(){i.targetHide()},this},targetHide:function(){return this.flagDisplay=!1,this.targetClear(),this.cornerClear(),$isFun(this.s.hideCall)&&this.s.hideCall.call(this.trigger),this.target=null,this.trigger=null,this.s={},this.targetProtect=!1,this},targetClear:function(){this.target&&(this.targetProtect&&this.target.getFirst().out().inject(document.body),this.target.out())},cornerClear:function(){this.corner&&this.corner.dispose()},target:null,trigger:null,s:{},cacheData:{},targetProtect:!1},s=function(e){if(!i.flagDisplay)return!1;var t=e.page.x,n=e.page.y,r=i.target.getPosition(),u=i.target.w(),a=i.target.h();if(i.s.eventType==="click"&&e.target!=i.trigger||i.s.eventType=="contextmenu")t>r.x&&tr.y&&n