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;
