/*************************** rbmFX.js *******************************
**** Version 2.01.0001
**** last changed 24.10.2008
**** (c) 2007, 2008 Bernd Rudolf, rbm digitaltechnik, www.rbm.de
*********************************************************************/
var rbmFX={version:"1.03.0004",fxFunction:function(x,t,xMax){x=(x>xMax)?xMax:x;var y;switch(t){case 1:y=x;break;case 2:y=-Math.round(Math.pow(((x/10)-10),2))+100;break;case 3:y=Math.round(Math.pow(((x/18)-4.65),3))+99;break;case 4:y=-Math.round(Math.pow(((x/26)-3.15),4))+100;break;case 5:y=-Math.round(100/(x+1))+101;break;case 6:y=Math.round(100*Math.sin(x/60));break;}return y;}};rbmFX.fade=function(element,d,max,s,transition,duration){this.parent=$fx(element);this.d=d||-1;this.xMax=max||100;this.step=s||4;this.t=transition||2;this.duration=duration||500;this.timeStep=10;this.delay=0;this.disVis=0;this.init=function(){this.fxx=0;this.start=(this.d==1)?0:this.xMax;this.timeStep=Math.round(this.duration/(this.xMax/this.step));};this.init();this.delayed=function(delay){this.delay=delay||this.delay;this.delaytimer=window.setTimeout(this.go.bind(this,this.d),this.delay);};this.go=function(d){if(!this.active||d!=this.d){this.d=d||this.d;if(((this.d==1)&&((typeof (this.op)=="undefined")||(this.op<=0)))||(this.d==-1)&&(this.op>0)){this.active=true;this.init();this.onStart();if(typeof (this.parent.visibility)=="undefined"||this.parent.visibility==0){this.parent.show(true);}this.fading();}}};this.toggle=function(){this.d=(this.op!="undefined")?((this.op>0)?-1:1):-1;this.init();this.go();};this.fading=function(){if(this.fxx<this.xMax){this.op=this.start+this.d*rbmFX.fxFunction((this.fxx+=this.step),this.t,this.xMax);this.parent.setOpacity(this.op);this.timer=window.setTimeout(this.fading.bind(this,d),this.timeStep);}else{if(this.op<=0){switch(this.disVis){case 0:this.parent.show(false);break;case 1:this.parent.setDisplay(false);break;case -1:break;}}this.active=false;this.onEnd();}};this.onStart=function(){return null;};this.onEnd=function(){return null;};};rbmFX.scale=function(element,w,h,s,transition,duration){this.parent=$fx(element);this.w=w;this.h=h;this.xMax=100;this.step=s||4;this.t=transition||2;this.duration=duration||1000;this.timeStep=10;this.twin=null;this.init=function(){this.fxx=0;this.xMax=100;this.delta=this.w-this.parent.offsetWidth;this.delta2=this.h-this.parent.offsetHeight;this.start=this.parent.offsetWidth;this.start2=this.parent.offsetHeight;this.timeStep=Math.round(this.duration/(this.xMax/this.step));if(this.twin){this.twin.start=this.twin.offsetWidth;this.twin.start2=this.twin.offsetHeight;}};this.delayed=function(d){d=d||this.delay;this.delaytimer=window.setTimeout(this.go.bind(this),d);};this.go=function(){if(!this.active){this.active=true;this.onStart();this.init();this.sizing();}};this.sizing=function(){if(this.fxx<this.xMax){var y=rbmFX.fxFunction((this.fxx+=this.step),this.t,this.xMax);var dw=Math.round(this.delta*y/100);var dh=Math.round(this.delta2*y/100);this.w=this.start+dw;this.h=this.start2+dh;if(this.twin){this.twin.scale(this.twin.start-dw,this.twin.start2-dh);}this.parent.setSize(this.w,this.h);this.timer=window.setTimeout(this.sizing.bind(this),this.timeStep);}else{this.onEnd();this.active=false;}};this.onStart=function(){return null;};this.onEnd=function(){return null;};};rbmFX.shift=function(element,d,s,transition,duration){this.parent=$fx(element);this.d=d||-1;this.xMax=100;this.step=s||4;this.t=transition||4;this.duration=duration||500;this.timeStep=10;this.position=0;this.init=function(){this.delta=this.parent.parentNode.offsetWidth;this.margin=0;this.timeStep=Math.round(this.duration/(this.xMax/this.step));};this.init();this.delayed=function(d){d=d||this.delay;this.delaytimer=window.setTimeout(this.go.bind(this),d);};this.go=function(d){if(!this.active){if(this.delta==0){this.delta=this.parent.parentNode.offsetWidth;}this.d=d||this.d;this.fxx=0;this.xMax=100;this.start=this.margin;this.active=true;this.onStart();if((this.d==-1&&this.start>-1*(this.parent.offsetWidth-this.delta-10)||(this.d==1&&this.start<0))){this.position+=this.d;this.shifting(d);}else{this.onEnd();this.active=false;}}};this.shifting=function(d){if(this.fxx<this.xMax){this.margin=this.start+this.d*this.delta*rbmFX.fxFunction((this.fxx+=this.step),this.t,this.xMax)/100;this.parent.style["marginLeft"]=this.margin+"px";this.timer=window.setTimeout(this.shifting.bind(this,d),this.timeStep);}else{this.onEnd();this.active=false;}};this.onStart=function(){return null;};this.onRightBorder=function(){return null;};this.onLeftBorder=function(){return null;};this.onMiddle=function(){return null;};this.onEnd=function(){this.bounding();};this.bounding=function(){var w=this.parent.offsetWidth==0?200:this.parent.offsetWidth;if(-1*this.margin>w-this.delta-20){this.onRightBorder();}else{if(this.margin<20&&this.margin>-20){this.onLeftBorder();}else{this.onMiddle();}}};};rbmFX.scrollTo=function(element,d,max,s,transition,duration,scrollStart){this.parent=$fx(element);this.d=d||-1;this.xMax=100;this.max=max-this.parent.scrollTop;this.step=s;this.t=transition||2;this.duration=duration||500;this.timeStep=10;this.delay=0;this.myScroll=0;this.start=scrollStart||0;this.init=function(){this.fxx=0;this.start=this.parent.scrollTop;this.timeStep=Math.round(this.duration/(this.xMax/this.step));};this.init();this.delayed=function(delay){this.delay=delay||this.delay;this.delaytimer=window.setTimeout(this.go.bind(this,this.d),this.delay);};this.go=function(d){if(!this.active||d!=this.d){this.d=d||this.d;this.active=true;this.init();this.onStart();this.scrolling();}};this.scrolling=function(){if(this.fxx<this.xMax){this.myScroll=this.start+this.d*this.max*rbmFX.fxFunction((this.fxx+=this.step),this.t,this.xMax)/100;this.parent.scrollTop=this.myScroll;this.timer=window.setTimeout(this.scrolling.bind(this,d),this.timeStep);}else{this.onEnd();this.active=false;}};this.onStart=function(){return null;};this.onEnd=function(){return null;};};