/*
	Name: amitaca.org carousel js file
	Date: 26 Abr 2010
	Description: Home page Carousel management
	Version: 1.0
	Author: Jose Carlos Gil
	Autor URI: http://www.wezstudio.com
*/

/* Carousel */

function Carousel() {
	/* Config variables */
	this.autoPlay=true;
	this.currentItemNum=0;
	this.segundosAnim=3.5;

	/* private variables */
	this.doingTransition=false;
	this.timeout=null;



	/* methods */

	this.clickItem=function(itemNum) {
		this.cancelInterval();
		this.autoPlay=false;
		this.setItem(itemNum);
	}

	this.setItem=function(newItemNum) {
		if (this.doingTransition) {
			return;
		}
		if (newItemNum==this.currentItemNum) {
			return;
		}
		this.doingTransition=true;

		//set current control active
		$("#carousel_control a").eq(this.currentItemNum).removeClass('carousel_control_active_inf');
		$("#carousel_control a").eq(this.currentItemNum).removeClass('carousel_control_active_pri');
		$("#carousel_control a").eq(this.currentItemNum).removeClass('carousel_control_active_bat');
		$("#carousel_control a").eq(this.currentItemNum).removeClass('carousel_control_active_eso');
		
		var carousel_class="";
		switch(newItemNum)
		{
			case 0:
				carousel_class="carousel_control_active_inf";
				break;
			case 1:
				carousel_class="carousel_control_active_pri";
				break;
			case 2:
				carousel_class="carousel_control_active_eso";
				break;
			case 3:
				carousel_class="carousel_control_active_bat";
				break;
		}
		
		$("#carousel_control a").eq(newItemNum).addClass(''+carousel_class);

		//hideCurrentItem
		var carousel=this;
		$('#carousel > div').eq(this.currentItemNum).fadeOut('fast', function() {
			carousel.endFadeOutAnimation(newItemNum);
		});
	}

	this.endFadeOutAnimation=function(newItemNum) {
		//showItem
		var carouselItem=$("#carousel > div").eq(newItemNum);

		var carouselDesc=carouselItem.find(".carousel_item_desc");
		carouselDesc.hide();
		var carousel=this;
		carouselItem.fadeIn(function() {
			carousel.endFadeInAnimation(newItemNum, carouselDesc);
		});
	}

	this.endFadeInAnimation=function(newItemNum, carouselDesc) {
		carouselDesc.fadeIn('fast');

		this.currentItemNum=newItemNum;

		this.doingTransition=false;
	}


	this.play=function() {
		this.setCInterval();
	}

	this.setCInterval=function() {
		if (this.autoPlay) {
			//this.timeout=setTimeout("nextItemFn()",segundosAnim*1000);
			//this.timeout=setTimeout("self.nextItem", this.segundosAnim*1000);
			var carousel=this;
			this.timeout=setTimeout(function(){
				carousel.nextItem();
			}, this.segundosAnim*1000);
		}
	}

	this.cancelInterval=function() {
		if (this.timeout!=null) {
			clearTimeout(this.timeout);
		}
	}

	this.nextItem=function() {
		var maxItems=$("#carousel > div").size();
		var nextItemNum=this.currentItemNum+1;
		if (nextItemNum>=maxItems) {
			nextItemNum=0;
		}
		this.setItem(nextItemNum);
		this.setCInterval();
	}


}

var carousel=null;
$(document).ready(function() {
	carousel=new Carousel();
	carousel.play();
});		


