
<!--

//================================
function formatoPlacaValido(obj) {
//================================
//
// validar a digitacao de um dado que represente a placa de uma moto, semelhante a 'xxx9999'
//
	var placa= obj.value;
	
	placa= retirarCaracter(placa,' ');

	if ( placa == '' ) {
		obj.focus();
		return false;
	}
	
	var alfabeto= "ABCDEFGHIJKLMNOPQRSTUVWZYZ";
	var caracter;
	var cont= 0;
	var letras= placa.substr(0,3);

	//formato válido: 'xxx9999'
	//validar 'xxx'
	if (letras.length != 3)
	{
		obj.focus();
		return false;
	}
	for (var j=0; j<letras.length; j++) {
		caracter= letras.charAt(j).toUpperCase();
		for (i=0; i<alfabeto.length; i++)
		{
			if ( caracter==alfabeto.charAt(i) )
			{
				cont++;
			}
		}
	}
	if (cont != 3)
	{
		obj.focus();
		return false;
	}

	cont= 0;
	
	var numerico= '0123456789';
	var numeros= placa.substr(3,placa.length);

	//formato válido: 'xxx9999'
	//validar '9999'
	if (numeros.length != 4)
	{
		obj.focus();
		return false;
	}
	for (var j=0; j<numeros.length; j++) {
		caracter= numeros.charAt(j);
		for (i=0; i<numerico.length; i++)
		{
			if ( caracter==numerico.charAt(i) )
			{
				cont++;
			}
		}
	}
	if (cont != 4)
	{
		obj.focus();
		return false;
	}

	return true;
}


//================================
function formatoEmailValido(obj) {
//================================
//
// validar a digitacao de um dado que represente um email, no mínimo, semelhante a 'x@x.x'
//
	var email= obj.value;
	
	email= retirarCaracter(email,' ');

	if ( email == '' ) {
		obj.focus();
		return false;
	}
	
	var posArroba= email.indexOf('@');

	if ( posArroba <= 0 )
	{
		obj.focus();
		return false;
	}


  //var invalidos= '!@#$%¨&*()_+}-=][{?~^;:.>,<|`´';
	var invalidos= '!@#$%¨&*()+}=][{?~^;:>,<|`´';
	var caracter;
	var formatoInvalido= false;

	//formato válido: 'x@x.x'
	//validar 'x' anterior ao '@'
	for (j=0; j<posArroba; j++)
	{
		caracter= email.charAt(j);
		for (i=0; i<invalidos.length; i++)
		{
			if ( (caracter==invalidos.charAt(i))||(caracter=='\\')||(caracter==' ') )
			{
				formatoInvalido= true;
				break;
			}
		}
	}
	
	if (formatoInvalido)
	{
		obj.focus();
		return false;
	}	
	
	var posPontoAposArroba= email.indexOf('.',posArroba+1);

	if ( posPontoAposArroba < (posArroba + 1) )
	{
		obj.focus();
		return false;
	}
	
	//formato válido: 'x@x.x'
	//validar 'x' entre o '@' e o '.'
	if ( (posArroba+1) == posPontoAposArroba )
	{
		obj.focus();
		return false;
	}
	for (j=posArroba+1; j<posPontoAposArroba; j++)
	{
		caracter= email.charAt(j);
		for (i=0; i<invalidos.length; i++)
		{
			if ( (caracter==invalidos.charAt(i))||(caracter=='\\')||(caracter==' ') )
			{
				formatoInvalido= true;
				break;
			}
		}
	}
	
	if (formatoInvalido)
	{
		obj.focus();
		return false;
	}	

	//formato válido: 'x@x.x'
	//validar 'x' após o '.'
	if ( (posPontoAposArroba+1) == email.length )
	{
		obj.focus();
		return false;
	}
	for (j=posPontoAposArroba+1; j<email.length; j++)
	{
		caracter= email.charAt(j);
		for (i=0; i<invalidos.length; i++)
		{
			if ( (caracter==invalidos.charAt(i))||(caracter=='\\')||(caracter==' ') )
			{
				formatoInvalido= true;
				break;
			}
		}
	}

	if (formatoInvalido)
	{
		obj.focus();
		return false;
	}	

	return true;
}


