//viene de valida.js

var error_previo = "El lugar para ingresar ";
var error_numerico = "' tiene un valor que no es válido.\nPor favor, ingrese uno que lo sea."
var error_vacio = "' está vacío.\nPor favor, ingrese el dato requerido."
var error_longitud = "' no contiene la cantidad necesaria de caracteres.\nPor favor, complete el dato requerido."
var error_cant_digitos_telefono = "' posee una cantidad de dígitos ingresados\nque no corresponden a uno válido.\nPor favor, ingrese uno que lo sea."
var error_mail = "La Dirección de Email parece no ser válida.\n Por favor escríbala nuevamente.\n\n(Ej: xxxxx@xxxxx.xxx)";

//var error_maximo = " excede la cantidad máxima de caracteres permitidos.\nPor favor, corrija el dato requerido."
var error_maximo = ".\nExcede la cantidad máxima de "


String.prototype.trim = function()
{
    return this.replace(/(^\s*)|(\s*$)/g, "");
}

function numerico(elemento,titulo,li,ls)
{

	if ((!(li))) li=-1;
	if ((!(ls))) ls=99999999999999999999999999;


	var elem = window.document.getElementById(elemento);
	var valor = elem.value.trim();
	if (valor.length==0) return no_vacio(elemento,titulo);
	else
	{
		if (!(isNaN(valor)) && (valor>li) && (valor<ls))
		{

				return "verdadero";
		}
		else
		{
				alert(error_previo + titulo + error_numerico);
				elem.value = "";
				elem.focus();
				return "falso";
		}
	}
}

function numerico_sin_foco(elemento,titulo,li,ls)
{

	if ((!(li))) li=-1;
	if ((!(ls))) ls=99999999999999999999999999;


	var elem = window.document.getElementById(elemento);
	var valor = elem.value.trim();
	if (valor.length==0) return no_vacio(elemento,titulo);
	else
	{
		if (!(isNaN(valor)) && (valor>li) && (valor<ls))
		{

				return "verdadero";
		}
		else
		{
				alert(error_previo + titulo + error_numerico);
				elem.value = "";
				//elem.focus();
				return "falso";
		}
	}
}


function largo(elemento,titulo,largo_deseado)
{
	var elem = window.document.getElementById(elemento);
	var long = elem.value.trim();
	long = long.length;
	if (long==0) return no_vacio(elemento,titulo);
	else
	{
		if (long==largo_deseado)
			{return "verdadero"}
		else
		{
			alert(error_previo + titulo + error_longitud);
			elem.focus();
			return "falso";
		}
	}
}


function largo_sin_foco(elemento,titulo,largo_deseado)
{
	var elem = window.document.getElementById(elemento);
	var long = elem.value.trim();
	long = long.length;
	if (long==0) return no_vacio(elemento,titulo);
	else
	{
		if (long==largo_deseado)
			{return "verdadero"}
		else
		{
			alert(error_previo + titulo + error_longitud);
			//elem.focus();
			return "falso";
		}
	}
}



/*function maximo(elemento,titulo,maximo_deseado)
{
	var elem = window.document.getElementById(elemento);
	var long = elem.value.trim();
	long = long.length;
	if (long==0) return no_vacio(elemento,titulo);
	else
	{
		if (long<=maximo_deseado)
			{return "verdadero"}
		else
		{
			alert(error_previo + titulo + error_maximo);
			elem.focus();
			return "falso";
		}
	}
}
*/

function maximo(elemento,titulo,maximo_deseado)
{
	var elem = window.document.getElementById(elemento);
	var long = elem.value.trim();
	long = long.length;
	if (long==0) return no_vacio(elemento,titulo);
	else
	{
		if (long<=maximo_deseado)
			{return "verdadero"}
		else
		{
			alert(error_previo + titulo + " contiene " + long + " caracteres" + error_maximo +  maximo_deseado + " caracteres permitidos.");
			elem.focus();
			return "falso";
		}
	}
}

function maximo_vacio(elemento,titulo,maximo_deseado)
{
	var elem = window.document.getElementById(elemento);
	var long = elem.value.trim();
	long = long.length;
    if (long<=maximo_deseado)
		return "verdadero"
	else
	{
		alert(error_previo + titulo + " contiene " + long + " caracteres" + error_maximo +  maximo_deseado + " caracteres permitidos.");
		elem.focus();
		return "falso";
	}

}

function maximo_sin_foco(elemento,titulo,maximo_deseado)
{
	var elem = window.document.getElementById(elemento);
	var long = elem.value.trim();
	long = long.length;
	if (long==0) return no_vacio(elemento,titulo);
	else
	{
		if (long<=maximo_deseado)
			{return "verdadero"}
		else
		{
			alert(error_previo + titulo + error_maximo);
			//elem.focus();
			return "falso";
		}
	}
}



