AJS.fx=
{
   _shades:{0:"ffffff",1:"ffffee",2:"ffffdd",3:"ffffcc",4:"ffffbb",5:"ffffaa",6:"ffff99"},highlight:function(_1,_2)
   {
      var _3=new AJS.fx.Base();
      _3.elm=AJS.$(_1);
      _3.options.duration=600;
      _3.setOptions(_2);
      AJS.update(_3,
      {
         increase:function()
         {
            if(this.now==7)
            {
               _1.style.backgroundColor="#fff";
            }
            else
            {
               _1.style.backgroundColor="#"+AJS.fx._shades[Math.floor(this.now)];
            }
         }
      });
      return _3.custom(6,0);
   },fadeIn:function(_4,_5)
   {
      _5=_5||{};
      if(!_5.from)
      {
         _5.from=0;
         AJS.setOpacity(_4,0);
      }
      if(!_5.to)
      {
         _5.to=1;
      }
      var s=new AJS.fx.Style(_4,"opacity",_5);
      return s.custom(_5.from,_5.to);
   },fadeOut:function(_7,_8)
   {
      _8=_8||{};
      if(!_8.from)
      {
         _8.from=1;
      }
      if(!_8.to)
      {
         _8.to=0;
      }
      _8.duration=300;
      var s=new AJS.fx.Style(_7,"opacity",_8);
      return s.custom(_8.from,_8.to);
   },setWidth:function(_a,_b)
   {
      var s=new AJS.fx.Style(_a,"width",_b);
      return s.custom(_b.from,_b.to);
   },setHeight:function(_d,_e)
   {
      var s=new AJS.fx.Style(_d,"height",_e);
      return s.custom(_e.from,_e.to);
   }
};
AJS.fx.Base=new AJS.Class(
{
   init:function(_10)
   {
      this.options=
      {
         onStart:function()
         {
         },onComplete:function()
         {
         },transition:AJS.fx.Transitions.sineInOut,duration:500,wait:true,fps:50
      };
      AJS.update(this.options,_10);
      AJS.bindMethods(this);
   },setOptions:function(_11)
   {
      AJS.update(this.options,_11);
   },step:function()
   {
      var _12=new Date().getTime();
      if(_12<this.time+this.options.duration)
      {
         this.cTime=_12-this.time;
         this.setNow();
      }
      else
      {
         setTimeout(AJS.$b(this.options.onComplete,this,[this.elm]),10);
         this.clearTimer();
         this.now=this.to;
      }
      this.increase();
   },setNow:function()
   {
      this.now=this.compute(this.from,this.to);
   },compute:function(_13,to)
   {
      var _15=to-_13;
      return this.options.transition(this.cTime,_13,_15,this.options.duration);
   },clearTimer:function()
   {
      clearInterval(this.timer);
      this.timer=null;
      return this;
   },_start:function(_16,to)
   {
   if(!this.options.wait)
   {
      this.clearTimer();
   }
   if(this.timer)
   {
      return;
   }
   setTimeout(AJS.$p(this.options.onStart,this.elm),10);
   this.from=_16;
   this.to=to;
   this.time=new Date().getTime();
   this.timer=setInterval(this.step,Math.round(1000/this.options.fps));
   return this;
   },custom:function(_18,to)
   {
      return this._start(_18,to);
   },set:function(to)
   {
      this.now=to;
      this.increase();
      return this;
   },setStyle:function(elm,_1c,val)
   {
      if(this.property=="opacity")
      {
         AJS.setOpacity(elm,val);
      }
      else
      {
         AJS.setStyle(elm,_1c,val);
      }
   }
});
AJS.fx.Style=AJS.fx.Base.extend(
{
init:function(elm,_1f,_20)
{
   this.parent();
   this.elm=elm;
   this.setOptions(_20);
   this.property=_1f;
},increase:function()
{
   this.setStyle(this.elm,this.property,this.now);
}
});
AJS.fx.Styles=AJS.fx.Base.extend(
{
   init:function(elm,_22){
   this.parent();
   this.elm=AJS.$(elm);
   this.setOptions(_22);
   this.now={};
   },setNow:function()
   {
      for(p in this.from)
      {
         this.now[p]=this.compute(this.from[p],this.to[p]);
      }
   },custom:function(obj)
   {
      if(this.timer&&this.options.wait)
      {
         return;
      }
      var _24={};
      var to={};
      for(p in obj)
      {
         _24[p]=obj[p][0];
         to[p]=obj[p][1];
      }
      return this._start(_24,to);
   },increase:function()
   {
      for(var p in this.now)
      {
         this.setStyle(this.elm,p,this.now[p]);
      }
   }
});
AJS.fx.Transitions=
{
   linear:function(t,b,c,d)
   {
      return c*t/d+b;
   },sineInOut:function(t,b,c,d)
   {
      return -c/2*(Math.cos(Math.PI*t/d)-1)+b;
   }
};
script_loaded=true;
