/**
 *	Objeto que maneja el desplazamiento de la Marquesina
 */
var marquesina = function(idMarquesina)
{
	/**
	 *	Función para Establecer la Dirección de Desplazamiento hacia la Izquierda
	 */
	this.desplazarIzquierda = function()
	{
		this.direccion = 5;
	};
	/**
	 *	Función para Detener el Desplazamiento de la Marquesina
	 */
	this.detener = function()
	{
		this.direccion = 0;
	};
	/**
	 *	Función para Establecer la Dirección de Desplazamiento hacia la Derecha
	 */
	this.desplazarDerecha = function()
	{
		this.direccion = -5;
	};
	/**
	 *	Informa si la Marquesina se encuentra detenida
	 */
	this.isDetenida = function()
	{
		detenida = false;
		if (this.direccion == 0)
		{
			detenida = true;
		}
		return(detenida);
	}
	/**
	 *	Función para Desplazar la Marquesina
	 */
	this.mover = function()
	{
		if ((this.marquesina != null) && (this.marquesina != undefined))
		{

			this.posicionSocios1 -= this.direccion;
			this.posicionSocios2 -= this.direccion;
			
			if (this.direccion >= 0)
			{
				if (this.posicionSocios1 < (0 - this.anchoSocios))
				{
					this.posicionSocios1 = this.posicionSocios2 + this.anchoSocios;
				}
				if (this.posicionSocios2 < (0 - this.anchoSocios))
				{
					this.posicionSocios2 = this.posicionSocios1 + this.anchoSocios;
				}
			}
			else
			{
				if (this.posicionSocios1 > this.anchoSocios)
				{
					this.posicionSocios1 = this.posicionSocios2 - this.anchoSocios;
				}
				if (this.posicionSocios2 > this.anchoSocios)
				{
					this.posicionSocios2 = this.posicionSocios1 - this.anchoSocios;
				}
			}
	
			this.Socios1.style.left = this.posicionSocios1 + 'px';
			this.Socios2.style.left = this.posicionSocios2 + 'px';
		}
	};
	if (this.marquesina = document.getElementById(idMarquesina))
	{
		/**
		 *	Modifico los Estilos de la Marquesina
		 */
		this.marquesina.style.position = 'relative';
		this.marquesina.style.overflow = 'hidden';

		/**
		 *	Proceso los Socios para Generar 2 Tiras y quito todo aquello que no sea un span
		 */
		var Socios = this.marquesina.childNodes;
		var cantidadSocios = Socios.length;
		var arraySocios = new Array();
		this.anchoSocios = 0;
		
		/**
		 *		Genero la Primera Tira
		 */
		var Socios1 = document.createElement('div');
		Socios1.setAttribute('id', idMarquesina + 'Socios1');
		for (cont = (cantidadSocios - 1); cont >= 0; cont--)
		{
			if (Socios[cont].tagName == 'DIV')
			{
				this.anchoSocios += Socios[cont].clientWidth;
				var nodo = Socios[cont];
				var clonNodo = nodo.cloneNode(true);
				arraySocios[arraySocios.length] = clonNodo;
			}
			this.marquesina.removeChild(Socios[cont]);
		}
		for (cont = arraySocios.length - 1 ; cont >= 0 ; cont--)
		{
			Socios1.appendChild(arraySocios[cont]);
		}
		/**
		 *		Establezo los Estilos de la Primera Tira
		 */
		Socios1.style.width = this.anchoSocios + 'px';
		Socios1.style.left = 0 + 'px';
		Socios1.style.position = 'absolute';
		/**
		 *		Agrego la Primera Tira a la Marquesina
		 */
		this.marquesina.appendChild(Socios1);
		this.Socios1 = document.getElementById(Socios1.getAttribute('id'));
		/**
		 *		Clono la Primera Tira para obtener la Segunda
		 */
		Socios2 = this.Socios1.cloneNode(true);
		Socios2.setAttribute('id', idMarquesina + 'Socios2');
		/**
		 *		Establezco los Estilos para la Segunda Tira
		 */
		Socios2.style.left = this.anchoSocios + 'px';
		this.marquesina.appendChild(Socios2);
		this.Socios2 = document.getElementById(Socios2.getAttribute('id'));
		/**
		 *		Posiciono las dos Tiras
		 */
		this.posicionSocios1 = 0;
		this.posicionSocios2 = this.anchoSocios;
		/**
		 *		Establezado la dirección por defecto
		 */
		this.desplazarIzquierda();
	}
};

/**
 *	Inicio la Marquesina
 */
function iniciarMarquesina(idMarquesina)
{
	unaMarquesina = new marquesina(idMarquesina);
	intervaloMarquesina = setInterval(function() { unaMarquesina.mover(); }, 1);
}

function cargarXmlSocios()
{
	var peticionesAJAX = new colaAJAX('xml/socios.php');
	peticionesAJAX.addPeticion('deadVar=1', 'GET', true, 'limpiarDivSocios', 'armarHtmlSocios', '');
}

function limpiarDivSocios()
{
	document.getElementById('nuestros-socios').innerHTML = '';
}

function armarHtmlSocios(raizXML)
{
	if ((raizXML != null) && (raizXML != undefined) && ( contenedorMarquesina = document.getElementById('nuestros-socios')))
	{
		fecha = raizXML.getElementsByTagName('fecha')[0].childNodes[0].nodeValue;
		cantidad = raizXML.getElementsByTagName('cantidad')[0].childNodes[0].nodeValue;
		fechaH4 = document.createElement('h4');
		fechaH4.appendChild(document.createTextNode('Hoy ' + fecha + ', ' + cantidad + ' asociados nos prestigian usando nuestros servicios de comercio electr\u00F3nico:'));

		contenedorMarquesina.innerHTML = '';
		contenedorMarquesina.appendChild(fechaH4);
		if ((socios = raizXML.getElementsByTagName('socio')) && (socios.length > 0))
		{
			sociosDiv = document.createElement('div');
			sociosDiv.setAttribute('id', 'socios');
			for (cont = 0; cont < socios.length; cont++)
			{
				if ((socios[cont].hasChildNodes()))
				{
					socioDiv = document.createElement('div');
					socioDiv.appendChild(document.createTextNode(socios[cont].childNodes[0].nodeValue + ' - '));
					sociosDiv.appendChild(socioDiv);
				}
			}
			clearDiv = document.createElement('div');
			clearDiv.className = 'clear';
			sociosDiv.appendChild(clearDiv);
			contenedorMarquesina.appendChild(sociosDiv);
		}
		contenedorMarquesina.style.display = 'block';
	}
	iniciarMarquesina('socios');
}

/**
 *	Variables y Funciones para la Marquesina
 */
var unaMarquesina;

if (typeof window.onload != 'function')
{
	window.onload = cargarXmlSocios;
}
else
{
	var onLoadMarquesina = window.onload;
	window.onload = function()
       	{
	       if (onLoadMarquesina)
	       {
		       onLoadMarquesina();
	       }
	       cargarXmlSocios();
	};
}
