// XXXXXXXXXXXXX DHTML Transitions -- ©2000 alex da franca -- da.Franca@online.de XXXXXXXXXXXXXXXXXXXXX
// 1 EaseTweens.EaseIn
// 2 EaseTweens.EaseOut
// 3 EaseTweens.EaseInOut
// 4 EaseTweens.EaseInOutCos
// 5 EaseTweens.EaseOutBounce
// 6 EaseTweens.EaseInBack
// 7 EaseTweens.EaseOutBack
// 8 EaseTweens.EaseInOutBack



var EaseTweens = {
	Version: '1.0'
}

// -- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

EaseTweens.EaseIn = function(p, amount){
	if (isNaN(amount)) amount = 3;
	return (Math.pow(p,amount));
}

// -- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

EaseTweens.EaseOut = function(p, amount){
	if (isNaN(amount)) amount = 3;
	return (1 - Math.abs(Math.pow(p-1, amount)));
}

// -- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

EaseTweens.EaseInOutCos = function(p){
	return ((1 - Math.cos(p * Math.PI)) / 2.0);
}

// -- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

EaseTweens.EaseInOut = function(perc, amount){
	perc *= 2;
	if (perc < 1) {
		return ((Math.pow(perc, amount)) / 2.0);
	}
	else {
		perc -= 2;
		if (amount % 2) {
			return ((Math.pow(perc, amount) + 2) / 2.0);
		}
		else {
			return ((Math.pow(perc, amount) - 2) / -2.0);
		}
	}
}

// -- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

EaseTweens.EaseOutBounce = function(perc){
	if (perc < 1/2.75) {
		return (7.5625 * perc * perc);
	}
	else if (perc < 2/2.75) {
		perc -= (1.5/2.75);
		return (7.5625 * perc * perc + 0.75);
	}
	else if (perc < 2.5/2.75) {
		perc -= (2.25/2.75);
		return (7.5625 * perc * perc + 0.9375);
	}
	else {
		perc -= (2.625/2.75);
		return (7.5625 * perc * perc + 0.984375);
	}
}


// -- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

EaseTweens.EaseInBack = function(perc, strength){
	if (isNaN(strength)) strength = 1.70158;
	return (perc * perc * ((strength + 1) * perc - strength));
}

// -- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

EaseTweens.EaseOutBack = function(perc, strength){
	if (isNaN(strength)) strength = 1.70158;
	perc -= 1
	return (perc * perc * ((strength + 1) * perc + strength) + 1);
}

// -- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

EaseTweens.EaseInOutBack = function(perc, strength){
	if (isNaN(strength)) strength = 1.70158;
	perc *= 2
	if (perc < 1) {
		strength *= 1.525;
		return ((perc * perc * ((strength + 1) * perc - strength)) / 2.0)
	}
	else {
		perc -= 2;
		strength *= 1.525
		return ((perc * perc * ((strength + 1) * perc + strength) + 2) / 2.0)
	}
}
