//Função Ajax. 
function openAjax() {
	var ajax;
	try {
		ajax = new XMLHttpRequest(); // XMLHttpRequest para Firefox, Safari, dentre outros.
	} catch (ee) {
		try {
			ajax = new ActiveXObject("Msxml2.XMLHTTP"); // Para o Internet Explorer
		} catch (e) {
			try {
				ajax = new ActiveXObject("Microsoft.XMLHTTP"); // Para o Internet Explorer
			} catch (E) {
				ajax = false;
			}
		}
	}
	return ajax;
}

/*Funcao que remove todos os elementos de um drop down*/
function removeAllOptions(selectbox) {
	var i;
	for (i = selectbox.options.length - 1; i >= 0; i--)//para todos os elementos
	{
		selectbox.remove(i);//remove o elemento
	}
}

/*Funcao replace All nao nativa de javascript*/
//parametros (String de entrada, antigo token, novo token)
function replaceAll(string, token, newtoken) {
	while (string.indexOf(token) != -1) {
		string = string.replace(token, newtoken);//replace de tokens
	}
	return string;
}

/* Funcao que redireciona para pagina de cadastro pessoa física */
function alteraPaginaPF() {
	var cliente = document.getElementById('ddlTipoCliente').value;
	if (cliente == "pf") {
		document.location.href = "pessoafisicaCadastro.jsp";
	}
}

/* Funcao que redireciona para pagina de cadastro pessoa jurídica */
function alteraPaginaPJ() {

	var cliente = document.getElementById('ddlTipoCliente').value;
	if (cliente == "pj") {
		document.location.href = "pessoajuridicaCadastro.jsp";
	}
}

//Função esconde|mostra os divs das partes para entrada de dados,
//passe por string o ID do div a ser mostrados, e dos 2 div's a serem escondidos
function escondeMostraDivs(div_mostra, div_esconde1, div_esconde2) {
	document.getElementById(div_esconde1).style.display = 'none';
	document.getElementById(div_esconde2).style.display = 'none';
	document.getElementById(div_mostra).style.display = 'block';
}

//Esconde o bta de cadastrar/continuar,
//passe o ID do Div do botao a ser escondido, e o
//ID do Div do botao a ser mostrado
function escondeMostraBotoes(id_btn_esconde, id_btn_mostra) {
	document.getElementById(id_btn_esconde).style.display = 'none';
	document.getElementById(id_btn_mostra).style.display = 'block';
}

//Esconde e mostra as imagens dos passos
//passe o ID do Div que contem a imagem do passo que se deseja exibir
// e os os ID dos Divs que contem as imagems dos passos que se deseja esconder
function escondeMostraPassos(idMostra, idEsconde1, idEsconde2) {
	document.getElementById(idEsconde1).style.display = 'none';
	document.getElementById(idEsconde2).style.display = 'none';
	document.getElementById(idMostra).style.display = 'block';
}

