
// Cambia los textos del menu superior
function cambia_menu(opcion,color)
{
	eval("document.getElementById('titulo_" + opcion + "').style.background = '" + color + "';");
}

// Comprueba la validez de un NIF (nif1: numero, nif2: letra)
function validarNif(nif1,nif2)
{
	var letras = new Array('T','R','W','A','G','M','Y','F','P','D','X','B','N','J','Z','S','Q','V','H','L','C','K','E','O');
	var aux1, aux2, aux3, posPunto, posLetra, letraFormu, entera;

	if ((nif1 < 6 ) || (nif2 == ""))
	{
		return false;
	}

	nif1 = nif1.replace("x","");
	nif1 = nif1.replace("X","");
	nif1 = new Number(nif1);

	aux1 = nif1 / 23;
	aux2 = aux1 + "";
	posPunto = aux2.indexOf(".");
	if (posPunto != -1)
	{
		entera = aux2.substring(0,posPunto);
		entera = entera * 1;
	}
	else
	{
		entera = aux1;
	}
	aux3 = entera * 23;
	posLetra = nif1 - aux3;
	letraFormu = nif2.toUpperCase();
	if (letras[posLetra] != letraFormu)
	{
		return false;
	}
	return true;
}

// Carga los combos de cotizaciones
function cambiarMercado(formulario,mercado)
{
	var nombreArray = 'array' + mercado;
	listaMercado = eval(nombreArray);
	eval("mostrarEmpresas(window.document."+ formulario+".empresa,listaMercado);");
}

// cargar un array en un combo
function mostrarEmpresas(seleccion, lista)
{
	seleccion.length = lista.length/2;
	for (c=0; c < seleccion.length; c++)
	{
		seleccion.options[c].value = lista[c*2+1];
		seleccion.options[c].text = lista[c*2];
	}
	seleccion.selectedIndex=0;
}

// Seleccionar un valor de un combo
function seleccionar(formulario,campo)
{
	eval('var longitud = document.' + formulario + '.' + campo + '.length;');
	for (c=0; c < longitud; c++)
	{
	  if (eval('document.' + formulario + '.' + campo + '.options[c].value == ' + campo))
	  {
		eval ('document.' + formulario + '.' + campo + '.selectedIndex = c;');
		break;
	  }
	}
}

// Carga los combos de la grafica flex
function cambiarMercadoFlex(formulario,mercado)
{
	var datos = mercado.split(":");
	var nombreArray = 'array' + datos[1];
	listaMercado = eval(nombreArray);
	eval("mostrarEmpresas(window.document."+ formulario+".empresa,listaMercado);");
}

// Cargar comparativa en flex
function compararFlex(){
	var formu = $('formGrafica');
	var url = formu.flexUrl2.value;
	if (formu.valorCompara[0].checked == true) url += formu.indice.value;
	else if (formu.valorCompara[1].checked == true) url += formu.empresa.value;
	graficas['objHist1'].compara(url);
}

// Cargar historica en flex
function resetFlex(){
	var formu = $('formGrafica');
	formu.feedsc.selectedIndex = 0;
	graficas['objHist1'].reset();
}

// a�adir indicador a flex historica
function nuevoIndicador(ind){
	var formu = $('formGrafica');
	graficas['objInd1'].addindicator(ind,'100');
	formu.indicador.selectedIndex=0;
}

// Mostrar grafica de ficha, pinchando sobre uno de los enlaces de periodos
function verGraficaFicha(formulario,tiempo)
{
	eval("var formu = document." + formulario);
	if (tiempo > 0) // Graficas comparativas
	{
		if ((formu.valorCompara[0].checked == false) && (formu.valorCompara[1].checked == false))
		{
			alert(messages[3]);
		}
		else if ((formu.valorCompara[1].checked) && (formu.empresa.value == ""))
		{
			alert(messages[4]);
		}
		else
		{
			formu.periodo.value = tiempo;
			formu.submit();
		}
	}
	else
	{	// Grafica intradia o interactiva
		formu.periodo.value = tiempo;
		formu.submit();
	}
}

// Mostrar grafica de ficha, pinchando sobre uno de los enlaces de periodos
function cambiarGraficaFicha(formulario,tiempo)
{
	eval("var formu = document." + formulario);
	formu.periodo.value = tiempo;
	formu.submit();
}

