/* DP photo slideshow class 
 *  author: Kaelzhang 
 *  ver: 2.1.0 build-2010030402 */
var PS={};PS.Train=new Class({Implements:Options,options:{btnfade:0.3,ex:{click:$empty}},bindFunc:function(){this.prev=this._prev.bind(this);delete this._prev;this.next=this._next.bind(this);delete this._next;this.onSlide=this._onSlide.bind(this);delete this._onSlide;this.postSlide=this._postSlide.bind(this);delete this._postSlide},_prev:function(A){if(A){A.preventDefault();this.options.ex.click()}!this.leftEnd&&this.setPos(true)},_next:function(A){if(A){A.preventDefault();this.options.ex.click()}!this.rightEnd&&this.setPos()},preSlide:function(){this.onSlide();this.dealBtn()},_postSlide:function(){this.former=this.cur;this.active=false},dealBtn:function(){this.leftEnd?this.disableBtn(this.prevBtn):this.enableBtn(this.prevBtn,true);this.rightEnd?this.disableBtn(this.nextBtn):this.enableBtn(this.nextBtn)},enableBtn:function(A,B){if(B){A.addEvent("click",this.prev)}else{A.addEvent("click",this.next)}A.setStyle("opacity",1).removeClass("disable")},disableBtn:function(A){A.removeEvents("click").setStyle("opacity",this.options.btnfade).addClass("disable")}});PS.Maglev=new Class({Implements:PS.Train,options:{tn:"train",cr:"carriage",st:"body",ctrl:".ctrl",pv:".prev",nt:".next",pf:".platform",move:1,moveRelative:false,carriageLength:79,duration:500,initPos:2,minPreload:5,extra:210,platforms:2,mousewheel:true,resize:false,noClick:false,ex:{postInit:$empty,resize:$empty,readyMove:$empty},url:"/photo.v"},initialize:function(B,A){this.setOptions(A);if($chk(B.curPos)){this.options.initPos=B.curPos}this.query=B.query;this.autoLoad=B.autoLoad;this.maxOffset=B.count-1;this.picID=B.picID;this.postInitFlag=true;this.query["do"]="getphotos";this.addCarriages=this._addCarriages.bind(this);delete this._addCarriages;this.resize=this._resize.bind(this);delete this._resize;this.stack=[];this.data=[];this.bindFunc();this.construct()},construct:function(){var A=this;this.initData();this.initStack();this.station=$j(this.options.st);delete this.options.st;this.platform=this.station.getElement(this.options.pf);this.train=new Element("div",{"class":this.options.tn,styles:{left:-this.pos*this.options.carriageLength}}).inject(this.platform);this.prevBtn=this.station.getElement(this.options.pv);this.nextBtn=this.station.getElement(this.options.nt);this.ctrl=this.station.getElement(this.options.ctrl);delete this.station;this.setStation();if(this.autoLoad){this.initCarriages()}if(this.ctrl){this.ctrl.addEvent("click",function(){!A.carLoaded&&A.initCarriages();PS.changeDetail(A.picID,A.query.type,A.query.typeID)})}delete this.autoLoad},initData:function(A){this.pos=this.curOffset=this.firstPos=$chk(A)?A:this.options.initPos;this.lastPos=this.firstPos-1;this.leftEnd=this.rightEnd=false},initStack:function(){this.firstStack=this.firstPos;this.lastStack=this.lastPos;if(this.pipeline){delete this.pipeline}this.pipeline=new PS.Pipeline()},initCarriages:function(){this.carLoaded=true;var A,B=A=this.maxOffset-this.pos+1;if(this.options.platforms>A){this.rightEnd=true}else{A=this.options.platforms}this.initEvent();this.checkCarriages((A+this.move*2).limit(0,B))},initEvent:function(){this.dealBtn();this.slide=new Fx.Tween(this.train,{transition:Fx.Transitions.Cubic.easeOut,property:"left",duration:this.options.duration,onComplete:this.postSlide});if(this.options.mousewheel){this.bindWheel()}if(this.options.resize){this.setPlatforms();window.addEvent("resize",this.resize.bind(this))}},bindWheel:function(){var A=this;this.platform.addEvent("mousewheel",function(B){if(!B){return }B.preventDefault();B.wheel>0?A.prev():A.next()})},replay:function(D,C){var B=this,A=this.train;D=D||this.options.initPos;if(!C){$A(A.childNodes).each(function(E){A.removeChild(E)})}delete this.firstNote;delete this.lastNote;this.initData(D);A.setStyle("left",-this.pos*this.options.carriageLength);this.initCarriages();this.dealBtn()},_resize:function(){this.setStation();this.setPlatforms();var A=this.options.platforms-this.forPlatforms;if(A>0){this.setCarriages(A,false,true);this.dealBtn()}else{if(A<0){this.enableBtn(this.nextBtn)}}this.options.ex.resize()},setStation:function(){if(this.options.resize){this.width=document.body.clientWidth;this.height=document.body.clientHeight;this.forPlatforms=this.options.platforms;this.options.platforms=Math.floor((this.width-this.options.extra)/this.options.carriageLength)}this.move=this.options.moveRelative?this.options.platforms+this.options.move:this.options.move;if(this.move<1){this.move=1}},setPlatforms:function(){this.platform.setStyle("width",this.options.platforms*this.options.carriageLength)},setPos:function(A){if(this.active){return }this.active=true;this.setCarriages(false,this.isPrev=A)},_onSlide:function(){this.slide.start(-this.pos*this.options.carriageLength)},setCarriages:function(C,G,D){this.preloads=this.leftEnd=this.rightEnd=false;var E=this.pos+this.options.platforms-1,A,B,H,F,C=C||this.move;if(C<1){C=1}if(G){A=this.pos-C;if(this.firstStack&&(this.firstStack>A-this.move)){this.preloads=-Math.max(C*2,this.options.minPreload)}if(A>=0){H=A-this.firstPos;B=-C}else{this.leftEnd=true;H=-this.firstPos;B=-this.pos-1}if(E+B>this.maxOffset){this.rightEnd=true}F=H<=0}else{A=E+C;if(this.lastStack<this.maxOffset&&this.lastStack<A+this.move){this.preloads=Math.max(C*2,this.options.minPreload)}if(A<=this.maxOffset){H=A-this.lastPos;B=C}else{this.rightEnd=true;H=this.maxOffset-this.lastPos;B=this.maxOffset-E+1}F=H>=0}if(!D){this.pos+=B;this.curOffset=this.pos.limit(0,this.maxOffset)}F?this.checkCarriages(H):this.prepareSlide()},checkCarriages:function(B){var A;this.extraCars=B;if(B>0){A=B-(this.lastStack-this.lastPos);if(A>0){return this.getCarriages(A)}}else{if(B<0){A=B-(this.firstStack-this.firstPos);if(A<0){return this.getCarriages(A)}}}this.addCarriages(B)},getCarriages:function(B,A){if(!B){return }var F=this,D=B>0?this.lastStack+1:this.firstStack-1,C,E=function(G){if(C){$clear(C)}if(G>0){F.lastStack+=G}else{F.firstStack+=G}!A&&F.addCarriages()};C=setTimeout(function(){F.pipeline.remove(E)},1000);this.pipeline.clear().add(E);this.query.firstPos=D;this.query.count=B;PS.msg.showLoading();new AjaxReq({data:this.query,method:"post",url:this.options.url,onSuccess:function(G){if(G.code===200){F.produceCarriages(B>0?G.msg.count:-G.msg.count,D,G.msg.img);PS.msg.hideLoading()}else{A&&F.pipeline.clear();PS.msg.fail()}},onError:function(){A&&F.pipeline.clear();PS.msg.fail()}}).send()},produceCarriages:function(H,G,C){if(!H){return }var A,D,B=this.options.noClick,F;for(var E=0,I=Math.abs(H);E<I;E++){carriageOffset=G+(H>0?E:-E);D=new Element("a",{href:B?"#":C[E].href,"class":this.options.cr,styles:{left:carriageOffset*this.options.carriageLength}});new Element("img",{src:C[E].thumb}).inject(D).store("index",carriageOffset);if(!B){D.addEvent("click",function(){pageTracker._trackPageview("dp_photos_mini")})}else{D.prevent("click")}this.stack[carriageOffset]=D;this.data[carriageOffset]=C[E]}return this.pipeline.exec(H)},_addCarriages:function(B){var F,D,C,G=this.train;if(!$chk(B)){B=this.extraCars}if(B>0){F=this.lastPos+1;D=this.lastPos+=B;C=1;pos="bottom"}else{if(B<0){F=this.firstPos-1;D=this.firstPos+=B;C=-1;pos="top"}}if(B){var E=(function(){if(B>0){return function(H){return H<=D}}else{return function(H){return H>=D}}})();for(var A=F;E(A);A+=C){this.stack[A]&&this.stack[A].inject(G,pos)}}if(this.leftEnd&&!this.firstNote){this.firstNote=new Element("div",{"class":"left-end",styles:{left:-this.options.carriageLength}}).inject(G,"top")}if(this.rightEnd&&!this.lastNote){this.lastNote=new Element("div",{"class":"right-end",styles:{left:(this.maxOffset+1)*this.options.carriageLength}}).inject(G)}if(this.postInitFlag){this.options.ex.postInit(this);delete this.postInitFlag}this.prepareSlide()},prepareSlide:function(){var D=this,B=this.curOffset-this.firstPos-this.move,C=this.lastPos-(this.options.platforms+this.curOffset-1)-this.move,A=function(){return D.getCarriages(D.preloads,true)};B>0&&this.reduceCarriages(-B);C>0&&this.reduceCarriages(C);this.options.ex.readyMove();if(this.active){this.preSlide();D.preloads&&this.pipeline.add(A,true)}},reduceCarriages:function(B){var D,C;if(B>0){C=this.lastPos;this.lastPos-=B;D=this.lastPos+1}else{D=this.firstPos;this.firstPos-=B;C=this.firstPos-1}for(var A=D;A<=C;A++){this.stack[A].dispose()}}});PS.Pipeline=new Class({$line:[],add:function(B,D,C,A){this.$line.push({fn:B,auto:D,pointer:C,arg:A});if(D&&this.$line.length===1){return this.exec()}else{return this}},remove:function(A){var C=this,B;this.$line.each(function(E,D){if(E&&E.fn===A){B=D;E=false}});if(B===0){this.$line.shift()}return this},trash:function(A){this.$line.shift();if(A){return this.exec()}else{return this}},exec:function(A,B){if(B!==this.sign){return }var C;if(this.$line.length){this.sign=true;if(C=this.$line[0]){if(!B||C.auto){this.$line.shift();C.fn&&C.fn.run(A?A:C.arg,C.pointer)}else{delete this.sign;return this}}else{this.$line.shift()}return this.exec(null,this.sign)}delete this.sign;return this},clear:function(){this.$line.lengh=0;return this}});PS.Show=new Class({Implements:PS.Train,options:{pv:".s-prev",nt:".s-next",pl:".pause",tn:".train",cr:".carriage",autoInit:false,autoSlide:true,autoSpeed:3000,timeOut:5000,showLoadingTime:400,maxResize:1.5},initialize:function(A){this.setOptions(A);this.prevBtn=$j(this.options.pv).prevent("click");this.nextBtn=$j(this.options.nt).prevent("click");this.playBtn=$j(this.options.pl).prevent("click");this.init=this._init.bind(this);delete this._init;this.resize=this._resize.bind(this);delete this._resize;this.xSetPos=this._xSetPos.bind(this);delete this._xSetPos;this.bindFunc();this.manualSelect=false;this.options.autoInit&&this.init()},_init:function(A){this.hook=A;this.img=this.hook.data;this.forOffset=this.curOffset=this.hook.curOffset;this.former=this.cur=this.hook.stack[this.curOffset];this.cur.addClass("on");this.dealBtn();this.bind();this.hideLoading();if(this.options.autoSlide){this.setPlay("play",true);this.preSlide()}},bind:function(){this.playBtn.addEvent("click",this.setPlay.bind(this));var A=$j(this.options.tn),D=this,B,C;A.addEvent("click",function(E){if(D.manualSelect){return }C=$(E.target);if(!C.match("img")){return }clearTimeout(D.clickTimer);D.clickTimer=D.manualClick.delay(90,D,C)})},manualClick:function(A){this._exp=A;this.expOffset=A.retrieve("index");this.manualSet();if(!this.active){this.setPos()}},manualSet:function(){this.manualSelect=true;if(this.loader){this.cleanLoader()}PS.msg.hideLoading()},manualSetPos:function(){this.curOffset=this.expOffset;this.expOffset=null;this.cur=this._exp.getParent()},cleanLoader:function(){if(this.loader){this.loader.onerror=this.loader.onload=$empty;delete this.loader}},setPos:function(A){if(this.active){return }this.active=true;this.isPrev=A;if(this.restTimer){this.restTimer=$clear(this.restTimer)}this.leftEnd=this.rightEnd=false;if(this.manualSelect){this.manualSelect=false;this.manualActive=true;this.manualSetPos();return this.preSlide()}else{this.firstInPlatform=this.hook.curOffset,this.lastInPlatform=this.firstInPlatform+this.hook.options.platforms-1;this.trigger=true;if(A){if(this.curOffset===this.firstInPlatform){return this.hook.prev()}}else{if(this.curOffset===this.lastInPlatform){return this.hook.next()}}this.trigger=false;this.xSetPos(true)}},_xSetPos:function(A){if(!A&&!this.trigger){return }if(this.isPrev){if(!this.curOffset){this.leftEnd=true;this.setPlay("pause");return this.postSlide()}if(this.curOffset===this.firstInPlatform){--this.curOffset}else{this.curOffset=(this.curOffset-1).limit(this.firstInPlatform,this.lastInPlatform)}}else{if(this.curOffset===this.hook.maxOffset){this.rightEnd=true;this.setPlay("pause");return this.end()}if(this.curOffset===this.lastInPlatform){++this.curOffset}else{this.curOffset=(this.curOffset+1).limit(this.firstInPlatform,this.lastInPlatform)}}this.cur=this.hook.stack[this.curOffset];this.preSlide()},preSlide:function(){if(this.manualSelect){$chk(this.expOffset)&&this.manualSetPos()}this.former.removeClass("on");this.cur.addClass("on");this.showLoading();this.loader=new PS.imgLoader(this.img[this.curOffset].full,{onload:this.onSlide.bind(this),onerror:this.undo.bind(this,"error")});this.failTimer=this.undo.delay(this.options.timeOut,this,"timeout")},undo:function(A){this.cleanLoader();this.failTimer=$clear(this.failTimer);this.manualSelect=false;this.cur.addClass("err");PS.msg.fail(A);this.postSlide()},_onSlide:function(){if(this.failTimer){this.failTimer=$clear(this.failTimer)}if(this.loader){var A={width:this.loader.width,height:this.loader.height,src:this.loader.src},D,E=this,C;delete this.loader;this.hideLoading();this.cur.removeClass("err");this.curImageDiv=new Element("div",{"class":"fadeDiv"}).inject($$("body")[0],"top");D=new Element("img",{src:A.src,"class":"fadeImg"}).inject(this.curImageDiv);this.resize(A,D);function B(F){delete E.fade;if(F!==true){E.forImageDiv=E.forImageDiv.destroy()}E.forImageDiv=E.curImageDiv;E.postSlide()}if(this.forImageDiv){this.fade=new Fx.Tween(this.forImageDiv,{duration:600,property:"opacity",onComplete:B}).start(0)}else{B(true)}}},_postSlide:function(){this.former=this.cur;this.forOffset=this.curOffset;this.active=false;this.manualActive=false;if(this.manualSelect){return this.setPos()}if(this.autoSlide){return this.restTimer=this.setPos.delay(this.options.autoSpeed,this)}},_resize:function(B,F){if(B){var C=B.width,A=B.height,B=F}else{if(!this.curImageDiv){return }B=this.curImageDiv.getElement("img");if(!B){return }var C=B.getSize().x,A=B.getSize().y}var E=this.hook.height/A,D=this.hook.width/C;if(E<D){E=E-D;D=E+D;E=D-E}if(D<this.options.maxResize){C*=D;A*=D}else{C*=this.options.maxResize;A*=this.options.maxResize}E=(this.hook.height-A)/2;D=(this.hook.width-C)/2;B.setStyles({top:E,left:D,width:C,height:A})},setPlay:function(A,B){if($type(A)==="event"){A=false}this.autoSlide=A=(A||(this.playBtn.hasClass("play")?"play":"pause"))==="play";if(A){this.playBtn.removeClass("play");!B&&!this.active&&this.setPos()}else{this.playBtn.addClass("play")}},showLoading:function(){$clear(this.loadTimer);var A=this;this.loadTimer=setTimeout(function(){PS.msg.showLoading()},this.options.showLoadingTime)},hideLoading:function(){$clear(this.loadTimer);PS.msg.hideLoading()},end:function(){var A=this;this.postSlide();PS.hideCtrl.pause();this.replayWrap=new Element("div",{"class":"replayWrap"}).inject($j()).addEvent("click",function(){A.replayWrap.destroy();delete A.replayWrap;delete A.replayBtn;PS.hideCtrl&&PS.hideCtrl.restart()});this.replayBtn=new Element("div",{"class":"replay",text:"重新播放"}).inject(this.replayWrap).addEvent("click",function(B){B&&B.stop();A.replayWrap.destroy();delete A.replayWrap;delete A.replayBtn;PS.hideCtrl&&PS.hideCtrl.restart();A.setPlay("play",true);A.replay()})},replay:function(A){A=A||this.hook.options.initPos;this.hook.replay(A);this.cur=this.hook.stack[this.curOffset=A];this.preSlide()}});PS.changeDetail=function(C,B,A){var E="q"+C+B+A,D=PS.changeDetail[E];if(D){return PS.changeDetail.exec(D)}new AjaxReq({url:"/photo.v",method:"post",data:{"do":"getpicdetail",type:B,typeID:A,picID:C},onSuccess:function(F){if(F.code===200){PS.changeDetail[E]=F.msg;PS.changeDetail.exec(F.msg)}else{if(Mbox.isOpen){Mbox.openLite('<div class="Doing">'+a.msg+"</div>",200,30,{closable:1})}}}}).send()};PS.changeDetail.extend({exec:function(C){C.nowPos&&$("nowPos").set("text",C.nowPos);C.totalCount&&$("totalCount").set("text",C.totalCount);var B=C.prevLink,A=C.nextLink;B!=="#"?$("preview").set("href",B).removeClass("off"):$("preview").set("href","javascript:void(0)").addClass("off");A!=="#"?$("next").set("href",A).removeClass("off"):$("next").set("href","javascript:void(0)").addClass("off")}});var Drag=new Class({Implements:[Events,Options],options:{snap:6,unit:"px",grid:false,style:true,limit:false,handle:false,invert:false,preventDefault:false,stopPropagation:false,modifiers:{x:"left",y:"top"}},initialize:function(){var B=Array.link(arguments,{options:Object.type,element:$defined});this.element=document.id(B.element);this.document=this.element.getDocument();this.setOptions(B.options||{});var A=$type(this.options.handle);this.handles=((A=="array"||A=="collection")?$$(this.options.handle):document.id(this.options.handle))||this.element;this.mouse={now:{},pos:{}};this.value={start:{},now:{}};this.selection=(Browser.Engine.trident)?"selectstart":"mousedown";this.bound={start:this.start.bind(this),check:this.check.bind(this),drag:this.drag.bind(this),stop:this.stop.bind(this),cancel:this.cancel.bind(this),eventStop:$lambda(false)};this.attach()},attach:function(){this.handles.addEvent("mousedown",this.bound.start);return this},detach:function(){this.handles.removeEvent("mousedown",this.bound.start);return this},start:function(C){if(C.rightClick){return }if(this.options.preventDefault){C.preventDefault()}if(this.options.stopPropagation){C.stopPropagation()}this.mouse.start=C.page;this.fireEvent("beforeStart",this.element);var A=this.options.limit;this.limit={x:[],y:[]};for(var D in this.options.modifiers){if(!this.options.modifiers[D]){continue}if(this.options.style){this.value.now[D]=this.element.getStyle(this.options.modifiers[D]).toInt()}else{this.value.now[D]=this.element[this.options.modifiers[D]]}if(this.options.invert){this.value.now[D]*=-1}this.mouse.pos[D]=C.page[D]-this.value.now[D];if(A&&A[D]){for(var B=2;B--;B){if($chk(A[D][B])){this.limit[D][B]=$lambda(A[D][B])()}}}}if($type(this.options.grid)=="number"){this.options.grid={x:this.options.grid,y:this.options.grid}}this.document.addEvents({mousemove:this.bound.check,mouseup:this.bound.cancel});this.document.addEvent(this.selection,this.bound.eventStop)},check:function(A){if(this.options.preventDefault){A.preventDefault()}var B=Math.round(Math.sqrt(Math.pow(A.page.x-this.mouse.start.x,2)+Math.pow(A.page.y-this.mouse.start.y,2)));if(B>this.options.snap){this.cancel();this.document.addEvents({mousemove:this.bound.drag,mouseup:this.bound.stop});this.fireEvent("start",[this.element,A]).fireEvent("snap",this.element)}},drag:function(A){if(this.options.preventDefault){A.preventDefault()}this.mouse.now=A.page;for(var B in this.options.modifiers){if(!this.options.modifiers[B]){continue}this.value.now[B]=this.mouse.now[B]-this.mouse.pos[B];if(this.options.invert){this.value.now[B]*=-1}if(this.options.limit&&this.limit[B]){if($chk(this.limit[B][1])&&(this.value.now[B]>this.limit[B][1])){this.value.now[B]=this.limit[B][1]}else{if($chk(this.limit[B][0])&&(this.value.now[B]<this.limit[B][0])){this.value.now[B]=this.limit[B][0]}}}if(this.options.grid[B]){this.value.now[B]-=((this.value.now[B]-(this.limit[B][0]||0))%this.options.grid[B])}if(this.options.style){this.element.setStyle(this.options.modifiers[B],this.value.now[B]+this.options.unit)}else{this.element[this.options.modifiers[B]]=this.value.now[B]}}this.fireEvent("drag",[this.element,A])},cancel:function(A){this.document.removeEvent("mousemove",this.bound.check);this.document.removeEvent("mouseup",this.bound.cancel);if(A){this.document.removeEvent(this.selection,this.bound.eventStop);this.fireEvent("cancel",this.element)}},stop:function(A){this.document.removeEvent(this.selection,this.bound.eventStop);this.document.removeEvent("mousemove",this.bound.drag);this.document.removeEvent("mouseup",this.bound.stop);if(A){this.fireEvent("complete",[this.element,A])}}});PS.msg={text:{error:"图片载入失败...",timeout:"图片载入超时，请重试..."},init:function(C,B,A){this.loading=new Element("div",{"class":C}).inject($$("body")[0]);this.err=new Element("div",{"class":B}).inject($$("body")[0]);this.hideLoading=this.hideLoading.bind(this);this.showLoading=this.showLoading.bind(this);this.fail=this.fail.bind(this);this.minTime=A||1000;this.ready=true},loadTime:function(A){this.loadingTimer=function(){this.loading.hide();this.onshow=false}.delay(A||this.minTime,this)},hideLoading:function(){if(!this.ready){return }var A=this.minTime-($time()-this.showTime)||-1;A<0?this.loading.hide():this.loadTime(A)},showLoading:function(){if(!this.ready){return }$clear(this.loadingTimer);this.loadingTimer=$clear(this.loadingTimer);this.loading.show();this.showTime=$time()},fail:function(A){if(!this.ready){return }this.fadeTimer=$clear(this.fadeTimer);this.err.set("text",this.text[A]).show();this.fadeTimer=function(){this.err.hide()}.delay(2000,this)}};PS.imgLoader=function(C,B){B=$merge({onload:$empty,onabort:$empty,onerror:$empty},B);var D=new Image();var A=document.id(D)||new Element("img");["load","abort","error"].each(function(E){var F="on"+E;var G=B[F];delete B[F];D[F]=function(){if(!D){return }if(!A.parentNode){A.width=D.width;A.height=D.height}D=D.onload=D.onabort=D.onerror=null;G.delay(1,A,A);A.fireEvent(E,A,1)}});D.src=A.src=C;if(D&&D.complete){D.onload.delay(1)}return A.set(B)};PS.hideCtrl={init:function(C,F,B,A){var E=this,D=function(G){return function(){if(E.isHidden=E.tohide){E[G].hide()}else{E.time()}}};this.top=$(C).set("tween",{property:"opacity",onComplete:D("top")});this.bot=$(F).set("tween",{property:"opacity",onComplete:D("bot")});this.duration=B||500;this.delay=A||3000;this.time=this._time.bind(this);delete this._time;this.pause=this._pause.bind(this);delete this._pause;this.restart=this._restart.bind(this);delete this._restart;document.addEvents({mousemove:this.time.bind(this,1),click:this.time.bind(this,2),mousewheel:this.time.bind(this,3)});new Elements([this.top,this.bot]).addEvents({mouseenter:function(){E.hover=true},mouseleave:function(){E.hover=false}});this.time(0)},fadeOut:function(){this.tohide=true;var A=this.top.get("tween");var B=this.bot.get("tween");B.options.duration=A.options.duration=this.duration;A.start(0);B.start(0);this.timer=false},fadeIn:function(){this.tohide=false;var A=this.top.show().get("tween");var B=this.bot.show().get("tween");B.options.duration=A.options.duration=10;A.start(1);B.start(1)},_pause:function(){$clear(this.timer);this.top.hide().get("tween").cancel();this.bot.hide().get("tween").cancel();this.isHidden=true;this.stopCtrl=true},_restart:function(){this.stopCtrl=false},_time:function(A){if(this.stopCtrl){return }this.timer=$clear(this.timer);if(!this.isHidden&&!this.hover){this.timer=this.fadeOut.delay(this.delay,this)}else{this.fadeIn()}}};PS.DragCtrl={options:{limit:{x:[-10,120],y:[-9,-9]},snap:2,maxInterval:10000,minInterval:1000},init:function(E,C,B,D,A){this.ctrl=$$(E)[0];this.bar=$$(C)[0];this.number=$$(B)[0];this.hook=D;this.options=$extend(this.options,A);this.prop=(this.options.maxInterval-this.options.minInterval||1000)/(this.options.limit.x[1]-this.options.limit.x[0]||1);this.minOffset=this.options.limit.x[0];this.options.onDrag=this._onDrag.bind(this);delete this._onDrag;this.options.onComplete=this._endDrag.bind(this);delete this._endDrag;this.options.onStart=function(){this.ctrl.addClass("activeBtn")}.bind(this);this.drag=new Drag(this.ctrl,this.options);this.interval=this.hook.options.autoSpeed;this.offset=this.reverseCompute(this.interval);this.setStyle();this.ctrl.setStyle("left",this.offset+this.minOffset)},_onDrag:function(){this.offset=this.drag.value.now.x-this.minOffset;this.interval=this.compute(this.offset);this.setStyle()},setStyle:function(){this.bar.setStyle("width",this.offset);this.number.set("text",(this.interval/1000).toFixed(1))},setSpeed:function(){this.hook.options.autoSpeed=this.interval},_endDrag:function(){this.setSpeed();this.ctrl.removeClass("activeBtn")},compute:function(A){return this.prop*this.offset+this.options.minInterval},reverseCompute:function(A){return(A-this.options.minInterval)/this.prop}};Element.implement({prevent:function(A){return this.addEvent(A,function(B){B&&B.preventDefault()})},hide:function(){var B;try{if(this.getStyle("display")!="none"){B=this.getStyle("display")}}catch(A){}return this.store("od",this.retrieve("od")||B||"block").setStyle("display","none")},show:function(A){return this.setStyle("display",A||this.retrieve("od")||"block")},makeResizable:function(A){var B=new Drag(this,$merge({modifiers:{x:"width",y:"height"}},A));this.store("resizer",B);return B.addEvent("drag",function(){this.fireEvent("resize",B)}.bind(this))}});function $j(A,B){if(A){var C=B?$(B).getElements(A):$(A)||$$(A)}else{return document.body}if($type(C)!=="array"){return C}else{if(C.length===1){return C[0]}else{return C}}};