//*****
//FUNCIONES PARA VALIDAR FECHAS
//*****

	function jsValidaFechaVsNow(FechaActual,Fecha,comparador)
    {
      var diaActual = fn_vtnObtenerDiaFecha(FechaActual);
      var mesActual = fn_vtnObtenerMesFecha(FechaActual);
      var anoActual = fn_vtnObtenerAnoFecha(FechaActual);
      
      var dia = fn_vtnObtenerDiaFecha(Fecha);
      var mes = fn_vtnObtenerMesFecha(Fecha);
      var ano = fn_vtnObtenerAnoFecha(Fecha);
      
      var objFechaActual = new Date(anoActual, mesActual, diaActual);
      var objFecha = new Date(ano, mes, dia);
	  switch (comparador)
	  {
	    case "=" : return objFecha == objFechaActual;
				   break;
		case ">=" : return objFecha >= objFechaActual;
				   break;
		case "<=" : return objFecha <= objFechaActual;
				   break;				   
		case ">" : return objFecha > objFechaActual;
				   break;				   				   				   
		case "<" : return objFecha < objFechaActual;
				   break;				   				   				   
		case "!=" : return objFecha != objFechaActual;
				   break;				   				   				   
		default : return false;
	  } 				
    }
	function fn_ValidaNumericaFecha()
	{
		if (event.keyCode >= 48 && event.keyCode <= 57 || event.keyCode == 47)
			event.returnValue = true;	 
		else
		{
			alert("Caracter no válido")
			event.returnValue = false;
		}
	}

	function fn_vtnObtenerDiaFecha(Fecha)
	{
		var Ano, Mes, Dia, Fech;
		// Fecha en Formato DD/MM/YYYY
		err=0;
		//--------
		if(Fecha=='')
		{
			var firstDayInstance = new Date;
			return firstDayInstance.getDay()
		}
		else
		{
			//--------
			Fech = Fecha;
			Dia = Fech.substring(0, 2);
			Mes = Fech.substring(3, 5);
			Ano = Fech.substring(6, 10);
			//--------
			return Dia;
		}
	}
	
	function fn_vtnObtenerMesFecha(Fecha)
	{
		var Ano, Mes, Dia, Fech;
		// Fecha en Formato DD/MM/YYYY
		err=0;
		//--------
		if(Fecha=='')
		{
			var firstMonthInstance = new Date();
			return firstMonthInstance.getMonth()+1
		}
		else
		{
			//--------
			Fech = Fecha;
			Mes = Fech.substring(3, 5);
			//--------
			return Mes;
		}
	}

	function fn_vtnObtenerAnoFecha(Fecha)
	{
		var Ano, Mes, Dia, Fech;
		// Fecha en Formato DD/MM/YYYY
		err=0;
		//--------
		if(Fecha=='')
		{
			var firstYearInstance = new Date;
			return firstYearInstance.getYear()
		}
		else
		{
			//--------
			Fech = Fecha;
			Dia = Fech.substring(0, 2);
			Mes = Fech.substring(3, 5);
			Ano = Fech.substring(6, 10);
			//--------
			return Ano;
		}
	}

	function fn_blnValidaFecha(Fecha)
	{
		var Ano, Mes, Dia, Fech, err, d1, d2, i;
		// Fecha en Formato DD/MM/YYYY
		err=0;
		//--------
		if(Fecha=='')
		{
			err = 1;
		}
		//--------
		Fech = Fecha;
		Mes = Fech.substring(3, 5);
		d1 = Fech.substring(2, 3);
		Dia = Fech.substring(0, 2);
		d2 = Fech.substring(5, 6);
		Ano = Fech.substring(6, 10);
		//--------			
		if (Mes!='01' && Mes!='02' && Mes!='03' && Mes!='04' && Mes!='05' && Mes!='06' && Mes!='07' && Mes!='08' && Mes!='09' && Mes!='10' && Mes!='11' && Mes!='12')
		{ 
			err = 1;
		}		
		if (d1 != '/')
		{ 
			err = 1;
		}
		//--------
		switch(Mes)
		{
			case '01':
			case '03':
			case '05':
			case '07':
			case '08':
			case '10':
			case '12':
				if(parseInt(Dia)>31)
				{					
					err=1;				
				}
				break;
			case '02':
				if( (parseInt(Ano)%4) != 0)
				{
					if(parseInt(Dia) > 29) 
					{
						err=1
					}
				}
				else
				{
					if(parseInt(Dia) > 28) 
					{
						err=1;
					}
				}
				break;
			case '04':
			case '06':
			case '09':
			case '11':
				if(parseInt(Dia)>30) 
				{
					err=1;
				}
				break;
			default:
				err=1;
				break;
		}
		//--------
		if (d2 != '/')
		{
			err = 1;
		}
		if (parseInt(Ano)<1900) 
		{
			err = 1;
		}
		if(err==0)
		{
			return true
		}
		else
		{
			return false;
		}
	}
	
	function jsValidaDiaMes(source, arguments)
	{
	  
	  arguments.IsValid = !(parseInt(arguments.Value) > parseInt(document.all("hdnMaxDias_"+ document.Form1.hdnIdCal.value).value));
	}

    function jsValidaFecha(source, arguments)
    {
	  arguments.IsValid = fn_validaFecha(arguments.Value);
    }
    
   
	
	// Funcion Valida Fecha
	function fn_validaFecha(Fecha)
	{
		var Ano, Mes, Dia, Fech, err, d1, d2, i;
		// Fecha en Formato DD/MM/YYYY
		err=0;
		//--------
		if(Fecha=='')
		{
			err = 1;
		}
		//--------
		Fech = Fecha;
		Mes = Fech.substring(3, 5);
		d1 = Fech.substring(2, 3);
		Dia = Fech.substring(0, 2);
		d2 = Fech.substring(5, 6);
		Ano = Fech.substring(6, 10);
		//--------			
		if (Mes!='01' && Mes!='02' && Mes!='03' && Mes!='04' && Mes!='05' && Mes!='06' && Mes!='07' && Mes!='08' && Mes!='09' && Mes!='10' && Mes!='11' && Mes!='12')
		{ 
			err = 1;
		}		
		if (d1 != '/')
		{ 
			err = 1;
		}
		//--------
		switch(Mes)
		{
			case '01':
			case '03':
			case '05':
			case '07':
			case '08':
			case '10':
			case '12':
				if(parseInt(Dia)>31)
				{					
					err=1;				
				}
				break;
			case '02':
				if( ((parseInt(Ano)%4) == 0 && (parseInt(Ano) % 100) != 0) || (parseInt(Ano) % 400) == 0)
				{
					if(parseInt(Dia) > 29) 
					{
						err=1
					}
				}
				else
				{
					if(parseInt(Dia) > 28) 
					{
						err=1;
					}
				}
				break;
			case '04':
			case '06':
			case '09':
			case '11':
				if(parseInt(Dia)>30) 
				{					err=1;
				}
				break;
			default:
				err=1;
				break;
		}
		//--------
		if (d2 != '/')
		{
			err = 1;
		}
		if (parseInt(Ano)<1900) 
		{
			err = 1;
		}
		if(err==0)
		{
			return true
		}
		else
		{
			return false;
		}
	}


	function fn_FechaActividadValida(Fecha,Hora)
	{
		var FechaActual = new Date();
		var dtFecha = new Date();
		if (Hora<=-1) return false;
		var Hr = Math.floor(Hora);
		var Min = (Hora - Hr)*60;
		if (fn_validaFecha(Fecha) && Hr >= 0 && Min >=0)
			{
			dtFecha = new Date(fn_vtnObtenerAnoFecha(Fecha),fn_vtnObtenerMesFecha(Fecha)-1,fn_vtnObtenerDiaFecha(Fecha),Hr,Min);
			if (FechaActual <= dtFecha)
				if (dtFecha.getDay() > 0 && dtFecha.getDay()< 6)
					return true
				else
					return false
			else
				return false
			}
		else
			return false;

	}
	
	function quitarFormatoMoneda(txtVal)
	{
		txtVal = txtVal.replace("$","");   //Quitar Simbolo de Moneda
		txtVal = txtVal.replace(",","");   //Quitar Separador de Miles
		if(txtVal.length==0) txtVal = "0"; //En caso de estar vacio para que no marque Error al Parsear
		return txtVal;
	}