//Funçao que controla a exibição dos passos corretamente na tela
//Basta passar qual passo deseja-se exibir/controlar
//já trata a imagem do passo, o botao cadastrar/continuar,
//a parte do formulario da entrada de dado em si
//e controle do botao de proximo.
//Passando "submit" ele executada o submit do forma na tela.
function trataEntradaDados(atual) {

	var passoAtual = document.getElementById("controlePartes").value;

	if (atual == "1") {

		if (passoAtual == "2") {
				escondeMostraDivs('parte1', 'parte2', 'parte3');
				document.getElementById("controlePartes").value = "1";
				escondeMostraBotoes("btCadastrar", "btContinuar");
				escondeMostraPassos("passo1", "passo2", "passo3");
		} else if (passoAtual == "3") {
				escondeMostraDivs('parte1', 'parte2', 'parte3');
				document.getElementById("controlePartes").value = "1";
				escondeMostraBotoes("btCadastrar", "btContinuar");
				escondeMostraPassos("passo1", "passo2", "passo3");
		} else {
			escondeMostraDivs('parte1', 'parte2', 'parte3');
			document.getElementById("controlePartes").value = "1";
			escondeMostraBotoes("btCadastrar", "btContinuar");
			escondeMostraPassos("passo1", "passo2", "passo3");
		}
	}

	if (atual == "2") {

		if (passoAtual == "1") {
			if (validaAll1()) {
				escondeMostraDivs('parte2', 'parte1', 'parte3');
				document.getElementById("controlePartes").value = "2";
				escondeMostraBotoes("btCadastrar", "btContinuar");
				escondeMostraPassos("passo2", "passo1", "passo3");
			}
		}

		if (passoAtual == "3") {
				escondeMostraDivs('parte2', 'parte1', 'parte3');
				document.getElementById("controlePartes").value = "2";
				escondeMostraBotoes("btCadastrar", "btContinuar");
				escondeMostraPassos("passo2", "passo1", "passo3");
		}

	}

	if (atual == "3") {

		if (passoAtual == "1") {
			if (validaAll1()) {
				escondeMostraDivs('parte3', 'parte1', 'parte2');
				document.getElementById("controlePartes").value = "3";
				escondeMostraBotoes("btContinuar", "btCadastrar");
				escondeMostraPassos("passo3", "passo1", "passo2");
			}
		}

		if (passoAtual == "2") {
			if (validaAll2()) {
				escondeMostraDivs('parte3', 'parte1', 'parte2');
				document.getElementById("controlePartes").value = "3";
				escondeMostraBotoes("btContinuar", "btCadastrar");
				escondeMostraPassos("passo3", "passo1", "passo2");
			}
		}

	}

	if (atual == "submit") {
		if (validaAll3()) {
			document.getElementById("controlePartes").value = "1";
			document.forms[0].submit();
			GerarCookie('Cookie1',
					document.getElementById('listaLocalidade').value, 0);
			GerarCookie('Cookie2',
					document.getElementById('listaCidade').value, 0);
			GerarCookie('Cookie3',
					document.getElementById('listaBairro').value, 0);
			GerarCookie('Cookie4',
					document.getElementById('listaLogradouro').value, 0);
			GerarCookie('Cookie5',
					document.getElementById('tituloLogradouro').value, 0);
		}

	}

}

//Funçao que controla a exibição dos passos corretamente na tela
//Basta passar qual passo deseja-se exibir/controlar
//já trata a imagem do passo, o botao cadastrar/continuar,
//a parte do formulario da entrada de dado em si
//e controle do botao de proximo.
//Passando "submit" ele executada o submit do forma na tela.
function trataEntradaDadosValidate(atual) {

	if (atual == "1") {
		escondeMostraDivs('parte1', 'parte2', 'parte3');
		document.getElementById("controlePartes").value = "1";
		escondeMostraBotoes("btCadastrar", "btContinuar");
		escondeMostraPassos("passo1", "passo2", "passo3");
	} else if (atual == "2") {
		escondeMostraDivs('parte2', 'parte1', 'parte3');
		document.getElementById("controlePartes").value = "2";
		escondeMostraBotoes("btCadastrar", "btContinuar");
		escondeMostraPassos("passo2", "passo1", "passo3");

	} else if (atual == "3") {
		escondeMostraDivs('parte3', 'parte1', 'parte2');
		document.getElementById("controlePartes").value = "3";
		escondeMostraBotoes("btContinuar", "btCadastrar");
		escondeMostraPassos("passo3", "passo1", "passo2");
		
	} else if (atual == "submit") {
			document.getElementById("controlePartes").value = "1";
			document.forms[0].submit();
			GerarCookie('Cookie1',
					document.getElementById('listaLocalidade').value, 0);
			GerarCookie('Cookie2',
					document.getElementById('listaCidade').value, 0);
			GerarCookie('Cookie3',
					document.getElementById('listaBairro').value, 0);
			GerarCookie('Cookie4',
					document.getElementById('listaLogradouro').value, 0);
			GerarCookie('Cookie5',
					document.getElementById('tituloLogradouro').value, 0);
			
	}

}

//Funçao que trata o botao continuar,
//existe uma variavel HIDDEN nas JSP que tem o ID
//"controlePartes" que diz respeito ao controle
// dos botoes continuar/cadastrar.
//Para o controle deste botao, basta chamar este procedimento
//que ele acertar por completo o proximo passe
//chamando a trataEntradaDados
function trataBtnContinuar() {
	var passoAtual = document.getElementById("controlePartes").value;

	if (passoAtual == "1") {
		validaAll1();
	}

	if (passoAtual == "2") {
		validaAll2();
	}

	if (passoAtual == "3") {

		trataEntradaDados("submit");
	}
}

