/* ************************************************************************************** */
// Variaveis globais
	var tamanhoMinimo = 0;

/* ************************************************************************************** */

/* compara_senha(senha_1, senha_2) ****************************************************************************** */
	function compara_senha(c1, c2) {
		if (c1 != c2 )
			alert("os campos da senha devem ser iguais")
		return;
	}

	

/* alertConfirmar(msg, vUrl, fUrl) ****************************************************************************** */
	function alertConfirmar(msg, vUrl, fUrl) {
		var args = alertConfirmar.arguments;			// numero de argumentos
		var nArgs = alertConfirmar.arguments.length;	// numero de argumentos
		arg1 = (nArgs > 0) ? args[0] : null;
		arg2 = (nArgs > 1) ? args[1] : null;
		arg3 = (nArgs > 2) ? args[2] : null;
		if (nArgs > 1) {
			if (confirm(msg))
				window.location.href = vUrl;
			else if (arg3 != null)
				window.location.href = fUrl;
		}
		else
			alert("Faltam argumentos...");
		return;
	}

	/* alertConfirmar(msg, vUrl, fUrl) ****************************************************************************** */
	function alertConfirmarSubmit(msg, formulario) {
		var args = alertConfirmarSubmit.arguments;			// numero de argumentos
		var nArgs = alertConfirmarSubmit.arguments.length;	// numero de argumentos
		arg1 = (nArgs > 0) ? args[0] : null;
		arg2 = (nArgs > 1) ? args[1] : null;
		arg3 = (nArgs > 2) ? args[2] : null;
		if (nArgs > 1) {
			if (confirm(msg))
				eval(formulario).submit();
		}
		else
			alert("Faltam argumentos...");
		return;
	}

	function criaVetor(tamanho) {
		this.length=tamanho;
		for (i=1; i<=tamanho; i++)
			this[i]=null;
		return this;
	}
	
	function gravaCampo(f,c,t) {
		this.formulario  = f;
		this.campo  = c;
		this.tipo = t;
	}
	
	function gravaCampoEstado(vr,op) {
		this.valor  = vr;
		this.opcao  = op;
	}
	
	function getNomeImage(f, c1, c2) {
		var ind = eval("document."+f+"."+c1).value.lastIndexOf("\\");
		if (ind == -1)
			return;
		var tam = eval("document."+f+"."+c1).value.length;
		var valor = eval("document."+f+"."+c1).value.substring(ind+1,tam);
		eval("document."+f+"."+c2).value = valor;
		return
	}


	


	
	
/* function listaEstados() *************************************************************************** */
// Cria campos select para estado 
	arrEstado = new criaVetor(28);
	// A linha de numero [0] deve ser inserida no .html
	arrEstado[1] = new gravaCampoEstado("AC","AC");
	arrEstado[2] = new gravaCampoEstado("AL","AL");
	arrEstado[3] = new gravaCampoEstado("AM","AM");
	arrEstado[4] = new gravaCampoEstado("AP","AP");
	arrEstado[5] = new gravaCampoEstado("BA","BA");
	arrEstado[6] = new gravaCampoEstado("CE","CE");
	arrEstado[7] = new gravaCampoEstado("DF","DF");
	arrEstado[8] = new gravaCampoEstado("ES","ES");
	arrEstado[9] = new gravaCampoEstado("GO","GO");
	arrEstado[10] = new gravaCampoEstado("MA","MA");
	arrEstado[11] = new gravaCampoEstado("MS","MS");
	arrEstado[12] = new gravaCampoEstado("MG","MG");
	arrEstado[13] = new gravaCampoEstado("MT","MT");
	arrEstado[14] = new gravaCampoEstado("PA","PA");
	arrEstado[15] = new gravaCampoEstado("PB","PB");
	arrEstado[16] = new gravaCampoEstado("PI","PI");
	arrEstado[17] = new gravaCampoEstado("PE","PE");
	arrEstado[18] = new gravaCampoEstado("PE","PE");
	arrEstado[19] = new gravaCampoEstado("RJ","RJ");
	arrEstado[20] = new gravaCampoEstado("RN","RN");
	arrEstado[21] = new gravaCampoEstado("RO","RO");
	arrEstado[22] = new gravaCampoEstado("RR","RR");
	arrEstado[23] = new gravaCampoEstado("RS","RS");
	arrEstado[24] = new gravaCampoEstado("TO","TO");
	arrEstado[25] = new gravaCampoEstado("SE","SE");
	arrEstado[26] = new gravaCampoEstado("SC","SC");
	arrEstado[27] = new gravaCampoEstado("SP","SP");
	function listaEstados() {
		for (i=1; i<=arrEstado.length-1; i++) {
			document.write ("<option value=\""+arrEstado[i].valor+"\">"+arrEstado[i].opcao+"</option>");
		}
	}