//===========================
function alertErro(msgerro) {
//===========================
	if ( msgerro != '' )
	{
		alert(msgerro);
		msgerro= '';
	}
}



//============================
function campoDecimal(obj,max) {
//============================
//
// permitir a digitacao de um valor decimal (12345,67).
//
// função deve ser chamada no evento onKeyPress() do objeto;
//
	var tecla, posvirgula, decimal
	var tam= obj.value.length

	//Internet Explorer
	if (document.all) {
		var tecla = event.keyCode;
	}
	
	//Nestcape
	if (document.layers) {	
		var tecla = e.which;
	}
	
	
	//	verifica se já teclou a vírgula
	posvirgula= obj.value.indexOf(",");

	//	verifica casas decimais
	decimal= '';
	if (posvirgula > -1 )
	{
		decimal= obj.value.substr(posvirgula+1,2);
	}

	//	teclou um número entre 0 e 9, inclusive.
	//	teclou a vírgula pela 1a. vez
	//	não completou as duas casas decimais
	if ( ( tecla > 47 && tecla < 58 && decimal.length < 2 && tam < max ) ||
			( tecla == 44 && posvirgula == -1 && decimal.length < 2 && tam < max ) 
		)

	{
		obj.value= obj.value;
		return true;
	} 
	else
	{
		if (document.all)
		{
			event.keyCode = 0;
		}
		if (document.layers)
		{	
			e.which = 0;
		}
		return false;
	}
}


//============================
function campoMoeda(obj,max) {
//============================
//
// permitir a digitacao de um valor monetario (1672,55) da direita p/esquerda.
//
// função deve ser chamada no evento onKeyPress() do objeto;
//
	var tecla, posvirgula, tam = obj.value.length

	//Internet Explorer
	if (document.all) {
		var tecla = event.keyCode;
	}
	//Nestcape
	if (document.layers) {	
		var tecla = e.which;
	}
	
	//teclou um número entre 0 e 9, inclusive.
	if (tecla > 47 && tecla < 58 && tam < max) {
		if (tam==0) {
			obj.value = "0,0" + obj.value
		} else {
			posvirgula = obj.value.indexOf(",")
			decimal	   = obj.value.substr(posvirgula+1,2)
			if (posvirgula == -1) {
				obj.value = obj.value.substr(0,tam-1) + "," + obj.value.substr(tam-1,1)
			//
			} else if (decimal.length == 1) {
				obj.value = obj.value + ""
			return true;
			//
			} else if (tam==4) {
				if (obj.value.substr(0,1)=="0") {
					obj.value = obj.value.substr(2,1) + obj.value.substr(1,1) + obj.value.substr(3,2)
				} else {
					var posvirgula = obj.value.indexOf(",")
					obj.value = obj.value.substr(0,posvirgula) + obj.value.substr(posvirgula+1,1) + "," + obj.value.substr(posvirgula+2,tam) 
				}
			} else {
				posvirgula = obj.value.indexOf(",")
				if (posvirgula == -1) {
					obj.value = obj.value.substr(0,tam-1) + "," + obj.value.substr(tam,1)
				} else {
					obj.value = obj.value.substr(0,posvirgula) + obj.value.substr(posvirgula+1,1) + "," + obj.value.substr(posvirgula+2,tam) 
				}
			}
		}
		return true;
	} else {
		if (document.all) {
			event.keyCode = 0;
		}
		if (document.layers) {	
			e.which = 0;
		}
		return false;
	}
}


