// requires /yui/animation/animation.js

// namespace shortcuts & definitions
var $C = YAHOO.util.Connect;

var Anim = window.Anim || {};

Anim = {
	loadedContent: null,

	fadeIn: function (obj) {
		var anim = new YAHOO.util.Anim(obj, {opacity: {to:1}}, 1);  
		anim.animate(); 
	},
	
	spotlight: function (obj, cName) {
		$D.removeClass(obj, cName);
		
		var endColor = $D.getStyle(obj, 'background-color');

		$D.addClass(obj, cName);
		if (this.spotlightColor==null)
			this.spotlightColor = $D.getStyle(obj, 'background-color');

		$D.setStyle(obj, 'background-color', this.spotlightColor);

		obj.style.backgroundColor = '#ff9629';
		
		var anim = new YAHOO.util.ColorAnim(obj, {backgroundColor: {to: endColor}}, .3);  
		anim.animate();
	},
	
	
	slideContent: function (container, content, x, y) {
		if (x==null) x = 0;
		if (y==null) y = 0;

		var rollOutAnim = new YAHOO.util.Motion(container, {points: { by: [x, y]}}, .7, YAHOO.util.Easing.easeIn);  
		rollOutAnim.onComplete.subscribe (
			function() {
				container.innerHTML = content;
				var rollInAnim = new YAHOO.util.Motion(container, {points: { by: [-x, -y]}}, .7, YAHOO.util.Easing.easeOut);  
				rollInAnim.animate();
			}
		);  
		
		rollOutAnim.animate();
	},
	
	slideContentOnLoad: function (o, container, options) {
		x = (options.x==null) ? 0 : options.x;
		y = (options.y==null) ? 0 : options.y;
		speed = (options.speed==null) ? 1 : options.speed;
		container = document.getElementById(container);
	
		var slideOutAnim = new YAHOO.util.Motion(container, {points: { by: [x, y]}}, speed, YAHOO.util.Easing.easeIn);  
		slideOutAnim.onComplete.subscribe(function() {Anim.slideBack(o, container, options)});  
		
		slideOutAnim.animate();
	},
	
	slideBack: function(o, container, options) {
		if (!$C.isCallInProgress(o)) {
			x = (options.x==null) ? 0 : options.x;
			y = (options.y==null) ? 0 : options.y;
			speed = (options.speed==null) ? 1 : options.speed;

			container.innerHTML = this.loadedContent;
			var slideInAnim = new YAHOO.util.Motion(container, {points: { by: [-x, -y]}}, speed, YAHOO.util.Easing.easeOut);  
			slideInAnim.animate();
		}
		else {
			setTimeout(function(){Anim.slideBack(o, container, options)}, 400);
		}
	}
}