/**
 * Procesos para carga dinámica de datos
 * 
 * Librería utilizada: jQuery (jquery.com)
 * 
 * @author: arcww.es
 */

/**
 * Variables globales */
var arrLista=[];
var ind=-1;
var f=document;

// Variables necesarias para balances, resultados y anuarios
var anios 		= new Array();
var aniosan 	= new Array();
var meses 		= new Array("01","02","03","04","05","06","07","08","09","10","11","12");
var trimestres 	= new Array("03","06","09","12");
var d 			= new Date();
var urlComentarios, m, ma, v_mes_ini, v_anio_ini, v_anio_inian, v_ind, v_urlComentarios, v_tipon, v_tipov, v_periodo;

var este_anio 	= d.getFullYear();

/**
 * Rutas de los agentes */
var apuntes_coyuntura 	= "http://gn.vinea.es/apuncoy.nsf/WapuntesXmlAG?openagent";
var balances			= "http://hidra5.ceca.es/2000/bacuan.nsf/wtiposf?readform";
var inidir 				= "http://hidra5.ceca.es/2000/bacuan.nsf/";
var xbrl 				= "http://hidra5.ceca.es/2000/bacuan.nsf/wtiposjs2f?readform";

var url_swfObject 		= "js/swfobject.js";
var url_cajas	 		= "js/cajas.js";

var urlMensaje = "mensaje.html";
var urlBlog = "blog.html";

/**
 * Esperamos a que el documento cargue todo el contenido para empezar a trabajar con el */ 
$(document).ready(function(){
	/** 
	 * Cargamos el objeto swfObject para cargar los contenidos en flash */
	// Reemplazamos las cabeceras por un swf
	$.getScript(url_swfObject, function(){
		var cabecera = "";
		if ($('#index').html() != null) {
			cabecera = "videoCabecerahome";
		}else if ($('#section_02').html() != null) {
			cabecera = "videoCabeceraCajas";
		}else if ($('#section_03').html() != null) {
			cabecera = "videoCabeceraObra";
		}else if ($('#section_04').html() != null) {
			cabecera = "videoCabeceraActualidad";
		}else if ($('#section_05').html() != null) {
			cabecera = "VideoCabeceraExtra";
		}else if ($('#section_06').html() != null) {
			cabecera = "VideoCabeceraCongreso";
		}else {
			cabecera = "VideoCabeceraExtra";
		}
		if (cabecera != "") {
			var so = new SWFObject("swf/cabeceras/" + cabecera + ".swf?ran=5735284", "sotester", "100%", "100%", "9", "#E5E5E5");
			so.addParam("scale", "noscale");
			so.write("branding");
		}
		// si estamos en la home ponemos el banner de obra social
		if ($("#banner_home").html() != null){
			var so2 = new SWFObject("swf/banner_home.swf?ran=5735284", "sotester", "100%", "100%", "9", "#E5E5E5");
			so2.addParam("scale", "noscale");
			so2.write("banner_home");
		}
		/**
		 * Una vez cargadas las cabeceras vamos a listar las cajas que aparecen en el lateral */
		if ($("#mycarousel").html() != null){
			load_listadoCajas();
		}
		
	});
	/**
	 * Carga de los tipos de interes de referencia */
	$('#tipos_interes').change(function(){
		var anio = "";
		$("select option:selected").each(function () {
			anio += $(this)[0].value;
		});
		if (anio=="" || anio=="0"){
			window.location = 'tipos-de-interes-de-referencia.html';
		}else{
			window.location = 'tipos-de-interes-de-referencia_'+anio+'.html';
		}
	});
	/**
	 * Carga de las memorias RSC */
	$('#memorias_index').change(function(){
		$("select option:selected").each(function () {
			window.open($(this)[0].value);
		});
	});
	/**
	 * Sección: listado de cajas, cargamos las cajas */
	if ($('#nav_cajas_section').html() != null){
		$.getScript(url_cajas, function(){
			$("#nav_cajas_section").html("");
			var i;
			//cajas.sort();
			for(i=0;i<=cajas.length-1;i++){
				var li = "<li style=\"background:url(img/content/iconos-cajas/"+cajas[i][1]+".gif) no-repeat top left !important;\">";
				li += "<a href=\"http://"+cajas[i][1]+"/\">"+cajas[i][0]+"</a>\n<ul class=\"popup\">\n";
				li += "<li class=\"url\"><a href=\"http://"+cajas[i][1]+"/\" target=\"_blank\" title=\"Abre ventana nueva\">"+cajas[i][1]+"</a></li>\n";
				li += "<li>"+cajas[i][2]+" sucursales</li>";
				
				/******seccion de contactos********/
				//li += "<li class=\"contact\">Contacto: <a href=\"mailto:"+cajas[i][4]+"\" title=\"Abre gestor de correo\">"+cajas[i][3]+"</a></li></ul></li>";
				/*********************************/
				
				$("#nav_cajas_section").append(li);
			}			
		});
		
	}
});

