function $get(idElemento){
	return document.getElementById(idElemento);
}

function vai (url){
  location.replace(url);
}

// Codificar Strings

function url_encode(str) {  
        var hex_chars = "0123456789ABCDEF";  
        var noEncode = /^([a-zA-Z0-9\_\-\.])$/;  
        var n, strCode, hex1, hex2, strEncode = "";  

        for(n = 0; n < str.length; n++) {  
            if (noEncode.test(str.charAt(n))) {  
                strEncode += str.charAt(n);  
            } else {  
                strCode = str.charCodeAt(n);  
                hex1 = hex_chars.charAt(Math.floor(strCode / 16));  
                hex2 = hex_chars.charAt(strCode % 16);  
                strEncode += "%" + (hex1 + hex2);  
            }  
        }  
	return strEncode;  
}  

// Descodificar String 

function url_decode(str) {  
	var n, strCode, strDecode = "";  

	for (n = 0; n < str.length; n++) {  
		if (str.charAt(n) == "%") {  
			strCode = str.charAt(n + 1) + str.charAt(n + 2);  
			strDecode += String.fromCharCode(parseInt(strCode, 16));  
			n += 2;  
		} else {  
			strDecode += str.charAt(n);  
		}  
	}  

	return strDecode;  
} 

function number_format (number, decimals, dec_point, thousands_sep){
  var exponent = "";
  var numberstr = number.toString ();
  var eindex = numberstr.indexOf ("e");
  if (eindex > -1)
  {
    exponent = numberstr.substring (eindex);
    number = parseFloat (numberstr.substring (0, eindex));
  }
  
  if (decimals != null)
  {
    var temp = Math.pow (10, decimals);
    number = Math.round (number * temp) / temp;
  }
  var sign = number < 0 ? "-" : "";
  var integer = (number > 0 ? 
      Math.floor (number) : Math.abs (Math.ceil (number))).toString ();
  
  var fractional = number.toString ().substring (integer.length + sign.length);
  dec_point = dec_point != null ? dec_point : ".";
  fractional = decimals != null && decimals > 0 || fractional.length > 1 ? 
               (dec_point + fractional.substring (1)) : "";
  if (decimals != null && decimals > 0)
  {
    for (i = fractional.length - 1, z = decimals; i < z; ++i)
      fractional += "0";
  }
  
  thousands_sep = (thousands_sep != dec_point || fractional.length == 0) ? 
                  thousands_sep : null;
  if (thousands_sep != null && thousands_sep != "")
  {
	for (i = integer.length - 3; i > 0; i -= 3)
      integer = integer.substring (0 , i) + thousands_sep + integer.substring (i);
  }
  
  return sign + integer + fractional + exponent;
}


function processReqChange2() {
	if (xmlhttpCep.readyState == 4){
		if (xmlhttpCep.status == 200){
			var retXml = xmlhttpCep.responseXML.getElementsByTagName('conteudo');
			if (retXml.length){
				for ( x = 0; x < retXml.length; x++){
					msg = (retXml[0].getElementsByTagName('erro')[x].firstChild.nodeval() == 1 ? "Erro!<br>" : "");
					msg += (retXml[0].getElementsByTagName('cepDest')[x].firstChild.nodeval() == 1 ? "Erro!<br>" : "");
					document.getElementById("retorno").innerHTML = msg+"Teste";
				}
			}
		} else {
			alert("Problemas ao carregar o arquivo.");
		}
	}
}

//###################################################################################
function atualiza_carrinho(tip) {
	switch (tip) {
		case "produtos":
			var fr = document.frmEditContact;
			document.getElementById("att_registro").val() = 1;
			fr.submit();
		break;
		case "frete":
			executar_pesquisar_cep();
		break;
	}
}

function send_frete(string) {
	var frm		= document.frmEditContact;
	var vfrete 	= string.split('#');
	
	SndFrtALERTopcaofreteTMP = SndFrtALERTopcaofrete.replace("varOpcaoFrete", ""+vfrete[0])+"";
	SndFrtALERTopcaofreteTMP = SndFrtALERTopcaofreteTMP.replace("varValorFrete", ""+vfrete[1])+"";
	
	var conf_frete = confirm(SndFrtALERTopcaofreteTMP)
	if (conf_frete==true) {
		frm.opcao_frete.val() = vfrete[0];
		frm.frete.val() = vfrete[2];
		frm.cep_frete.val() = vfrete[3];
		frm.codigo_op.val() = vfrete[4];     
    	frm.action = "carrinho.php";
		frm.submit();
	}
}

