function valida_Campo(NombreCampo, ValorRestringido, ValorOmision, TipoCampo, Descrip)
{
	if(document.forms[0][NombreCampo].value == ValorRestringido) 
	{
		if (TipoCampo != 'OBLIG')
		{
			document.forms[0][NombreCampo].value=	ValorOmision;
			return true;
		}
		else
			alert('La información de ' + Descrip + ' es inválida');
			document.forms[0][NombreCampo].focus();

		return false;
	}
	else
	{
		return true;
	}
}

function valida_fecha_general(name_dia,name_mes,name_ano,des,obli,fecha_min,fecha_max,test,largo,campo_siguiente)
{
/*
Valida cualquier fecha en formato DD/MM/AA

obli :  0 = balnco o ceros
		1 = Obligatorio
		
test (ayuda al programador)
		0 = no muestra mensajes 
		1 = muestra mensajes

campo_siguiente

*/

/////Rescata el valor de la fecha

if (test == "1") alert("Entro a validar la fecha " + des);
	

var fecnacdd  = document.forms[0][name_dia].value
var fecnacmm  = document.forms[0][name_mes].value
var fecnacaa  = document.forms[0][name_ano].value


// 1ĝ validacion
// Valida si el campo es blanco y si es obligatorio su ingreso

if (obli == "1")
{
	if((fecnacdd=="" || fecnacdd==" ")  || (fecnacmm=="" || fecnacmm==" ") || (fecnacaa=="" || fecnacaa==" "))
	{
		alert("Fecha de " + des + " invalida");
		document.forms[0][name_dia].focus();
		return false;
	}
	else
	{
		if((fecnacdd=="0" || fecnacdd=="00")  && (fecnacmm=="0" || fecnacmm=="00") && (fecnacaa=="0" ))
		{
  			alert("Fecha de " + des + " invalida");
			document.forms[0][name_dia].focus();
  			return false;
	
		}
	}
}
else
{
	if (((fecnacdd=="" || fecnacdd==" ")  || (fecnacmm=="" || fecnacmm==" ") || (fecnacaa=="" || fecnacaa==" ")) ||
	   ((fecnacdd=="0" || fecnacdd=="00")  && (fecnacmm=="0" || fecnacmm=="00") && (fecnacaa=="0" )))
	{
		if (fecnacdd=="" || fecnacdd==" " || fecnacdd=="0" || fecnacdd=="00")
		{
			document.forms[0][name_dia].value= "0";
			fecnacdd = "0";
			document.forms[0][name_mes].focus();
		}
		if (fecnacmm=="" || fecnacmm==" " || fecnacmm=="0" || fecnacmm=="00")
		{
			document.forms[0][name_mes].value= "0";
			fecnacmm = "0";
			document.forms[0][name_ano].focus();
		}

		if (fecnacaa=="" || fecnacaa==" " || fecnacaa=="0" || fecnacaa=="00")
		{
			document.forms[0][name_ano].value= "0";
			fecnacaa = "0";
			document.forms[0][campo_siguiente].focus();
		}

		if ((fecnacdd=="0" || fecnacdd=="00")  && (fecnacmm=="0" || fecnacmm=="00") && (fecnacaa=="0" || fecnacaa=="00" || fecnacaa=="000" || fecnacaa=="0000" ))
		{
			return true;		
		}
		
	}
}

// 2ĝ Validacion. 
// Valida los rango de dia y mes 

	if(fecnacdd<1 || fecnacdd>31) 
	{
  		alert("DĦa de fecha de " + des  + " fuera de rango");
		document.forms[0][name_dia].focus();
  		return false;
	} 

	if(fecnacmm<1 || fecnacmm>12) 
	{
  		alert("Mes de fecha de " + des + " fuera de rango");
		document.forms[0][name_mes].focus();
  		return false;
	} 

// Rellena con ceros el dia y el mes para quedar con formato DD - MM
	if(fecnacmm.length < 2){
		fecnacmm = "0" + fecnacmm;
	}

	if(fecnacdd.length < 2){
		fecnacdd = "0" + fecnacdd;
	}

	if(fecnacaa.length == 1 && largo == 4)
	{
		fecnacaa = "200" + fecnacaa;
	}
	else
	{
		if(fecnacaa.length == 1 && largo == 2)
		{
			fecnacaa = "0" + fecnacaa;
		}
	}

	switch (fecnacaa.length) 
	{
		case 1 : fecnacaa = "000" + fecnacaa;break;
		case 2 : 
				if (fecnacaa < 52)
					fecnacaa = "20" + fecnacaa;
				else
					fecnacaa = "19" + fecnacaa;
		break;
		case 3 : fecnacaa = "0"   + fecnacaa;break;
	}
		

if (test == "1") alert("A¤o Pantalla : " + fecnacaa ); 	
if (test == "1") alert("A¤o Minimo : " + fecha_min.substring(0,4) ); 	
	
	// Fecha Pantalla
	fechavalida = fecnacaa  + fecnacmm  + fecnacdd;
	
	if (fecnacaa < fecha_min.substring(0,4))
  		{
  		alert("A¤o de fecha de " + des + " fuera de rango");
		document.forms[0][name_ano].focus();
		return false;}
		
// 3ĝ Validacion. 
// Valida los rango fechas

if (test == "1") alert("Fecha Pantalla : " + fechavalida  ); 	
if (test == "1") alert("Fecha Maxima : " + fecha_max); 	

	if (fechavalida > fecha_max)
	{
  		alert("Fecha de " + des + " debe ser menor o igual a la fecha " + fecha_max.substring(6,8) + "/" + fecha_max.substring(4,6)+ "/" + fecha_max.substring(0,4) );
		document.forms[0][name_dia].focus();
		return false;
		}
//***************************************************************************
// Validación Fecha Minima, Incorporada  por Douglas Cancino el 09-12-2002
//***************************************************************************
	if (test == "1") alert("Fecha Minima : " + fecha_min); 	
	if (fechavalida < fecha_min)
	{
 		alert("Fecha de " + des + " debe ser mayor o igual a la fecha " + fecha_min.substring(6,8) + "/" + fecha_min.substring(4,6)+ "/" + fecha_min.substring(0,4) );
		document.forms[0][name_dia].focus();
		return false;
	}

if (largo == 2 )
{
	fecnacaa =  fecnacaa.substring(largo,4);

}
else
{
	fecnacaa =  fecnacaa.substring(0,largo);
}

if (test == "1") alert("Fecha Pantalla retorno : " + fecnacaa);

// Devuelve el resultado a la pantalla
 
 	document.forms[0][name_dia].value= fecnacdd;
 	document.forms[0][name_mes].value = fecnacmm;
	document.forms[0][name_ano].value = fecnacaa;
	document.forms[0][campo_siguiente].focus();
 	return true;

}