//======================
function campoCnpj(obj) {
//======================
//
// força a digitação de um cnpj no formato 99.999.999/0001-99
//
// função deve ser chamada no evento onKeyPress() do objeto.
//
	var tam = obj.value.length
	
	/*//o tamanho máximo do campo deverá ser 18 (99.999.999/0001-99)
	if (tam == obj.maxlength) {
		return false;
	}*/
	
	//Internet Explorer
	if (document.all) {
		var tecla = event.keyCode;
	}
	//Nestcape
	if (document.layers) {	
		var tecla = e.which;
	}

	//teclou um número entre 0 e 9, inclusive.
	if ( (tecla > 47 && tecla < 58) ) {
		//preenche ponto e traco
		if ((tam==2)||(tam==6)) {
			obj.value = obj.value + "."
		} else if ((tam==10)) {
			obj.value = obj.value + "/"	//"/0001-"
		} else if ((tam==15)) {
			obj.value = obj.value + "-"
		}
		return true;
	} 

	if (tecla == 8) {	//backspace
		return true;
	} else {
		if (document.all) {
			event.keyCode = 0;
		}
		if (document.layers) {	
			e.which = 0;
		}
		return false;
	}
}

//======================
function campoCpf(obj) {
//======================
//
// força a digitação de um cpf no formato 999.999.999-99
//
// função deve ser chamada no evento onKeyPress() do objeto.
//
	var tam = obj.value.length
	
	/*//o tamanho máximo do campo deverá ser 14 (999.999.999-99)
	if (tam == obj.maxlength) {
		return false;
	}*/
	
	//Internet Explorer
	if (document.all) {
		var tecla = event.keyCode;
	}
	//Nestcape
	if (document.layers) {	
		var tecla = e.which;
	}

	//teclou um número entre 0 e 9, inclusive.
	if ( (tecla > 47 && tecla < 58) ) {
		//preenche ponto e traco
		if ((tam==3)||(tam==7)) {
			obj.value = obj.value + "."
		} if ((tam==11)) {
			obj.value = obj.value + "-"
		}
		return true;
	} 

	if (tecla == 8) {	//backspace
		return true;
	} else {
		if (document.all) {
			event.keyCode = 0;
		}
		if (document.layers) {	
			e.which = 0;
		}
		return false;
	}
}

//=========================
function apenasNumerico() {
//=========================
//
// permitir a digitação apenas de numéros entre 0 e 9, inclusive
//
// função deve ser chamada no evento onKeyPress() do objeto.
//
	//Internet Explorer
	if (document.all) {
		var tecla = event.keyCode;
	}
	//Nestcape
	if (document.layers) {	
		var tecla = e.which;
	}

	//teclou um número entre 0 e 9, inclusive.
	if ( (tecla > 47 && tecla < 58) ) {
		return true;
	} else {
		if (document.all) {
			event.keyCode = 0;
		}
		if (document.layers) {	
			e.which = 0;
		}
		return false;
	}
}


//======================================
function apenasAlfabeticoComBarra(obj) {
//======================================
//
// permitir a digitação apenas de caracters alfabéticos, aceitando a barra normal
//
// útil para digitação da razão social, p.ex.: empresa s/a
//
//
	var invalidos	= '!@#$%¨&*()_+}-=][{?~^;:.>,<|`´';
	var alfabetico  = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
	var numerico	= '0123456789';
	var valor		= obj.value;
	var caracter	= '';
	var dado		= '';
	var ehAlfabetico=true;

	
	// permitir a digitação de caracteres válidos, exceto na 1a. posição que tem que ser alfabético
	if (valor.length == 1)
	{
		for (var i=0; i<numerico.length; i++) {
			if (valor == numerico.charAt(i))
			{
				obj.value = dado;
				ehAlfabetico = false;
				break;
			}
		}
	}
	
	
	for (var i=0; i<valor.length; i++) {
		caracter = valor.charAt(i);
		for (j=0; j<invalidos.length; j++) {
			if ((caracter == invalidos.charAt(j)) || (caracter=='\\'))
			{
				obj.value = dado;
				ehAlfabetico = false;
				break;
			}
		}
		dado = dado + caracter;
		if (!ehAlfabetico) {
			break
		}
	}
	
	
	obj.focus();
	
	return (ehAlfabetico)
}