/**
	Envia informação caso seja transportador a opção desejada
*/
function send_freteTransp(string) {
	var frm		= document.frmEditContact;
	var vfrete = string.split('#');
	var valorFrete = vfrete[1];
	
	if (parseFloat(valorFrete) > 0){ // Verifica se o valor do frete é maior que zero.
		 SndFrtALERTopcaofreteTMP = SndFrtALERTopcaofrete.replace("varOpcaoFrete", ""+vfrete[0])+"";
		 SndFrtALERTopcaofreteTMP = SndFrtALERTopcaofreteTMP.replace("varValorFrete", ""+vfrete[1])+"";
		 
		 var conf_frete = confirm(SndFrtALERTopcaofreteTMP)
		 if (conf_frete==true) {
		   frm.opcao_frete.val() = "TRANSPORTADORA A COBRAR";
		   frm.frete.val() = vfrete[2];
		   frm.cep_frete.val() = vfrete[3];  
		   frm.codigo_op.val() = vfrete[4]; 
		   frm.action = "carrinho.php";
		   frm.submit();
		 }
	}
		
}

/*
	Verefica se o usuario selecionou alguma forma de pagamento 
*/
function check_opcaopag() {
	var chs = $(".tp_frete").get();
	var check = false;
	for (i=0; i < chs.length; i++){
		if (chs[i].checked == true){
			check = true;
			break;
		}
	}
	
	if (check == false) {
		alert(CkOpPagALERTselpag);
	} else {
		document.frmFormaPgto.action = "autentica.php";
		document.frmFormaPgto.submit();
	}
}

function checkFalseRadio(campo) {
	var chs = $("."+campo).get();
	var check = false;
	for (i=0; i < chs.length; i++){
		chs[i].checked = false;
	}
}

function checkOpcaoFrete() {
	var fr = document.frmFrete2;
	var check = false;
	for(a=0;a<fr.elements.length;a++){
		if(fr.elements[a].name == 'tp_frete'){
			if (fr.elements[a].checked == true) {
				return 1;
				break;
			}
		}
	}
	return 0;
}


//###################################################################################
function check_login() {
   var fr = document.autentica;

   if (fr.email.val().length == 0) {
      alert(CkLoginALERTcmpemail);
      fr.email.focus();
      return false;
   }

   if (fr.email.val().indexOf('@', 0) == -1 || fr.user_id.val().indexOf('.', 0) == -1) {
      alert(CkLoginALERTcmpemailinc); 
      fr.email.focus();
      return false;
   }

   if (fr.esquecisenha.checked == false) {
      if (fr.senha.val().length == 0) {
         alert(CkLoginALERTcmpsenha);
         fr.senha.focus();
         return false;
      }
   }
   return true;
}

function checkEmail(email){
   if (!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(email)) || !email) 
     return false;
   else 
     return true;
}


//###################################################################################
function check_newlogin() {
   var fr = document.novo_usuario;

   if (fr.email.val().length == 0) {
      alert(CkNwLoginALERTcmpemail);
      fr.email.focus();
      return false;
   }

   if (fr.email.val().indexOf('@', 0) == -1 || fr.email.val().indexOf('.', 0) == -1) {
      alert(CkNwLoginALERTcmpemailinc); 
      fr.email.focus();
      return false;
   }
   return true;
}

//###################################################################################
function reenvio_pwd() {
	if ($("#esquecisenha")[0].checked == true) {
      $("#senha").get(0).disabled = true;
      $("#senha").val('');
      $("#autUser").val(RnvPwdALERTreenvsenha);
   } else {
      $("#senha").get(0).disabled = false;
      $("#autUser").val(RnvPwdALERTautentusuario);
   }
}