/* function ckCampos() ************************************************************************************** */
// Funcao principal que valida os campos de formulario
function ckCampos() 
	{
	var formulario, campo, tipo, pat, obj, valor, er;
	for (var i=0; i<=validar.length-1; i++) {
		formulario = validar[i].formulario;
		campo = validar[i].campo;
		tipo = validar[i].tipo;
		pat = eval(validar[i].formulario +"."+ validar[i].campo);
		obj = eval(validar[i].formulario +"."+ validar[i].campo).type;
		valor = eval(validar[i].formulario +"."+ validar[i].campo).value;
		// validar os campos de SELECT-ONE
		if (obj == "select-one") {
			er = ckCampoSelect(formulario,campo, tipo);
			if ( ckErro(campo,er) ) {
				eval(pat).focus();
				return;
			}
		}
		// validar os campos de TEXT E TEXTAREA
		if (obj == "text" || obj == "textarea") {
			er = ckCampoText(valor, tipo);
			if ( ckErro(campo,er) ) {
				eval(pat).focus();
				eval(pat).select();
				return;
			}
		}
		// validar os campos de Senha
		if (obj == "password") {
			er = ckCampoSenha(valor, tipo);
			if ( ckErro(campo,er) ) {
				eval(pat).focus();
			eval(pat).select();
				return;
			}
		}
	}
	eval(formulario).submit();
	//alert("Formulário enviado com sucesso...");
	return true;
	}

function ckCampos1() 
	{
	var formulario, campo, tipo, pat, obj, valor, er;
	for (var i=0; i<=validar1.length-1; i++) {
		formulario = validar1[i].formulario;
		campo = validar1[i].campo;
		tipo = validar1[i].tipo;
		pat = eval(validar1[i].formulario +"."+ validar1[i].campo);
		obj = eval(validar1[i].formulario +"."+ validar1[i].campo).type;
		valor = eval(validar1[i].formulario +"."+ validar1[i].campo).value;
		// validar os campos de SELECT-ONE
		if (obj == "select-one") {
			er = ckCampoSelect(formulario,campo, tipo);
			if ( ckErro(campo,er) ) {
				eval(pat).focus();
				return;
			}
		}
		// validar os campos de TEXT E TEXTAREA
		if (obj == "text" || obj == "textarea") {
			er = ckCampoText(valor, tipo);
			if ( ckErro(campo,er) ) {
				eval(pat).focus();
				eval(pat).select();
				return;
			}
		}
		// validar os campos de Senha
		if (obj == "password") {
			er = ckCampoSenha(valor, tipo);
			if ( ckErro(campo,er) ) {
				eval(pat).focus();
			eval(pat).select();
				return;
			}
		}
	}
	eval(formulario).submit();
	//alert("Formulário enviado com sucesso...");
	return true;
	}