//==============================
function apenasAlfabetico(obj) {
//==============================
//
// permitir a digitação apenas de caracters alfabéticos
//
//
	var invalidos	= '0123456789!@#$%¨&*()_+}-=][{/?~^;:.>,<|`´';
	var valor		= obj.value;
	var caracter	= '';
	var dado		= '';
	var ehAlfabetico=true;

	for (var i=0; i<valor.length; i++) {
		caracter = valor.charAt(i);
		for (j=0; j<invalidos.length; j++) {
			if ((caracter == invalidos.charAt(j)) || (caracter=='\\')) {
				obj.value = dado;
				ehAlfabetico = false;
				break;
			}
		}
		dado = dado + caracter;
		if (!ehAlfabetico) {
			break
		}
	}
	obj.focus();
	return (ehAlfabetico)
}


//================================
function focaProximo(proximoObj) {
//================================
//
// foca o proximo objeto após teclar enter sob o objeto atual;
//
// função deve ser chamada no evento onKeyDown() do objeto
//
	//Internet Explorer
	if (document.all) {
		var tecla = event.keyCode;
	}
	//Nestcape
	if (document.layers) {	
		var tecla = e.which;
	}
	if (tecla == 13) {
		proximoObj.focus()
		return true
	} else if (tecla==9) {
		return true
	} else {
		return false
	}
}


//=================================
function formatarData(obj,seculo) {
//=================================
//
// força a formatação de uma data no formato dd/mm/aaaa.
//
// função deve ser chamada no evento onChange() E/OU no evento onBlur() do objeto.
//
	
	if (obj.value=="") {
		obj.focus()
		return false
	}

	var data = obj.value
	
	if ( (data == "//") || (data.indexOf("/") == -1) || (data.indexOf("/",data.indexOf("/")+1) == -1) || (data.indexOf("/",data.indexOf("/",data.indexOf("/")+1)+1) != -1) ) {
		obj.focus()
		return false
	}
	
    var dia = data.substr(0, data.indexOf("/"))
	var mes = data.substr(data.indexOf("/") + 1, data.lastIndexOf("/") - data.indexOf("/") - 1)
	var ano = data.substr(data.lastIndexOf("/") + 1, 4)

	if (dia.length == "1") {
		dia = "0" + dia
	}
	
	if (mes.length == "1") {
		mes = "0" + mes
	}

	if (ano.length == "2") {
		ano = seculo + ano
	}

	obj.value = dia + "/" + mes +  "/" + ano

	return true;
}

//=======================
function campoData(obj) {
//=======================
//
// força a digitação de uma data no formato dd/mm/aaaa.
//
// função deve ser chamada no evento onKeyPress() do objeto.
//
	var tam = obj.value.length
	
	/*//o tamanho máximo do campo data deverá ser 10 (dd/mm/aaaa)
	if (tam == obj.maxlength) {
		return false;
	}*/
	
	//Internet Explorer
	if (document.all) {
		var tecla = event.keyCode;
	}
	//Nestcape
	if (document.layers) {	
		var tecla = e.which;
	}

	//teclou um número entre 0 e 9, inclusive.
	if ( (tecla > 47 && tecla < 58) ) {
		if (obj.value.indexOf("/") != -1) {
			//if (obj.value.indexOf("/",obj.value.indexOf("/",obj.value.indexOf("/")+1)+1) != -1) {
			if (obj.value.indexOf("/",obj.value.indexOf("/")+1) != -1) {
				return false
			}
		}
		//preenche barra
		if ((tam==2)||(tam==5)) {
			obj.value = obj.value + "/"
		}
		return true;
	} 

	// teclou barra normal "/"
	if (tecla == 47) {
		if (tam==1){
			obj.value = "0" + obj.value
		} else if (tam==4) {
			obj.value = obj.value.substr(0,tam-2) + "/0" + obj.value.substr(tam-1,1) 
		}
		return true;
	} else if (tecla == 8) {	//backspace
		return true;
	} else {
		if (document.all) {
			event.keyCode = 0;
		}
		if (document.layers) {	
			e.which = 0;
		}
		return false;
	}
}


//===============================
function formatarMinusculo(obj) {
//===============================
//
// tornar todos os caracteres digitados em caixa baixa (Minúsculo)
//
// função deve ser chamada no evento onKeyUp() do objeto.
//

	if (obj.value=='') {
		return true
	}

	var s = new String()

	s = obj.value
	obj.value = s.toLowerCase()

	//obj.focus();
	
	return true
}