//###################################################################################
function valFrmEcommerce() {
	
	var cob_dif	= $("#cobranca_diferente").get();
	
	if ($("#nome_cobranca").val().length == 0) {
		alert(VldEndALERTcmpnome);
        $("#nome_cobranca").focus();
        return false;
	}
       
	if ($("#sobre_nome_cobranca").val().length == 0) {
		alert(VldEndALERTcmpsobrenome);
        $("#sobre_nome_cobranca").focus();
        return false;
	}
       
//	var cpf_cob = $("#cpf_b1").val() + $("#cpf_b2").val() + $("#cpf_b3").val() + $("#cpf_b4").val();
	var cpf_cob = $("#cpf_cobranca").val();

	if (cpf_cob.length == 0) {
		alert(VldEndALERTcmpcpf);
		$("#cpf_cobranca").focus();
		return false;
	}

	s = limpa_string(cpf_cob);
	if (s.length == 11) {
		if (valida_CPF(cpf_cob) == false ) {
			alert(VldEndALERTcmpcpfinc);
			$("#cpf_cobranca").focus();
			return false;
		}
	}else{
		alert(VldEndALERTcmpcpfinc);
		$("#cpf_cobranca").focus();
		return false;
	}
	

	if ($("#endereco_cobranca").val().length == 0) {
		alert(VldEndALERTcmpend);
		$("#endereco_cobranca").focus();
		return false;
	}
     
	if ($("#numero_cobranca").val().length == 0) {
		alert(VldEndALERTcmpnum);
		$("#numero_cobranca").focus();
		return false;
	}

	if ($("#bairro_cobranca").val().length == 0) {
		alert(VldEndALERTcmpbairro);
		$("#bairro_cobranca").focus();
		return false;
	}

	if ($("#cidade_cobranca").val().length == 0) {
		alert(VldEndALERTcmpcidade);
		$("#cidade_cobranca").focus();
		return false;
	}
	
	if ($("#estado_cobranca").val().length == 0) {
		alert(VldEndALERTcmpestado);
		$("#estado_cobranca").focus();
		return false;
	}
	// Verifico se a UF digitada pelo clientes é valida
	if (!validaUf($("#estado_cobranca").val())){
		alert('Estado inválido');
		$("#estado_cobranca").focus();
        return false;
	}
	
		
	if ($("#cep_cobranca").val().length == 0) {
		alert(VldEndALERTcmpcep);
		$("#cep_cobranca").focus();
		return false;
	}
		
    if ($("#ddd_tel_cobranca").val().length == 0) {
		alert(VldEndALERTcmpddd);
		$("#ddd_tel_cobranca").focus();
		return false;
	}

	if ($("#telefone_cobranca").val().length == 0) {
		alert(VldEndALERTcmptel);
		$("#telefone_cobranca").focus();
		return false;
	}

    if ($("#ddd_cel_cobranca").val().length == 0) {
		alert(VldEndALERTcmpddd);
		$("#ddd_cel_cobranca").focus();
		return false;
	}

	if ($("#celular_cobranca").val().length == 0) {
		alert(VldEndALERTcmpcel);
		$("#celular_cobranca").focus();
		return false;
	}

   if ($("#email_cobranca").val().length == 0) {
      alert(CkLoginALERTcmpemail);
      $("#email_cobranca").focus();
      return false;
   }

   if (!checkEmail($("#email_cobranca").val())) {
      alert(CkLoginALERTcmpemailinc); 
      $("#email_cobranca").focus();
      return false;
   }

	if ($("#senha").val().length < 4) {	
		alert("A senha deve possuir no minimo 4 caracteres!");
		$("#senha").focus();
		return false;
	}
	if ($("#senha").val().length > 0) {	
		if ($("#senha").val() != $("#senha_conf").val()) {	
			alert(VldPwdALERTsenhadif);
			$("#senha").focus();
			return false;
		}
	}

	var dia = $("#dia").val();
	var mes = $("#mes").val();
	var ano = $("#ano").val();
	
	if ((dia < 1 && dia > 31) || (mes < 1 && mes >12) || (ano < "1930" && ano == "0000" )) {
		alert ("Data de nascimento esta invalida") ;
		$("#dia").focus();
		return false;
	} else 
	    $("#data_nascimento").val(dia+"-"+mes+"-"+ano);

	
	//	Confere as informações de entrega do produto 
	
	if ($("#nome_destinatario").val().length == 0) {
		alert(VldEndALERTdestnome);
		$("#nome_destinatario").focus();
		return false;
	}
   
	if ($("#endereco_destinatario").val().length == 0) {
		alert(VldEndALERTdestend);
		$("#endereco_destinatario").focus();
		return false;
	}
	 
	if ($("#numero_destinatario").val().length == 0) {
		alert(VldEndALERTdestnum);
		$("#numero_destinatario").focus();
		return false;
	}

	if ($("#bairro_destinatario").val().length == 0) {
		alert(VldEndALERTdestbairro);
		$("#bairro_destinatario").focus();
		return false;
	}

	if ($("#cidade_destinatario").val().length == 0) {
		alert(VldEndALERTdestcidade);
		$("#cidade_destinatario").focus();
		return false;
	}

	if ($("#estado_destinatario").val().length == 0) {
		alert(VldEndALERTdestestado);
		$("#estado_destinatario").focus();
		return false;
	}
		
	
    if ($("#ddd_tel_destinatario").val().length == 0) {
		alert(VldEndALERTdestddd);
		$("#ddd_tel_destinatario").focus();
		return false;
	}

	if ($("#telefone_destinatario").val().length == 0) {
		alert(VldEndALERTdesttel);
		$("#telefone_destinatario").focus();
		return false;
	}
	
	/*
		funcao criada para verificar se o cpf ou email já foi cadastrado no sistema!
	*/
	 if (!validCampCadastro())
	 	document.frmCadastro.submit();
}