/* ckCampoText(campo, valor, tipo) ******************************************************************************* */
// validar os campos de TEXT E TEXTAREA
	function ckCampoText(valor, tipo) {
		var tipoAux, mascara, er;
		if ( tipo.length == 0 )	// Campo não obrigatório
			return 0;				
		if ( (tipo == "nVazio") && (valor.length == 0) )	// Campo obrigatório, apenas texto
			return 1;
		if ( (tipo == "nVazio") && (valor.length != 0) )
			return 0;
		if (valor.length == 0)	// Campo obrigatório deixado em branco
			return 1;
		if ( !(ckEspaco(valor)) )	// dados incorretos
			return 2;
		tipoAux = tipo;
		tamanhoMinimo = tamanhoCampo(tipoAux);
		tipo = extraiTipo(tipo);
		if ( ckNumero(tamanhoMinimo) ) {				// Verifica se o tamanho minimo é um numero
			if (valor.length < tamanhoMinimo)
				return 8;
		}
		else {
			if (tipo == "data") {
				if (tamanhoMinimo.length==0)
					tamanhoMinimo = "dd/mm/aaaa";
				er = ckData(tamanhoMinimo,valor)		// Verifica se tem o formato da mascara Data
				if (er == 0)
					return 0;
				if ((er > 0) && (er < 5))
					return 2;
				if (er == 5)
					return 50;
			}
			else if (tipo == "hora") {
				er = ckHora(tamanhoMinimo,valor)		// Verifica se tem o formato da mascara Hora
				if (er == 0)
					return 0;
				if ((er > 0) && (er < 5))
					return 2;
				if (er == 5)
					return 50;
			}
		}
		if ( (tipo == "letra") && !(ckLetra(valor)) )
			return 4;
		else if ( (tipo == "numero") && !(ckNumero(valor)) )
			return 3;
		else if ( (tipo == "cnpj") && !(ckCnpj(valor)) )
			return 2;
		else if ( (tipo == "cpf") && !(ckCpf(valor)) )
			return 2;
		else if ( (tipo == "email") && !(ckEmail(valor)) )
			return 2;
		else if ( (tipo == "moeda") && !(ckMoeda(valor)) )
			return 9;
		else if ( (tipo == "cep") && !(ckCep(valor)) ) 
			return 10;
		return 0;
	}

/* ckCampoSenha(valor, tipo) ******************************************************************************* */
// validar os campos de Senha
	function ckCampoSenha(valor, tipo) {
		if (tipo.length == 0)			// Campo não obrigatório
			return 0;				
		if (valor.length == 0) 			// Campo obrigatório deixado em branco
			return 1;				
		tamanhoMinimo = tamanhoCampo(tipo);
		if (valor.length < tamanhoMinimo)	// Campo menor que o tamnho minimo necessario
			return 8;
		return 0;
	}

/* ckCampoSelect(f, c, t) ******************************************************************************* */
// validar os campos de SELECT-ONE
	function ckCampoSelect(f,c,t) {
		var indice;
		if ( t.length != 0 ) {
			indice = eval(f+"."+c).selectedIndex;
			if (indice == 0)
				return 7;
		}
		return 0;
	}

/* ckErro(n,r) ************************************************************************************** */
//	Menssagens de erro
	function ckErro(n,r) {
		if (r == 0) { return false; }
		if (r == 1) { alert("O campo " +n+ " é de preenchimento obrigatório"); return true; }
		if (r == 2) { alert("Certifique-se de que os dados no campo "+n+" estejam corretos"); return true; }
		if (r == 3) { alert("O campo "+n+" pode conter apenas valores numéricos"); return true; }
		if (r == 4) { alert("O campo "+n+" não pode conter valores numéricos e caracteres especiais"); return true; }
		if (r == 5) { alert("O campo "+n+" possui formato incorreto"); return true; }
		if (r == 6) { alert("O campo "+n+" possui caracteres inválidos"); return true; }
		if (r == 7) { alert("Selecione uma opção no campo "+n); return true; }
		if (r == 8) { alert("O campo "+n+" deve ter pelo menos "+tamanhoMinimo+" caracteres."); return true; }
		if (r == 9) { alert("Coloque a separação das casas decimais com vírgula e não use ponto \r\n Exemplo: 1000,00"); return true; }
		if (r == 10) { alert("O campo "+n+" possui formato incorreto"); return true; }
		if (r == 50) { alert("ERRO! Tipo indefinido..."); return true; }
	}

