/**
emutslider
**/

(function($) {

	var params 		= new Array;
	var divs		= new Array;
	var interval	= new Array;
	
	$.fn.emutslider = function(options){
		
		init = function(elem){
							
			divs[elem.id]		= new Array();
			
				
			params[elem.id] = $.extend({}, $.fn.emutslider.defaults, options);
			params[elem.id].next=0;
			
			// create images, links and titles arrays
			j=0;

			$.each($('#'+elem.id+' div.'+params[elem.id].class_div), function(i,item){
					divs[elem.id][j] 		= $(item).attr('id');
					$(item).hide();
					$(item).next().hide();
					j=j+1;
			});
						
			$.confPausas(elem);
			
			if(params[elem.id].navigation)
				$.confNavigation(elem);
						
			$.transicion(elem);
			$.llamadaTransicion(elem);
		
		}
		
		// pausas
		$.confPausas = function(elem){
			
			if(params[elem.id].hoverPause){	
				$("#"+elem.id+' div.'+params[elem.id].class_div).mouseover(function(){
					params[elem.id].pause = 1;
				});
			
				$("#"+elem.id+' div.'+params[elem.id].class_div).mouseout(function(){
					params[elem.id].pause = 0;
				});	
				
			}
					
		};
				
		
		$.llamadaTransicion = function(elem){
		
			clearInterval(interval[elem.id]);	
			delay = params[elem.id].delay;
			interval[elem.id] = setInterval(function() { $.transicion(elem)  }, delay);
			
		}
		
		// transiciones
		$.transicion = function(elem,ira){
			
			if(params[elem.id].pause == 1) return;
			
			$.each($('#'+elem.id+' div.'+params[elem.id].class_div), function(i,item){
					$("#"+$(item).attr('id')).hide();
			});
			
			
			
			if(typeof(ira) == "undefined")
				params[elem.id].next=params[elem.id].next;
			else
				params[elem.id].next = ira;
			
			
			$("#"+divs[elem.id][params[elem.id].next]).show();
			$("#"+divs[elem.id][params[elem.id].next]).css({ 'opacity' : 0 }).animate({ 'opacity' : params[elem.id].opacity }, params[elem.id].titleSpeed);
						
			$('.cs-button-'+elem.id).removeClass('cs-active');
			$('#cs-button-'+elem.id+"-"+(params[elem.id].next+1)).addClass('cs-active');
			
			params[elem.id].next=params[elem.id].next+1;
			if(params[elem.id].next>=divs[elem.id].length){params[elem.id].next=0;}
			
			
															
			//$('#'+elem.id).css({ 'opacity' : 0 }).animate({ 'opacity' : params[elem.id].opacity }, params[elem.id].titleSpeed);
				
		};
		
		
		// navigation
		$.confNavigation = function(elem){

			$(elem).append("<div id='cs-navigation-"+elem.id+"'></div>");
			$('#cs-navigation-'+elem.id).hide();
			
			// image buttons
			$("<div id='cs-buttons-"+elem.id+"' class='cs-buttons'></div>").appendTo($('#'+elem.id));

			
			for(k=1;k<divs[elem.id].length+1;k++){
				$('#cs-buttons-'+elem.id).append("<a href='#' class='cs-button-"+elem.id+"' id='cs-button-"+elem.id+"-"+k+"'>"+k+"</a>");
			}
			
			$.each($('.cs-button-'+elem.id), function(i,item){
				$(item).click( function(e){
					$('.cs-button-'+elem.id).removeClass('cs-active');
					$(this).addClass('cs-active');
					e.preventDefault();
					$.transicion(elem,i);
					$.llamadaTransicion(elem);				
				})
			});	
			
			$('#cs-navigation-'+elem.id+' a').mouseout(function(){
				$('#cs-navigation-'+elem.id).hide();
				params[elem.id].pause = 0;
			});						

			$("#cs-buttons-"+elem.id).css({
				'position'		: 'relative'
				//'width'			: '100%'
			});
			
				
		}

	this.each (
		function(){ init(this); }
	);
	

	};
	
	
	// default values
	$.fn.emutslider.defaults = {	
		delay: 4000, // delay between images in ms
		opacity: 1, // opacity of title and navigation
		titleSpeed: 1000, // speed of title appereance in ms
		navigation: true, // prev next and buttons
		hoverPause: true,
		class_div: ''
	};	
	
})(jQuery);
	