// Valida CPF 
function valida_CPF(s){
	var i;
	s = limpa_string(s);

	var vlrInvalido	= new Array('11111111111','22222222222','33333333333','44444444444',
								    '55555555555','66666666666','77777777777','88888888888',
								    '99999999999','00000000000');
	for (x =0; x < vlrInvalido.length; x++) {
		if (s == vlrInvalido[x])
			return false;
	}
	
	var c = s.substr(0,9);
	var dv = s.substr(9,2);
	var d1 = 0;
	for (i = 0; i < 9; i++){
		d1 += c.charAt(i)*(10-i);
	}
        if (d1 == 0) return false;
	d1 = 11 - (d1 % 11);
	if (d1 > 9) d1 = 0;
	if (dv.charAt(0) != d1)	{
		return false;
	}

	d1 *= 2;
	for (i = 0; i < 9; i++)	{
		d1 += c.charAt(i)*(11-i);
	}
	d1 = 11 - (d1 % 11);
	if (d1 > 9) d1 = 0;
	return (dv.charAt(1) != d1 ? false : true);
}

// Valida CNPJ 
function valida_CNPJ(s){
	var i;
	s = limpa_string(s);
	var c = s.substr(0,12);
	var dv = s.substr(12,2);
	var d1 = 0;
	for (i = 0; i < 12; i++){
		d1 += c.charAt(11-i)*(2+(i % 8));
	}
	if (d1 == 0) return false;
	d1 = 11 - (d1 % 11);
	if (d1 > 9) d1 = 0;
	if (dv.charAt(0) != d1)	{
		return false;
	}

	d1 *= 2;
	for (i = 0; i < 12; i++){
		d1 += c.charAt(11-i)*(2+((i+1) % 8));
	}
	d1 = 11 - (d1 % 11);
	if (d1 > 9) d1 = 0;
	
	return (dv.charAt(1) != d1 ? false : true);
}

// Limpa caracteres
function limpa_string(S){
	// Deixa so' os digitos no numero
	var Digitos = "0123456789";
	var temp = "";
	var digito = "";
	for (var i=0; i<S.length; i++){
		digito = S.charAt(i);
		if (Digitos.indexOf(digito)>=0){temp=temp+digito}
	}
	return temp
}

function atualizaQtd(teclapres){
	var tecla = teclapres.keyCode ? teclapres.keyCode : teclapres.which ? teclapres.which : teclapres.charCode;
	if (tecla == 13){
		 atualiza_carrinho('produtos')
	}
}

function fechaJanela(){
  top.window.close();
}

function imprimir(){
  window.parent.focus();
  window.parent.print();
}

