/*
* inicio CARTERAS
*/

/*
	cambia contenido segun la pestaña seleccionada
		- num_pestanas = numero de pestañas
		- idelegido = id del contenido elegido
		- num_subpestanias = numero de subpestañas totales
		- pestania_elegida = pestaña elegida
*/
function cambiarPestana2(num_pestanas,idelegido,num_subpestanias,pestania_elegida)
{

	//poner todas los contenidos en no seleccionados
	/*
	for (i=1; i<=num_pestanas; i++)
		document.getElementById(eval("'cartera_contenido' + i")).style.display = "none";
	*/

	//poner todas las pestañas en no seleccionadas
	for (i=1; i<=num_pestanas; i++)
	{
		document.getElementById(eval("'cartera_subpestania' + i + '1'")).className = 'cartera_pestIzqNoSelec';
		document.getElementById(eval("'cartera_subpestania' + i + '2'")).className = 'cartera_pestCentralNoSelec';
		document.getElementById(eval("'cartera_subpestania' + i + '3'")).className = 'cartera_pestDerNoSelec';
	}

	//poner la pestaña seleccionada en seleccionada
	/**/
	document.getElementById(eval("'cartera_subpestania' + pestania_elegida + '1'")).className = 'cartera_pestIzqSelec';
	document.getElementById(eval("'cartera_subpestania' + pestania_elegida + '2'")).className = 'cartera_pestCentralSelec';
	document.getElementById(eval("'cartera_subpestania' + pestania_elegida + '3'")).className = 'cartera_pestDerSelec';

	//mostrar el contenido seleccionado
	//document.getElementById(idelegido).style.display = "block";

}


/*
*
*/
function selectPestania(pestania_elegida,idCartera)
{
	document.frmPestanias.pestSelec.value = pestania_elegida;
	document.frmPestanias.idCartera.value = idCartera;
	document.frmPestanias.submit();
}


/*
*
*/
function cargaCartera(idCartera)
{
	document.frmListaCarteras.idCartera.value = idCartera;
 	document.frmListaCarteras.submit();
}


/*
*
*/
function adminCartera(idCartera,accion)
{
	document.frmAdminCarteras.idCartera.value = idCartera;
	document.frmAdminCarteras.accion.value = accion;
	document.frmAdminCarteras.submit();
}


/*
*
*/
function adminAlertas(idCartera, accion, idAlerta)
{
	document.frmAdminAlertas.idCartera.value = idCartera;
	document.frmAdminAlertas.idAlerta.value = idAlerta;
	document.frmAdminAlertas.accion.value = accion;
	document.frmAdminAlertas.submit();
}



function adminAlertasSeccion(idUsuario, accion, idAlerta)
{
	document.frmAdminAlertas.idUsuario.value = idUsuario;
	document.frmAdminAlertas.idAlerta.value = idAlerta;
	document.frmAdminAlertas.accion.value = accion;
	document.frmAdminAlertas.submit();
}


/*
*
*/
function adminInstrumento(idCartera,accion,titulos,codigo)
{
	document.frmAdminInstrumento.idCartera.value = idCartera;
	document.frmAdminInstrumento.accion.value = accion;
	document.frmAdminInstrumento.titulos.value = titulos;
	document.frmAdminInstrumento.codigo.value = codigo;
	document.frmAdminInstrumento.submit();
}


/*
Se ejecuta cada vez que se cambie una opcion de cualquier combo de la pagina
*/
function cargaDatos(donde)
{
	if (donde == 1)
	{
		document.frmCarteraCompraVenta.slMercado.selectedIndex = 0;
		document.frmCarteraCompraVenta.slInstrumentos.selectedIndex = 0;
	}
	else if (donde == 2)
		document.frmCarteraCompraVenta.slInstrumentos.selectedIndex = 0;

	// Envio de los datos
	document.frmCarteraCompraVenta.submit();
}



function cargaDatosAlertas()
{
	// Envio de los datos
	document.frmAlertasAdmin.action = 'adminAlertas';
	document.frmAlertasAdmin.submit();
}




