 //---------------- fechas  ---------------------

function validar_fecha(obj)
// recibe el objeto desde el onblur del campo para posicionar el foco
{
	bRet = ValidoDate(obj.value);
	
	if (!bRet) 
	{
		alert("La fecha ingresada no es correcta. Ingrese DIA/MES/A\u00d1O (01/08/2000)");
		obj.focus()
	}
}

function validar_fechaCombo(fecha)
// recibe el objeto desde el onblur del campo para posicionar el foco
{
	bRet = ValidoDate(fecha);
	
	if (!bRet) 
	{
		alert("La fecha ingresada no es correcta. Ingrese DIA/MES/A\u00d1O (01/08/2000)");
	}
}

function ValidoDate (sDato) 
// valida un string como fecha valida
{
	var fecha;
	var sDD;
	var sMM;
	var sYYYY;

	bRet = false;

	if (sDato.length == 0) return true;

	if (sDato.charAt(2) != "/") return false;
	if (sDato.charAt(5) != "/") return false;

	if (sDato.length == 10) {
		sDD   = sDato.substring( 0, 2 )   
		sMM   = sDato.substring( 3, 5 )   
		sYYYY = sDato.substring( 6)   
		fecha = new Date(sYYYY, sMM - 1, sDD)
		fecha.getFullYear();
		if (sYYYY != fecha.getFullYear()
		    || sMM != (fecha.getMonth() + 1) 
			|| (fecha.getFullYear() < 0)) {
				//alert("Fecha Inválida F");
				}
		else
			bRet = true;
	}
	return bRet;
}	

//---------------- numeros  ---------------------

function validar_nume(obj, Mascara)
// recibe el objeto (para posicionar el foco) y la mascara desde el onblur del campo
{

	F=false;
	for(i=0; i < Mascara.length-1; i++)	
	{
		if (Mascara.charAt(i) != "#") 
		{
			F=true; // es un float
			break;
		}
	}

	if (F)
		bRet = ValidoNumeDeci(obj.value, Mascara);
	else
		bRet = ValidoNumeInt(obj.value, Mascara);
	
	if (!bRet)
	{
		//alert("Número inválido. Formato " + Mascara);
		alert("Debe ingresar valores numéricos")
		obj.value =""
		obj.focus()
	}
	
}

function ValidoNumeDeci (sDato, sMascara) 
// valida un string como numero decimal (mascara con decimales)
{
	var iLongi;
	var iDeciCanti;
	var iEnteCanti;
	var iPosiSepa;

	iLongi = sMascara.length;

	bRet = false;
	
	if (sDato.length == 0) return true;

	iPosiSepa = sMascara.indexOf( ".");
	iEnteCanti = sMascara.substring( 0, iPosiSepa).length;
	iDeciCanti = sMascara.substring(iPosiSepa + 1).length;
	
	iPosiSepa = sDato.indexOf( ".");
	if (iPosiSepa != -1) {	
		if (sDato.substring( 0, iPosiSepa).length > iEnteCanti) return false;
		if (sDato.substring(iPosiSepa + 1).length > iDeciCanti) return false;
	}
	// sDato TODO ENTERO
	else
		if (sDato.length > iEnteCanti) return false;

	// valido caracteres
	
	for(i=0; i <= sDato.length-1; i++)
	{
		if (isNaN(sDato.charAt(i))&&sDato.charAt(i)!=".") 
		{
			return false
		}
	}
	
	bRet = true;
	return bRet;
}


function ValidoNumeInt(sDato, sMascara) 
// valida un string como numero entero (mascara sin decimales)
{
	var iLongi;
	var iDeciCanti;
	var iEnteCanti;
	var iPosiSepa;

	iLongi = sMascara.length;
	bRet = false;
	if (sDato.length == 0) return true;
	iEnteCanti = sMascara.length;
	if (sDato.length > iEnteCanti) return false;
	
	// valido caracteres
	for(i=0; i <= sDato.length-1; i++)
	{
		if (isNaN(sDato.charAt(i))) 
		{
			return false
		}
	}
	
	bRet = true;
	return bRet;
}

function jtrim(s)
{	var fin,str,re,u,ini
	str=""
	re = /\S/ig
	ini = s.search(re)
	if (ini != -1)	{
		s = s.slice(ini)
		u = s.slice(s.length-1, s.length)
		fin = u.search(re) 
		while(fin == -1)
			{s = s.slice(0, s.length - 1)
			u = s.slice(s.length - 1, s.length)
			fin = u.search(re)}
		str = s	
		}
	return(str)
}
function TieneVacios(s)
{	var re, ini
	re = /\s/ig
	ini = s.search(re)
	if (ini != -1)
		{return 1}
	else
		{return 0}
}
function ValidarMail(sEmail)
 { 
	
var emailexp = /^[a-z_0-9\-\']+(\.[a-z_0-9\-\']+)*@[a-z_0-9\-]+(\.[a-z_0-9\-]+){1,}$/i

 if (emailexp.test(sEmail) )
   return 0
 else
   return 1
 }

function FechaMenor(dFechaMenor, dFechaMayor, sMensaje){
	var dFechaMenorAuxi,dFechaMayorAuxi

	dFechaMenorAuxi = dFechaMenor.substring(6,10);
	dFechaMenorAuxi = dFechaMenorAuxi + dFechaMenor.substring(3,5);
	dFechaMenorAuxi = dFechaMenorAuxi + dFechaMenor.substring(0,2);
	        
	dFechaMayorAuxi =  dFechaMayor.substring(6,10);
	dFechaMayorAuxi =  dFechaMayorAuxi + dFechaMayor.substring(3,5);
	dFechaMayorAuxi =  dFechaMayorAuxi + dFechaMayor.substring(0,2);       

	if (dFechaMenorAuxi <= dFechaMayorAuxi){
		return true
	}else{
		if (sMensaje != ""){
			alert(sMensaje)
		}
		return false
	}
}

function etrim(s)
{	var fin,str,re,u,ini, ini2
	str="";
	re = /\S/ig;
	ini = s.search("@");
	if (ini != -1){
		s = s.slice(ini + 1);
		u = s.slice(s.length-1, s.length);
		ini2 = s.search("@");
		if (ini2 != -1 ){
			alert("Debe ingresar una sola dirección de e-mail o la que ha ingresado es invalida");
			return(-1)
		}
	}
}

