Rico.Effect={};
Rico.Effect.SizeAndPosition=Class.create();
Rico.Effect.SizeAndPosition.prototype={initialize:function(e,a,i,b,f,g,c,d){this.element=$(e);
this.x=a;
this.y=i;
this.w=b;
this.h=f;
this.duration=g;
this.steps=c;
this.options=arguments[7]||{};
this.sizeAndPosition()
},sizeAndPosition:function(){if(this.isFinished()){if(this.options.complete){this.options.complete(this)
}return
}if(this.timer){clearTimeout(this.timer)
}var f=Math.round(this.duration/this.steps);
var c=this.element.offsetLeft;
var b=this.element.offsetTop;
var d=this.element.offsetWidth;
var i=this.element.offsetHeight;
this.x=(this.x)?this.x:c;
this.y=(this.y)?this.y:b;
this.w=(this.w)?this.w:d;
this.h=(this.h)?this.h:i;
var g=this.steps>0?(this.x-c)/this.steps:0;
var e=this.steps>0?(this.y-b)/this.steps:0;
var h=this.steps>0?(this.w-d)/this.steps:0;
var a=this.steps>0?(this.h-i)/this.steps:0;
this.moveBy(g,e);
this.resizeBy(h,a);
this.duration-=f;
this.steps--;
this.timer=setTimeout(this.sizeAndPosition.bind(this),f)
},isFinished:function(){return this.steps<=0
},moveBy:function(b,g){var f=this.element.offsetLeft;
var d=this.element.offsetTop;
var c=parseInt(b);
var a=parseInt(g);
var e=this.element.style;
if(c!=0){e.left=(f+c)+"px"
}if(a!=0){e.top=(d+a)+"px"
}},resizeBy:function(a,e){var c=this.element.offsetWidth;
var g=this.element.offsetHeight;
var b=parseInt(a);
var f=parseInt(e);
var d=this.element.style;
if(b!=0){d.width=(c+b)+"px"
}if(f!=0){d.height=(g+f)+"px"
}}};
Rico.Effect.Size=Class.create();
Rico.Effect.Size.prototype={initialize:function(d,a,e,f,b,c){new Rico.Effect.SizeAndPosition(d,null,null,a,e,f,b,c)
}};
Rico.Effect.Position=Class.create();
Rico.Effect.Position.prototype={initialize:function(d,a,f,e,b,c){new Rico.Effect.SizeAndPosition(d,a,f,null,null,e,b,c)
}};
Rico.Effect.Round=Class.create();
Rico.Effect.Round.prototype={initialize:function(c,d,a){var e=document.getElementsByTagAndClassName(c,d);
for(var b=0;
b<e.length;
b++){Rico.Corner.round(e[b],a)
}}};
Rico.Effect.FadeTo=Class.create();
Rico.Effect.FadeTo.prototype={initialize:function(d,c,e,a,b){this.element=$(d);
this.opacity=c;
this.duration=e;
this.steps=a;
this.options=arguments[4]||{};
this.fadeTo()
},fadeTo:function(){if(this.isFinished()){if(this.options.complete){this.options.complete(this)
}return
}if(this.timer){clearTimeout(this.timer)
}var b=Math.round(this.duration/this.steps);
var a=this.getElementOpacity();
var c=this.steps>0?(this.opacity-a)/this.steps:0;
this.changeOpacityBy(c);
this.duration-=b;
this.steps--;
this.timer=setTimeout(this.fadeTo.bind(this),b)
},changeOpacityBy:function(b){var a=this.getElementOpacity();
var c=Math.max(0,Math.min(a+b,1));
this.element.ricoOpacity=c;
this.element.style.filter="alpha(opacity:"+Math.round(c*100)+")";
this.element.style.opacity=c
},isFinished:function(){return this.steps<=0
},getElementOpacity:function(){if(this.element.ricoOpacity==undefined){var a=RicoUtil.getElementsComputedStyle(this.element,"opacity");
this.element.ricoOpacity=a!=undefined?a:1
}return parseFloat(this.element.ricoOpacity)
}};
Rico.Effect.AccordionSize=Class.create();
Rico.Effect.AccordionSize.prototype={initialize:function(f,e,g,a,d,b,c){this.e1=$(f);
this.e2=$(e);
this.start=g;
this.end=a;
this.duration=d;
this.steps=b;
this.options=arguments[6]||{};
this.accordionSize()
},accordionSize:function(){if(this.isFinished()){this.e1.style.height=this.start+"px";
this.e2.style.height=this.end+"px";
if(this.options.complete){this.options.complete(this)
}return
}if(this.timer){clearTimeout(this.timer)
}var a=Math.round(this.duration/this.steps);
var b=this.steps>0?(parseInt(this.e1.offsetHeight)-this.start)/this.steps:0;
this.resizeBy(b);
this.duration-=a;
this.steps--;
this.timer=setTimeout(this.accordionSize.bind(this),a)
},isFinished:function(){return this.steps<=0
},resizeBy:function(b){var d=this.e1.offsetHeight;
var a=this.e2.offsetHeight;
var c=parseInt(b);
if(b!=0){this.e1.style.height=(d-c)+"px";
this.e2.style.height=(a+c)+"px"
}}};