function bloquearCaracterAlfa(evnt){
	evnt = (evnt.keyCode ? evnt.keyCode : evnt.which)  // Internet Explorer
	if (evnt != 13) {
		if ((evnt >= 40 && evnt <= 47) || (evnt >= 96 && evnt <= 122) || (evnt >= 65 && evnt <= 90)){
			return false;
		}
	}
}

function bloquearNumeros(evnt){
	evnt = (evnt.keyCode ? evnt.keyCode : evnt.which)  // Internet Explorer
	//alert(evnt)
	if (evnt != 13) {
		if ((evnt < 65 || evnt > 122) || (evnt >90 && evnt < 97)){
			return false;
		}
	}
}

function cobDiferente(valor){
	if (valor.checked == true) 
	 	$("#cobDiferente").css("display","block");
	else 
	 	$("#cobDiferente").css("display","none");
}

function pulaCep(){
	var cep = document.getElementById("cep1").value;
	if(cep.length == 5){
		document.getElementById("cep2").focus();
		return false;
	}
}


function excluirEndEntrega(desc_nome,uId) {
    if(window.confirm("Confirma a exclusao deste endereço de entregar: "+desc_nome)){
       location.href = "./e-commerce/actions/Endereco_destinatario.php?uId="+uId+"&action=3";
      } 
  } // Fim da Função 

function priLetraMaiusculo(str){
	str1 = str.substring(0,1);
	str = str.replace(str1, str1.toUpperCase());	
	return str;
}

var isNN = (navigator.appName.indexOf("Netscape")!=-1);
function autoTab(input,len, e) {
    var keyCode = (isNN) ? e.which : e.keyCode; 
    var filter = (isNN) ? [0,8,9] : [0,8,9,16,17,18,37,38,39,40,46];
    if(input.value.length >= len && !containsElement(filter,keyCode)) {
        input.value = input.value.slice(0, len);
        input.form[(getIndex(input)+1) % input.form.length].focus();
}

function containsElement(arr, ele) {
    var found = false, index = 0;
    while(!found && index < arr.length)
        if(arr[index] == ele)
            found = true;
        else
            index++;
        return found;
    }

function getIndex(input) {
    var index = -1, i = 0, found = false;
    while (i < input.form.length && index == -1)
        if (input.form[i] == input)index = i;
        else i++;
        return index;
    }
return true;
}


function validaCampos(frm){
   var i = 0;
   var obj;
   var f = frm;
   //Conta os imputs
   for (i=0; i<f.elements.length; i++) {
     //comta quais os imputs que não foram selecionados....
	 obj = f.elements[i];
     if(obj.id != 1){
	    if(f.elements[i].value == "") {
           alert('O Campo ' + obj.id + ' não foi preenchido!');
		   document.getElementById(obj.id).focus();
           return false;
 		} else {
			if (f.elements[i].name	== "email"){
				if (checkEmail(f.elements[i].value) == false){
					alert(CkLoginALERTcmpemailinc); 	
					document.getElementById(obj.id).focus();
					return false;
				}
			}
		}
	 }
  }
 return true;
}

function janelaCenter(url, nome, parms, width, height) {
 	var str = "height=" + height + ",innerHeight=" + height;
	str += ",width=" + width + ",innerWidth=" + width;
	if (parms != "") {
		str += ", " + parms;
	}
	if (window.screen) {
		var ah = screen.availHeight - 30;
		var aw = screen.availWidth - 10;

		var xc = (aw - width) / 2;
		var yc = (ah - height) / 2;

	} else {
		var xc = 0, xy = 0;
	}
	str += ",left=" + xc + ",screenX=" + xc;
	str += ",top=" + yc + ",screenY=" + yc;
	return window.open(url, nome, str);
}

function validaUf(uf){
	var arrayUF	= Array("AC","AL","AP","AM","BA","DF","CE","ES","GO","MA","MT","MS","MG","PB","PR","PA","PE","PI","RJ","RN","RS","RO","RR","SC","SP","SE","TO");
	for (var i=0; i < arrayUF.length; i++) {
		if (arrayUF[i] == uf.toUpperCase()) {
			return true;
		}
	}	
		/*if (arrayUF.search(uf) == -1 ) 
		alert('Estado inválido.');*/
}