function Numerico(){
	var tecla = event.keyCode;
	if (tecla < 48 || tecla > 57){
		event.keyCode = 0;
	}
}

function FormataData(campo,teclapres) {
	var tecla = teclapres.keyCode;
	vr = campo.value;
	vr = vr.replace( ".", "" );
	vr = vr.replace( "/", "" );
	vr = vr.replace( "/", "" );
	tam = vr.length + 1;

	if ( tecla != 9 && tecla != 8 ){
		if ( tam > 2 && tam < 5 )
			campo.value = vr.substr( 0, tam - 2  ) + '/' + vr.substr( tam - 2, tam );
		if ( tam >= 5 && tam <= 10 )
			campo.value = vr.substr( 0, 2 ) + '/' + vr.substr( 2, 2 ) + '/' + vr.substr( 4, 4 ); 
	}
}

function FormataMesAno(Campo,teclapres) {
	var tecla = teclapres.keyCode;
	vr = document.form[Campo].value;
	vr = vr.replace( ".", "" );
	vr = vr.replace( "/", "" );
	vr = vr.replace( "/", "" );
	tam = vr.length + 1;

	if ( tecla != 9 && tecla != 8 ){
		if ( tam > 2 && tam < 7 )
			document.form[Campo].value = vr.substr( 0, 2 ) + '/' + vr.substr( 2, tam ); }
}

var reData	= /^(([0]?[1-9])|([1,2]\d)|([3][0,1]))\W?(([0]?[1-9])|([1][0-2]))\W?([1-9][0-9]{1,3})$/
var fsData	= "$1/$5/$8"
var feData	= "$1$5$8"
var reMMAAAA	= /^(([0]?[1-9])|([1][0-2]))\W?([1-9]\d{3})$/
var fsMMAAAA	= "$1/$4"
var feMMAAAA	= "$1$4"
var reDDMMAAAA	= /^(([0]?[1-9])|([1,2]\d)|([3][0,1]))\W?(([0]?[1-9])|([1][0-2]))\W?([1-9][0-9]{3})$/
var fsDDMMAAAA	= "$1/$5/$8"
var feDDMMAAAA	= "$1$5$8"
var reDDMMAA	= /^(([0]?[1-9])|([1,2]\d)|([3][0,1]))\W?(([0]?[1-9])|([1][0-2]))\W?([0-9][0-9]{1})$/
var fsDDMMAA	= "$1/$5/$8"
var feDDMMAA	= "$1$5$8"
var reDDMM	=/^(([0]?[1-9])|([1,2]\d)|([3][0,1]))\W?(([0]?[1-9])|([1][0-2]))$/
var feDDMM      = "$1$5"
var fsDDMM      = "$1/$5"
var reDia	=/^(([0]?[1-9])|([1,2]\d)|([3][0,1]))$/ 
var reMes	=/^(([0]?[1-9])|([1][0-2]))$/ 
var reAno4	=/^[1-9][0-9]{3}$/
var reAno2	=/^[0-9][0-9]{1}$/

// true = ok	/	false = com erro	/	0 = vazio
function impValData(field,bmsg,itipo,iBDtipo){
	if (field.value==""){return 0};
	var atipo = ["data","dd/mm/aa","dd/mm/aaaa","dd/mm","mm/aaaa"];
	iBDtipo=(iBDtipo)?iBDtipo:0 //0=smalldatetime (default), 1=datetime
	itipo=(itipo)?itipo:0 //0=qualquer, 1=dmaa,2=dmaaaa,3=ddmm,4=mmaaaa   
	var bformatoData = formatoData(field.value)
	var bDDMMAA 	= ((bformatoData==1)&&(itipo==0||itipo==1))
	var bDDMMAAAA	= ((bformatoData==2)&&(itipo==0||itipo==2))
	var bDDMM 		= ((bformatoData==3)&&(itipo==0||itipo==3))
	var bMMAAAA		= ((bformatoData==4)&&(itipo==0||itipo==4))
	// formato não reconhecido
	if ((!bDDMMAA)&&(!bDDMMAAAA)&&(!bDDMM)&&(!bMMAAAA)){
		if(bmsg) alert ("Informe uma outra data!")
		field.select();field.focus();
		return false;
	}

	var dia0, mes0, ano0;
	var auxData;
	var dData = "";
	var dHoje = new Date();
	if (bDDMMAAAA){
		dData = impFormat(field.value,reDDMMAAAA,fsDDMMAAAA);
	} else if (bDDMMAA) {
		dData = impFormat(field.value,reDDMMAA,fsDDMMAA);
	} else {
		dData=impFormat(field.value+"/"+dHoje.getFullYear(),reDDMMAAAA,fsDDMMAAAA);
	}
	if (bMMAAAA) {
		dData=impFormat(field.value,reMMAAAA,fsMMAAAA) //MMAAAA
	}
	dma = dData.split("/");
	if (bDDMMAA){
		dma[2]= (dma[2]<20)?parseInt(dma[2])+2000:parseInt(dma[2])+1900;
	} // janelamento de data
	if (bMMAAAA){
		dma[2]= dma[1];  dma[1]= dma[0];
	} //ajusta array comparativo para MMAAAA
	if(!validaPeriodo(iBDtipo, dma[2], dma[1], dma[0])){
		alert ("Data inválida");
		field.select();field.focus();
	 	return false;
	}
	var obj = new Date(dma[2], dma[1]-1, dma[0])//cria data no browser
	dma[0]= "00" + dma[0]
	dma[1]= "00" + dma[1]
	dma[2]= "0000" + dma[2]
	dma[0] = dma[0].substr(dma[0].length-2) 
	dma[1] = dma[1].substr(dma[1].length-2)
	dma[2] = dma[2].substr(dma[2].length-4)
	dData = dma.join("/")
	dia0 = "00" + obj.getDate()
	mes0 = "00" + (obj.getMonth()+1)
	ano0 = "0000" + obj.getFullYear()
	dia0 = dia0.substr(dia0.length-2) 
	mes0 = mes0.substr(mes0.length-2)
	ano0 = ano0.substr(ano0.length-4)
	if (bMMAAAA){ 
		auxData =  mes0 + "/"+ ano0
		dData = dma[1] + "/"+ dma[2]}
	else{ 
		auxData = dia0 + "/"+  mes0 + "/"+ ano0
	}
	if ((auxData != dData)){ 
		//if (bmsg) alert("Data incorreta\nVerifique sua Digitação")
		//field.select();
		//field.focus();
		return true;     
	}else{  
		if (bMMAAAA){field.value=mes0+"/"+ano0}
		else 		{field.value=dia0+"/"+mes0+((itipo==3)?"":("/"+((itipo==1)?ano0.substring(ano0,2):ano0)))}
		return true
	}

}