/* ckEspaco(valor) ************************************************************************************** */
// Verifica o excesso de espaços
	function ckEspaco(valor) {
		var espaco;
		espaco = 0;
		for (var i=0; i<=valor.length-1; i++) {
			if (valor.charAt(i) == " ")
				espaco++;
			else {
				if ( !(espaco == 0))
					espaco--;
			}
		}
		if (espaco == valor.length || espaco >= 3)
			return false;
		else
			return true;
	}

/* ckLetra(valor) ************************************************************************************** */
// Verifica se o valor passado contém apenas letras
	function ckLetra(valor) {
		var l, ret;
		for (var i=0; i<=valor.length-1; i++) {
			l = valor.charAt(i);
			l = l.toLowerCase();
			if (l == "a" || l == "b" || l == "c" || l == "d" ||
				l == "e" || l == "f" || l == "g" || l == "h" ||
				l == "i" || l == "j" || l == "k" || l == "l" ||
				l == "m" || l == "n" || l == "o" || l == "p" ||
				l == "q" || l == "r" || l == "s" || l == "t" ||
				l == "u" || l == "v" || l == "x" || l == "y" ||
				l == "z" || l == "w" || l == " ")
				ret = true;
			else if (l == "à" || l == "è" || l == "ì" || l == "ò" || l == "ù" ||
					 l == "á" || l == "é" || l == "í" || l == "ó" || l == "ú" ||
					 l == "â" || l == "ê" || l == "î" || l == "ô" || l == "û" ||
					 l == "ã" || l == "õ" || l == "ç")
					ret = true;
			else
				return false;
		}
		return true;
	}

/* ckNumero(valor) ************************************************************************************** */
// Verifica se o valor passado contém apenas números
	function ckNumero(valor) {
		var n, ret;
		for (var i=0; i<=valor.length-1; i++) {
			n = valor.charAt(i);
			if (n == 1 || n == 2 || n == 3 || n == 4 || n == 5 ||
				n == 6 || n == 7 || n == 8 || n == 9 || n == 0)
				ret = true;
			else
				return false;
		}
		return true;
	}

/* ckCnpj(valor) ************************************************************************************** */
// Verifica se o valor passado tem o formato de um numero de CNPJ
	function ckCnpj(valor) {
		var aStr, bStr, cStr, dStr;
		if ( !(ckCnpjAux(valor)) )
			return false;
		if (valor.length > 18)
			return false;
		aStr = valor.indexOf(".");
		bStr = valor.indexOf(".",aStr+1);
		cStr = valor.indexOf("/",bStr+1);
		dStr = valor.indexOf("-",cStr+1);
		if (aStr != "2")
			return false;
		if (bStr != "6")
			return false;
		if (cStr != "10")
			return false;
		if (dStr != "15")
			return false;
		aStr = valor.indexOf(".");
		bStr = valor.indexOf(".",aStr+1);
		cStr = valor.indexOf(".",bStr+1)
		if ( cStr != -1 )
			return false;
		aStr = valor.indexOf("/")
		bStr = valor.indexOf("/",aStr+1)
		if ( bStr != -1 )
			return false;
		aStr = valor.indexOf("-")
		bStr = valor.indexOf("-",aStr+1)
		if ( bStr != -1 )
			return false;
		return true;
	}
	// Funcao auxiliar de ckCnpj(valor)
	function ckCnpjAux(valor) {
		var c, ret;
		for (var i=0; i<=valor.length-1; i++) {
			c = valor.charAt(i);
			if (c == 1 || c == 2 || c == 3 || c == 4 || c == 5 ||
				c == 6 || c == 7 || c == 8 || c == 9 || c == 0)
				ret = true;
			else if ( c == "-" || c == "." || c == "/" )
				ret = true;
			else
				return false;
		}
		return true;
	}