function validarFrmAdminCarteras()
{
	var safe =/^[a-zA-Z ñÑáéíóúAÉÍÓÚ\-_0-9]*$/;
	var texto = document.frmCarteraAdmin.txtNombre.value;
	var longitud = document.frmCarteraAdmin.txtNombre.value.length;
	var accion = document.frmCarteraAdmin.accion.value;
	var i=0;
	var validacionOK = true;

	document.frmCarteraAdmin.txtNombre.disabled = false;

	if (accion == 'B')
	{
		//if (confirm("¿Está seguro que desea borrar los datos de la cartera?" + '\n' + "Perderá los datos de compras y ventas realizadas."))
		if (confirm(carteraBorrado1 + '\n' + carteraBorrado2))
		{
			document.frmCarteraAdmin.submit();
		}
		else
		{
			document.frmCarteraAdmin.txtNombre.disabled = true;
		}
	}
	else
	{
		if (longitud == 0)
		{
			validacionOK = false;
			alert(carteraVacia);
		}
		else
		{
			if(safe.test(texto))
				validacionOK = true;
			else
			{
				validacionOK = false;
				alert(carteraNombre);
			}

			if (validacionOK)
				document.frmCarteraAdmin.submit();
		}
	}
	return validacionOK;
}




/*	*/
function validarFrmAdminInstrumentos(codigo, urlDestino)
{

	var validacionOK = true;

	if (codigo =='')
	{
		var codigoInstrumento = document.frmCarteraCompraVenta.slTipoInstrumento.options[document.frmCarteraCompraVenta.slTipoInstrumento.selectedIndex].value;
		var tipoInstrumento = document.frmCarteraCompraVenta.slTipoInstrumento.selectedIndex;

		var mercado = document.frmCarteraCompraVenta.slMercado.selectedIndex;
		var instrumento = document.frmCarteraCompraVenta.slInstrumentos.selectedIndex;

		if (codigoInstrumento != 'T')
		{
			if (tipoInstrumento == "0" || mercado == "0" || instrumento == "0")
			{
				alert (carteraCombo);
				validacionOK = false;
			}
		}
		else
		{
			if (tipoInstrumento == "0" || instrumento == "0")
			{
				alert (carteraCombo);
				validacionOK = false;
			}
		}
	}

	var fecha = document.frmCarteraCompraVenta.txtFecha.value;

	// Habilitar el campo.
	document.frmCarteraCompraVenta.txtCantidad.disabled = false;

	var cantidad = document.frmCarteraCompraVenta.txtCantidad.value.replace (",",".");
	var cambio = document.frmCarteraCompraVenta.txtCambio.value.replace (",",".");
	var precio = document.frmCarteraCompraVenta.txtPrecio.value.replace (",",".");
	var comision = document.frmCarteraCompraVenta.txtComision.value.replace (",",".");
	var accion = document.frmCarteraCompraVenta.accion.value;
	var titulos = document.frmCarteraCompraVenta.titulos.value;

	if (!validarFecha(fecha))
	{
		alert (carteraFecha);
		enfocarCampo("txtFecha");
		validacionOK = false;
	}

	//if (!validaEntero(document.frmCarteraCompraVenta.txtCantidad) || (document.frmCarteraCompraVenta.txtCantidad.value == 0))
	if (!IsNum(cantidad) || (document.frmCarteraCompraVenta.txtCantidad.value == 0))
	{
		alert (carteraEntero);
		enfocarCampo("txtCantidad");
		validacionOK = false;
	}
	else if ((accion == 'V') && (parseInt(cantidad) > parseInt(titulos)))
			{
				alert (carteraTitulos);
				enfocarCampo("txtCantidad");
				validacionOK = false;
			}

/**/
	if (!IsNum(cambio))
	{
		alert (carteraNumerico);
		enfocarCampo("txtCambio");
		validacionOK = false;
	}



	if (!IsNum(precio))
	{
		alert (carteraNumerico);
		enfocarCampo("txtPrecio");
		validacionOK = false;
	}


	if (!IsNum(comision))
	{
		alert (carteraNumerico);
		enfocarCampo("txtComision");
		validacionOK = false;
	}


	if (validacionOK)
	{
		document.frmCarteraCompraVenta.action = '';
//		alert (document.frmCarteraCompraVenta.action);
		document.frmCarteraCompraVenta.action = urlDestino;
//		alert (document.frmCarteraCompraVenta.action);
		document.frmCarteraCompraVenta.submit();
	}

	return validacionOK;

} // Fin Funcion



