/*
Descrição.: formata um campo do formulário de
acordo com a máscara informada...
Parâmetros: - objForm (o Objeto Form)
- strField (string contendo o nome do textbox)

* - sMask (mascara que define o
* formato que o dado será apresentado,
* usando o algarismo "9" para
* definir números e o símbolo "!" para
* qualquer caracter...
* - evtKeyPress (evento)
* Uso.......: <input type="textbox"
* name="xxx".....
* onkeypress="return txtBoxFormat(document.rcfDownload, 'str_cep', '99999-999', event);">
* Observação: As máscaras podem ser representadas como os exemplos abaixo:
* CEP -> 99.999-999
* CPF -> 999.999.999-99
* CNPJ -> 99.999.999/9999-99
* Data -> 99/99/9999
* Tel Resid -> (99) 999-9999
* Tel Cel -> (99) 9999-9999
* Processo -> 99.999999999/999-99
* C/C -> 999999-!
* E por aí vai...
***/
function txtBoxFormat(objForm, strField, sMask, evtKeyPress) {
var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla;

if(document.all) { // Internet Explorer
    nTecla = evtKeyPress.keyCode;
} else if(document.layers) { // Nestcape
    nTecla = evtKeyPress.which;
} else {
    nTecla = evtKeyPress.which;
    if (nTecla == 8) {
        return true;
    }
}

sValue = objForm[strField].value;
// Limpa todos os caracteres de formatação que
// já estiverem no campo.
// toString().replace [transforma em sring e troca elementos por ""]
sValue = sValue.toString().replace( "-", "" );
sValue = sValue.toString().replace( "-", "" );
sValue = sValue.toString().replace( ".", "" );
sValue = sValue.toString().replace( ".", "" );
sValue = sValue.toString().replace( ".", "" );
sValue = sValue.toString().replace( ".", "" );
sValue = sValue.toString().replace( "/", "" );
sValue = sValue.toString().replace( "/", "" );
sValue = sValue.toString().replace( "/", "" );
sValue = sValue.toString().replace( "(", "" );
sValue = sValue.toString().replace( "(", "" );
sValue = sValue.toString().replace( ")", "" );
sValue = sValue.toString().replace( ")", "" );
sValue = sValue.toString().replace( " ", "" );
sValue = sValue.toString().replace( " ", "" );
fldLen = sValue.length;
mskLen = sMask.length;

i = 0;
nCount = 0;
sCod = "";
mskLen = fldLen;

while (i <= mskLen) {
bolMask = ((sMask.charAt(i) == "-") || (sMask.charAt(i) == ":") || (sMask.charAt(i) == ".") || (sMask.charAt(i) == "/"))
bolMask = bolMask || ((sMask.charAt(i) == "(") || (sMask.charAt(i) == ")") || (sMask.charAt(i) == " ") || (sMask.charAt(i) == "."))

//Se for true utiliza elementos especiais aumenta a máscara
if (bolMask) {
    sCod += sMask.charAt(i);
    mskLen++;
//Caso false mostra o sValue(o q foi digitado)
} else {
    sCod += sValue.charAt(nCount);
    nCount++;
}
i++;
}

objForm[strField].value = sCod;
if (nTecla != 8) { // backspace
    if (sMask.charAt(i-1) == "9") { // apenas números...
    return ((nTecla > 47) && (nTecla < 58)); } // números de 0 a 9
else { // qualquer caracter...
    return true;
}
} else {
    return true;
}
}
//Fim da Função Máscaras Gerais


var testresults;
function check_filter(name)
{
// var str=document.mensagem.item(name).value;	  only for IE
	var str=document.getElementById(name).value;
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
	if (filter.test(str))
		testresults=true;
	else
	{
		esconde_div( divTela = new Array ('solicitante','carne_iptu','tipo_alteracao','docs_enviar') );
		document.getElementById('solicitante').style.display = "inline";
		alert("O endereço de email digitado é inválido.");
		testresults=false;
	}
	return (testresults);
	}

function check_mail(name)
{
	if (document.layers||document.getElementById||document.all)	  	 
		return check_filter(name);
	else
		return true;
}