/* ckCpf(valor) ************************************************************************************** */
// Verifica se o valor passado tem o formato de um numero de Cpf
	function ckCpf(valor) {
		var aStr, bStr, cStr;
		if ( !(ckCpfAux(valor)) )
			return false;
		if (valor.length != 14)
			return false;
		aStr = valor.indexOf(".");
		bStr = valor.indexOf(".",aStr+1);
		cStr = valor.indexOf("-",bStr+1);
		if (aStr != 3)
			return false;
		if (bStr != 7)
			return false;
		if (cStr != 11)
			return false;
		return true;
	}
	// Funcao auxiliar de ckCpf(valor)
	function ckCpfAux(valor) {
		var c, ret;
		for (var i=0; i<=valor.length-1; i++) {
			c = valor.charAt(i);
			if (c == 1 || c == 2 || c == 3 || c == 4 ||
				c == 5 || c == 6 || c == 7 || c == 8 ||
				c == 9 || c == 0 )
				ret = true;
			else if ( c == "-" || c == "." || c == "/" )
				ret = true;
			else
				return false;
		}
		return true;
	}

/* tamanhoCampo(tipo) ************************************************************************************** */
// Recupera o tamanho minimo exigido para o campo, caso seja passado.
	function tamanhoCampo(tipo) {
		var iniStr, fimStr;
		iniStr = tipo.indexOf("(");
		if (iniStr == -1)
			return 0;
		else {
			fimStr = tipo.indexOf(")");
			if (fimStr == -1)
				return 0;
			else
				return tipo.substring(iniStr+1,fimStr);
		}
		return 0;
	}

/* extraiTipo(tipo) ************************************************************************************** */
// Recupera o tipo do campo. Usada caso tenha um tamanho exigido para o campo.
	function extraiTipo(tipo) {
		var fimStr;
		fimStr = tipo.indexOf("(");
		if (fimStr == -1)
			return tipo;
		else
			return tipo.substring(0,fimStr);
	}

/* ckData(mascara, valor) ************************************************************************************** */
// Verifica se o valor do campo corresponde ao formato de mascara exigido.
// Retorna um numero:
// 0-Nao há erro; 1-Erro no Dia; 2-Erro no Mes; 3-Erro no Ano; 4-Erro de formato Incorreto; 5-mascara indefinida Indefinido;
	function ckData(mascara,valor) {
		var dia, mes, ano, barra1, barra2;
		dia=1; mes=1; ano=1;
		 if (mascara == "dd/mm") {
			barra1 = valor.substring(2,3);
			dia = valor.substring(0,2);
			mes = valor.substring(3,5);
			if ( barra1 != "/" )
				return 4;	// formato incorreto
			if ( valor.length != 5 )
				return 4;	// formato incorreto
			if ( !(ckDataAux(dia)) )
				return 1;	// dia incorreto
			if ( !(ckDataAux(mes)) )
				return 2;	// mes incorreto
		}
		else if (mascara == "dd/mm/aa") {
			barra1 = valor.substring(2,3);
			barra2 = valor.substring(5,6);
			dia = valor.substring(0,2);
			mes = valor.substring(3,5);
			ano = valor.substring(6,8);
			if ( ( barra1 != "/" ) || ( barra2 != "/" ) )
				return 4;	// formato incorreto
			if ( valor.length != 8 )
				return 4;	// formato incorreto
			if ( !(ckDataAux(dia)) )
				return 1;	// dia incorreto
			if ( !(ckDataAux(mes)) )
				return 2;	// mes incorreto
			if ( !(ckDataAux(ano)) )
				return 3;	// ano incorreto
		}
		else if (mascara == "dd/mm/aaaa") {
			barra1 = valor.substring(2,3);
			barra2 = valor.substring(5,6);
			dia = valor.substring(0,2);
			mes = valor.substring(3,5);
			ano = valor.substring(6,10);
			if ( ( barra1 != "/" ) || ( barra2 != "/" ) )
				return 4;	// formato incorreto
			if ( valor.length != 10 )
				return 4;	// formato incorreto
			if ( !(ckDataAux(dia)) )
				return 1;	// dia incorreto
			if ( !(ckDataAux(mes)) )
				return 2;	// mes incorreto
			if ( !(ckDataAux(ano)) )
				return 3;	// ano incorreto
		}
		else if (mascara == "mm/aa") {
			barra1 = valor.substring(2,3);
			mes = valor.substring(0,2);
			ano = valor.substring(3,5);
			if ( barra1 != "/" )
				return 4;	// formato incorreto
			if ( valor.length != 5 )
				return 4;	// formato incorreto
			if ( !(ckDataAux(mes)) )
				return 2;	// mes incorreto
			if ( !(ckDataAux(ano)) )
				return 3;	// ano incorreto
		}
		else if (mascara == "mm/aaaa") {
			barra1 = valor.substring(2,3);
			mes = valor.substring(0,2);
			ano = valor.substring(3,7);
			if ( barra1 != "/" )
				return 4;	// formato incorreto
			if ( valor.length != 7 )
				return 4;	// formato incorreto
			if ( !(ckDataAux(mes)) )
				return 2;	// mes incorreto
			if ( !(ckDataAux(ano)) )
				return 3;	// ano incorreto
		}
		else
			return 5;		// Formato indefinido
		if (mes == 1 || mes == 3 || mes == 5 || mes == 7 || mes == 8 || mes == 10 || mes == 12) {
			if (dia > 31)
				return 1; 	// dia incorreto
		}
		else if (mes == 4 || mes == 6 || mes == 9 || mes == 11) {
			if (dia > 30)
				return 1; 	// dia incorreto
		}
		else if (mes == 2) {
			if (dia > 29)
				return 1; 	// dia incorreto
		}
		else
			return 2	// mes incorreto
		return 0;
	}
	// Funcao auxiliar de ckData(mascara, valor)
	function ckDataAux(param) {
		var n, ret;
		for (var i=0; i<=param.length-1; i++) {
			n = param.charAt(i);
			if (n == 1 || n == 2 || n == 3 || n == 4 || n == 5 ||
				n == 6 || n == 7 || n == 8 || n == 9 || n == 0)
				ret = true;
			else
				return false;
		}
		return true;
	}