//===============================
function formatarMaiusculo(obj) {
//===============================
//
// tornar todos os caracteres digitados em caixa alta (Maiúsculo)
//
// função deve ser chamada no evento onKeyUp() do objeto.
//

	if (obj.value=='') {
		return true
	}

	var s = new String()

	s = obj.value
	obj.value = s.toUpperCase()

	//obj.focus();
	
	return true
}

//=================================
function formatoCepValido(objCep) {
//=================================
//
// verifica o formato do conteudo do objeto CEP
//
// aceitar a digitacao de 99.999-999 OU 99999-999
//
	var aceitos = "0123456789.-", posic, carac, cont = 0
	var tam = objCep.value.length   
	
	if ( (tam<8) || (tam>10) ) {
		return false
	}

	var numeros="0123456789", ponto=".", traco="-"

	for (var i=0; i < tam; i++) {  
		carac = objCep.value.charAt(i)
		if ( (tam==9) && (i==5) ) {
			posic = traco.indexOf(carac)
		} else if ( (tam==10) && (i==2) ) {
			posic = ponto.indexOf(carac)
		} else if ( (tam==10) && (i==6) ) {
			posic = traco.indexOf(carac)
		} else {
			posic = numeros.indexOf(carac)
		}	
		if (posic == -1) {
    		return false
		}
	}
	
	return true
}    


//========================================================
function rendaEhMenorQueTriploDaParcela(renda, parcela) {
//========================================================
//
// a renda do cliente deve ser, no mínimo, tres vezes o valor da parcela mensal
//
	return ( ( renda < (3 * parcela) ) )
}

//============================
function formataNumero(dado) {
//============================
//
// formata o valor de um dado numerico com separador de milhar e duas casas decimais
//
// Ex:
// dado   = 1236,3
// retorno= 1.236,30

    var numero = dado, tam=0, decimal = "", milhar = ""

	if (numero.indexOf(",") == -1)
	{
		numero = numero + ",00"
	}
	else
	{
		milhar  = numero.substr(0,numero.indexOf(","))
		decimal = numero.substr(numero.indexOf(",") + 1, 2)
		if (decimal.length==0) {
			decimal = ",00"
		} else if (decimal.length==1) {
			decimal = "," + decimal + "0"
		} else if (decimal.length==2) {
			decimal = "," + decimal
		}
		numero = milhar + decimal
	}

	if (numero.length > 6)
	{
		var j="", x="", n="", p="."
		n	= numero.substr(numero.indexOf(",") - 3 , 6)
		x	= numero.substr(0,numero.indexOf(",")-3)
		tam = x.length
		j	= x.substr(tam,1) + p + n
		n	= j
		tam --
		p	= ""
		for (i=tam; i>=0; i--)
		{
			if ( ((tam==1) && ((i%tam)==1)) || ((tam>2) && ((i%tam)==1)) ) {
				p="."
			} else {
				p=""
			}
			j = x.substr(i,1) + p + n
			n = j
		}
		numero = j
	}
	
	return numero;
}

//==============================
function formataNumeroBD(dado) {
//==============================
//
// formata o valor um campo numerico da tabela, substituindo a virgula pelo ponto
//
// Ex:
// campo   = 1.236,30
// retorno = 1236.30

    var numero = dado
    
	while (numero.indexOf(".") != -1) {
		numero = numero.replace('.','')
    }
    
	numero = numero.replace(',','.')

    return numero;
}


function popupCEP() {
	var atributos = 'width=355, height=355, menu=1, toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=auto, resizable=yes, copyhistory=no'

	if (navigator.appName.indexOf("Microsoft")>=0) {
		atributos += ',left=0, top=0'
	} else {
		atributos += ',screenX=0, screenY=0'
	}
	window.open('../cnw/busca_cep.htm','popup',atributos)
}