/**************
 * Funciones */

/**
 * Vamos a rellenar el listado de cajas que aparece en el lateral
 */
function load_listadoCajas(){
	// cargamos el javascript con el array de cajas
	$.getScript(url_cajas, function(){
		$("#mycarousel").html("");
		for(i=0;i<=cajas.length-1;i++){
			var li = "<li><a href=\"http://"+cajas[i][1]+"/\" target=\"_blank\" title=\"Abre ventana nueva. Visitar web de "+cajas[i][0]+"\">";
			li += cajas[i][0]+"</a></li>";
			$("#mycarousel").append(li);
		}
		// Creamos el carrouser vertical para el directorio de cajas
		$('#mycarousel').jcarousel({
	        vertical: true,
	        scroll: 1,
			animation: "fast"
	    });
		/**
		 * Una vez hecha la carga vamos a comprobar en que sección estamos para realizar la carga de otro contenido */
		// comprobamos que estamos en la página de balances para hacer la carga de estos 
		if ($('.balances_resutados').html() != null){
			$.getScript(balances, function(){
				// recuperamos las variables del agente
				v_mes_ini = mes_ini;
				v_anio_ini = anio_ini;
				v_anio_inian = anio_inian;
				v_ind = ind;
				v_urlComentarios = urlComentarios;
				v_tipon = tipon; 
				v_tipov = tipov;
				v_periodo = periodo;
				ini_balances();
			});
		}
		// comprobamos que estamos en apuntes de coyuntura, para cargar los datos y no cargarlos en todas las páginas 
		if ($('#apuntes_coyuntura').html() != null){ // recuperamos el array javascript una vez la página ha cargado
			load_apuntes();
		}
	});
}

/**
 * Cargamos los apuntes de coyuntura y preparamos el contenido a mostrar */
function load_apuntes(){
	$.getScript(apuntes_coyuntura, function(){
		//arrLista.sort();
		crearListaApuntesCoyuntura(); // Cargamos el select con los años disponibles
		// Cargamos el contenido del último año
		if (arrLista.length>0){
			var nodo = arrLista[0];
			cargarApuntesCoyuntura(nodo.anio); // Como contenido predeterminado cargamos los datos del último año
		}
		// Damos al select con los años la acción de que cuando cambie de estado cargue el año seleccionado por el usuario
		$('#apuntes_coyuntura').change(function(){
			numtr = arrLista.length;
			$('#listapuntes').html('');
			cargarApuntesCoyuntura(this.value);
		});
	});
}

/**
 * Rellenamos el select de apuntes con los años que nos llegan en el agente */
function crearListaApuntesCoyuntura(){
	numtr = arrLista.length;
	for (i = 0; i < numtr; i++) {
		var nodo = arrLista[i];
		var o = document.createElement("option");
		o.innerHTML = nodo.anio;
		o.value = nodo.anio;
		$('#apuntes_coyuntura').append(o);
	}
}

/**
 * Listamos los apuntes para el año seleccionado del select
 * 
 * @param {integer} year
 */
