


function ValidaDiaConsulta(oSrc, args)
{ 
	var indate=args.Value; 
	if (indate)
	{
		var rx = new RegExp("^\\d{2}-\\d{2}-\\d{4}","g");
		var matches = rx.exec(indate);
		//alert("antes");
		if(matches != null && indate == matches[0])	
		{	
			//alert("entrou");
			var sdate = indate.split("-");
			
			indate = (Math.abs(sdate[1]))+"/"+(Math.abs(sdate[0]))+"/"+(Math.abs(sdate[2]))
			
			var chkDate=new Date(Date.parse(indate)) 
			var cmpDate=(chkDate.getDate())+"/"+(chkDate.getMonth()+1)+"/"+(chkDate.getFullYear()) 
			var indate2=(Math.abs(sdate[0]))+"/"+(Math.abs(sdate[1]))+"/"+(Math.abs(sdate[2])) 
			//alert(indate2);
			//alert(cmpDate);
			if (indate2!=cmpDate)
			{ 
				args.IsValid = false;
			} 
			else  
			{
				var Hoje=new Date;
				var t = Hoje.getTime ();
				var t2=chkDate.getTime ();
				if (t2<t)
				{
					args.IsValid = false;
				}
				else
				{
					args.IsValid = true;
				}
			}
		}
		else
		{
			args.IsValid=false;
		}
	}
}
	
	

//Função que avalia se uma hora é válida ou não	
function ValidaHora (oSrc, args)
{
	var inhora=args.Value;
	if(inhora)
	{
		var rx = new RegExp("^\\d{2}:\\d{2}","g");
		
		///^(\d{4})(\/|-)(\d{1,2})\2(\d{1,2})$/;
		var matches = rx.exec(inhora);
		
		if(matches != null && inhora == matches[0])
		{
			var shora=inhora.split(":");
			var hora = shora[0];
			var minutos = shora[1];
			
			if (hora > 23 )
			{
				args.IsValid = false;		
			}
			else
			{
				if(minutos > 59)
				{
					args.IsValid = false;
				}
				else
				{
					args.IsValid = true;
				}
			}	
		}
		else
		{	
			args.IsValid = false;
		}
	}
}


//Função que avalia se uma data é válida ou não
function ValidaDatas(oSrc, args)
{ 
	var indataemissao=args.Value; 
	
	if (indataemissao)
	{
		var rx = new RegExp("^\\d{2}-\\d{2}-\\d{4}","g");
		var matches = rx.exec(indataemissao);
		
		if(matches != null && indataemissao == matches[0])	
		{
			var sdate = indataemissao.split("-");
			var year= Math.abs(sdate[2]);
			if((year < 1900)||(year>2100)){
				args.IsValid = false;
				return;
			}
			indataemissao = (Math.abs(sdate[1]))+"/"+(Math.abs(sdate[0]))+"/"+(Math.abs(sdate[2]))
			
			var chkDate=new Date(Date.parse(indataemissao)) 
			var cmpDate=(chkDate.getDate())+"/"+(chkDate.getMonth()+1)+"/"+(chkDate.getFullYear()) 
			var indataemissao2=(Math.abs(sdate[0]))+"/"+(Math.abs(sdate[1]))+"/"+(Math.abs(sdate[2])) 
			
			if (indataemissao2!=cmpDate)
			{ 
				args.IsValid = false;
				return;
			} 			
		}
		else
		{
			args.IsValid = false;
			return;
		}
	}
}