//=========================
function ehCpfValido(cpf) {
//=========================
	var cpfEsq, cpfDir, xcpf, xcpf1, xcpf2, controle, cont, soma, digito
	
	if (ehBranco(cpf)) {
		return false
	}
	
	xcpf = cpf.value;
	xcpf = retirarCaracter(xcpf,' ');
	xcpf = retirarCaracter(xcpf,'.');
	xcpf = retirarCaracter(xcpf,'-');
	
	if ( (xcpf=='') || (!ehNumero(xcpf)) || (xcpf.length != "11") ) {
		return false;
    }

	cpfEsq = xcpf.substring(0,9);
	cpfDir = xcpf.substring(9,11);

    xcpf1 = cpfEsq + cpfDir
    xcpf2 = "";

    controle = cpfDir;
    cont = 10;

    for (j=1; j<=2; j++) {
		soma = 0;
		i = 1;
		while (i < cont) {
			soma = soma + (parseInt(xcpf1.substring(i-1,i))*(cont+1-i));
			i++;
		}
	
		digito = (soma*10)%11;
	
		if (digito==10) {
			digito = 0;
		}
	
		xcpf2 += digito;
		cont++;
    }

    return (controle == xcpf2)
}

//==========================
function ehCnpjValido(cnpj) {
//==========================

	var dig1=0;
	var dig2=0;
	var x;
	var Mult1 = '543298765432';
	var Mult2 = '6543298765432';

	cnpj = cnpj.value
	cnpj = retirarCaracter(cnpj,' ');
	cnpj = retirarCaracter(cnpj,'.');
	cnpj = retirarCaracter(cnpj,'-');
	cnpj = retirarCaracter(cnpj,'/');

	for(x=0; x<=11; x++) {
		dig1 = dig1 +(parseInt(cnpj.slice(x,x+1)) * parseInt(Mult1.slice(x,x+1)) );
	}
	
	for(x=0; x<=12; x++) {
		dig2 = dig2 + (parseInt(cnpj.slice(x, x+1)) * parseInt(Mult2.slice(x,x+1)) );
	}

	dig1 = (dig1 * 10)%11;
	dig2 = (dig2 * 10)%11;

	if (dig1 == 10) {dig1 = 0;}
	if (dig2 == 10) {dig2 = 0;}

	if (dig1 != parseInt(cnpj.slice(12, 13))) {
		return false;
	} else {
		if (dig2 != parseInt(cnpj.slice(13, 14))) {
			return false;
		} else {
			return true;
		}
	}
}


//===============================
function getValorCurrency(dado) {
//===============================
	var valor = new String()

	valor = dado
	valor = valor.replace(".","");
	valor = valor.replace(",",".");
	
	return valor
}

//======================
function ehBranco(obj) {
//======================
//return (obj.value.length == 0)
	var ehBranco	= true;
	var texto		= new String();
	var caracteres	= "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
	var caracter	= ''
	var valor		= obj.value;

	for (var i=0; i<valor.length; i++) {
		caracter = valor.charAt(i).toUpperCase();
		for (j=0; j<caracteres.length; j++) {
			if (caracter == caracteres.charAt(j)) {
				ehBranco = false;
				break;
			}
		}
		if (!ehBranco)	{
			break
		}
	}
	
	return (ehBranco)
}


//=======================
function ehNumero(dado) {
//=======================
	
	return ( ! isNaN(dado) )
}


//=====================
function ehZero(dado) {
//=====================
	
	return ( (ehNumero(dado)) && (dado==0) )
}

//=======================
function ehPositivo(dado) {
//=======================
	
	return ( (ehNumero(dado)) && (dado>0) )
}

//=========================
function ehNegativo(dado) {
//=========================
	
	return ( (ehNumero(dado)) && (dado<0) )
}