function cargarApuntesCoyuntura(year){
	numtr = arrLista.length;
	document.getElementById("listapuntes").innerHTML = "";
	
	if (year == 0) {
		document.getElementById("listapuntes").innerHTML = "Seleccione un año del listado de arriba para poder descargar los apuntes de coyuntura de ese año.";
	}
	else {
		for (i = 0; i < numtr; i++) {
			var nodo = arrLista[i];
			var u = document.createElement("ul");
			if (nodo.anio == year) {
				var datos = nodo.meses;
				var numtd = datos.length;
				var l = document.createElement("li");
				var contenidoLi;
				contenidoLi = "<h4>Apuntes de coyuntura del año " + year + "</h4><br />";
				contenidoLi += "Pincha sobre el enlace del pdf para descargar el documento<br />";
				l.innerHTML = contenidoLi;
				u.appendChild(l);
				for (j = 0; j < numtd; j++) {
					var l = document.createElement("li");
					var t = datos[j];
					var a = document.createElement("a");
					a.innerHTML = "Mes de "+(nombreMes(t.split("##")[0])).toLowerCase() + " de "+year+" ";
					a.className = "pdf-icon";
					a.href = t.split("##")[2];
					a.target = "new";
					l.appendChild(a);
					
					var s = document.createElement("span");
					s.innerHTML = t.split("##")[1];
					l.appendChild(s);
					u.appendChild(l);
				}
				document.getElementById("listapuntes").appendChild(u);
			}
		}
		if (document.getElementById("listapuntes").innerHTML == ""){
			document.getElementById("listapuntes").innerHTML = "No hay apuntes en este año";
		}
		$('#apuntes_coyuntura').show(500);
	}
}
/**
 * Damos nombre a un mes
 * @param {integer} mesNumerico */
function nombreMes(mesNumerico){
	mesNumerico = parseInt(mesNumerico);
	var mesTexto = "";
	switch (mesNumerico){
		case 1:
			mesTexto = "Enero";
		break;
		case 2:
			mesTexto = "Febrero";
		break;
		case 3:
			mesTexto = "Marzo";
		break;
		case 4:
			mesTexto = "Abril";
		break;
		case 5:
			mesTexto = "Mayo";
		break;
		case 6:
			mesTexto = "Junio";
		break;
		case 7:
			mesTexto = "Julio";
		break;
		case 8:
			mesTexto = "Agosto";
		break;
		case 9:
			mesTexto = "Septiembre";
		break;
		case 10:
			mesTexto = "Octubre";
		break;
		case 11:
			mesTexto = "Noviembre";
		break;
		case 12:
			mesTexto = "Diciembre";
		break;
	}
	return mesTexto;
}

/********************
 * 	BALANCES		*      
 ********************/
function ini_balances(){
	//v_mes_ini = parseInt(v_mes_ini,10);
	v_anio_ini = parseInt(v_anio_ini,10);
	v_anio_inian = parseInt(v_anio_inian,10);
	m = este_anio - v_anio_ini;
	ma = este_anio - v_anio_inian;
	v_anio_ini = anio_ini;
	
	for(var i=0;i<=m;i++){
		anios[anios.length] = este_anio-i;
	}
	for(var i=0;i<=ma;i++){
		aniosan[aniosan.length] = este_anio-i;
	}
	rellenaCombos("informeS");
	rellenaCombos("informeC");
	document.getElementById("dcoment").className = (v_urlComentarios=="")?"comen_dis":"comen";
	$("#cargando_balances").hide(500);
	$("#datos_dinamicos").show(100);
}

function rellenaCombos(id){
	var combo = document.getElementById(id);
	var anuario = document.getElementById("anuario")
	for(var i=0;i<v_tipon.length;i++) combo.options[i+1] = new Option(v_tipon[i],v_tipov[i]);
	for(var i=0;i<aniosan.length;i++) anuario.options[i+1] = new Option(aniosan[i],aniosan[i]);			
}