//Valida los datos del formulario de la grafica de la ficha
function validarGraficaFicha(formulario)
{
	eval("var formu = document." + formulario);
	if ((formu.valorCompara[0].checked == false) && (formu.valorCompara[1].checked == false))
	{
		alert(messages[5]);
		return false;
	}
	if ((formu.valorCompara[1].checked) && (formu.empresa.value == ""))
	{
		alert(messages[4]);
		return false;
	}
	if (formu.periodo.value == "0")
	{	// No se puede mostrar comparativas intradia --> cambiar a 1 mes
		formu.periodo.value = "1";
	}
	return true;
}

//Valida los datos del formulario del envio a un amigo
function validarFormAmigo(formulario)
{
	eval("var formu = document." + formulario);
	if (formu.de.value == "")
	{
		alert (messages[6]);
		formu.de.select();
		return false;
	}
	if (formu.remitente.value.indexOf("@") == -1)
	{
		alert(messages[7]);
		formu.remitente.select();
		return false;
	}
	if (formu.para.value == "")
	{
		alert (messages[8]);
		formu.para.select();
		return false;
	}
	if (formu.destinatario.value.indexOf("@") == -1)
	{
		alert(messages[9]);
		formu.destinatario.select();
		return false;
	}
	return true;
}

// Abre una ventana con la grafica interactiva ampliada
function ampliarGrafica(cod,id,nemo,nombre,mercado)
{
	var url = "graficaIT.php?cod=" + cod + "&id=" + id + "&nemo=" + nemo + "&nombre=" + nombre + "&mercado=" + mercado;
	window.open(url,'GRAFICA','width=800,height=550,scrollbars=no,resizable=no');
}

// Abre una ventana con la grafica intradia ampliada
function ampliarIntradia(isin,plaza,mercado,key,tipo)
{
	if (tipo == 'I') mercado = 'INDICE';
	var url = "graficaIntradia.php?isin=" + isin + "&plaza=" + plaza + "&mercado=" + mercado + "&key=" + key;
	window.open(url,'GRAFICA','width=450,height=265,scrollbars=no,resizable=no');
}


//Valida los datos del formulario de acceso a Bolsamania
function validarAcceso(formulario)
{
	eval("var formu = document." + formulario);
	if (formu.usuLogin.value.length == 0)
	{
		alert (messages[10]);
		formu.usuLogin.focus();
		return false;
	}
	if (formu.usuPass.value.length == 0)
	{
		alert (messages[11]);
		formu.usuPass.focus();
		return false;
	}
	return true;
}

// Envia la peticion de baja desde al area personal
function enviarBaja(formulario)
{
	eval("var formu = document." + formulario);
	formu.submit();
	return true;
}

//Valida los datos del formulario de 'Olvido su contrasena'
function validarRecordarDatos(formulario)
{
	eval("var formu = document." + formulario);
	if (formu.usuEmail.value.length == 0)
	{
		alert (messages[12]);
		formu.usuEmail.focus();
		return false;
	}
	return true;
}

// Valida los datos del formulario de acceso a TraderWatch <------- ANTIGUA : BORRAR
function validarFormTW(formulario)
{
	eval("var formu = document." + formulario);
	if (formu.emailTW.value.length == 0)
	{
		alert (messages[12]);
		formu.emailTW.focus();
		return false;
	}
	if (formu.claveTW.value.length == 0)
	{
		alert (messages[11]);
		formu.claveTW.focus();
		return false;
	}
	return true;
}

// Valida los datos del formulario de acceso a TraderWatch
function validarAccesoTW(formulario)
{
	eval("var formu = document." + formulario);
	if (formu.loginTW.value.length == 0)
	{
		alert (messages[10]);
		formu.loginTW.focus();
		return false;
	}
	if (formu.claveTW.value.length == 0)
	{
		alert (messages[11]);
		formu.claveTW.focus();
		return false;
	}
	return true;
}

// Valida los datos de registro a TraderWatch
function validarRegistroTW(formulario)
{
	eval("var formu = document." + formulario);
	if (formu.rLogin.value.length == 0)
	{
		alert (messages[10]);
		formu.rLogin.focus();
		return false;
	}
	if (formu.rPass.value.length == 0)
	{
		alert (messages[11]);
		formu.rPass.focus();
		return false;
	}

	// Comprueba la validez del NIF solo si reside en espana
	if (formu.rRes.checked){
		var nif1 = formu.rNif1.value;
		var nif2 = formu.rNif2.value;
		var nif = validarNif(nif1,nif2);

		if (nif) formu.submit();
		else
		{
			alert (messages[13]);
			formu.rNif1.focus();
			return false;
		}
	}else{
		formu.submit();
	}
}