/*	*/
function validarFrmAdminAlertas(codigo)
{

	var validacionOK = true;

	document.frmAlertasAdmin.slInstrumento.disabled = false;
	var instrumento = document.frmAlertasAdmin.slInstrumento.options[document.frmAlertasAdmin.slInstrumento.selectedIndex].value;

	document.frmAlertasAdmin.slCondicion.disabled = false;
	var condicion = document.frmAlertasAdmin.slCondicion.options[document.frmAlertasAdmin.slCondicion.selectedIndex].value;
	var precio = document.frmAlertasAdmin.txtValor.value.replace(",",".");


	if (instrumento == "0" || condicion == "0")
	{
		alert (carteraCombo);
		validacionOK = false;
	}

	if (!IsNum(precio))
	{
		alert (carteraNumerico);
		enfocarCampo("txtValor");
		validacionOK = false;
	}



	if (validacionOK)
	{
		document.frmAlertasAdmin.txtValor.value = precio;
		document.frmAlertasAdmin.submit();
	}

	document.frmAlertasAdmin.slInstrumento.disabled = true;
	document.frmAlertasAdmin.slCondicion.disabled = true;

	return validacionOK;

} // Fin Funcion




/*	*/
function validarFrmGestionAlerta(accion)
{
	if (accion == 'N')
	{
		var validacionOK = true;
		var mercado = document.frmGestionAlerta.mercado.value;
		var instrumento = document.frmGestionAlerta.instrumento.value;
		var valor = document.frmGestionAlerta.txtValor.value;

		if (mercado == "" || instrumento == "0")
		{
			alert(carteraCombo);
			validacionOK = false;
		}

		if (!IsNum(valor))
		{
			alert (carteraNumerico);
			enfocarCampo("txtValor");
			validacionOK = false;
		}

		if (validacionOK)
		{
			//alert ("todo ok");
			document.frmGestionAlerta.submit();
		}
	}
	else
	{
		document.frmGestionAlerta.submit();
	}

} // Fin Funcion








// ID del campo a enfocar
function enfocarCampo(campo)
{
	document.getElementById(campo).focus();
	document.getElementById(campo).select();
}


/*
*	NOMBRE			validarFecha
*
*	DESCRIPCION		Función que comprueba si una fecha está en formato dd/mm/aaaa. Se debe pasar la cadena de la fecha y devuelve false si no es válida.
*
*	ENTRADA			Cadena:		cadena de texto.
*
*/
function validarFecha(Cadena)
{

	var Fecha= new String(Cadena); // Crea un string
	var RealFecha= new Date(); // Para sacar la fecha de hoy

	// Cadena Año
	var Ano= new String(Fecha.substring(Fecha.lastIndexOf("/")+1,Fecha.length));

	// Cadena Mes
	var Mes= new String(Fecha.substring(Fecha.indexOf("/")+1,Fecha.lastIndexOf("/")));

	// Cadena Día
	var Dia= new String(Fecha.substring(0,Fecha.indexOf("/")));

	//alert(Ano + "-" + Mes + "-" + Dia);

	// Se valida el año
	//if (isNaN(Ano) || Ano.length<4 || parseFloat(Ano)<1900)
	if (isNaN(Ano) || Ano.length<2 || Ano.length>4)
	{
	//alert('Año inválido.\nFormato:dd/mm/aaaa');
	  return false;
	}

	// se valida el Mes
	if (isNaN(Mes) || parseFloat(Mes)<1 || parseFloat(Mes)>12 || Mes.length<2 || Mes.length>2)
	{
		//alert('Mes inválido.\nFormato:dd/mm/aaaa');
		return false;

	}

	// se valida el Dia
	if (isNaN(Dia) || parseInt(Dia, 10)<1 || parseInt(Dia, 10)>31 || Dia.length<2 || Dia.length>2)
	{
		//alert('Día inválido.\nFormato:dd/mm/aaaa');
		return false;
	}

	if (Mes==4 || Mes==6 || Mes==9 || Mes==11 || Mes==2)
	{
		if (Mes==2 && Dia > 28 || Dia > 30)
		{
		   //alert('Día inválido.\nFormato:dd/mm/aaaa');

		   return false;
		}
	}
  //para que envie los datos, quitar las  2 lineas siguientes

  //alert("Fecha correcta.");

  return true;
}