function valida_campos()
{ 
	var x;
	/* Os vetores a seguir vão de 0 a 42
	** Tela 1: 0  a 12 - solicitante
	** Tela 2: 13 a 22 - carne_iptu
	** Tela 3: 23 a 40 - tipo_alteracao
	** Tela 4: 41 a 43 - docs_enviar
	*/
	var vetor = new Array("nome","cpf","rg","endereco","numero","bairro","cidade","uf","cep","telefone","celular","horario","email",
						  "nome_resp","cod_cartografico","end_imovel","num_imovel","bairro_imovel","cidade_imovel",
						  "cep_imovel","quart_imovel","lote_imovel",
						  "radio_alteracao",
						  "end_entrega","num_entrega","bairro_entrega","cidade_entrega","uf_entrega","cep_entrega",
						  "nome_novoresp","cpf_novoresp","rg_novoresp","endereco_novoresp","numero_novoresp",
						  "bairro_novoresp","cidade_novoresp","uf_novoresp","cep_novoresp","telefone_novoresp","celular_novoresp",
						  "propriedade","doc_enviar_especificar","anexo"
						  );
	var msg   = new Array("Nome completo","CPF","RG","Endereço","Número","Bairro","Cidade","UF","Cep","Telefone","Celular","Horário para Contato","E-mail Principal",
						  "Nome do responsável tributário","Código Cartográfico","Endereço do Imóvel","Número","Bairro/Loteamento","Cidade",
						  "Cep","Quarteirão/Quadra","Lote/Sublote",
						  "selecione uma opção em Tipo de Alteração",
						  "Endereço","Número","Bairro","Cidade","UF","Cep",
						  "Nome completo","CPF","RG","Endereço","Número","Bairro","Cidade","UF","Cep","Telefone","Celular",
						  "selecione uma opção em De propriedade","Especificar","selecione o arquivo pdf para ser anexado"
						  );
	for (x=0;x<vetor.length;x++)
	{
		//alert("vetor: " + vetor[x] + "valor de x: " + x);
		if( !(document.getElementById('radio_alteracao1').checked) && !(document.getElementById('radio_alteracao2').checked) && !(document.getElementById('radio_alteracao3').checked) )
		{
			alert("Campo obrigatório. Por favor, " + msg[22] + ".");
			esconde_div( divTela = new Array ('solicitante','carne_iptu','tipo_alteracao','docs_enviar') );
			document.getElementById('tipo_alteracao').style.display = "inline";
			document.getElementById(vetor[22]).focus();	
			return(0);
		}
		if( !(document.getElementById('propriedade1').checked) && !(document.getElementById('propriedade2').checked) && !(document.getElementById('propriedade3').checked) && !(document.getElementById('propriedade4').checked) )
		{
			alert("Campo obrigatório. Por favor, " + msg[40] + ".");
			esconde_div( divTela = new Array ('solicitante','carne_iptu','tipo_alteracao','docs_enviar') );
			document.getElementById('docs_enviar').style.display = "inline";
			document.getElementById(vetor[40]).focus();	
			return(0);
		}
		else if( x == 22) {}
		else if( document.getElementById(vetor[x]).value == "" )
  		{
			premsg = (vetor[x] != "anexo" && vetor[x] != "propriedade" && vetor[x] != "radio_alteracao" ?"preencha o campo ":"");
			//verifica tipo de alteração selecionada
			if (x > 22 && x < 42 ) { }
			else
			{
				alert("Campo obrigatório. Por favor, " + premsg + msg[x] + "." );
				esconde_div( divTela = new Array ('solicitante','carne_iptu','tipo_alteracao','docs_enviar') );
			}
			if (x < 13 ) 
			{
				document.getElementById('solicitante').style.display = "inline";
				document.getElementById(vetor[x]).focus();	
				return(0);
			}
			else if (x < 22 )
			{
				document.getElementById('carne_iptu').style.display = "inline";
				document.getElementById(vetor[x]).focus();	
				return(0);
			}
			/** Tela 3: 23 a 40 - tipo_alteracao **/
			else if (x < 41 )
			{
				esconde_div( divTela = new Array ('solicitante','carne_iptu','tipo_alteracao','docs_enviar') );
				if ( (x < 29) && (document.getElementById('radio_alteracao1').checked) )
				{
					exibe_div (new Array('tipo_alteracao') );
					alert("Campo obrigatório. Por favor, preencha o campo " + msg[x] + ".");
					exibe_tipo_alteracao ('altera_endereco');
					document.getElementById(vetor[x]).focus();	
					return(0);
				}
				else if ( (x > 28) && (x < 40) && (document.getElementById('radio_alteracao2').checked) )
				{
					exibe_div (new Array('tipo_alteracao') );
					alert("Campo obrigatório. Por favor, preencha o campo " + msg[x] + ".");
					exibe_tipo_alteracao ('altera_nome');
					document.getElementById(vetor[x]).focus();	
					return(0);
				}
				else
				{
					if ( document.getElementById('radio_alteracao3').checked)
					{
						exibe_div (new Array('tipo_alteracao') );
						alert("Campo obrigatório. Por favor, preencha o campo " + msg[x] + ".");
						exibe_tipo_alteracao ('nome_endereco');
						document.getElementById(vetor[x]).focus();	
						return(0);
					}
				}
			}
			/** Tela 4: 41 a 43 - docs_enviar **/
			else
			{
				if (document.getElementById('propriedade4').checked && (x == 41) )
				{
					exibe_div (new Array('docs_enviar') );
					alert("Campo obrigatório. Por favor, preencha o campo " + msg[x] + ".");
					document.getElementById(vetor[x]).focus();	
					return(0);
				}
				else if (x != 41)
				{
					document.getElementById('docs_enviar').style.display = "inline";
					document.getElementById(vetor[x]).focus();	
					return(0);
				}
			}
		}
	}
	// verifica a extensão do arquivo que será enviado como anexo
	var partes =  document.getElementById(vetor[42]).value.split(".");
	if (partes[(partes.length) - 1] != "pdf")
	{
		exibe_div (new Array('docs_enviar') );
		alert("Os arquivos com os dados deverão ser obrigatóriamente no formato PDF");
		document.getElementById(vetor[42]).focus();	
		return(0);
	}
	// verifica se o email digitado está correto
	var i; var j=0;
	if (check_mail(vetor[12]))
	{
		document.getElementById("form1").submit();
	}
	else
	{
		document.getElementById(vetor[12]).focus();	
		return(0);
	}
}

