/*
 * jQuery Easing v1.1 - http://gsgd.co.uk/sandbox/jquery.easing.php
 * Copyright (c) 2007 George Smith
 * Licensed under the MIT License:
 *   http://www.opensource.org/licenses/mit-license.php
 */
jQuery = new Object();
jQuery.easing={
	easein:function(x,t,b,c,d){
		return c*(t/=d)*t+b
	},
	easeinout:function(x,t,b,c,d){
		if(t<d/2) 
		return 2*c*t*t/(d*d)+b;
		var a=t-d/2;
		return-2*c*a*a/(d*d)+2*c*a/d+c/2+b
	},
	easeout:function(x,t,b,c,d){
		return-c*t*t/(d*d)+2*c*t/d+b},
	expoin:function(x,t,b,c,d){
		var a=1;if(c<0){a*=-1;c*=-1}
		return a*(Math.exp(Math.log(c)/d*t))+b
	},
	expoout:function(x,t,b,c,d){
		var a=1;
		if(c<0){a*=-1;c*=-1}
		    return a*(-Math.exp(-Math.log(c)/d*(t-d))+c+1)+b
	},
	expoinout:function(x,t,b,c,d){
		var a=1;
		if(c<0){a*=-1;c*=-1}
		if(t<d/2)
		   return a*(Math.exp(Math.log(c/2)/(d/2)*t))+b;
		   return a*(-Math.exp(-2*Math.log(c/2)/d*(t-d))+c+1)+b
	},
	bouncein:function(x,t,b,c,d){
		return c-jQuery.easing['bounceout'](x,d-t,0,c,d)+b
	},
	bounceout:function(x,t,b,c,d){
		if((t/=d)<(1/2.75)){
			return c*(7.5625*t*t)+b
		}
		else if(t<(2/2.75)){
			return c*(7.5625*(t-=(1.5/2.75))*t+.75)+b
	    }
		else if(t<(2.5/2.75)){
			return c*(7.5625*(t-=(2.25/2.75))*t+.9375)+b
		}
		else{
			return c*(7.5625*(t-=(2.625/2.75))*t+.984375)+b
		}
	},
	bounceinout:function(x,t,b,c,d){
		if(t<d/2)
			return jQuery.easing['bouncein'](x,t*2,0,c,d)*.5+b;
			return jQuery.easing['bounceout'](x,t*2-d,0,c,d)*.5+c*.5+b
	},
	elasin:function(x,t,b,c,d){
		var s=1.70158;var p=0;var a=c;
		if(t==0)return b;
		if((t/=d)==1)
			return b+c;
		if(!p)p=d*.3;
		if(a<Math.abs(c)){
			a=c;var s=p/4
		}
		else 
			var s=p/(2*Math.PI)*Math.asin(c/a);
			return-(a*Math.pow(2,10*(t-=1))*Math.sin((t*d-s)*(2*Math.PI)/p))+b
	},
	elasout:function(x,t,b,c,d){
		var s=1.70158;var p=0;var a=c;
		if(t==0)return b;
		if((t/=d)==1)
		  	return b+c;
		if(!p)p=d*.3;
		if(a<Math.abs(c)){
			a=c;var s=p/4
		}else 
			var s=p/(2*Math.PI)*Math.asin(c/a);
			return a*Math.pow(2,-10*t)*Math.sin((t*d-s)*(2*Math.PI)/p)+c+b
	},
	elasinout:function(x,t,b,c,d){
		var s=1.70158;var p=0;var a=c;
		if(t==0)return b;
		if((t/=d/2)==2)return b+c;
		if(!p)p=d*(.3*1.5);
		if(a<Math.abs(c)){
			a=c;var s=p/4
		}else 
			var s=p/(2*Math.PI)*Math.asin(c/a);
		if(t<1)
			return-.5*(a*Math.pow(2,10*(t-=1))*Math.sin((t*d-s)*(2*Math.PI)/p))+b;
			return a*Math.pow(2,-10*(t-=1))*Math.sin((t*d-s)*(2*Math.PI)/p)*.5+c+b
	},
	backin:function(x,t,b,c,d){
		var s=1.70158;
		return c*(t/=d)*t*((s+1)*t-s)+b
	},
	backout:function(x,t,b,c,d){
		var s=1.70158;
		return c*((t=t/d-1)*t*((s+1)*t+s)+1)+b
	},
	backinout:function(x,t,b,c,d){
		var s=1.70158;
		if((t/=d/2)<1)
			return c/2*(t*t*(((s*=(1.525))+1)*t-s))+b;
		return c/2*((t-=2)*t*(((s*=(1.525))+1)*t+s)+2)+b
	},
	linear:function(x,t,b,c,d){
		return c*t/d+b
	}
};