function no_vacio(elemento,titulo)
{
	var elem = window.document.getElementById(elemento);
	var valor = elem.value.trim();
	if (valor.length>0)
	{
			return "verdadero";
	}
	else
	{
			alert(error_previo + titulo + error_vacio);
			elem.value = elem.value.trim();
			elem.focus();
			return "falso";
	}
}

function no_vacio_sin_foco(elemento,titulo)
{
	var elem = window.document.getElementById(elemento);
	var valor = elem.value.trim();
	if (valor.length>0)
	{
			return "verdadero";
	}
	else
	{
			alert(error_previo + titulo + error_vacio);
			elem.value = elem.value.trim();
			//elem.focus();
			return "falso";
	}
}



function es_telefono(cod_area,pref,term,titulo)
{
	var ca = window.document.getElementById(cod_area).value;
	var pr = window.document.getElementById(pref).value;
	var te = window.document.getElementById(term).value;

	if ((pr.length==0) || (te.length==0))
	{
		if ((pr.length==0) && (te.length==0))
		{
			return "vacio";
		}
		else
		{
			alert(error_previo + titulo + error_vacio);
			//ca = ca.trim();
			//window.document.getElementById(cod_area).focus();
			window.document.getElementById(pref).focus();
			return "falso";
		}
	}
	else
	{
		if ((isNaN(pr)) || (isNaN(te)))
		{
				alert(error_previo + titulo + error_numerico);
				window.document.getElementById(pref).focus();
				return "falso";
		}
		else
		{
			if (parseInt(pr.length+te.length)!=8)
			{
				alert(error_previo + titulo + error_cant_digitos_telefono);
				//ca = ca.trim();
				window.document.getElementById(pref).focus();
				return "falso";
			}
			else
			{
				return "verdadero";
			}
		}
	}
}


function es_telefono_sin_foco(cod_area,pref,term,titulo)
{
	var ca = window.document.getElementById(cod_area).value;
	var pr = window.document.getElementById(pref).value;
	var te = window.document.getElementById(term).value;

	if ((pr.length==0) || (te.length==0))
	{
		if ((pr.length==0) && (te.length==0))
		{
			return "vacio";
		}
		else
		{
			alert(error_previo + titulo + error_vacio);
			//ca = ca.trim();
			//window.document.getElementById(cod_area).focus();
			//window.document.getElementById(pref).focus();
			return "falso";
		}
	}
	else
	{
		if ((isNaN(pr)) || (isNaN(te)))
		{
				alert(error_previo + titulo + error_numerico);
				window.document.getElementById(pref).focus();
				return "falso";
		}
		else
		{
			if (parseInt(pr.length+te.length)!=8)
			{
				alert(error_previo + titulo + error_cant_digitos_telefono);
				//ca = ca.trim();
				//window.document.getElementById(pref).focus();
				return "falso";
			}
			else
			{
				return "verdadero";
			}
		}
	}
}



 function vacio(nombre)
 {
	 alert("Por favor ingrese el dato correspondiente en " + nombre);
 }


 function operronea3(stringerror)
 {
	vector = stringerror.split("$$$$$")
	var msg_error = "";
	//msg_error = "Operación Errónea.***** *****"
	msg_error = "Código de Error: " + vector[0] + "*****"
	+ "Descripción del Error: " + vector[1];

	  var i;

	  for (i=2; i<vector.length; i=i+1)
	  {
		msg_error = msg_error + "***** *****Instrucción " + (i-1) + ": *****"
			+ vector[i];
	  };

		var dirURL = "../../../common/error3.asp?errorocurrido=" + msg_error;

		var ventanaError
		ventanaError = window.open(dirURL, "operacion", "resizable=no,width=280,height=260");

}

function es_mail(elemento)
{


	var elem = window.document.getElementById(elemento);
	var valor = elem.value.trim();
	var tiene_arroba = valor.split('@');

	if (tiene_arroba.length!=2)
	{
		alert(error_mail);
		elem.focus();
		return "falso";
	}
	else
	{
		var tiene_punto = tiene_arroba[1].split('.');
		if (tiene_punto.length<2)
		{

			alert(error_mail);
			elem.focus();
			return "falso";
		}
		else
		{

			return "verdadero";

		}
	}
}


function es_mail_sin_foco(elemento)
{


	var elem = window.document.getElementById(elemento);
	var valor = elem.value.trim();
	var tiene_arroba = valor.split('@');

	if (tiene_arroba.length!=2)
	{
		alert(error_mail);
		//elem.focus();
		return "falso";
	}
	else
	{
		var tiene_punto = tiene_arroba[1].split('.');
		if (tiene_punto.length<2)
		{

			alert(error_mail);
			//elem.focus();
			return "falso";
		}
		else
		{

			return "verdadero";

		}
	}
}