/* ckData(mascara, valor) ************************************************************************************** */
// Verifica se o valor do campo corresponde ao formato de mascara exigido.
// Retorna um numero:
// 0-Nao há erro; 1-Erro na Hora; 2-Erro no Minuto; 3-Erro no Segundo; 4-Erro de formato Incorreto; 5-mascara indefinida;
	function ckHora(mascara,valor) {
		var hora, minuto, segundo, pontos1, pontos2;
		hora=0; minuto=0; segundo=0;
		 if (mascara == "hh:mm") {
			pontos1 = valor.substring(2,3);
			hora = valor.substring(0,2);
			minuto = valor.substring(3,5);
			if ( pontos1 != ":" )
				return 4;	// formato incorreto
			if ( valor.length != 5 )
				return 4;	// formato incorreto
			if ( !(ckHoraAux(hora)) )
				return 1;	// dia incorreto
			if ( !(ckHoraAux(minuto)) )
				return 2;	// mes incorreto
		}
		else if (mascara == "hh:mm:ss") {
			pontos1 = valor.substring(2,3);
			pontos2 = valor.substring(5,6);
			hora = valor.substring(0,2);
			minuto = valor.substring(3,5);
			segundo = valor.substring(6,8);
			if ( ( pontos1 != ":" ) || ( pontos2 != ":" ) )
				return 4;	// formato incorreto
			if ( valor.length != 8 )
				return 4;	// formato incorreto
			if ( !(ckHoraAux(hora)) )
				return 1;	// dia incorreto
			if ( !(ckHoraAux(minuto)) )
				return 2;	// mes incorreto
			if ( !(ckHoraAux(segundo)) )
				return 3;	// ano incorreto
		}
		else if (mascara == "mm:ss") {
			pontos1 = valor.substring(2,3);
			minuto = valor.substring(0,2);
			segundo = valor.substring(3,5);
			if ( pontos1 != "/" )
				return 4;	// formato incorreto
			if ( valor.length != 5 )
				return 4;	// formato incorreto
			if ( !(ckHoraAux(mes)) )
				return 2;	// mes incorreto
			if ( !(ckHoraAux(ano)) )
				return 3;	// ano incorreto
		}
		else
			return 5;		// Formato indefinido
		if (hora > 23 || hora < 0)
			return 1; 	// hora incorreta
		else if (minuto > 59 || minuto < 0)
			return 1; 	// minutos incorreto
		else if (segundo > 59 || segundo < 0)
			return 1; 	// segundos incorreto
		return 0;
	}
	// Funcao auxiliar de ckData(mascara, valor)
	function ckHoraAux(param) {
		var n, ret;
		for (var i=0; i<=param.length-1; i++) {
			n = param.charAt(i);
			if (n == 1 || n == 2 || n == 3 || n == 4 || n == 5 ||
				n == 6 || n == 7 || n == 8 || n == 9 || n == 0)
				ret = true;
			else
				return false;
		}
		return true;
	}

