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;


script_loaded=true;