$(document).ready(function() 
{
	// Inicialización de variables
	var cintas			= new Array();
	var contenedores 	= $('.listaMarcas');
	for(var i = 0; i < contenedores.length; i++)
	{
		var contenedor = contenedores.eq(i);
		var cinta = {
			
			contenedor:contenedor,
			listado:null,
			imagenes:null,
			anchoImagen:null,
			margen:10,
			sentido:(i%2) ? -1 : 1,
			velocidad:0,
			velocidadBase:1,
			proximaVelocidad:null,
			desplazamiento:0,
			btnleft:null,
			btnright:null,
			
			inicializar:function()
			{
				var principal = this;
				var j;
				
				// Inicialización
				this.listado 			= this.contenedor.children('ul');
				this.imagenes			= this.listado.children('li');
				this.proximaVelocidad 	= this.velocidadBase * this.sentido;
				this.anchoImagen 		= this.imagenes.eq(0).width();
				for(j = 1; j < this.imagenes.length; j++) 
				{
					if(this.imagenes.eq(j).width() > this.anchoImagen)
						this.anchoImagen = this.imagenes.eq(j).width();
				}
				
				this.contenedor.css( { 'overflow':'hidden' } );
				this.imagenes.css( { 'position':'absolute', 'float':'none', 'width':this.anchoImagen } );
				if((this.anchoImagen + this.margen) * this.imagenes.length - this.margen < this.contenedor.width())
				{
					var margenExacto = (this.contenedor.width() - this.anchoImagen * this.imagenes.length) / (this.imagenes.length + 1);
					var n = margenExacto;
					for(j = 0; j < this.imagenes.length; j++) 
					{
						this.imagenes.eq(j).css( { 'margin-left':n } );
						n += margenExacto + this.anchoImagen;
					}
					return; 
				}
				for(j = 0; j < this.imagenes.length; j++) 
				{
					this.imagenes.eq(j).css( { 'margin-left':((this.anchoImagen + this.margen) * j) } );
				}
				
				this.btnleft = $(document.createElement('div')).addClass('flechaDerecha');
				this.btnright = $(document.createElement('div')).addClass('flechaIzquierda');
				
				
				// Eventos
				
				// Funcionamiento flecha izquierda
				this.btnleft.click(function() { principal.velocidad -= 5; } );
				this.btnleft.mouseover(function() { 
					principal.sentido = -1; 
					principal.proximaVelocidad = principal.velocidadBase * principal.sentido;
				} );
				
				// Funcionamiento flecha derecha
				this.btnright.click(function() { principal.velocidad += 5; } );
				this.btnright.mouseover(function() {
					principal.sentido = 1;
					principal.proximaVelocidad = principal.velocidadBase * principal.sentido;
				} );
				
				// Se muestran las flechas
				this.contenedor.append(this.btnleft, this.btnright);
				this.contenedor.mouseover(function() {
					principal.btnleft.stop().fadeTo(500, 1);
					principal.btnright.stop().fadeTo(500, 1);
				} );
				
				// Se ocultan las flechas
				this.contenedor.mouseout(function() {
					principal.btnleft.stop().fadeTo(500, 0);
					principal.btnright.stop().fadeTo(500, 0);
				} );
				
				this.contenedor.mouseout();
				
				// Intervalo
				this.contenedor.everyTime(40, function () {
					principal.desplazamiento 	+= principal.velocidad;
					principal.velocidad 		+= (principal.proximaVelocidad - principal.velocidad) * 0.05;
					for(var j = 0; j < principal.imagenes.length; j++) 
					{
						var anchoTotal 	= principal.imagenes.eq(j).width() + principal.margen;
						var posicion 	= anchoTotal * j + principal.desplazamiento;
						
						if(posicion < -anchoTotal) posicion = (anchoTotal * principal.imagenes.length) + anchoTotal * j + principal.desplazamiento;
						else if(posicion > (anchoTotal * (principal.imagenes.length - 1))) posicion = 0 + anchoTotal * (j - principal.imagenes.length) + principal.desplazamiento;
						
						principal.imagenes.eq(j).css( { 'margin-left':posicion } );
						principal.desplazamiento = principal.desplazamiento%(anchoTotal * principal.imagenes.length);
					}
				} );
				
				// Se detiene el movimiento
				this.imagenes.mouseover(function() {
					principal.proximaVelocidad = 0;
					//sentido *= -1;
				} );
				
				// Continua el movimiento
				this.imagenes.mouseout(function() {
					principal.proximaVelocidad = principal.velocidadBase * principal.sentido;
				} );
				
			}
		}
		cinta.inicializar();
		cintas.push(cinta);
	}
	
	/*var contenedor 	= $('.listaMarcas');
	var listado		= $('.listaMarcas ul');
	var imagenes	= $('.listaMarcas li');
	var anchoImagen	= 70;
	var margen		= 10;
	var sentido		= -1;
	var velocidad	= 0;
	var velocidadBase = 1;
	var proximaVelocidad = velocidadBase * sentido;
	var desplazamiento = 0;
	
	// Inicialización
	imagenes.css( { 'position':'absolute', 'float':'none' } );
	for(var i = 0; i < imagenes.length; i++) imagenes.eq(i).css( { 'margin-left':((anchoImagen + margen) * i) } );
	
	// Navegación
	var btnleft = $(document.createElement('div')).addClass('flechaDerecha');
	var btnright = $(document.createElement('div')).addClass('flechaIzquierda');
	
	btnleft.click(function() { velocidad -= 5; } );
	btnleft.mouseover(function() 
	{ 
		sentido = -1; 
		proximaVelocidad = velocidadBase * sentido;
	} );
	
	btnright.click(function() { velocidad += 5; } );
	btnright.mouseover(function()
	{
		sentido = 1;
		proximaVelocidad = velocidadBase * sentido;
	} );
	
	contenedor.append(btnleft, btnright);
	contenedor.mouseover(mostrarFlechas);
	contenedor.mouseout(ocultarFlechas);
	
	ocultarFlechas();
	
	// Procedimiento de eventos
	$(document).everyTime(40, function desplazar() // Intervalo
	{
		desplazamiento += velocidad;
		velocidad += (proximaVelocidad - velocidad) * 0.05;
		
		for(var i = 0; i < imagenes.length; i++) 
		{
			var anchoTotal = imagenes.eq(i).width() + margen;
			var posicion = anchoTotal * i + desplazamiento;
			
			if(posicion < -anchoTotal) posicion = (anchoTotal * imagenes.length) + anchoTotal * i + desplazamiento;
			else if(posicion > (anchoTotal * (imagenes.length - 1))) posicion = 0 + anchoTotal * (i - imagenes.length) + desplazamiento;
			
			imagenes.eq(i).css( { 'margin-left':posicion } );
			desplazamiento = desplazamiento%(anchoTotal * imagenes.length);
		}
	} );
	
	imagenes.mouseover(function()
	{
		proximaVelocidad = 0;
		//sentido *= -1;
	} );
	
	imagenes.mouseout(function()
	{
		proximaVelocidad = velocidadBase * sentido;
	} );
	
	function mostrarFlechas() 
	{
		btnleft.clearQueue();
		btnright.clearQueue();
		btnleft.fadeTo(500, 1);
		btnright.fadeTo(500, 1);
	};
	
	function ocultarFlechas() 
	{
		btnleft.clearQueue();
		btnright.clearQueue();
		btnleft.fadeTo(500, 0);
		btnright.fadeTo(500, 0);
	};*/
	
} );
