// JavaScript Document 

//Input somente numeros usado: onkeypress="return campo_numerico(event)" 

function campo_numerico(evt)

{

         var charCode = (evt.which) ? evt.which : event.keyCode;

         if (charCode > 31 && (charCode < 48 || charCode > 57))

            return false;



         return true;

}

//Mascaras Uso: onkeyup="mascara(this.value, this.id, '####.##.##.#######-#/#', event)"

function mascara(valor, id, mascara, evento){



//inicializa a variavel que vai conter o valor final

var valorFinal = "";

//verifica o que foi digitada para que seja verificado se é somente números ou não

var tecla = evento.keyCode;

//manetem o tamanho original do campo sem retirar a máscara

var valorOriginal = valor;

//inicializa um array com todos os caracteres que serão retirado

var arrNaoPermitidos = new Array("-", ".", "/", "\\", "|", "(", ")", ":", " ");

//retira qualquer máscatra que já tenho sido colocada

for(i1=0;i1<valor.length;i1++)

{

for(i2=0;i2<arrNaoPermitidos.length;i2++)

{

if(valor.charAt(i1) == arrNaoPermitidos[i2])

{

valor = valor.toString().replace( arrNaoPermitidos[i2], "" );

}

}

}

//verifica se foi precionado o backspae

if(tecla != 8)

{

//verifica se já não ultrapassou o tamanha máximo da máscara

if(mascara.length >= valorOriginal.length)

{

//loop em cima do valor do campo sem a máscara

jaTemMascara = false;

for(i=0;i<valor.length;i++)

{

//verifica se a string já recebeu alguma máscara ou não

if(jaTemMascara == false)

{

//verifica se o tipo da entrada de dados tem que ser némerica

if(mascara.charAt(i) == "#")

{

//verifica se foi digitado somente números

if(((tecla > 95) && (tecla < 106)) || ((tecla > 47) && (tecla < 58)) || tecla == 9 || tecla == 16)

{

//0 = 96 ou 48

//1 = 97 ou 49

//2 = 98 ou 50

//3 = 99 ou 51

//4 = 100 ou 52

//5 = 101 ou 53

//6 = 102 ou 54

//7 = 103 ou 55

//8 = 104 ou 56

//9 = 105 ou 57

//tecla == 9 = tab

valorFinal = valorFinal+ valor.charAt(i);

}

else//se não foi digitado um número é retirado o caracter da string

{

valorFinal = valorOriginal.substring(0, valorOriginal.length -1);

}

}

else if(mascara.charAt(i) == "@")//verifica se o tipo da entrada é qualquer caracter

{

valorFinal = valorFinal+ valor.charAt(i);

}

else//se não for quelaquer caracter é algum elemento da máscara

{

//verifica se o próxima depois da máscara é númerica 

if(mascara.charAt(i + 1) == "#")

{

//verifica se foi digitado somente números

if(((tecla > 95) && (tecla < 106)) || ((tecla > 47) && (tecla < 58)) || tecla == 9 || tecla == 16)

{

//0 = 96 ou 48

//1 = 97 ou 49

//2 = 98 ou 50

//3 = 99 ou 51

//4 = 100 ou 52

//5 = 101 ou 53

//6 = 102 ou 54

//7 = 103 ou 55

//8 = 104 ou 56

//9 = 105 ou 57

//tecla == 9 = tab

valorFinal = valorFinal + mascara.charAt(i + jaTemMascara)+ valor.charAt(i);

jaTemMascara = jaTemMascara + 1;

}

else//se não foi digitado um número é retirado o caracter da string

{

valorFinal = valorOriginal.substring(0, valorOriginal.length -1);

}

}

else// se não é númerico então pode ser qualuqer caracter

{

valorFinal = valorFinal + mascara.charAt(i + jaTemMascara)+ valor.charAt(i);

jaTemMascara = jaTemMascara + 1;

}

}

}

else//else da verificação da máscara

{

//verifica se foi digitado somente números

if(mascara.charAt(i + jaTemMascara) == "#")

{

//verifica se foi digitado somente números

if(((tecla > 95) && (tecla < 106)) || ((tecla > 47) && (tecla < 58)) || tecla == 9 || tecla == 16)

{

//0 = 96 ou 48

//1 = 97 ou 49

//2 = 98 ou 50

//3 = 99 ou 51

//4 = 100 ou 52

//5 = 101 ou 53

//6 = 102 ou 54

//7 = 103 ou 55

//8 = 104 ou 56

//9 = 105 ou 57

//tecla == 9 = tab

valorFinal = valorFinal+ valor.charAt(i);

}

else//se não foi digitado um número é retirado o caracter da string

{

valorFinal = valorOriginal.substring(0, valorOriginal.length -1);

}

}

else if(mascara.charAt(i + jaTemMascara) == "@")//verifica se o tipo da entrada é qualquer caracter

{

valorFinal = valorFinal+ valor.charAt(i);

}

else

{

//verifica se foi digitado somente números

if(mascara.charAt(i + jaTemMascara +1) == "#")

{

//verifica se foi digitado somente números

if(((tecla > 95) && (tecla < 106)) || ((tecla > 47) && (tecla < 58)) || tecla == 9 || tecla == 16)

{

//0 = 96 ou 48

//1 = 97 ou 49

//2 = 98 ou 50

//3 = 99 ou 51

//4 = 100 ou 52

//5 = 101 ou 53

//6 = 102 ou 54

//7 = 103 ou 55

//8 = 104 ou 56

//9 = 105 ou 57

//tecla == 9 = tab

valorFinal = valorFinal + mascara.charAt(i + jaTemMascara)+ valor.charAt(i);

jaTemMascara = jaTemMascara + 1;

}

else//se não foi digitado um número é retirado o caracter da string

{

valorFinal = valorOriginal.substring(0, valorOriginal.length -1);

}

}

else// se não é númerico então pode ser qualuqer caracter

{

valorFinal = valorFinal + mascara.charAt(i + jaTemMascara)+ valor.charAt(i);

jaTemMascara = jaTemMascara + 1;

}

}

}//fim da verificação da máscara

}

}

else

{

valorFinal = valorOriginal.substring(0, mascara.length);

}//final da verificação do tamanha máximo da string

}

else

{

//valorFinal = valorOriginal.substring(0, valorOriginal.length -1)

valorFinal = valorOriginal.substring(0, valorOriginal.length);

}//final da verificação do backspace

document.getElementById(id).value = valorFinal;

}



