function jsf_ValidarDia(valor, mes, anio, mensaje, obligatorio){
	var sResp;
	
	if (jsf_Trim(valor.value) != ""){
		if(jsf_ValidarEntero(valor.value) == ""){
				valor.style.backgroundColor = jsf_rojo();
				mensaje.innerHTML = "";
				return false;
		}else{
			if(jsf_ValidarEntero(valor.value) > 0 && jsf_ValidarEntero(valor.value) <= 31){
				if(jsf_Trim(mes.value) != "" && jsf_Trim(anio.value) != ""){
					sResp = jsf_ValidarFecha(valor, mes, anio);
					if(sResp == true){
						valor.style.backgroundColor = jsf_blanco();
						mes.style.backgroundColor = jsf_blanco();
						anio.style.backgroundColor = jsf_blanco();
						mensaje.innerHTML = "";
						return true;
					}else{
						valor.style.backgroundColor = jsf_rojo();
						mes.style.backgroundColor = jsf_rojo();
						anio.style.backgroundColor = jsf_rojo();
						mensaje.innerHTML = "";
						return false;
					}
				}else{
					valor.style.backgroundColor = jsf_blanco(); 
					mensaje.innerHTML = ""
					return true;
				}
			}else{
				valor.style.backgroundColor = jsf_rojo();
				mensaje.innerHTML = "";
				return false;
			}
		}
	}else{			
		if(obligatorio == 1){
			valor.style.backgroundColor = jsf_rojo();
			mensaje.innerHTML = "";
			return false; 				
		}else{
			valor.style.backgroundColor = jsf_ambar();
			mensaje.innerHTML = ""
			return true;
		}		
	}
}
		
function jsf_ValidarMes(valor, dia, anio, mensaje, obligatorio){
	var sResp;
	if (jsf_Trim(valor.value) != ""){
		// valida el dato de la caja mes
		// Si fuera letra A la function devuelve un vacio ""
		if(jsf_ValidarEntero(valor.value) == ""){
				valor.style.backgroundColor = jsf_rojo();
				mensaje.innerHTML = "";
				return false;
		//caso contrario es un numero entero		
		}else{
			if(jsf_ValidarEntero(valor.value) > 0 && jsf_ValidarEntero(valor.value) <= 12){
			//Analizo si estan llenos todos los valores de la fecha
				if(jsf_Trim(dia.value) != "" && jsf_Trim(anio.value) != ""){
				//Analizo el Formato de la Fecha
					sResp = jsf_ValidarFecha(dia, valor, anio);
					// Si la informacion de la variable sResp == 0 es correcta la fecha
					if(sResp == true){
						dia.style.backgroundColor = jsf_blanco();
						valor.style.backgroundColor = jsf_blanco();
						anio.style.backgroundColor = jsf_blanco();
						mensaje.innerHTML = "";
						return true;
					}else{
						dia.style.backgroundColor = jsf_rojo();
						valor.style.backgroundColor = jsf_rojo();
						anio.style.backgroundColor = jsf_rojo();
						mensaje.innerHTML = "";
						return false;
					}
				}else{ 
					valor.style.backgroundColor = jsf_blanco();
					mensaje.innerHTML = ""
					return true;
				}
			}else{
				valor.style.backgroundColor = jsf_rojo();
				mensaje.innerHTML = "";
				return false;
			}
		}
	}else{
		if(obligatorio == 1){
			valor.style.backgroundColor = jsf_rojo();
			mensaje.innerHTML = "";
			return false; 				
		}else{
			valor.style.backgroundColor = jsf_ambar();
			mensaje.innerHTML = ""
			return true; 				
		}				
	}
}

function jsf_ValidarAnio(valor, AnioInicio, AnioFin, dia, mes, mensaje, obligatorio){
	var sResp;
	if (jsf_Trim(valor.value) != ""){
		if(jsf_ValidarEntero(valor.value) == ""){
				//alert("No es numero");
				valor.style.backgroundColor = jsf_rojo();
				mensaje.innerHTML = "";
				return false
		}else{  //Caso contrario tiene un valor y es entero
		// Si es Valido es un aņo correcto
			if(jsf_ValidarEntero(valor.value) >= AnioInicio && jsf_ValidarEntero(valor.value) <= AnioFin){
				//alert("Es numero: "+jsf_ValidarEntero(valor.value));
				//si Tengo el dia y tengo el mes
				if(jsf_Trim(dia.value) != "" && jsf_Trim(mes.value) != ""){
					//Valido la Fecha completa
					sResp = jsf_ValidarFecha(dia, mes, valor);
					//alert("Validar Fecha: " + sResp);
					if(sResp == true){
						dia.style.backgroundColor = jsf_blanco();
						mes.style.backgroundColor = jsf_blanco();
						valor.style.backgroundColor = jsf_blanco();
						mensaje.innerHTML = "";
						return true;
					}else{
						dia.style.backgroundColor = jsf_rojo();
						mes.style.backgroundColor = jsf_rojo();
						valor.style.backgroundColor = jsf_rojo();
						mensaje.innerHTML = "";
						return false;
					}
				}else{ 
					valor.style.backgroundColor = jsf_blanco();
					mensaje.innerHTML = ""
					return true			
				}
			}else{
				valor.style.backgroundColor = jsf_rojo();
				mensaje.innerHTML = "";
				return false
			}
		}
	}else{
		if(obligatorio == 1){
			valor.style.backgroundColor = jsf_rojo();
			mensaje.innerHTML = "";
			return false; 				
		}else{
			valor.style.backgroundColor = jsf_ambar();
			mensaje.innerHTML = ""
			return true; 				
		}				
	}
}

function jsf_ValidarFecha(dia, mes, anio){
	if(jsf_ValidarEntero(mes.value) == 2){
		if(jsf_ValidarEntero(dia.value) == 29){
			//Si el resto es igual a Cero retorna Cero
			if(jsf_ValidarEntero(anio.value) % 4 == 0){							
				return true;
			}else{							
				return false;
			}
		}else if(jsf_ValidarEntero(dia.value) >= 1 && jsf_ValidarEntero(dia.value) < 29){						
			return true;
		}else{						
			return false;
		}
	}else if(jsf_ValidarEntero(mes.value) == 4 || 
		jsf_ValidarEntero(mes.value) == 6 ||
		jsf_ValidarEntero(mes.value) == 9 ||
		jsf_ValidarEntero(mes.value) == 11){
		if(jsf_ValidarEntero(dia.value) >= 1 && jsf_ValidarEntero(dia.value) < 31){						
			return true;
		}else{						
			return false;
		}
	}else if(jsf_ValidarEntero(mes.value) == 1 ||
			jsf_ValidarEntero(mes.value) == 3 ||
			jsf_ValidarEntero(mes.value) == 5 ||
			jsf_ValidarEntero(mes.value) == 7 ||
			jsf_ValidarEntero(mes.value) == 8 ||
			jsf_ValidarEntero(mes.value) == 10 ||
			jsf_ValidarEntero(mes.value) == 12){					
		if(jsf_ValidarEntero(dia.value) >= 1 && jsf_ValidarEntero(dia.value) < 32){						
			return true;
		}else{						
			return false;
		}
	}	
}

