var BBEffect=function(A,D,B,C){this.srcObj=A;this.eftFun=D;this.dur=B;this.opts=C;this.isPlaying=false;this._startDate=0;this._costDur=null;return this;};BBEffect._interval=window.setInterval("BBEffect._playAll()",28);BBEffect._playingObjs=[];BBEffect._playAll=function(){for(var C=0;C<BBEffect._playingObjs.length;C++){var A=BBEffect._playingObjs[C];var B=(new Date()-A._startDate)/A.dur;if(B>=1){B=1;A.eftFun(1);CustEvent.fireEvent(A,"onplay");CustEvent.fireEvent(A,"onsuspend");A._costDur=null;A.isPlaying=false;BBEffect._playingObjs.splice(C,1);C--;}else{A.eftFun(B);CustEvent.fireEvent(A,"onplay");}}};BBEffect.prototype.play=function(){var A=BBEffect._playingObjs.indexOf(this);if(A>-1){this.stop();}this._startDate=new Date();BBEffect._playingObjs.push(this);CustEvent.fireEvent(this,"onbeforeplay");this.isPlaying=true;};BBEffect.prototype.stop=function(){var A=BBEffect._playingObjs.indexOf(this);if(A>-1){BBEffect._playingObjs.splice(A,1);}this._startDate=0;this._costDur=null;this.isPlaying=false;CustEvent.fireEvent(this,"onstop");};BBEffect.prototype.suspend=function(){var A=BBEffect._playingObjs.indexOf(this);if(A>-1){BBEffect._playingObjs.splice(A,1);}this.eftFun(1);CustEvent.fireEvent(this,"onsuspend");this.isPlaying=false;};BBEffect.prototype.pause=function(){var A=BBEffect._playingObjs.indexOf(this);if(A>-1){this._costDur=new Date()-this._startDate;BBEffect._playingObjs.splice(A,1);CustEvent.fireEvent(this,"onpause");}};BBEffect.prototype.resume=function(){var A=BBEffect._playingObjs.indexOf(this);if(A<0){if(this._costDur==null){return ;}this._startDate=new Date()-this._costDur;BBEffect._playingObjs.push(this);CustEvent.fireEvent(this,"onresume");}};BBEffect.prototype.reset=function(){this._startDate=new Date();this.costDur=null;this.eftFun(0);CustEvent.fireEvent(this,"onreset");};function CssEffect(A,B,C){var D=this.efObj=new BBEffect(A,CssEffect.simpleEftFun,B,C);D.onbeforeplay=CssEffect.onbeforeplay;D.onsuspend=CssEffect.onsuspend;return D;}CssEffect.simpleEftFun=function(A){var D=this.opts.alterableCss;if(D){for(var C in D){var E=D[C];if(E[2]==null){E[2]=0;}if(E[3]==null){E[3]=1;}if(A<E[2]){continue;}var J=Math.min(1,(A-E[2])/(E[3]-E[2]));if(E[0].constructor==Number){Dom.setStyle(this.srcObj,C,E[0]+J*(E[1]-E[0]));}else{if(E[0].indexOf("px")>-1){if(E[1]==null){if(C=="top"||C=="left"||C=="width"||C=="height"){E[1]=Dom.getAbsoluteRect(this.srcObj)[C]+"px";}}Dom.setStyle(this.srcObj,C,(parseInt(E[1])+J*(parseInt(E[0])-parseInt(E[1]))).toFixed(0)+"px");}else{if(E[0].indexOf("#")>-1){var I=E[1].match(/\w\w/g);var H=E[0].match(/\w\w/g);var F=[];for(var B=0;B<3;B++){var G=Math.round(parseInt(I[B],16)+J*(parseInt(H[B],16)-parseInt(I[B],16)));F[B]=G>15?G.toString(16):"0"+G.toString(16);}Dom.setStyle(this.srcObj,C,"#"+F.join(""));}}}}}};CssEffect.onbeforeplay=function(){var B=this.opts.initialCss;if(B){for(var A in B){Dom.setStyle(this.srcObj,A,B[A]);}}};CssEffect.onsuspend=function(){var B=this.opts.finalCss;if(B){for(var A in B){Dom.setStyle(this.srcObj,A,B[A]);}}};BBEffect.changeDisplay=function(C,J,I,B,L){var G=C.style;if(J==null){J=(G.display=="none");}if(!I){G.display=J?"":"none";return ;}var F=C._changeDisplayEf;if(F&&F.isPlaying){F.suspend();}if(J==(G.display!="none")){return ;}if(J&&G.display=="none"){G.display="";}var H=Dom.borderWidth(C);var D=Dom.paddingWidth(C);var K={display:"block"};var A={};var E={display:(J?"block":"none")};if(I&1){if(J){K.width="2px";}var N=C.offsetWidth-H[1]-H[3]-D[1]-D[3];A.width=J?[N+"px","2px"]:["2px",N+"px"];E.width=G.width;}if(I&2){if(J){K.height="2px";}var M=C.offsetHeight-H[0]-H[0]-D[0]-D[2];A.height=J?[M+"px","2px"]:["2px",M+"px"];E.height=G.height;}if(I&4){A.opacity=J?[0,1]:[1,0];E.filter=null;}if(I&8){var M=C.offsetHeight-H[0]-H[0]-D[0]-D[2];if(J){K.height="2px";K.opacity=0;}A.height=J?[M+"px","2px",0,0.6]:["2px",M+"px",0.4,1];A.opacity=J?[0,1,0.4,1]:[1,0,0,0.6];E.height=G.height;E.filter=null;}if(J){G.display="none";}F=new CssEffect(C,B||500,{initialCss:K,alterableCss:A,finalCss:E});if(L){CustEvent.observe(F,"onsuspend",function(){L.call(C,J);CustEvent.stopObserving(this,"onsuspend");});}C._changeDisplayEf=F;F.play();};BBEffect.toggleDisplay=function(C,B,A,D){BBEffect.changeDisplay(C,null,B,A,D);};BBEffect.shine4Error=function(C,B){var A=new CssEffect(C,B||500,{initialCss:{backgroundColor:"#FFF"},alterableCss:{backgroundColor:["#ff3333","#FFFFFF"]},finalCss:{backgroundColor:""}});A.play();};