// FUNÇÃO RESPONSÁVEL DE CONECTAR A UMA PAGINA EXTERNA NO NOSSO CASO A BUSCA_NOME.PHP 

// E RETORNAR OS RESULTADOS 


function ajaxr(urlr) 
{ 

//alert(nick); 
//alert(dest); 
//alert(camp); 

reqr = null; 
// Procura por um objeto nativo (Mozilla/Safari) 
if (window.XMLHttpRequest) { 
reqr = new XMLHttpRequest(); 
reqr.onreadystatechange = processReqChanger; 
reqr.open("GET",urlr,true); 
reqr.send(null); 
// Procura por uma versão ActiveX (IE) 
} else if (window.ActiveXObject) { 
reqr = new ActiveXObject("Microsoft.XMLHTTP"); 
if (reqr) { 
reqr.onreadystatechange = processReqChanger; 
reqr.open("GET",urlr,true); 
reqr.send(); 


} 
} 
} 

function number_format( number, decimals, dec_point, thousands_sep ) {
var n = number, c = isNaN(decimals = Math.abs(decimals)) ? 2 : decimals;
var d = dec_point == undefined ? "," : dec_point;
var t = thousands_sep == undefined ? "." : thousands_sep, s = n < 0 ? "-" : "";
var i = parseInt(n = Math.abs(+n || 0).toFixed(c)) + "", j = (j = i.length) > 3 ? j % 3 : 0;
return s + (j ? i.substr(0, j) + t : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : "");
}

function processReqChanger() 

{ 
// apenas quando o estado for "completado" 
	
if (reqr.readyState == 4) { 

	//Verificar Partes
	var partes = reqr.responseText.split("|");
    var verifique = partes[0];
    var cep = partes[1];
    var cidade = partes[2];
	var estado = partes[3];
	var tipo_logradouro = partes[4];
    var logradouro = partes[5];
    var bairro = partes[6];
	
	//alert (verifique);
	if (verifique == "1"){
		var end = tipo_logradouro+": "+logradouro;
	}
	else {
		var end = "";
	}

	if (reqr.status ==200) { 

		if(verifique == "0"){
			alert("Cep não encontrado! Caso o erro persista, favor informar o cep principal da cidade!"); 
		}
		else{
		 
				 document.form.cep.value = cep;
				 document.form.cidade.value = cidade;
				 document.form.estado.value = estado;
				 document.form.rua.value = end;
				 document.form.bairro.value = bairro;
			
		}
	}
	else { 
				   	 alert("Houve um problema ao obter os dados, sugerimos que feche seu navegador e entre em nosso site novamente, para efetuar a compra! Caso o erro persista favor informar nossa central de atendimento!"); 
	
	} 

	} 

} 

function Checacep(cep) 

{ 
//alert("Cep: "+cep);

if(cep == ""){
//alert("Você precisa informar um cep válido!");
}
else{

//FUNÇÃO QUE MONTA A URL E CHAMA A FUNÇÃO AJAX 
	url="buscar_cep_cidades.php?cepDestino="+cep; 
	ajaxr(url); 
}

} 