function rellenaPeriodo(a,b){
	var combom = document.getElementById(b+"mes");
	document.getElementById(b+"mes").options.length = 0;
	document.getElementById(b+"mes").length = 0;	
	a--;
	var letra = b.toUpperCase();
	var cp = document.getElementById("informe"+letra);
	combom.options.lenght=0;
	var comboa = document.getElementById(b+"anio");	
	var mesm = 	v_mes_ini;
	var aniom = v_anio_ini;
	var se = 0;
	var sa = 0;
	for(var i=0;i<anios.length;i++) comboa.options[i] = new Option(anios[i],anios[i]);
	if(v_periodo[a]=='M'){		
		combom.lenght=0;
		combom.style.display = "block";
		for(var j=0;j<meses.length;j++){
			combom.options[j] = new Option(meses[j],meses[j]);
		}
		for(var n=0;n<combom.length;n++){
			if(combom.options[n].value==mesm){
				se = n;
				break;
			}
		}
	}else if(v_periodo[a]=='T'){
		combom.lenght=0;
		combom.style.display = "block";
		combom.lenght=0;
		combom.options.lenght=0;
		for(var j=0;j<trimestres.length;j++){
			combom.options[j] = new Option(trimestres[j],trimestres[j]);
		}
		for(var n=0;n<trimestres.length;n++){
			if(parseInt(trimestres[n])<v_mes_ini && v_mes_ini<=parseInt(trimestres[n+1])){
				se = (n>1)?n-1:0;
				break;
			}
		}
	}
	else{
		combom.style.display = "none";
	}
	for(var n=0;n<comboa.length;n++){
		if(comboa.options[n].value==este_anio){
			sa = n;
			break;
		}
	}
	combom.selectedIndex = se;
	comboa.selectedIndex = sa;
	if(cp.selectedIndex==0){
		if(letra=="S"){
			document.getElementById("descargapdf_on").style.display="none";
			document.getElementById("descargapdf_off").style.display="inline";
		}else{
			document.getElementById("descargapdf1_on").style.display="none";
			document.getElementById("descargapdf1_off").style.display="inline";
			document.getElementById("descargaxbrl_off").style.display="inline";
			document.getElementById("descargaxbrl_on").style.display="none";
		}
	}else if(!isNaN(comboa.value)){
		if(letra=="S"){
			document.getElementById("descargapdf_on").style.display="inline";
			document.getElementById("descargapdf_off").style.display="none";
		}else{
			document.getElementById("descargapdf1_on").style.display="inline";
			document.getElementById("descargapdf1_off").style.display="none";
			document.getElementById("descargaxbrl_on").style.display="inline";
			document.getElementById("descargaxbrl_off").style.display="none";
		}
	}
}

function abrir(a,b){
	var dir = "";
	if(a){
		var combom = document.getElementById(a+"mes");
		var comboa = document.getElementById(a+"anio");	
		var A = a.toUpperCase();
		var comboi = document.getElementById("informe"+A);	
		var mes = (combom.style.display!="none")?combom.options[combom.selectedIndex].value:-1;
		var anio = comboa.options[comboa.selectedIndex].value;
		var tipo = (a=="s")?"S":"C";
		var str = comboi.options[comboi.selectedIndex].value;
		var tipodoc = b;
		dir+="WbalanceAG?openagent&MES="+mes+"&ANIO="+anio+"&TIPO="+tipo+"&STR="+str+"&TIPODOC="+tipodoc;
	}else{
		var comboa = document.getElementById("anuario");
		var anio = comboa.options[comboa.selectedIndex].value;
		dir+="WanuarioAG?openagent&ANIO="+anio;
	}
	dir = inidir+dir;
//	alert(dir)
	var ventana=window.open(dir,"vdocs","location=no,toolbar=no,width=800,height=600,top=0,left=0");
}