/* ckEmail(valor) ************************************************************************************** */
// Verifica se o valor do campo tem um formato de email.
	function ckEmail(valor) {
		var iPonto, iArroba;
		if (valor.length < 5)
			return false;
		iPonto = valor.indexOf(".");
		if ((iPonto == -1) || (iPonto == 0 ))
			return false;
		iArroba = valor.indexOf("@");
		if ((iArroba == -1) || (iArroba == 0 ) || (iArroba == valor.length-1))
			return false;
		if (iPonto+1 == iArroba)
			return false;
		iPonto = valor.indexOf(".",iArroba+1);
		if ((iPonto == -1) || (iPonto == 0 ) || (iPonto == valor.length-1))
			return false;
		if (iArroba+1 == iPonto)
			return false;
		return true;
	}

/* ckMoeda(valor) ************************************************************************************** */
// Verifica se o valor do campo tem um formato de moeda.
	function ckMoeda(valor) {
		var ret, iPonto;
		tam = valor.length;
		if (tam < 4)
			return false;
		for (var i=0; i<=tam; i++) {
			n = valor.charAt(i);
			if (n == 1 || n == 2 || n == 3 || n == 4 || n == 5 ||
				n == 6 || n == 7 || n == 8 || n == 9 || n == 0 || n == ",")
				ret = true;
			else
				return false;
		}
		iPonto = valor.lastIndexOf(",");
		if ((iPonto == -1) || (iPonto != tam-3 ))
			return false;
		iPonto = valor.lastIndexOf(",",iPonto-1);
		if (iPonto != -1)
			return false;
		return true;
	}

/* ckCep(valor) ************************************************************************************** */
// Verifica se o valor do campo tem um formato de cep.
	function ckCep(valor) {
		var ret, iTraco;
		tam = valor.length;
		for (var i=0; i<=tam; i++) {
			n = valor.charAt(i);
			if (n == 1 || n == 2 || n == 3 || n == 4 || n == 5 ||
				n == 6 || n == 7 || n == 8 || n == 9 || n == 0 || n == "-")
				ret = true;
			else
				return false;
		}
		iTraco = valor.indexOf("-");
		if ((iTraco == -1) || (iTraco != 5 ))
			return false;
		iTraco = valor.indexOf("-",iTraco+1);
		if (iTraco != -1)
			return false;
		return true;
	}

/* function montaCnpj(campo) ************************************************************************************** */
// Monta dinamicamente o formato do CNPJ
	function montaCnpj(campo) {
		var valor, pos, posChEsp;
		valor = eval(campo).value;
		pos = valor.length
		posChEsp = valor.indexOf(".");
		if ((posChEsp == -1) && (pos == 2))
			eval(campo).value = valor+".";
		pos = valor.length
		posChEsp = valor.indexOf(".",posChEsp+1);
		if ((posChEsp == -1) && (pos == 6))
			eval(campo).value = valor+".";
		pos = valor.length
		posChEsp = valor.indexOf("/",posChEsp);
		if ((posChEsp == -1) && (pos == 10))
			eval(campo).value = valor+"/";
		pos = valor.length
		posChEsp = valor.indexOf("-",posChEsp);
		if ((posChEsp == -1) && (pos == 15))
			eval(campo).value = valor+"-";
	}

