// -------------------------------------------------------
// (c) 2005 - Bolsamania.com
// -------------------------------------------------------

// Cambia los textos del menú 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;
	}

	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;
	  }
	}
}

// Mostrar gráfica de ficha, pinchando sobre uno de los enlaces de periodos
function verGraficaFicha(formulario,tiempo)
{
	eval("var formu = document." + formulario);
	if (tiempo > 0) // Gráficas comparativas
	{	
		if ((formu.valorCompara[0].checked == false) && (formu.valorCompara[1].checked == false))
		{
			alert('Selecciona un índice o un valor');
		}
		else if ((formu.valorCompara[1].checked) && (formu.empresa.value == ""))
		{
			alert('Selecciona un valor');
		}
		else
		{
			formu.periodo.value = tiempo;
			formu.submit();
		}
	}
	else 
	{	// Gráfica intradía o interactiva
		formu.periodo.value = tiempo;
		formu.submit();
	}
}

//Valida los datos del formulario de la gráfica de la ficha
function validarGraficaFicha(formulario)
{
	eval("var formu = document." + formulario);
	if ((formu.valorCompara[0].checked == false) && (formu.valorCompara[1].checked == false))
	{
		alert('Selecciona un índice o un valor');
		return false;
	}
	if ((formu.valorCompara[1].checked) && (formu.empresa.value == ""))
	{
		alert('Selecciona un valor');
		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 envío a un amigo
function validarFormAmigo(formulario)
{
	eval("var formu = document." + formulario);
	if (formu.de.value == "")
	{
		alert ('El campo DE está vacio');
		formu.de.select();
		return false;
	}
	if (formu.remitente.value.indexOf("@") == -1)
	{
		alert('El REMITENTE no es correcto');
		formu.remitente.select();
		return false;
	}
	if (formu.para.value == "")
	{
		alert ('El campo PARA está vacio');
		formu.para.select();
		return false;
	}
	if (formu.destinatario.value.indexOf("@") == -1)
	{
		alert('El DESTINATARIO no es correcto');
		formu.destinatario.select();
		return false;
	}
	return true;
}

// Abre una ventana con la gráfica 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');
}

//Valida los datos del formulario de acceso a Bolsamania
function validarAcceso(formulario)
{
	eval("var formu = document." + formulario);
	if (formu.usuLogin.value.length == 0)
	{
		alert ('Inserte el Login');
		formu.usuLogin.focus();
		return false;
	}
	if (formu.usuPass.value.length == 0)
	{
		alert ('Inserte la Contraseña');
		formu.usuPass.focus();
		return false;
	}
	return true;
}

// Envía la petición de baja desde al area personal
function enviarBaja(formulario)
{
	eval("var formu = document." + formulario);
	formu.submit();
	return true;
}

//Valida los datos del formulario de 'Olvidó su contraseña'
function validarRecordarDatos(formulario)
{
	eval("var formu = document." + formulario);
	if (formu.usuEmail.value.length == 0)
	{
		alert ('Inserte el Email');
		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 ('Inserte el E-MAIL');
		formu.emailTW.focus();
		return false;
	}
	if (formu.claveTW.value.length == 0)
	{
		alert ('Inserte la CONTRASEÑA');
		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 ('Inserte el LOGIN');
		formu.loginTW.focus();
		return false;
	}
	if (formu.claveTW.value.length == 0)
	{
		alert ('Inserte la CONTRASEÑA');
		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 ('Inserte el Login');
		formu.rLogin.focus();
		return false;
	}
	if (formu.rPass.value.length == 0)
	{
		alert ('Inserte la Contraseña');
		formu.rPass.focus();
		return false;
	}
	
	// Comprueba la validez del NIF
	var nif1 = formu.rNif1.value;
	var nif2 = formu.rNif2.value;
	var nif = validarNif(nif1,nif2);
	if (nif) formu.submit();
	else 
	{
		alert ('El NIF es incorrecto');
		formu.rNif1.focus();
		return false;
	}
}

// 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("Debe rellenar el campo USUARIO");
		formu.usuario.focus();
		return false;
	}
	if (formu.contra.value.length == 0)
	{
		alert("Debe rellenar el campo CONTRASEÑA");
		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("Debe rellenar el campo LOGIN");
		formu.usuLogin.focus();
		return false;
	}
	if (formu.usuClave.value.length == 0)
	{
		alert("Debe rellenar el campo CONTRASEÑA");
		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 votación de comunidad
function validarForm_comunidad(formulario)
{
	eval("var f = document." + formulario);

	if (f.empresa.value == '')
	{
		alert('Inserte un valor para la empresa');
		f.empresa.focus();
		return false;
	}
	else if (f.opinion.value == '0')
	{
		alert('Inserte una recomendación para el valor');
		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 parámetro
 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("Pulse 'Ctrl + D' para agregar Bolsamania.com a sus favoritos");
}

// 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';
	}
}
//comprueba los campos del registro en Trader Watch
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 ('Debe leer y aceptar los términos');
			f.terminos.focus();
			return false;
		}
		if (f.login3.value.length < 4)
		{
			alert ('El login debe ser al menos de 4 caracteres');
			f.login3.focus();
			return false;
		}
		
		 if (f.email1.value == "")
		{
			alert ('Debe escribir el e-Mail');
			f.email1.focus();
			return false;
		}
		if ( f.email1.value.indexOf("@") == -1 ) {
				alert("E-mail incorrecto");
				f.email1.focus();
				f.email1.select();
        		return false;
  		 }
		 if (f.email2.value == ''){
		 	alert("Por favor, confirme su email");
				f.email2.focus();
				f.email2.select();
        		return false;
		 }
		 if (f.email1.value != f.email2.value){
		 	alert("E-mail incorrecto");
				f.email1.focus();
				f.email1.select();
        		return false;
		 }
		if (f.clave.value.length < 6)
		{
			alert ('Debe escribir la Clave');
			f.clave.focus();
			return false;
		}
		 if (f.clave2.value == ''){
		 	alert("Por favor, confirme su clave");
				f.clave.focus();
				f.clave.select();
        		return false;
		 }

		if (f.clave.value != f.clave2.value){
		 	alert("Clave incorrecta");
				f.clave.focus();
				f.clave.select();
        		return false;
		 }
		if (f.nombre.value.length == 0)
		{
			alert ('Debe escribir el Nombre');
			f.nombre.focus();
			return false;
		}
		if (f.apellido1.value.length == 0)
		{
			alert ('Debe escribir el 1er Apellido');
			f.apellido1.focus();
			return false;
		}
		if (f.apellido2.value.length == 0)
		{
			alert ('Debe escribir el 2º Apellido');
			f.apellido2.focus();
			return false;
		}

		if (f.nif1.value.length < 6)
		{
			alert('El NIF es incorrecto');
			f.nif1.focus();
			return false;
		}
		if (f.direccion.value.length == 0)
		{
			alert ('Debe escribir la Dirección');
			f.direccion.focus();
			return false;
		}
		if (f.cod_postal.value.length == 0)
		{
			alert ('Debe escribir el Código Postal');
			f.cod_postal.focus();
			return false;
		}
		 if (f.poblacion.value.length == 0)
		{
			alert ('Debe escribir la Población');
			f.poblacion.focus();
			return false;
		}
		 if (f.provincia.value == "")
		{
			alert ('Debe seleccionar la Provincia');
			f.provincia.focus();
			return false;
		}		
		 if (f.telefono.value.length == 0)
		{
			alert ('Debe escribir el Teléfono');
			f.telefono.focus();
			return false;
		}
		if (f.nif2.value == "")
		{
			alert('Debe escribir la letra de su NIF');
			f.nif2.focus();
			return false;
		}

		aux1 = f.nif1.value / 23;
		aux2 = aux1 + "";
		posPunto = aux2.indexOf(".");
		if (posPunto != -1){
			 entera = aux2.substring(0,posPunto);
			 entera = entera * 1;
		}
		else {
			entera = aux1;
		}
		aux3 = entera * 23;
		posLetra = f.nif1.value - aux3;
		letraFormu = f.nif2.value.toUpperCase();
		if (letras[posLetra] != letraFormu) {
			alert("El NIF es incorrecto");
			f.nif1.focus();
			return false;
		}
		
		

		return true;
}
function compruebaLoginTW()
	{
		var f=document.form1;
		 if (f.login.value.length == 0)
		{
			alert ('Debe escribir el Login');
			f.login.focus();
			return false;
		}
		 if (f.clave.value.length == 0)
		{
			alert ('Debe escribir la Contraseña');
			f.clave.focus();
			return false;
		}
		return true;
}