function textarea(objeto,maximo,denominacion)
 {

		  function sinEnter(palabra, posicion)
		  {
			 largototal = palabra.length;
			 if (posicion == 0)
			 {
				queda = palabra.substring(2,largototal);
			 }
			 else
			 {
				 if (posicion == largototal-1)
				 {
					queda = palabra.substring(0,largototal-2);
				 }
				 else
				 {
					izquierda = palabra.substring(0,posicion);
					derecha = palabra.substring(posicion+2,largototal);
					queda = izquierda + "*" + derecha;
				 }
			 }
			 return queda;
		 }
	if (objeto.value.length>maximo)
	{
		alert("Usted no puede superar " + maximo + " caracteres en " + denominacion + " y tiene " + objeto.value.length);
		objeto.focus();
		salir=true
	}
	else
	{
		obser2 = objeto.value;
		obser2.toUpperCase();
		enter1 = unescape("%0D");
		enter2 = unescape("%0A");
		final = obser2;
		final.toUpperCase;
		contador=0;
		for (i=0; i<=(obser2.length-1); i=i+1)
		{
			if (obser2.charAt(i) == enter1)
			{
				if (obser2.charAt(i+1) == enter2)
				{
					pos = i - contador;
					final = sinEnter(final,pos);
					contador = contador + 1;
				}
			}
		}
		final.toUpperCase();
		objeto.value=final;
		return final;
	}
 }




 function textarea_sin_foco(objeto,maximo,denominacion)
  {

 		  function sinEnter(palabra, posicion)
 		  {
 			 largototal = palabra.length;
 			 if (posicion == 0)
 			 {
 				queda = palabra.substring(2,largototal);
 			 }
 			 else
 			 {
 				 if (posicion == largototal-1)
 				 {
 					queda = palabra.substring(0,largototal-2);
 				 }
 				 else
 				 {
 					izquierda = palabra.substring(0,posicion);
 					derecha = palabra.substring(posicion+2,largototal);
 					queda = izquierda + "*" + derecha;
 				 }
 			 }
 			 return queda;
 		 }
 	if (objeto.value.length>maximo)
 	{
 		alert("Usted no puede superar " + maximo + " caracteres en " + denominacion + " y tiene " + objeto.value.length);
 		//objeto.focus();
 		salir=true
 	}
 	else
 	{
 		obser2 = objeto.value;
 		obser2.toUpperCase();
 		enter1 = unescape("%0D");
 		enter2 = unescape("%0A");
 		final = obser2;
 		final.toUpperCase;
 		contador=0;
 		for (i=0; i<=(obser2.length-1); i=i+1)
 		{
 			if (obser2.charAt(i) == enter1)
 			{
 				if (obser2.charAt(i+1) == enter2)
 				{
 					pos = i - contador;
 					final = sinEnter(final,pos);
 					contador = contador + 1;
 				}
 			}
 		}
 		final.toUpperCase();
 		objeto.value=final;
 		return final;
 	}
  }








//Hasta aca era de valida.js

//chequeo el largo del valor del textarea.
function chequearLargo(objeto,largo,mensaje)
{

//	alert(objeto);
	//si supera el máximo estipulado muestro el mensaje por pantalla.
	if (objeto.value.length+1 > largo) //+1 porque empieza a contar desde 0
		{
			alert("El campo " + mensaje + " posee un máximo asignado de " + largo + " caracteres.");
			window.event.keyCode = 0;
			return false;
		}
	return true;
}

function checkDigitoNumerico()
{
	if ( (window.event.keyCode >= 48 && window.event.keyCode <= 57) )
		{
			return true;
		}
	window.event.keyCode = 0;
	return false;
}

/*
	Función: chequerMontoValido
	Descripción: valida que el monto ingresado sea válido: a lo sumo un punto.
	Parámetros: elemento: ID del control que contiene el monto que se quiere validar
				foco: true o false de acuerdo a si se desea poner el foco en el control en caso
					  de existir un error.
	Pre-condición: validar físicamente el monto: recibir sólo números y/o puntos o comas. Se recomiendo
				   utilizar la función "valida" de la libería "/validate/valid.js" con el parámetro "mon"
*/
function chequerMontoValido(elemento,foco)
{
	var valor;
	if ( !elemento || !document.getElementById(elemento) )
	{
		alert("ERROR! no ha sido posible encontrar el valor del control o éste no existe.");
		return false;
	}
	
	//reemplazo la coma por el punto
	valor = document.getElementById(elemento).value.toString().replace(/,/g,".");
	
	//si al partir la cadena por el punto quedan más de 2 partes --> error
	if ( valor.split(".").length > 2 )
	{
		alert("El Monto ingresado es incorrecto.\nPor favor, verifique el dato ingresado.");
		if ( foco ) document.getElementById(elemento).focus();
		return false;
	}
	
	return true;
}