/* function montaCpf(campo) ************************************************************************************** */
// Monta dinamicamente o formato do CPF
	function montaCpf(campo) {
		var valor, pos, posChEsp;
		valor = eval(campo).value;
		pos = valor.length
		posChEsp = valor.indexOf(".");
		if ((posChEsp == -1) && (pos == 3))
			eval(campo).value = valor+".";
		pos = valor.length
		posChEsp = valor.indexOf(".",posChEsp+1);
		if ((posChEsp == -1) && (pos == 7))
			eval(campo).value = valor+".";
		pos = valor.length
		posChEsp = valor.indexOf("-",posChEsp);
		if ((posChEsp == -1) && (pos == 11))
			eval(campo).value = valor+"-";
	}

/* function montaData(campo) ************************************************************************************** */
// Monta dinamicamente o formato da Data
	function montaData(campo,mascara) {
		if ((mascara == "dd/mm") || (mascara == "mm/aa") || (mascara == "mm/aaaa"))
			montaDataUmabarra(campo);
		if ((mascara == "dd/mm/aa") || (mascara == "dd/mm/aaaa"))
			montaDataDuasbarras(campo);
	}
	// Funcao auxiliar de montaData(campo)
	function montaDataUmabarra(campo) {
		var valor, pos, posChEsp;
		valor = eval(campo).value;
		pos = valor.length
		posChEsp = valor.indexOf("/");
		if ((posChEsp == -1) && (pos == 2))
			eval(campo).value = valor+"/";
	}
	// Funcao auxiliar de montaData(campo)
	function montaDataDuasbarras(campo) {
		var valor, pos, posChEsp;
		if (event.keyCode == 8)
			return;
		valor = eval(campo).value;
		pos = valor.length
		posChEsp = valor.indexOf("/");
		if ((posChEsp == -1) && (pos == 2))
			eval(campo).value = valor+"/";
		pos = valor.length
		posChEsp = valor.indexOf("/",posChEsp+1);
		if ((posChEsp == -1) && (pos == 5))
			eval(campo).value = valor+"/";
	}

/* function montaHora(campo) ************************************************************************************** */
// Monta dinamicamente o formato da Hora
	function montaHora(campo,mascara) {
		if ((mascara == "hh:mm") || (mascara == "mm:ss"))
			montaHoraUmPonto(campo);
		if (mascara == "hh:mm:ss")
			montaHoraDoisPontos(campo);
	}
	// Funcao auxiliar de montaData(campo)
	function montaHoraUmPonto(campo) {
		var valor, pos, posChEsp;
		valor = eval(campo).value;
		pos = valor.length
		posChEsp = valor.indexOf(":");
		if ((posChEsp == -1) && (pos == 2))
			eval(campo).value = valor+":";
	}
	// Funcao auxiliar de montaData(campo)
	function montaHoraDoisPontos(campo) {
		var valor, pos, posChEsp;
		valor = eval(campo).value;
		pos = valor.length
		posChEsp = valor.indexOf(":");
		if ((posChEsp == -1) && (pos == 2))
			eval(campo).value = valor+":";
		pos = valor.length
		posChEsp = valor.indexOf(":",posChEsp+1);
		if ((posChEsp == -1) && (pos == 5))
			eval(campo).value = valor+":";
	}

/* function montaMoeda(campo) ************************************************************************************** */
	// Function montaMoeda(campo)
	function montaMoeda(campo) {
		var valor, pos, posChEsp, i;
		valor = eval(campo).value;
		while (valor.charAt(0) == 0) {
			valor = valor.substring(1, valor.length);
		}
		eval(campo).value = valor;
		if (valor.length == 0)
			return;
		pos = (valor.length - 3);
		posPonto = valor.lastIndexOf(".");
		if (posPonto == -1)
			valor = valor+".00";
		else {
			strFim = valor.length - valor.lastIndexOf(".") - 1;
			if (strFim == 0)
				valor = valor+"00";
			if (strFim == 1)
				valor = valor+"0";
			if (strFim > 2)
				valor = valor.substring(0, valor.length-strFim+2);
			posPonto = valor.indexOf(".");
			if (posPonto == 0)
				valor = "0"+valor;
		}
		eval(campo).value = valor;
	}