// Valida los datos del formulario de acceso de BTS TRADER	<----------- BORRAR
function validarFormBTS(formulario)
{
	eval("var formu = document." + formulario);
	if (formu.usuario.value.length == 0)
	{
		alert(messages[14]);
		formu.usuario.focus();
		return false;
	}
	if (formu.contra.value.length == 0)
	{
		alert(messages[15]);
		formu.contra.focus();
		return false;
	}
	formu.contra.value = formu.contra.value.toUpperCase();
	url = "validarAcceso.php?usuario=" + formu.usuario.value + "&contra=" + formu.contra.value;
	window.open(url,'BTS_Acceso','width=500, height=200, scrollbars=no, titlebar=no, resizable=no');
}

function validarAccesoBTS(formulario)
{
	eval("var formu = document." + formulario);
	if (formu.usuLogin.value.length == 0)
	{
		alert(messages[15]);
		formu.usuLogin.focus();
		return false;
	}
	if (formu.usuClave.value.length == 0)
	{
		alert(messages[16]);
		formu.usuClave.focus();
		return false;
	}
//	formu.contra.value = formu.contra.value.toUpperCase();
	url = "validarAcceso.php?usuLogin=" + formu.usuLogin.value + "&usuClave=" + formu.usuClave.value + "&origen=" + formu.origen.value;
	window.open(url,'BTS_Acceso','width=500, height=200, scrollbars=no, titlebar=no, resizable=no');
}

// Valida el formulariod e votacion de comunidad
function validarForm_comunidad(formulario)
{
	eval("var f = document." + formulario);

	if (f.empresa.value == '')
	{
		alert(messages[17]);
		f.empresa.focus();
		return false;
	}
	else if (f.opinion.value == '0')
	{
		alert(messages[18]);
		f.opinion.focus();
		return false;
	}
	return true;
}

// Muestra/Oculta los campos hidden del buscador de warrants
function buscadorWarrants(campo)
{
	var formu = document.formWarrants;
	if (campo == "precio")
	{
		var dato = formu.precio_ejercicio.value;
	}
	else if (campo == "delta")
	{
		var dato = formu.delta.value;
	}
	else
	{
		var dato = formu.volatilidad.value;
	}

	if (dato == "DATOS")
	{
		eval("document.getElementById('dato_" + campo + "1').style.visibility = 'visible';");
		eval("document.getElementById('dato_" + campo + "2').style.visibility = 'visible';");
	}
	else
	{
		eval("document.getElementById('dato_" + campo + "1').style.visibility = 'hidden';");
		eval("document.getElementById('dato_" + campo + "2').style.visibility = 'hidden';");
		eval("formu." + campo + "1.value = '';");
		eval("formu." + campo + "2.value = '';");

	}
}

// Cambia el action del buscador principal
 function cambiarActionBuscador(destino){
	var formuBuscador = this.document.form_buscador;
	formuBuscador.action = destino;
 }

// Abre una ventana con la url pasada como parametro
 function abrirVentana(url,ancho,alto)
 {
	if ((ancho == '') || (ancho < 10)) ancho = 700;
	if ((alto == '') || (alto < 10)) alto = 700;
	var opciones = "width=" + ancho + ",height=" + alto + ", scrollbars=yes, resizable=yes";
	window.open(url,'',opciones);
 }

// Agregar a favoritos
function favoritos()
{
	if (document.all) window.external.AddFavorite('http://www.bolsamania.com','Bolsamania.com')
	else alert(messages[19]);
}

// Mostrar mano
function activar(src)
{
	if (!src.contains(event.fromElement))
	{
		src.style.cursor = 'hand';
	}
}