//Função que avalia se uma data é válida ou não e se é inferior ou igual há data actual
function ValidaDatasNaoAceitaDatasFuturas(oSrc, args)
{ 
	var indataemissao=args.Value; 
	
	if (indataemissao)
	{
		var rx = new RegExp("^\\d{2}-\\d{2}-\\d{4}","g");
		var matches = rx.exec(indataemissao);
		
		if(matches != null && indataemissao == matches[0])	
		{
			var sdate = indataemissao.split("-");
			var year= Math.abs(sdate[2]);
			if((year < 1900)||(year>2100)){
				args.IsValid = false;
				return;
			}
			indataemissao = (Math.abs(sdate[1]))+"/"+(Math.abs(sdate[0]))+"/"+(Math.abs(sdate[2]))
			
			var chkDate=new Date(Date.parse(indataemissao)) 
			var cmpDate=(chkDate.getDate())+"/"+(chkDate.getMonth()+1)+"/"+(chkDate.getFullYear()) 
			var indataemissao2=(Math.abs(sdate[0]))+"/"+(Math.abs(sdate[1]))+"/"+(Math.abs(sdate[2])) 
			
			if (indataemissao2!=cmpDate)
			{ 
				args.IsValid = false;
				return;
			} 
			else  
			{
				if(new Date(Date.parse(indataemissao))>new Date())
				{
					args.IsValid = false;
					return;
				}				
				else  
				{
					args.IsValid = true;
					return;
				}
			}
		}
		else
		{
			args.IsValid = false;
			return;
		}
	}
}

function validaAno(oSrc, args)
{
	var valor;
	valor = args.Value;
	if (/^[0-9]+$/.test(valor)){
		if((valor < 1900)||(valor>2100)){
			args.IsValid = false;
		}
		else{
			args.IsValid = true;
		}	
	 }
	 else{
		args.IsValid = false;
	}		
}


function validaBigInt(oSrc, args)
{
	var valor;
	valor = args.Value;
	if (/^[0-9]+$/.test(valor)){
		if (valor > 9223372036854775808){
			args.IsValid = false;
		}
		else{
			 args.IsValid = true;
		}	 
	 }
	 else{
		args.IsValid = false;
	}		
}

function validaNumero(oSrc, args)
{
	var valor;
	valor = args.Value;
	if (/^[0-9]+$/.test(valor)){
		if (valor > 2147483647 ){
			args.IsValid = false;
		}
		else{
			 args.IsValid = true;
		}	 
	 }
	 else{
		args.IsValid = false;
	}		
}

//@smm 26072004 - alterei esta função para aceitar valores negativos
function validaDecimal(oSrc, args)
{
	var valor;
	valor = args.Value;

	if (/^[-]?[0-9]+[,]?[0-9]*$/.test(valor))
	{
		 if (valor > 79228162514264337593543950335 ){
			args.IsValid = false;
		}
		else{
			 args.IsValid = true;
		}	 
	}
	else
	{
		args.IsValid = false;
	}		
}

/*function validaDecimal(oSrc, args)
{
	var valor;
	valor = args.Value;
	if (/^[0-9]+[,]?[0-9]*$/.test(valor))

	{
		 if (valor > 79228162514264337593543950335 ){
			args.IsValid = false;
		}
		else{
			 args.IsValid = true;
		}	 
	}
	else
	{
		args.IsValid = false;
	}		
}*/

function validaDecimalAndIsZero(oSrc, args)
{
	validaDecimal(oSrc, args);
	if(args.IsValid){
		var valor;
		valor = args.Value;
		if (valor==0){
			args.IsValid = false;
		}
		else{
			args.IsValid = true;
		}		
	}		
}

function validaTaxaIva(oSrc, args)
{
	var valor;
	valor = args.Value;
	if (/^[0-9][0-9]?$/.test(valor))
	{
		args.IsValid = true;			 
	}
	else
	{
		args.IsValid = false;
	}			
}


function ValidaInteiro(oSrc, args)
{
	var valor;
	valor = args.Value;
	if (/^[0-9]*$/.test(valor)){
	 args.IsValid = true;
	 }
	 else{
		args.IsValid = false;
	}		
}

function ValidaMes(oSrc, args)
{

	var valor;
	valor = args.Value;
	
	//alert(args.Value);
	
	if(valor == 0)
	{
		
		args.IsValid = false;
	
	}
	else
	{
		args.IsValid = true;
	}	
}
function ValidaTamanhoCampo(oSrc, args)
{
	var valor=args.Value;

	if (valor.length>600)
	{		
		args.IsValid = false;
	}
	else
	{
		args.IsValid = true;
	}
}


