// Inicialización de widgets
if (typeof ElEconomistaWidgetInicializar == 'undefined') {
	function ElEconomistaWidgetInicializar() {
		// Cotizaciones
		var widgets = document.getElementsByTagName("div");
		var idWidget = 0;
		for (var i = 0; i < widgets.length; i++) {
			if (widgets[i].className == "el_economista_widget_cotizacion") {
				var atributos = (widgets[i].getAttribute("rel")).split("#");
				var widget = new ElEconomistaWidgetCotizacion(idWidget, atributos[0], atributos[1]);
				eval("ElEconomistaWidgetCotizacion_" + idWidget + " = widget;");
				idWidget++;
			}
		}
	}
}

// Añade funciones que se ejecutarán al cargar la página
if (typeof addLoadListener == 'undefined') {
	function addLoadListener(fn) {
		if (typeof window.addEventListener != 'undefined') window.addEventListener('load', fn, false);
		else if (typeof document.addEventListener != 'undefined') document.addEventListener('load', fn, false);
		else if (typeof window.attachEvent != 'undefined') window.attachEvent('onload', fn);
		else {
			var oldfn = window.onload;
			if (typeof window.onload != 'function') window.onload = fn;
			else window.onload = function() { oldfn(); fn(); };
		}
	}
}

// Crea la clase de objetos widget de cotización
addLoadListener(ElEconomistaWidgetInicializar);
if (typeof ElEconomistaWidgetCotizacion == 'undefined') {
	function ElEconomistaWidgetCotizacion(id, cotizaciones, template) {
		this.cotizaciones = cotizaciones;
		this.template = template;
		this.id = id;
		this.div = "el_economista_widget_cotizacion_" + id;
		this.divContenido = "el_economista_widget_cotizacion_contenido_" + id;
		this.datos = null;
		var divsWidget = new Array();
		var divs = document.getElementsByTagName("div");
		for (var i = 0; i < divs.length; i++) if (divs[i].className == "el_economista_widget_cotizacion") divsWidget.push(divs[i]);
		divsWidget[id].id = this.div;
		var flag = false;
		for (var i = 0; i < divsWidget[id].childNodes.length; i++) {
			if (divsWidget[id].childNodes[i].className == "cabecera-economista") flag = true; 
			if (divsWidget[id].childNodes[i].className == "contenido-economista") divsWidget[id].childNodes[i].id = this.divContenido; 
		}
		this.obtenerDatos = ElEconomistaWidgetCotizacion_ObtenerDatos;
		this.pintarDatos = ElEconomistaWidgetCotizacion_PintarDatos;
		this.obtenerEstilos = ElEconomistaWidgetCotizacion_ObtenerEstilos;
		if (!flag) {
			alert("La estructura del widget no es correcta");
			return;
		}
		this.obtenerEstilos();
		this.obtenerDatos();
	}
	function ElEconomistaWidgetCotizacion_ObtenerDatos() {
		sc = document.getElementById(this.div + "_js");
		con = document.getElementById(this.div);
		if (sc) con.removeChild(sc);
		sc = document.createElement("script");
		sc.id = this.div + "_js";
		con.appendChild(sc);
		sc.src = "http://www.eleconomista.es/widgets/cotizacion-datos.php?widget=ElEconomistaWidgetCotizacion_" + this.id + "&cotizacion=" + this.cotizaciones;
		setTimeout("ElEconomistaWidgetCotizacion_" + this.id + ".obtenerDatos()", 60000);
	}
	function ElEconomistaWidgetCotizacion_PintarDatos() {
		sc = document.getElementById(this.divContenido);
		var datos = this.datos.valores;
		var contenido = "";
		contenido += "<div id=\"cotizacion-economista\">";
		for (var i = 0; i < datos.length; i++) {
			contenido += "<div class=\"datos-economista\">";
			contenido += "<table class=\"eco-tabla\">";
			contenido += "<tbody>";
			contenido += "<tr class=\"eco-name\">";
			contenido += "<td colspan=\"2\">";
			contenido += "<a href=\"" + datos[i].url + "\">" + datos[i].cotizacion + "</a>";
			contenido += "</td>";
			contenido += "</tr>";
			//contenido += "<tr><td>Precio:</td><td>" + datos[i].valor + "</td></tr>";
			contenido += "<tr><td>Variaci&oacute;n:</td><td><span class=\"accion" + datos[i].estado + "\">" + datos[i].diferencia + "</span></td></tr>";
			contenido += "<tr><td>Hora:</td><td>" + datos[i].hora + "</td></tr>";
			contenido += "</tr>";
			contenido += "</table>";
			contenido += "</div>";
			if (datos[i].grafico == "on") {
				contenido += "<div class=\"grafico-economista\">";
				if (this.template == "160-white") contenido += "<a href=\"" + datos[i].url + "\"><img src=\"http://www.eleconomista.es/Graficos/graficaIntradia_Reducida.php?idQuote=" + datos[i].id + "\" /></a>";
				else if (this.template == "160-black") contenido += "<a href=\"" + datos[i].url + "\"><img src=\"http://www.eleconomista.es/Graficos/graficaIntradiaNegro_Reducida.php?idQuote=" + datos[i].id + "\" /></a>";
				else if (this.template == "250-white") contenido += "<a href=\"" + datos[i].url + "\"><img src=\"http://www.eleconomista.es/Graficos/graficaIntradia.php?idQuote=" + datos[i].id + "\" /></a>";
				else if (this.template == "250-black") contenido += "<a href=\"" + datos[i].url + "\"><img src=\"http://www.eleconomista.es/Graficos/graficaIntradiaNegro.php?idQuote=" + datos[i].id + "\" width=\"240\" width=\"154\" /></a>";
				contenido += "</div>";
			}
			sc.innerHTML = contenido;
		}
	}
	function ElEconomistaWidgetCotizacion_ObtenerEstilos() {
		var cssElementCheck = document.getElementById(this.div + "_css");
		if (cssElementCheck) cssElementCheck.parentNode.removeChild(cssElementCheck);
		var cssElement = document.createElement("link");
		cssElement.id = this.div + "_css";
		cssElement.rel = "stylesheet";
		cssElement.type = "text/css";
		document.getElementsByTagName("head")[0].appendChild(cssElement);
		cssElement.href = "http://www.eleconomista.es/widgets/cotizacion-estilos.php?div=" + this.div + "&template=" + this.template;
	}
}