function gestAnuario(){
	if(document.frmBalance.anuario.selectedIndex!=0){
		document.getElementById("descargapdf2_on").style.display="inline";
		document.getElementById("descargapdf2_off").style.display="none";
	}else{
		document.getElementById("descargapdf2_on").style.display="none";
		document.getElementById("descargapdf2_off").style.display="inline";
	}
}	
function comentarios(arg){
	if(arg.className=="comen" && v_urlComentarios!="") window.open(v_urlComentarios,"vcom","location=no,toolbar=no,width=800,height=600,top=0,left=0");
	else return;
}

/*BLOG*/
function f_atras(){
	history.back();
}
function esVacio(cadena){
	cadena = cadena.replace(/\s/g,"");
	cadena = (cadena =="")? true:false;
	return cadena;
}
function esEmail(cadena){
	if(esVacio(cadena))return false;
	if(cadena.match(/\s/)!=null)return false;//Comprobamos que no hay espacios
	var cadenas = cadena.split("@");
	if(cadenas.length!=2)return false;
	if(esVacio(cadenas[0]) || esVacio(cadenas[1]))return false;
	var cadenas1 = cadenas[0].split(".")
	for(c=0;c<cadenas1.length;c++){
		if(esVacio(cadenas1[c]))return false;
		var tmp = cadenas1[c].match(/[^0-9 a-z A-Z ñ Ñ \! \# \$ \% \& \' \* \+ \- \/ \= \? \^ \_ \` \{ \| \} \~]/);
		if(tmp!=null)return false;
	}
	var cadenas1 = cadenas[1].split(".")
	if(cadenas1.length<2)return false;
	for(c=0;c<cadenas1.length;c++){
		if(esVacio(cadenas1[c]))return false;
		var tmp = cadenas1[c].match(/[^0-9 a-z A-Z ñ Ñ \- \_]/);
		if(tmp!=null)return false;
	}
	if(cadenas1[cadenas1.length-1].length>4 ||cadenas1[cadenas1.length-1].length<2)return false;
	return true;
}
function f_validaTextos(){
	if (f.getElementById("asuntoTX")){
		var titulo = f.getElementById("asuntoTX");
		if (esVacio(titulo.value)){
			alert("Debe rellenar el campo título.");
			return;
		}
	}
	var descripcion = f.getElementById("descripcionRT");
	if (esVacio(descripcion.value)){
		alert("Debe rellenar el campo descripción.");
		return;
	}
	f.forms[0].submit();
	location.href = urlMensaje;
}

function f_validaMail(){
	var mail = f.getElementById("emailTX1");
	if(!esEmail(mail.value)){
		alert("Debes introducir una dirección e-mail válida.");
		mail.focus();
		return;
	}
	f.forms[2].submit();	
}
function f_validaIngreso(){
	var mail = f.getElementById("usuarioTX");
	var pass = f.getElementById("passwordTX");
	if(!esEmail(mail.value)){
		alert("Debes introducir una dirección e-mail válida.");
		mail.focus();
		return;
	}
	if (esVacio(pass.value)){
		alert("El password es obligatorio.");
		pass.focus();
		return;
	}
	f.forms[1].submit();
}

function f_validaRegistro(){
	var nick = f.getElementById("nickTX");
	var mail = f.getElementById("emailTX");
	var pass1 = f.getElementById("passwordTX1");
	var pass2 = f.getElementById("passwordTX2");
	var acepto = f.getElementById("acepto");
	if (esVacio(nick.value)){
		alert("El nombre de usuario es obligatorio.");
		nick.focus();
		return;
	}
	if(!esEmail(mail.value)){
		alert("Debes introducir una dirección e-mail válida.");
		mail.focus();
		return;
	}
	if (esVacio((pass1.value) || (pass2.value))){
		alert("El password es obligatorio.");
		return;
	} else if (pass1.value != pass2.value) {
		alert("Repita el password correctamente.")
		return;
	}
	if (acepto.checked == false){
		alert("Debe aceptar las Condiciones generales de utilización para poder registrarse.");
		acepto.focus();
		return;
	}
	f.forms[2].submit();
}
function f_condiciones(){
	var condiciones = document.getElementById("condiciones");
	condiciones.style.display = (condiciones.style.display == "block")?"none":"block";
}