/*
 Exemplo:
 - Cria o cookie 'CookieTeste' com o valor 'HellowWorld!' que irá expirar quando o browser for fechado.
 GerarCookie('CookieTeste', 'HellowWorld!', 0);
 - Lê o conteúdo armazenado no cookie.
 LerCookie('CookieTeste');
 - Exclúi o cookie.
 ExcluirCookie('CookieTeste');
 */

// Função para criar o cookie.
// Para que o cookie seja destruído quando o brawser for fechado, basta passar 0 no parametro lngDias.
function GerarCookie(strCookie, strValor, lngDias) {
	var dtmData = new Date();
	if (lngDias) {
		dtmData.setTime(dtmData.getTime() + (lngDias * 24 * 60 * 60 * 1000));
		var strExpires = "; expires=" + dtmData.toGMTString();
	} else {
		var strExpires = "";
	}

	document.cookie = strCookie + "=" + strValor + strExpires + "; path=/";

}

// Função para ler o cookie.
function LerCookie(strCookie) {
	var strNomeIgual = strCookie + "=";
	var arrCookies = document.cookie.split(';');

	for ( var i = 0; i < arrCookies.length; i++) {
		var strValorCookie = arrCookies[i];
		while (strValorCookie.charAt(0) == ' ') {
			strValorCookie = strValorCookie.substring(1, strValorCookie.length);
		}
		if (strValorCookie.indexOf(strNomeIgual) == 0) {
			return strValorCookie.substring(strNomeIgual.length,
					strValorCookie.length);
		}
	}
	return null;
}

// Função para excluir o cookie desejado.
function ExcluirCookie(strCookie) {
	GerarCookie(strCookie, '', -1);
}

function matarCookie() {

	ExcluirCookie('Cookie1');
	ExcluirCookie('Cookie2');
	ExcluirCookie('Cookie3');
	ExcluirCookie('Cookie4');
	ExcluirCookie('Cookie5');

}

/* Função que limpa o campo ramal formulário PJ */
function limpaRamal() {
	var campo = document.getElementById("ramal");
	campo.value = "";

}

function toggleReadOnly() {

	alert("Não é possível alterar esse campo.");
}

/* Não permite a digitação de nenhum tipo de acento */
function retiraAcentoEspaco(obj) {
	var varString = new String(obj.value);
	var stringAcentos = new String('àâêôûãõáéíóúçüÀÂÊÔÛÃÕÁÉÍÓÚÇÜ');
	var stringSemAcento = new String('aaeouaoaeioucuAAEOUAOAEIOUCU');

	var i = new Number();
	var j = new Number();
	var cString = new String();
	var varRes = '';

	for (i = 0; i < varString.length; i++) {
		cString = varString.substring(i, i + 1);
		for (j = 0; j < stringAcentos.length; j++) {
			if (stringAcentos.substring(j, j + 1) == cString) {
				cString = stringSemAcento.substring(j, j + 1);
			}
		}
		if (cString == "'" || cString == "´" || cString == "`"
				|| cString == "^" || cString == "~" || cString == " ") {
			cString = "";
		}
		varRes += cString;
	}
	obj.value = varRes;
}

/* Não permite a digitação de nenhum tipo de acento */
function retiraAcento(obj) {
	var varString = new String(obj.value);
	var stringAcentos = new String('àâêôûãõáéíóúçüÀÂÊÔÛÃÕÁÉÍÓÚÇÜ');
	var stringSemAcento = new String('aaeouaoaeioucuAAEOUAOAEIOUCU');

	var i = new Number();
	var j = new Number();
	var cString = new String();
	var varRes = '';

	for (i = 0; i < varString.length; i++) {
		cString = varString.substring(i, i + 1);
		for (j = 0; j < stringAcentos.length; j++) {
			if (stringAcentos.substring(j, j + 1) == cString) {
				cString = stringSemAcento.substring(j, j + 1);
			}
		}
		if (cString == "'" || cString == "´" || cString == "`"
				|| cString == "^" || cString == "~") {
			cString = "";
		}
		varRes += cString;
	}
	obj.value = varRes;
}