function formatoData(data){
	if  (bMMAAAA=reMMAAAA.test(data)) return 4	
	if  (reDDMMAA.test(data))  return 1
	if  (reDDMMAAAA.test(data)) return 2
	if  (bDDMM=reDDMM.test(data)) return 3
	return false
}
function validaPeriodo(iBDtipo, Ano, Mes, Dia){
	switch (parseInt(iBDtipo)){
		case 0 :	//smalldatetime
			if (Ano < 1900){return false}
			if (Ano > 2079){return false}
			if ((Ano == 2079) && (Mes > 6)){return false}
			if ((Ano == 2079) && (Mes == 6) && (Dia > 6)){return false}	
			break;
		case 1 :	//datetime
			if (Ano < 1753)	{return false}		
			if (Ano > 9999)	{return false}		
			break;
	}
	return true;
}
function impFormat(instr,reBusca,sTroca,umavez,ignorecase){
    if (isString(reBusca)){ 
	  	reBusca = new RegExp(reBusca,((ignorecase)?"i":"")+((umavez)?"":"g"))
	}
    return instr.replace(reBusca,sTroca);
}
function isString(obj){
	var stobj = typeof obj;
	return (stobj.indexOf("string") >= 0);
}

function DataMaiorIgual(data1,data2)
{
//Passar as datas no formato dd/mm/yyyy que a função trata de converter
	dia = data1.substring(0,2)
	mes = data1.substring(3,5)
	ano = data1.substring(6,10)
	data1aux = new Date(mes + "/" + dia + "/" + ano)
//	data1aux = data1aux.getMonth()+1 + data1aux.getDate() + data1aux.getYear()
	data1aux = ano + mes + dia
	//alert("data1  " + data1aux);
	dia = ""
	mes = ""
	ano = ""
	dia = data2.substring(0,2)
	mes = data2.substring(3,5)
	ano = data2.substring(6,10)
	data2aux = new Date(mes + "/" + dia + "/" + ano)
//	data2aux = data2aux.getYear() + "" + data2aux.getMonth()+1 + "" + data2aux.getDate()
	data2aux = ano + mes + dia
	//alert("data2  " + data2aux);
			if  (eval(data2aux) < eval(data1aux))
			{
				//alert("A data 2 é menor que a data 1!");
				return false
			}
			else
			{
				return true
			}
}

function DataMaior(data1,data2)
{
//Passar as datas no formato dd/mm/yyyy que a função trata de converter
	dia = data1.substring(0,2)
	mes = data1.substring(3,5)
	ano = data1.substring(6,10)
	data1aux = new Date(mes + "/" + dia + "/" + ano)
	data1aux = ano + mes + dia
	//alert("data1  " + data1aux);
	dia = ""
	mes = ""
	ano = ""
	dia = data2.substring(0,2)
	mes = data2.substring(3,5)
	ano = data2.substring(6,10)
	data2aux = new Date(mes + "/" + dia + "/" + ano)
	data2aux = ano + mes + dia
	//alert("data2  " + data2aux);
			if  (eval(data2aux) <= eval(data1aux))
			{
				//alert("A data 2 é menor que a data 1!");
				return false
			}
			else
			{
				return true
			}
}

function ValorFormatadoJS(valor){
	return parseFloat(valor.replace('.', '').replace(',', '.'));
}