function navegacao(acao)
{
	tela = new Array ('solicitante', 'carne_iptu', 'tipo_alteracao', 'docs_enviar');
	apontar = parseInt(( acao == "avancar"?"1":"-1"));
	for (b=0; b<4; b++ )
	{
		status = document.getElementById(tela[b]).style.display;
		if (status == "" || status == "inline")
		{
			if (b==3 && apontar == 1)
			{
				b = 5;
			}
			else if (b==0 && apontar == -1)
			{
				b = 5;
			}
			else
			{
				esconde_div( valor = new Array(tela[b]) );
				exibe_div( new Array(tela[b+apontar]) );
				//document.getElementById(tela[i+apontar]).style.display = "inline";
				b = 5;
			}
		}
	}
}

//função usada para exibir/ocultar as divs de acordo com o tipo de alteração selecionada
function exibe_tipo_alteracao (tipo)
{
	nome_div = (tipo == 'nome_endereco'? new Array('altera_nome','altera_endereco') : new Array(tipo));
	esconde_div (new Array('altera_nome','altera_endereco'));
	exibe_div (nome_div);
}
//função usada para exibir a div de acordo com a necessidade
function exibe_div (qual)
{
	for ( a=0; a<qual.length; a++ )
	{
		document.getElementById(qual[a]).style.display = "inline";
	}
}
//função usada para esconder a div de acordo com a necessidade
function esconde_div (qual)
{
	for ( a=0; a<qual.length; a++ )
	{
		document.getElementById(qual[a]).style.display = "none";
	}
}
function load_conteudo(segmento)
{
	esconde_div (new Array('barra_segmento','personal_segmento','home_segmento','corp_segmento'));
	exibe_div (new Array('barra_segmento',segmento));
}
/************************************************************
** RETORNA VALORES PARA CAMPOS DO TIPO DOCUMENTO: RG, CPF.
************************************************************/
function documentos(evento) 
{
	mensagem = "Esse campo aceita apenas números.";
	//Internet Explorer
	if (navigator.appName != "Netscape")
	{
		var tecla = String.fromCharCode(window.event.keyCode);
		if(!((tecla >= "0") && (tecla <= "9") || (tecla == ".") || (tecla =="-") || (tecla =="/") || (tecla =="(") || (tecla ==")") || (window.event.keyCode == "13")  ))
		{
			window.event.keyCode = 0;
			window.alert(mensagem);
		}
	}
	//FireFox
	else
	{
		var tecla = String.fromCharCode(evento.which); 
		//se caracter diferente de "número", "/", teclas: BackSpace, Tab, Enter, Esc, End, Home, Seta Esquerda, Seta Direita, Seta Baixo, Seta Acima e Delete
		if(!((tecla >= "0") && (tecla <= "9") || 
			(tecla == ".") || (tecla =="-") || (tecla =="/") || (tecla =="(") || (tecla ==")") || 
			(evento.keyCode == "8" ) || (evento.keyCode == "9" ) || (evento.keyCode == "13") || (evento.keyCode == "27") || 
			(evento.keyCode == "35") || (evento.keyCode == "36") || (evento.keyCode == "37") || (evento.keyCode == "38") || (evento.keyCode == "39") || 
			(evento.keyCode == "40") || (evento.keyCode == "46") ))
		{
			window.alert(mensagem);
			return false;
		}
	}
}

/************************************************************
** RETORNA APENAS NÚMEROS.
************************************************************/
function numeros(evento) 
{
	mensagem = "Esse campo aceita apenas números.";
	//Internet Explorer
	if (navigator.appName != "Netscape")
	{
		var tecla = String.fromCharCode(window.event.keyCode);
		if(!((tecla >= "0") && (tecla <= "9") || (window.event.keyCode == "13")  ))
		{
			window.event.keyCode = 0;
			window.alert(mensagem);
		}
	}
	//FireFox
	else
	{
		var tecla = String.fromCharCode(evento.which); 
		//se caracter diferente de "número", "/", teclas: BackSpace, Tab, Enter, Esc, End, Home, Seta Esquerda, Seta Direita, Seta Baixo, Seta Acima e Delete
		if(!((tecla >= "0") && (tecla <= "9") || 
			(evento.keyCode == "8" ) || (evento.keyCode == "9" ) || (evento.keyCode == "13") || (evento.keyCode == "27") || 
			(evento.keyCode == "35") || (evento.keyCode == "36") || (evento.keyCode == "37") || (evento.keyCode == "38") || (evento.keyCode == "39") || 
			(evento.keyCode == "40") || (evento.keyCode == "46") ))
		{
			window.alert(mensagem);
			return false;
		}
	}
}

/* FIM DE ARQUIVO */

