// 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" 
	
	 divListado = document.getElementById("resultado_cep2");
	 divListado2 = document.getElementById("resultado_valtot");
	 divListado3 = document.getElementById("rescidade");

	 var carregando = document.getElementById("resultado_cep2");
	 carregando.innerHTML='<img src="imagens/load.gif" />';
	 
	 var carregando2 = document.getElementById("resultado_valtot");
	 carregando2.innerHTML='<img src="imagens/load.gif" />';

	 var carregando3 = document.getElementById("rescidade");
	 carregando3.innerHTML='<img src="imagens/load.gif" />';

if (reqr.readyState == 4) { 

	var partes = reqr.responseText.split("|");
	var verifique = partes[0];
	var gratis = partes[4];

	 if(gratis == "1"){
		 carregando.innerHTML = null;
		 divListado.innerHTML = "Grátis!" ; //partes[1];
	 }	
	 else{
		 carregando.innerHTML = null;
		 divListado.innerHTML = "0,00" ; //partes[1];
	 }
	
	//Buscar Vale Desconto
	var valedesconto=0 ;
	var valedesconto = document.form_compra.valor_vale_desconto.value.replace('.','.');	
	//alert (valedesconto);

	var subtotal=0 ;
	var subtotal = document.form.subtotal.value.replace('.','.');	

	var totgeral=0 ;
	var totgeral = document.form.valtotgeral.value.replace('.','.');	


if (reqr.status ==200) { 
    
	var somaa=parseFloat(subtotal)-parseFloat(valedesconto)
	var soma2a = somaa;

	if(verifique != 1){
		document.form_compra.continuar.value = "1";
		//alert("Houve um problema ao obter os dados, favor informar nossa central de atendimento, Erro: CF001!"); 
		alert("Cep não encontrado! Caso o erro persista, favor informar o cep principal da cidade!"); 
	//	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!"); 
		//	window.open('http://www.mxk.com.br/suporte/gruta/atendimento','','status=yes,scrollbars=yes,width=340,height=340');
		//	window.open('contato_popup.php','','status=yes,width=310,height=310');
			
				    reserro = number_format(soma2a,2, ',', '.');
				 	carregando2.innerHTML = null;
				 	divListado2.innerHTML = reserro
				 	document.getElementById('resultado_valtot').value = reserro; 

					var rs = "Cidade não Encontrada!";
				 	carregando3.innerHTML = null;
				 	divListado3.innerHTML = rs
				 	document.getElementById('rescidade').value = rs; 
	}
	else{

		var err = partes[5];
		var cidade = partes[6];
		var estado = partes[7];
			
		if(err == "0"){
				
					document.form_compra.continuar.value = "1";
			 		alert("Cep não encontrado! Caso o erro persista, favor informar o cep principal da cidade!"); 
						//	window.open('http://www.mxk.com.br/suporte/gruta/atendimento','','status=yes,scrollbars=yes,width=340,height=340');
						//	window.open('contato_popup.php','','status=yes,width=310,height=310');

				    reserro = number_format(soma2a,2, ',', '.');
				 	carregando2.innerHTML = null;
				 	divListado2.innerHTML = reserro
				 	document.getElementById('resultado_valtot').value = reserro; 

					var rs = "Cidade não Encontrada!";
				 	carregando3.innerHTML = null;
				 	divListado3.innerHTML = rs
				 	document.getElementById('rescidade').value = rs; 
		}
		else{
				
			 var frete =  0;
			 var verfrete = partes[1];
			 var frete = verfrete.replace(',','.');
			
			 var soma=parseFloat(totgeral)+parseFloat(frete)-parseFloat(valedesconto)
			 var soma2 = soma;
			 soma2=soma2.toFixed(2);
				
			 document.form_compra.frete_valor.value = frete;
			 document.form_compra.subtotal.value = totgeral;
			 document.form_compra.val_compra.value = soma2;
			 document.form_compra.serv.value = partes[2];
			 document.form_compra.cepd.value = partes[3];
			 document.form_compra.continuar.value = "";
			 soma = number_format(soma,2, ',', '.');
				
			 frete = number_format(frete,2, ',', '.');
				
				 if(gratis == "1"){
					 alert("Frete grátis!"); 
					 carregando.innerHTML = null;
					 divListado.innerHTML = "Grátis!" ; //partes[1];
				 }	
				 else{
					 carregando.innerHTML = null;
					 divListado.innerHTML = frete ; //partes[1];
				 }

					carregando2.innerHTML = null;
					divListado2.innerHTML = soma
					document.getElementById('resultado_valtot').value = soma; 
		 	
					var rs = ("Cidade: "+cidade+"/"+estado);
				 	carregando3.innerHTML = null;
				 	divListado3.innerHTML = rs
				 	document.getElementById('rescidade').value = rs; 
	 }
}	
} else { 
			document.form_compra.continuar.value = "1";
			//alert("Houve um problema ao obter os dados, favor informar nossa central de atendimento!"); 
			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!"); 
	   		window.open('contato_popup.php','','status=yes,width=310,height=410');

				    reserro = number_format(subtotal,2, ',', '.');
				 	carregando2.innerHTML = null;
				 	divListado2.innerHTML = reserro
				 	document.getElementById('resultado_valtot').value = reserro; 

					var rs = "Cidade não Encontrada!";
				 	carregando3.innerHTML = null;
				 	divListado3.innerHTML = rs
				 	document.getElementById('rescidade').value = rs; 
} 

} 

} 




function Checacep(servico,origem,destino,peso,subtotal,cdpr,ctprod,qtprod,ftcat,comp,alt,larg) 

{ 
//alert("Codigo Produto: "+cdpr);
//alert("Servico: "+servico);
//alert("CepOrigem: "+origem);
//alert("CepDestino: "+destino);
//alert("Peso: "+peso);
//alert("Categoria Produto: "+ctprod);
//alert("Qtdade Produto: "+qtprod);
//alert("Fator Produto: "+ftcat);
//alert("Subtotal: "+subtotal);

if(destino == ""){
alert("Você precisa informar um cep válido!");
}
else{

//FUNÇÃO QUE MONTA A URL E CHAMA A FUNÇÃO AJAX 

url="calcula_frete_correios.php?servico="+servico+"&origem="+origem+"&destino="+destino+"&peso="+peso+"&subtotal="+subtotal+"&cdpr="+cdpr+"&ctprod="+ctprod+"&qtprod="+qtprod+"&ftcat="+ftcat+"&comp="+comp+"&alt="+alt+"&larg="+larg; 
//url="includes/calcula.php?servico=41106&origem=14680000&destino=19013430&peso=5"; 
//alert (url);
ajaxr(url); 
}

} 


