
// Funcion que Levanta una Ventana PopUp
function funLevantaPopUp (parENombVent, parEDireUrl, parEScrollBars, parEResizable, parEWidth, parEHeight, parELeft, parETop)
{
	// Declaracion de Variables
	var varFlyout;

	// Setea el ancho máximo de la ventana y la centro si no se paso un valor 
	// de parametro o si el valor es mayor al máximo permitido
	if ((parEWidth>=screen.width-12)||(parEWidth==""))
	{
		parEWidth = screen.width - 12;
		parELeft = 0;
	}

	// Setea el alto máximo de la ventana y la centro si no se paso un valor
	// de parametro o si el valor es mayor al máximo permitido
	if ((parEHeight>=screen.height-58)||(parEHeight==""))
	{
		parEHeight = screen.height - 58;
		parETop = 0;
	}

	// Centra la ventana a lo ancho si no se paso un valor de parametro
	if ((parELeft=="")&&(parELeft!="0"))
	{
		parELeft = (screen.width - 12 - parEWidth) / 2;
	}

	// Centra la ventana a lo alto si no se paso un valor de parametro
	if ((parETop=="")&&(parETop!="0"))
	{
		parETop = (screen.height - 58 - parEHeight) / 2;
	}

	// Crea la nueva ventana
	varFlyout = window.open(parEDireUrl,parENombVent,"resizable=" + parEResizable + ",scrollbars=" + parEScrollBars + ",width=" + parEWidth + ",height=" + parEHeight + ",top=" + parETop + ",left=" + parELeft)

	// Devuelve el Objeto de la ventana creada
	return varFlyout;
}

// Funcion que cuenta el numero de caracteres ingresado en un textarea
function funCuentaCaracteres(parENumeMaxi,parETextArea,parETextMaxi)
{
	// Variables
	varLargo = parENumeMaxi;
	varLargTextArea = parETextArea.value.length;
	varValoTextArea = parETextArea.value;

	// Actualizo el texto de ayuda
	if (parETextMaxi != null) parETextMaxi.value = varLargo - varLargTextArea;

	// Verifico si debo bloquear el campo
	if (varLargTextArea >= varLargo)
	{
		parETextArea.value = varValoTextArea.substring(0,varLargo)
		if (parETextMaxi != null) parETextMaxi.value = 0;
	}
}

// Funcion que valida si un e-mail esta bien ingresado
function funValidaMail (parEMail)
{
	varPasa=0;
	varCuenta=0;

	// Verifica que exista la cadena del e-mail
	if (parEMail.value.length==0) return false;

	// Verifica el que exista el (@)
	for (varI=0;varI<parEMail.value.length;varI++)
	{
		EsteCaracter=parEMail.value.substring(varI,varI+1);
		if (EsteCaracter == "@")
		{
			varCuenta++;
			varPosi=varI;
		}
	}

	// Verifica que exista solo 1 (@)
	if (varCuenta == 1)
		varPasa=1;
	else
		varPasa=0;

	// Verifica que haya por lo menos un (.) despues del (@)
	if (varPasa==1)
	{
		varPasa = 0;
		for (varI=varPosi+1;varI<parEMail.value.length-1;varI++)
		{
			EsteCaracter=parEMail.value.substring(varI,varI+1);
			if (EsteCaracter == ".") varPasa=1;
		}
	}

	// Devuelve el exito o fracaso de la validacion
	if (varPasa == 1)
		return true;
	else
		return false;
}

// Funcion que valida el ingreso de decimales y punto decimal al digitar una tecla
function funValidaValorNumericoDigito(parECajaNume,parENumeDeci)
{
	// declaracion de variables
	var varPosi, varLen, varNumeDeciActu;

	// Valido si puede ingresar el punto decimal
	if (parENumeDeci == '0') 
	{
		// solo numeros
		if (((event.keyCode<48)||(event.keyCode>57))&&(event.keyCode!=45)) event.returnValue = false;
		// valido si ya existe un signo menos
		varPosi = parECajaNume.value.indexOf('-')
		if ((varPosi != -1)&&(event.keyCode == 45)) event.returnValue = false;
	} 
	else 
	{
		// solo numeros y punto
		if (((event.keyCode<48)||(event.keyCode>57))&&(event.keyCode!=46)&&(event.keyCode!=45)) event.returnValue = false;
		// valido si ya existe un punto decimal
		varPosi = parECajaNume.value.indexOf('.')
		if ((varPosi != -1)&&(event.keyCode == 46)) event.returnValue = false;
		// valido si ya existe un signo menos
		varPosi = parECajaNume.value.indexOf('-')
		if ((varPosi != -1)&&(event.keyCode == 45)) event.returnValue = false;
	}
}