	// --- todas as funções em script utilizadas em todo sistema ---
	function AchaResolucao()
	// -- esta função traz a resolução do monitor
	{
		var wd, hg;
		wd = screen.width;
		hg = screen.height;
		alert(parent.document.getElementById("resolucao").value);
		//document.getElementById("resolucao").value = wd;
		return;   // o que me interessa é a largura da tela....
	} // function AchaResolucao
	function ProcuraObjeto(n,d)
	// -- esta função varre o form procurando os campos para serem validados --
	// -- está ligada ao ValidaForm --
	{
		var p,i,x;
		if (!d) d = document;
		if ((p = n.indexOf("?")) > 0 && parent.frames.length)
		{
			d = parent.frames[n.substring(p+1)].document;
			n = n.substring(0,p);
		} // if
		if (!(x = d[n]) && d.all) x = d.all[n];
		for (i = 0; !x && i < d.forms.length; i++)
				x = d.forms[i][n];
		for (i = 0; !x && d.layers && i < d.layers.length; i++)
				x = ProcuraObjeto(n,d.layers[i].document);
		if (!x && d.getElementById) x = d.getElementById(n);
		return x;
	} // function ProcuraObjeto
	function ValidaData(varData)
	// -- esta função valida a data digitada --
	// -- está ligada ao ValidaForm --
	{
		var ss="", varch="", MensaRet="OK", varDia="", varMes="", varAno="";
		// retirar todos os caracteres que nao sejam 0-9
		for (var x = 0; x < varData.length; x++)
		{
			varch = varData.substr(x,1);
			if (varch >= 0 && varch <= 9) ss = ss + varch;
		} // for
		var DataRecebe = ss;
		varDia  = DataRecebe.substr(0,2);
		varMes  = DataRecebe.substr(2,2);
		varAno  = DataRecebe.substr(4,4);
		// verifica se o dia é válido para cada mes
		// o dia não pode ser menor que 01 nem maior que 31
		// dia 31 não pode ser nos meses abril, junho, setembro e novembro
		// para o mes de fevereiro o dia não pode ser maior que 29 e validar se é bisexto
		if ((varDia < 01) ||
				(varDia > 31) ||
				(varDia == 31 && (varMes == 04 || varMes == 06 || varMes == 09 || varMes == 11)) ||
				(varDia > 29 && varMes == 2 ) ||
				(varDia == 29 && varMes == 2 && (parseInt(varAno / 4) != varAno / 4)))
				MensaRet = "F";
		// verifica se o mes é válido
		// o mes não pode ser menor que 01 nem maior que 12
		if (varMes < 01 || varMes > 12) MensaRet = "F";
		// verifica se o ano é válido
		// o ano não pode ser menor que 0001
		if (varAno < 0001) MensaRet = "F";
		return MensaRet;
	} // function ValidaData
	function ValidaCNPJ(CampoNumero)
	// -- esta função valida o CNPJ digitado --
	// -- está ligada ao ValidaForm --
	{
		var ss="", varch="", N1="", N2="", N3="", N4="", N5="", N6="", N7="", N8="", N9="", N10="", N11="", N12="", N13="", N14="", MensaRet="CNPJ Inválido";
		for (var x = 0; x < CampoNumero.length; x++)
		{
			varch = CampoNumero.substr(x,1);
			if (varch >= 0 && varch <= 9) ss = ss + varch;
		} // for
		var NumRecebe = ss;
		if (NumRecebe.length != 14) MensaRet = "O CNPJ tem que ter 14 caracteres";
		else
		{
			if (NumRecebe == "00000000000000") MensaRet = "O CNPJ não pode ser nulo";
			else
			{
				N1  = parseInt(NumRecebe.substr(0,1));
				N2  = parseInt(NumRecebe.substr(1,1));
				N3  = parseInt(NumRecebe.substr(2,1));
				N4  = parseInt(NumRecebe.substr(3,1));
				N5  = parseInt(NumRecebe.substr(4,1));
				N6  = parseInt(NumRecebe.substr(5,1));
				N7  = parseInt(NumRecebe.substr(6,1));
				N8  = parseInt(NumRecebe.substr(7,1));
				N9  = parseInt(NumRecebe.substr(8,1));
				N10 = parseInt(NumRecebe.substr(9,1));
				N11 = parseInt(NumRecebe.substr(10,1));
				N12 = parseInt(NumRecebe.substr(11,1));
				N13 = parseInt(NumRecebe.substr(12,1));
				N14 = parseInt(NumRecebe.substr(13,1));
				var soma=0, digito1, digito2;
				soma = (N1 * 5) + (N2 * 4) + (N3 * 3) + (N4 * 2) + (N5 * 9) + (N6 * 8) + (N7 * 7) + (N8 * 6) + (N9 * 5) + (N10 * 4) + (N11 * 3) + (N12 * 2);
				soma = soma - (11 * (parseInt(soma / 11)));
				if (soma == 0 || soma == 1) digito1 = 0;
				else digito1 = 11 - soma;
				if (digito1 == N13)
				{
					soma = (N1 * 6) + (N2 * 5) + (N3 * 4) + (N4 * 3) + (N5 * 2) + (N6 * 9) + (N7 * 8) + (N8 * 7) + (N9 * 6) + (N10 * 5) + (N11 * 4) + (N12 * 3) + (N13 * 2);
					soma = soma - (11 * (parseInt(soma / 11)));
					if (soma == 0 || soma == 1) digito2 = 0;
					else digito2 = 11 - soma;
					if (digito2 == N14) MensaRet = "OK";
				} // if
			}  // else
		} // elseif
		return MensaRet;
	} // function ValidaCNPJ
	function ValidaCPF(CampoNumero)
	// -- esta função valida o CPF digitado --
	// -- está ligada ao ValidaForm --
	{
		var ss="", varch="", N1="", N2="", N3="", N4="", N5="", N6="", N7="", N8="", N9="", N10="", N11="", MensaRet="CPF Inválido";
		for (var x = 0; x < CampoNumero.length; x++)
		{
			varch = CampoNumero.substr(x,1);
			if (varch >= 0 && varch <= 9) ss = ss + varch;
		} // for
		var NumRecebe = ss;
		if (NumRecebe.length != 11) MensaRet = "O CPF tem que ter 11 caracteres";
		else
		{
			if (NumRecebe == '00000000000') MensaRet = 'O CPF não pode ser nulo';
			else
			{
				N1  = parseInt(NumRecebe.substr(0,1));
				N2  = parseInt(NumRecebe.substr(1,1));
				N3  = parseInt(NumRecebe.substr(2,1));
				N4  = parseInt(NumRecebe.substr(3,1));
				N5  = parseInt(NumRecebe.substr(4,1));
				N6  = parseInt(NumRecebe.substr(5,1));
				N7  = parseInt(NumRecebe.substr(6,1));
				N8  = parseInt(NumRecebe.substr(7,1));
				N9  = parseInt(NumRecebe.substr(8,1));
				N10 = parseInt(NumRecebe.substr(9,1));
				N11 = parseInt(NumRecebe.substr(10,1));
				var soma=0, digito1, digito2;
				soma = (N1 * 10) + (N2 * 9) + (N3 * 8) + (N4 * 7) + (N5 * 6) + (N6 * 5) + (N7 * 4) + (N8 * 3) + (N9 * 2);
				soma = soma - (11 * (parseInt(soma / 11)));
				if (soma == 0 || soma == 1) digito1 = 0;
				else digito1 = 11 - soma;
				if (digito1 == N10)
				{
					soma = (N1 * 11) + (N2 * 10) + (N3 * 9) + (N4 * 8) + (N5 * 7) + (N6 * 6) + (N7 * 5) + (N8 * 4) + (N9 * 3) + (N10 * 2);
					soma = soma - (11 * (parseInt(soma / 11)));
					if (soma == 0 || soma == 1) digito2 = 0;
					else digito2 = 11 - soma;
					if (digito2 == N11) MensaRet = "OK";
				} // if
			}  // else
		} // elseif
		return MensaRet;
  } // function ValidaCPF
	function ValidaEmail(CampoEmail)
	{
		var MensaRet="E-Mail Inválido";
		if (!(/^([\w\.\-])+\@(([\w\-])+\.)+([\w ]{2,4})$/.test(CampoEmail) == false)) MensaRet = "OK";
		return MensaRet;
	} // function ValidaEmail
	function ValidaForm()
	// -- esta função valida os campos do formulário --
	{
		var i,p,q,nm,test,num,min,max,errors="",args=ValidaForm.arguments;
		for (i=0; i < (args.length-2); i+=3)
		{
			test = args[i+2];
			val  = ProcuraObjeto(args[i]);
			if (val)
			{
				switch(nm = val.name)
				{
					case "conf_senhanovalogin" :
								nm = "Confirmação da Senha";
								break;
					case "email" :
					case "emaillogin" :
								nm = "E-Mail";
								break;
					case "mensagem" :
								nm = "Mensagem";
								break;
					case "nome" :
								nm = "Nome";
								break;
					case "senhalogin" :
					case "senhanovalogin" :
								nm = "Senha";
								break;
					case "telefone":
								nm = "Telefone";
								break;
				} // switch
				val = val.value;
				if ((test == "n") || (test == "N")) // numérico
				{
					num = parseFloat(val);
					if (isNaN(val)) errors += "- "+nm+" é numérico.\n";
					if ((test == "N") && (val <= 0)) errors += "- "+nm+" não pode ser nulo.\n";
				} // if
				else if ((test == "d") || (test == "D")) // data
				{
					if (val.length == 0 && test == "D") errors += "- "+nm+" obrigatória.\n";
					else
					{
						var mensares = ValidaData(val);
						if (mensares != "OK") errors += "- "+nm+" inválida.\n";
					} // else
				} // else if
				else if ((test == "c") || (test == "C")) // cnpj
				{
					if (val.length == 0 && test == "C") errors += "- "+nm+" obrigatório.\n";
					else if (val.length != 0)
					{
						var mensares = ValidaCNPJ(val);
						if (mensares != "OK") errors += "- "+mensares+".\n";
					} // else
				} // else if
				else if ((test == "cp") || (test == "CP")) // cpf
				{
					if (val.length == 0 && test == "CP") errors += "- "+nm+" obrigatório.\n";
					else if (val.length != 0)
					{
						var mensares = ValidaCPF(val);
						if (mensares != "OK") errors += "- "+mensares+".\n";
					} // else
				} // else if
				else if ((test == "cpc") || (test == "CPC")) // cnpj ou cpf
				{
					if (val.length == 0 && test == "CPC") errors += "- "+nm+" obrigatório.\n";
					else if (val.length != 0)
					{
						if (val.length > 11) var mensares = ValidaCNPJ(val);
						else var mensares = ValidaCPF(val);
						if (mensares != "OK") errors += "- "+mensares+".\n";
					} // else
				} // else if
				else if (test == "B") // strings
				{
					if (val.length == 0) errors += "- "+nm+" obrigatório.\n";
				} // else if
				else if (test == "E") // e-mails
				{
					if (val.length == 0) errors += "- "+nm+" obrigatório.\n";
					else
					{
						var mensares = ValidaEmail(val);
						if (mensares != "OK") errors += "- "+mensares+".\n";
					} // else
				} // else if
			} // if
		} // for
		if (errors) document.ValidaReturn = false;
		else document.ValidaReturn = true;
	} // function ValidaForm
	function ProcuraVar(varpg,varordem,varvalor,varinter)
	// -- esta função passa os parâmetros para a busca de um registro na lista --
	{
		if (varvalor.length != 0)
		{
			if ((varpg == "PG") || (varpg == "PPROC"))
				 document.getElementById("pag").value = "PPROC";
			else document.getElementById("pag").value = "TPROC";
			document.getElementById("tblordem").value = varordem;
			document.getElementById("tblvalor").value = varvalor;
			if (varinter != "") document.getElementById("tblinter").value = varinter;
			document.getElementById("formLista").submit();
		} // if
	} // function ProcuraVar
	function MudaProcura(varpg,vartipo,varinter)
	// -- esta função muda o caption de procura e altera o campo de ordenação da tabela, se necessário --
	{
		if ((varpg == "PG") || (varpg == "PPROC"))
			 document.getElementById("pag").value = "PG";
		else document.getElementById("pag").value = "TODOS";
		if (varinter != "") document.getElementById("tblinter").value = varinter;
		switch(vartipo)
		{
			case 'A' :         // agência
						document.getElementById("tblordem").value = "agencia";
						break;
			case 'B' :         // banco
						document.getElementById("tblordem").value = "b.descricao";
						break;
			case 'C' :         // código geral
						document.getElementById("tblordem").value = "codigo";
						break;
			case 'CF' :         // código fiscal
						document.getElementById("tblordem").value = "codigofiscal";
						break;
			case 'CI' :        // cidade
						document.getElementById("tblordem").value = "c.descricao";
						break;
			case 'CN' :        // cnpj/cpf
						document.getElementById("tblordem").value = "cnpjcpf";
						break;
			case 'CO' :        // conta da forma de pagamento
						document.getElementById("tblordem").value = "conta";
						break;
			case 'CP' :        // cpf geral
						document.getElementById("tblordem").value = "cpf";
						break;
			case 'D' :         // descrição
						document.getElementById("tblordem").value = "descricao";
						break;
			case 'DF' :        // descrição da forma de pagamento
						document.getElementById("tblordem").value = "fp.descricao";
						break;
			case 'N' :        // nome
						document.getElementById("tblordem").value = "nome";
						break;
			case 'NC'  :       // nome completo
						document.getElementById("tblordem").value = "nomecompleto";
						break;
			case 'NF'  :       // nome fantasia
						document.getElementById("tblordem").value = "nomefantasia";
						break;
			case 'P' :        // codigo do produto
						document.getElementById("tblordem").value = "grupo,codigo";
						break;
			case 'S' :         // sigla
						document.getElementById("tblordem").value = "sigla";
						break;
			case 'U' :         // estado
						document.getElementById("tblordem").value = "estado";
						break;
		} // switch
		document.getElementById("formLista").submit();
	} // function MudaProcura
	function MudaFormaPagina(varpg,varordem,varinter)
	// -- esta função muda a forma de mostrar a página ... com ou sem paginação --
	{
		if ((varpg == "PG") || (varpg == "PPROC"))
			 document.getElementById("pag").value = "TODOS";
		else document.getElementById("pag").value = "PG";
		document.getElementById("tblordem").value = varordem;
		if (varinter != "") document.getElementById("tblinter").value = varinter;
		document.getElementById("formLista").submit();
	} // function MudaFormaPagina
	cont = 0;
	function CheckAll(vartp)
	// -- esta função marca/desmarca todos os box da lista e altera o caption para desmarcar/marcar todos --
	{
		if ((vartp == "t") || (vartp == "e")) var varform = document.formCadastro;
		else if (vartp == "p") var varform = document.frmListaPro;
		else var varform = document.formLista;
		for (var i = 0; i < varform.elements.length; i++)
		{
			var x = varform.elements[i];
			if ((vartp == "t") && (x.name == 'chave_t[]')) x.checked = varform.selall_t.checked;
			else if ((vartp == "e") && (x.name == 'chave_e[]')) x.checked = varform.selall_e.checked;
			else if (x.name == 'chave[]') x.checked = varform.selall.checked;
		} // if
		if (cont == 0)
		{
			if (vartp == "t") var elem = document.getElementById("checar_t");
			else if (vartp == "e") var elem = document.getElementById("checar_e");
			else var elem = document.getElementById("checar");
			elem.innerHTML = "Desmarcar todos";
			cont = 1;
		} // if
		else
		{
			if (vartp == "t") var elem = document.getElementById("checar_t");
			else if (vartp == "e") var elem = document.getElementById("checar_e");
			else var elem = document.getElementById("checar");
			elem.innerHTML = "Marcar todos";
			cont = 0;
		} // else
	} // function CheckAll
	function ValidaExcluir(varmensa)
	// -- esta função é para confirmar se deseja excluir os itens selecionados --
	{
		if (confirm("Deseja Excluir Realmente "+varmensa+"?")) return true;
		else return false;
	} // function ValidaExcluir
	function ExcluiRegistros(varmensa,varpag,varordem,varinter)
	// esta função faz a exclusão dos registros selecionados
	{
		if (ValidaExcluir(varmensa))
		{
			document.getElementById("pag").value      = varpag;
			document.getElementById("tblordem").value = varordem;
			document.getElementById("acao").value     = "e";
			if (varinter != "") document.getElementById("tblinter").value = varinter;
			document.getElementById("formLista").submit();
		} // if
	} // function ExcluiRegistros
	function LeCadastro(varpag,vartblordem,vartblvalor,varacao,varchave,varinter)
	// -- esta função chama a página de cadastro --
	{
		var varpg = "";
		varpg = "./cadastro.php?pag="+varpag+"&tblordem="+vartblordem+"&tblvalor="+vartblvalor+"&acao="+varacao;
		if (varchave != "") varpg = varpg+"&chave="+varchave;
		if (varinter != "") varpg = varpg+"&tblinter="+varinter;
		parent.frmCadastro.location.href=varpg;
	} // function LeCadastro
	function LeTel_Ema(varpag,vartblordem,vartblvalor,varacao,varchave,varnome,varinter)
	// -- esta função chama a página de telefones e e-mails para consulta --
	{
		var varpg = "";
		varpg = "./fone_email.php?pag="+varpag+"&tblordem="+vartblordem+"&tblvalor="+vartblvalor+"&acao="+varacao+"&chave="+varchave+"&nome="+varnome;
		if (varinter != "") varpg = varpg+"&tblinter="+varinter;
		parent.frmCadastro.location.href=varpg;
	} // function LeTel_Ema
	function AtualizaLista(varacao,varpag,vartblordem,varinter)
	// -- esta função atualiza a lista de registros --
	{
		parent.frmLista.document.getElementById('acao').value     = varacao;
		parent.frmLista.document.getElementById('pag').value      = varpag;
		parent.frmLista.document.getElementById('tblordem').value = vartblordem;
		if (varinter != "") parent.frmLista.document.getElementById('tblinter').value = varinter;
		parent.frmLista.document.getElementById('formLista').submit();
	} // AtualizaLista
	function PoeMascara(varcampo, varmascara)
	// -- esta função coloca máscara no campo (*** vale para todo tipo de máscara *** ) --
	{
		var auxcampo = varcampo.value.length;
		var auxsaida = varmascara.substring(0,1);
		var auxtexto = varmascara.substring(auxcampo);
		if (auxtexto.substring(0,1) != auxsaida) varcampo.value += auxtexto.substring(0,1);
	} // function PoeMascara
	function RecebeDados(varcampo,varvalor)
	{
		if (document.getElementById(varcampo).value == "")
		{
			document.getElementById(varcampo).value = varvalor;
		} // if
	} // function RecebeDados
	function AbreJanela(varlink,varnomejanela,varw,varh,varmexe,varscrol)
	// -- esta função abre uma janela independente da janela "pai" - popups
	{
		var varconf = "";
		if (varw != 0) varconf = "width="+varw+",";
		if (varh != 0) varconf = "height="+varh+",";
		if (varmexe == 'N') varconf = varconf+"resizable=NO,";
		else varconf = varconf+"resizable=YES,";
		if (varscrol == 'N') varconf = varconf+"scrollbars=NO";
		else varconf = varconf+"scrollbars=YES";
		window.open(varlink,varnomejanela,varconf);
	}

/*

//function pularCampo(numeroPula, proximoCampo, valorAtual)
//{
// alert(valorAtual.length);
// alert(numeroPula);
// if(valorAtual.length == numeroPula)
//  proximoCampo.focus();
//}  
*/