// Mostrar puntero
function desactivar(src)
{
	if (!src.contains(event.toElement))
	{
		src.style.cursor = 'default';
	}
}
/*ojo: esta funcion tambien se usa para verificar los datos del formulario de carpatos premium, existe la funcion function compruebaRegistroCPT() que hace una llamada a la funcion function compruebaRegistroTW()*/
function compruebaRegistroTW()
	{

		var letras = new Array('T','R','W','A','G','M','Y','F','P','D','X','B','N','J','Z','S','Q','V','H','L','C','K','E','O');
		var aux1, aux2, aux3, posPunto, posLetra, letraFormu, entera;
		var f=document.form2;
		if (f.terminos.checked == false)
		{
			alert (messages[20]);
			f.terminos.focus();
			return false;
		}
		if (f.login3.value.length < 4)
		{
			alert (messages[21]);
			f.login3.focus();
			return false;
		}

		 if (f.email1.value == "")
		{
			alert (messages[22]);
			f.email1.focus();
			return false;
		}
		if ( f.email1.value.indexOf("@") == -1 ) {
				alert(messages[23]);
				f.email1.focus();
				f.email1.select();
        		return false;
  		 }
		 if (f.email1.value != f.email2.value){
		 	alert(messages[23]);
				f.email1.focus();
				f.email1.select();
        		return false;
		 }
		if (f.clave.value.length < 6)
		{
			alert (messages[24]);
			f.clave.focus();
			return false;
		}
		 if (f.clave.value != f.clave2.value){
		 	alert(messages[25]);
				f.clave.focus();
				f.clave.select();
        		return false;
		 }
		if (f.nombre.value.length == 0)
		{
			alert (messages[26]);
			f.nombre.focus();
			return false;
		}
		if (f.apellido1.value.length == 0)
		{
			alert (messages[27]);
			f.apellido1.focus();
			return false;
		}
		if (f.apellido2.value.length == 0)
		{
			alert (messages[28]);
			f.apellido2.focus();
			return false;
		}

		 if (f.provincia.value == "")
		{
			alert (messages[29]);
			f.provincia.focus();
			return false;
		}
		if (f.provincia.selectedIndex !=1 ){
			if (f.nif1.value.length < 6)
			{
				alert(messages[13]);
				f.nif1.focus();
				return false;
			}
			if (f.nif2.value == "")
			{
				alert(messages[30]);
				f.nif2.focus();
				return false;
			}

			val = new String(f.nif1.value);
			val = val.replace("x","");
			val = val.replace("X","");
			num = new Number(val);
			aux1 = num / 23;
			aux2 = aux1 + "";
			posPunto = aux2.indexOf(".");
			if (posPunto != -1){
				 entera = aux2.substring(0,posPunto);
				 entera = entera * 1;
			}
			else {
				entera = aux1;
			}
			aux3 = entera * 23;
			posLetra = num - aux3;
			letraFormu = f.nif2.value.toUpperCase();
			if (letras[posLetra] != letraFormu) {
				alert(messages[13]);
				f.nif1.focus();
				return false;
			}
		}

		if (f.direccion.value.length == 0)
		{
			alert (messages[31]);
			f.direccion.focus();
			return false;
		}
		if (f.cpostal.value.length == 0)
		{
			alert (messages[32]);
			f.cpostal.focus();
			return false;
		}
		 if (f.poblacion.value.length == 0)
		{
			alert (messages[33]);
			f.poblacion.focus();
			return false;
		}
		 if (f.telefono.value.length == 0)
		{
			alert (messages[34]);
			f.telefono.focus();
			return false;
		}
		if (f.telefono.value.length < 7)
		{
			alert(messages[35]);
			f.telefono.focus();
			return false;
		}
		var TRADERWATCH = window.open("","TRADERWATCH","width=625,height=500,scrollbars=auto,titlebar=no,resizable=no,statusbar=no");
		f.target = "TRADERWATCH";
		return true;
}
function compruebaLoginTW()
	{
		var f=document.form1;
		 if (f.login.value.length == 0)
		{
			alert (messages[36]);
			f.login.focus();
			return false;
		}
		 if (f.clave.value.length == 0)
		{
			alert (messages[37]);
			f.clave.focus();
			return false;
		}
		return true;
}

function enviarComprobarTW(url){
	window.opener.document.form2.action = url;
	window.opener.document.form2.target = "_self";
	window.opener.document.form2.submit();
	window.opener.focus();
	window.close();
}

function cambiarDatosTW(){
	window.opener.focus();
	window.close();
}

function compruebaRegistroCPT(){
	if (compruebaRegistroTW()){
		return true;
	}else{
		return false;
	}
}
function cambiarDatosCPT(){
	window.opener.focus();
	window.close();
}
function enviarComprobarCPT(){
	window.opener.document.form2.action = "./myRegister.php";
	window.opener.document.form2.target = "_self";
	window.opener.document.form2.submit();
	window.opener.focus();
	window.close();
}
function compruebaLoginCPT()
	{
		var f=document.form1;
		 if (f.login.value.length == 0)
		{
			alert (messages[36]);
			f.login.focus();
			return false;
		}
		 if (f.clave.value.length == 0)
		{
			alert (messages[37]);
			f.clave.focus();
			return false;
		}
		return true;
}