//=====================
function ehData(obj) {
//=====================
	var dia = new String(), mes = new String(), ano = new String(), data = new String()
	
	if (ehBranco(obj)) {
		return false
	}

	data = obj.value
	
	if (data == "//") {
		return false
	}
	
	if (data.indexOf("/") == -1) {
		return false
	}

	if (data.indexOf("/",data.indexOf("/")+1) == -1) {
		return false
	}

	if (data.indexOf("/",data.indexOf("/",data.indexOf("/")+1)+1) != -1) {
		return false
	}

    dia = data.substr(0, data.indexOf("/"))
	mes = data.substr(data.indexOf("/") + 1, data.lastIndexOf("/") - data.indexOf("/") - 1)
	ano = data.substr(data.lastIndexOf("/") + 1, 4)

	if ( (ano.length != "4") || (!ehNumero(ano)) || (!ehNumero(dia)) || (!ehNumero(mes)) ) {
		return false
	}

	if (mes < 1 || mes > 12) {
		return false
	}

	if ((mes == 1 || mes == 3 || mes == 5 || mes == 7 || mes == 8 || mes == 10 || mes == 12) && (dia < 1 || dia > 31)) {
		return false
	}

	if ((mes == 4 || mes == 6 || mes == 9 || mes == 11) && (dia < 1 || dia > 30)) {
		return false
	}

	if ((mes == 2) && ((ano%4)==0) && (dia < 1 || dia > 29)) {
		return false
	}

	if ((mes == 2) && ((ano%4)!=0) && (dia < 1 || dia > 28)) {
		return false
	}
	
	return true
}

//=============================
function getDataCompleta(obj) {
//=============================
	var dia = new String(), mes = new String(), ano = new String(), data = new String()

	if (! ehData(obj)) {
		return ""
	}

	data= obj.value
    dia = data.substr(0, data.indexOf("/"))
	mes = data.substr(data.indexOf("/") + 1, data.lastIndexOf("/") - data.indexOf("/") - 1)
	ano = data.substr(data.lastIndexOf("/") + 1, 4)

	if (dia.length == "1") {
		dia = "0" + dia
	}
	
	if (mes.length == "1") {
		mes = "0" + mes
	}

	return dia + "/" + mes + "/" + ano
}

//===================================================
function dataEhMaiorQue(primeiraData, segundaData) {
//===================================================
	var data1 = new String(), data2 = new String()
	
	if ( (! ehData(primeiraData)) && (! ehData(segundaData)) ) {
		return false
	}

	primeiraData = getDataCompleta(primeiraData)
	segundaData  = getDataCompleta(segundaData)

	data1 = primeiraData.substr(6,4) + primeiraData.substr(3,2) + primeiraData.substr(0,2)
	data2 = segundaData.substr(6,4) + segundaData.substr(3,2) + segundaData.substr(0,2)
	
	return (data1 > data2)
}

//==================================================
function dataEhMenorQue(primeiraData, segundaData) {
//==================================================
	var data1 = new String(), data2 = new String()
	
	if ( (! ehData(primeiraData)) && (! ehData(segundaData)) ) {
		return false
	}

	primeiraData = getDataCompleta(primeiraData)
	segundaData  = getDataCompleta(segundaData)

	data1 = primeiraData.substr(6,4) + primeiraData.substr(3,2) + primeiraData.substr(0,2)
	data2 = segundaData.substr(6,4) + segundaData.substr(3,2) + segundaData.substr(0,2)
	
	return (data1 < data2)
}


//==================================================
function dataEhIgualA(primeiraData, segundaData) {
//==================================================
	var data1 = new String(), data2 = new String()
	
	if ( (! ehData(primeiraData)) && (! ehData(segundaData)) ) {
		return false
	}

	primeiraData = getDataCompleta(primeiraData)
	segundaData  = getDataCompleta(segundaData)

	data1 = primeiraData.substr(6,4) + primeiraData.substr(3,2) + primeiraData.substr(0,2)
	data2 = segundaData.substr(6,4) + segundaData.substr(3,2) + segundaData.substr(0,2)
	
	return (data1 = data2)
}

//=======================================
function retirarCaracter(dado,caracter) {
//=======================================
	var semBrancos = ''

    for (i=0; i<dado.length; i++) {
	    if (dado.charAt(i) != caracter) {
		    semBrancos += dado.charAt(i)
	    }
    }

	if (semBrancos=='') {
		semBrancos = dado
	}
	
    return (semBrancos)
}

//================================
function retirarString(dado,str) {
//================================
	var semStr = dado, pos = dado.indexOf(str), tam = str.length - 1
	if (pos!=-1)
	{
		semStr = dado.substr(0,pos) + dado.substr(pos+tam,dado.length)
	}

	return (semStr)
}

-->