/*
*	NOMBRE			validarFechaNoSuperior
*
*	DESCRIPCION		Función que comprueba si una fecha está en formato dd/mm/aaaa y no es mayor que la actual.
					Se debe pasar la cadena de la fecha y devuelve false si no es válida.
*
*	ENTRADA			Cadena:		cadena de texto.
*
*/
function validarFechaNoSuperior(Cadena)
{

	var Fecha= new String(Cadena); // Crea un string
	var RealFecha= new Date(); // Para sacar la fecha de hoy

	// Cadena Año
	var Ano= new String(Fecha.substring(Fecha.lastIndexOf("/")+1,Fecha.length));
	var AnoActual= RealFecha.getFullYear();

	// Cadena Mes
	var Mes= new String(Fecha.substring(Fecha.indexOf("/")+1,Fecha.lastIndexOf("/")));
	var MesActual= RealFecha.getMonth()+1;

	// Cadena Día
	var Dia= new String(Fecha.substring(0,Fecha.indexOf("/")));
	var DiaActual= RealFecha.getDate();

	//alert(AnoActual + "-" + MesActual + "-" + DiaActual);

	// Se valida el año
	//if (isNaN(Ano) || Ano.length<4 || parseFloat(Ano)<1900)
	if (isNaN(Ano) || Ano.length<2 || Ano.length>4)
	{
	//alert('Año inválido.\nFormato:dd/mm/aaaa');
	  return false;
	}

	// se valida el Mes
	if (isNaN(Mes) || parseFloat(Mes)<1 || parseFloat(Mes)>12 || Mes.length<2 || Mes.length>2)
	{
		//alert('Mes inválido.\nFormato:dd/mm/aaaa');
		return false;

	}

	// se valida el Dia
	if (isNaN(Dia) || parseInt(Dia, 10)<1 || parseInt(Dia, 10)>31 || Dia.length<2 || Dia.length>2)
	{
		//alert('Día inválido.\nFormato:dd/mm/aaaa');
		return false;
	}

	if (Mes==4 || Mes==6 || Mes==9 || Mes==11 || Mes==2)
	{
		if (Mes==2 && Dia > 28 || Dia > 30)
		{
		   //alert('Día inválido.\nFormato:dd/mm/aaaa');

		   return false;
		}
	}
	if (Ano<= AnoActual && Mes <= MesActual && Dia <= DiaActual)
		return true;
	else
		return false;
}


/*
*	NOMBRE			ISNum
*
*	DESCRIPCION		Comprueba que una cadena determinada sea un número.
*					Formato entrada: ####.##
*
*	ENTRADA			Cadena:		Valor de un campo de formulario que se va a comprobar si es de un formato numérico Válido.
*
*/
function IsNum(numstr) {

	// Return immediately if an invalid value was passed in
	if (numstr+"" == "undefined" || numstr+"" == "null" || numstr+"" == "")
		return false;

	var isValid = true;
	var decCount = 0; // number of decimal points in the string

	numstr += "";

	for (i = 0; i < numstr.length; i++)
	{
		// track number of decimal points
		if (numstr.charAt(i) == ".")
			decCount++;

		if (!((numstr.charAt(i) >= "0") && (numstr.charAt(i) <= "9") ||	(numstr.charAt(i) == "-") || (numstr.charAt(i) == ".")))
		{
			isValid = false;
			break;
		}
		else if ((numstr.charAt(i) == "-" && i != 0) ||	(numstr.charAt(i) == "." && numstr.length == 1) ||	(numstr.charAt(i) == "." && decCount > 1))
		{
			isValid = false;
			break;
		}

	} // END for

	return isValid;
} // end IsNum



