function createXHR(){

    var request = false;

        try {
            request = new ActiveXObject('Msxml2.XMLHTTP');
        }

        catch (err2) {
            try {
                request = new ActiveXObject('Microsoft.XMLHTTP');
            }
            catch (err3) {
                try {
                        request = new XMLHttpRequest();
                }
                catch (err1)
                {
                        request = false;
                }
            }
        }

    return request;

}

function xml_carrega (url){

   if (window.XMLHttpRequest){

      var loader = new XMLHttpRequest();
      loader.open ("GET", url ,false);
      loader.send (null);
      return loader.responseXML;

   }else if (window.ActiveXObject){

      var loader = new ActiveXObject("Msxml2.DOMDocument.3.0");
      loader.async = false;
      loader.load (url);
      return loader;

   }

}

function pop_up (name, url, width, height, scrollbars){

   var windowLeft = (screen.width - width) / 2;
   var windowTop = (screen.height - height) / 2;
   var windowProp = 'height=' +height+ ',width=' +width+ ',top=' +windowTop+ ',left=' +windowLeft+ ',scrollbars=' +scrollbars+ ',resizable=0,menubar=0,toolbar=0,location=0,statusbar=0,fullscreen=0';
   var obj_window = window.open (url, name, windowProp);

   if (parseInt(navigator.appVersion) >= 4) {
   obj_window.window.focus();
   }

}

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;
   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) == " "))

      if (bolMask) {

         sCod += sMask.charAt(i);
         mskLen++;

      } 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));
      }else { // qualquer caracter...
      return true;
      }

   }else{
   return true;
   }

}

function ValidateKeyStroke (Input, control, upper){

   var newInput = '';

   for (i=0; i < Input.value.length;i++){

      chck=Input.value.charAt(i);

      if (control.indexOf(chck,0) != -1){
      newInput+=chck;
      }

   }

   if (upper == 'sim'){
   Input.value = newInput.toUpperCase() ;
   }else{
   Input.value = newInput;
   }

}

function validaEmail (x) {

   var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;

   if (filter.test(x)){
   return true;
   } else {
   return false;
   }

} // Fim function

function validaCNPJ (CNPJ){

   erro = 0;

   if (CNPJ.length < 18) {
   erro ++;
   }

   if ((CNPJ.charAt(2) != ".") || (CNPJ.charAt(6) != ".") || (CNPJ.charAt(10) != "/") || (CNPJ.charAt(15) != "-")){
   erro ++;
   }

   if (document.layers && parseInt(navigator.appVersion) == 4){

      x = CNPJ.substring(0,2);
      x += CNPJ.substring(3,6);
      x += CNPJ.substring(7,10);
      x += CNPJ.substring(11,15);
      x += CNPJ.substring(16,18);
      CNPJ = x;

   }else{

      CNPJ = CNPJ.replace(".","");
      CNPJ = CNPJ.replace(".","");
      CNPJ = CNPJ.replace("-","");
      CNPJ = CNPJ.replace("/","");

   }

   var nonNumbers = /\D/;

   if (nonNumbers.test(CNPJ)){
   erro ++;
   }

   var a = [];
   var b = new Number;
   var c = [6,5,4,3,2,9,8,7,6,5,4,3,2];

   for (i=0; i<12; i++){

      a[i] = CNPJ.charAt(i);
      b += a[i] * c[i+1];

   }

   if ((x = b % 11) < 2) {
   a[12] = 0;
   }else{
   a[12] = 11-x;
   }

   b = 0;

   for (y=0; y<13; y++) {
   b += (a[y] * c[y]);
   }

   if ((x = b % 11) < 2) {
   a[13] = 0;
   }else{
   a[13] = 11-x;
   }

   if ((CNPJ.charAt(12) != a[12]) || (CNPJ.charAt(13) != a[13])){
   erro ++;
   }

   if (erro){
   return false;
   }else{
   return true;
   }

}

function cadastroMensagemMov (){

   mensagem_div = document.getElementById('cad_mensagem');
   movimentoDiv = new Tween (mensagem_div.style, 'left', Tween.regularEaseOut, 260, 0, 0.5, 'px');;
   movimentoDiv.start();

}

function cadastroMensagemTexto (tipo, titulo, mensagem){

   mensagem_div = document.getElementById('cad_mensagem');

   if (tipo == 'erro'){
   mensagem_div.innerHTML = '<img src="/img/cadastro_erro.gif" /><ul><li class="err_tit erro">' +titulo+ '</li><li>' +mensagem+ '</li></ul>';
   }else{
   mensagem_div.innerHTML = '<img src="/img/cadastro_load.gif" /><ul><li class="err_tit">' +titulo+ '</li><li>' +mensagem+ '</li></ul>';
   }

}

function cadastroRealiza (){

   var mensagem_div = document.getElementById('cad_mensagem');
   var cadform = document.cadastro_form;
   var erro = '';

   // Senha
   if (!cadform.senha.value || !cadform.senha_repete.value){
   erro = cad_mens[117];
   }else{

      if (cadform.senha.value != cadform.senha_repete.value){
      erro = cad_mens[118];
      }else{

         if (cadform.senha.value.length < 5){
         erro = cad_mens[119];
         }

      }

   }

   // Usuário
   if (cadform.usuario.value.length < 5){
   erro = cad_mens[116];
   }

   // Telefone
   if (cadform.telefone.value.length < 5){
   erro = cad_mens[9];
   }

   // E-Mail
   if (!cadform.email.value){
   erro = cad_mens[8];
   }else{

      if (!validaEmail(cadform.email.value)){
      erro = cad_mens[115];
      }

   }

   // Nome do Contato
   if (cadform.contato_nome.value.length < 3){
   erro = cad_mens[7];
   }

   // Estado
   if (cadform.pais.value == 80){

      if (!cadform.estado.value){
      erro = cad_mens[6];
      }

   }else{

      if (cadform.estado.value < 3){
      erro = cad_mens[6];
      }

   }

   // Cidade
   if (cadform.cidade.value.length < 3){
   erro = cad_mens[5];
   }

   // CEP
   //if (cadform.pais.value == 80 && cadform.cep.value.length < 9){
   //erro = cad_mens[4];
   //}else if (cadform.pais.value != 80 && cadform.cep.value.length < 3){
   //erro = cad_mens[4];
   //}

   // Endereço
   //if (cadform.endereco.value.length < 10){
   //erro = cad_mens[3];
   //}

   // Nome da empresa
   if (cadform.nome.value.length < 3){
   erro = cad_mens[2];
   }

   // CNPJ
   if (cadform.pais.value == 80){

      if (!cadform.cnpj.value){
      erro = cad_mens[1];
      }

   }

   // País
   if (cadform.pais.value == 'outro'){

      if (cadform.pais_outro.value.length < 3){
      erro = cad_mens[0];
      }

   }

   if (erro){

      cadastroMensagemTexto ('erro', cad_mens[106], erro);
      cadastroMensagemMov ();

   }else{

      cadastroMensagemTexto ('aguarde', cad_mens[107], cad_mens[108]);
      cadastroMensagemMov ();

      var post_values = 'acao=insere';

      for (x = 0; x < cadform.elements.length; x++){

          var nome = cadform.elements[x].name;
          var valor = cadform.elements[x].value;

          if (nome != 'newsletter'){
          post_values += '&' +nome+ '=' +valor;
          }else{

             if (cadform.newsletter[0].checked == true){
             post_values += '&newsletter=sim';
             }else{
             post_values += '&newsletter=nao';
             }

          }

      }

      var requestCad = createXHR();

      requestCad.onreadystatechange  = function(){

         if (requestCad.readyState  == 4){

            if (requestCad.status  == 200){

               // requestFale.responseText
               cadastroRetorno (requestCad.responseXML);
               // cadastroRetorno (requestCad.responseText);

            }else{

               // Erro
               cadastroMensagemTexto ('erro', cad_mens[121], cad_mens[124]);
               cadastroMensagemMov ();

            }

         }

      }

      requestCad.open ('POST', '/cadastro.php',  true);
      requestCad.setRequestHeader ('Content-Type', 'application/x-www-form-urlencoded');
      requestCad.send (post_values);

   }

}

function cadastroRetorno (xml_root){

   var node = xml_root.getElementsByTagName('retorno');
   var status = node[0].getAttribute('status');
   var newsletter = node[0].getAttribute('newsletter');
   var email = node[0].getAttribute('email');

   if (status == 'ok'){
   window.location = '/cadastro.php?status=ok&newsletter=' +newsletter+ '&email=' +email;
   }else{

      if (status == 'cnpj'){

         cadastroMensagemTexto ('erro', cad_mens[121], cad_mens[120]);
         cadastroMensagemMov ();

      }else if (status == 'email'){

         cadastroMensagemTexto ('erro', cad_mens[121], cad_mens[122]);
         cadastroMensagemMov ();

      }else if (status == 'usuario'){

         cadastroMensagemTexto ('erro', cad_mens[121], cad_mens[123]);
         cadastroMensagemMov ();

      }else if (status == 'geral'){

         cadastroMensagemTexto ('erro', cad_mens[121], cad_mens[124]);
         cadastroMensagemMov ();

      }

   }

}

function contatoRealiza (){

   var mensagem_div = document.getElementById('cad_mensagem');
   var cadcont = document.contatos_form;
   var erro = '';

   // Mensagem
   if (cadcont.mensagem.value.length < 10){
   erro = cad_mens[152];
   }

   // Telefone
   if (cadcont.telefone.value.length < 5){
   erro = cad_mens[9];
   }

   // E-Mail
   if (!cadcont.email.value){
   erro = cad_mens[1];
   }else{

      if (!validaEmail(cadcont.email.value)){
      erro = cad_mens[115];
      }

   }

   // Nome
   if (cadcont.nome.value.length < 3){
   erro = cad_mens[0];
   }

   if (erro){

      cadastroMensagemTexto ('erro', cad_mens[106], erro);
      cadastroMensagemMov ();

   }else{

      cadastroMensagemTexto ('aguarde', cad_mens[107], cad_mens[108]);
      cadastroMensagemMov ();

      var post_values = 'acao=insere';

      for (x = 0; x < cadcont.elements.length; x++){
      post_values += '&' +cadcont.elements[x].name+ '=' +cadcont.elements[x].value;
      }

      var requestCont = createXHR();

      requestCont.onreadystatechange  = function(){

         if (requestCont.readyState  == 4){

            if (requestCont.status  == 200){

               // requestFale.responseText
               contatoRetorno (requestCont.responseXML);
               // cadastroRetorno (requestCad.responseText);

            }else{

               // Erro
               cadastroMensagemTexto ('erro', cad_mens[121], cad_mens[124]);
               cadastroMensagemMov ();

            }

         }

      }

      requestCont.open ('POST', '/contatos.php',  true);
      requestCont.setRequestHeader ('Content-Type', 'application/x-www-form-urlencoded');
      requestCont.send (post_values);

   }

}

function contatoRetorno (xml_root){

   var node = xml_root.getElementsByTagName('retorno');
   var status = node[0].getAttribute('status');
   var email = node[0].getAttribute('email');

   if (status == 'ok'){
   window.location = '/contatos.php?status=ok&email=' +email;
   }else{

      cadastroMensagemTexto ('erro', cad_mens[153], cad_mens[124]);
      cadastroMensagemMov ();

   }

}

function newsletterRealiza (){

   var newsform = document.newsletter;
   var erro = '';

   // E-Mail
   if (!newsform.email.value){
   erro = 'Informe o e-mail';
   }else{

      if (!validaEmail(newsform.email.value)){
      erro = 'E-mail inválido';
      }

   }

   // Nome
   if (newsform.nome.value.length < 3){
   erro = 'Informe o nome';
   }

   if (erro){

      alert (erro);
      return false;

   }else{
   return true;
   }

}

function usrPedToggle (ID, muda){

   var check_ped = document.form_ped['pedido_item[]'][ID];
   var li_ped = document.getElementById('pedli_' +ID);

   if (check_ped.checked == true){

      if (muda == 's'){
      check_ped.checked = false;
      li_ped.style.background = '#FAFAFA';
      }else{
      li_ped.style.background = '#F0F0F0';
      }

   }else{

      if (muda == 's'){
      check_ped.checked = true;
      li_ped.style.background = '#F0F0F0';
      }else{
      li_ped.style.background = '#FAFAFA';
      }

   }

}

function usrPedRealiza (){

   var mensagem_div = document.getElementById('cad_mensagem');
   var cadcont = document.form_ped;
   var erro = 0;
   var checkboxes = '';

   for (x = 0; x < cadcont['pedido_item[]'].length; x++){

      if (cadcont['pedido_item[]'][x].checked == true){
      erro ++;
      checkboxes += '&pedido_item[]=' +cadcont['pedido_item[]'][x].value;
      }

   }

   if (!erro){

      cadastroMensagemTexto ('erro', cad_mens[214], cad_mens[215]);
      cadastroMensagemMov ();

   }else{

      cadastroMensagemTexto ('aguarde', cad_mens[216], cad_mens[217]);
      cadastroMensagemMov ();

      var post_values = 'acao=insere' +checkboxes+ '&pedido_info=' +cadcont.pedido_info.value;

      var requestPed = createXHR();

      requestPed.onreadystatechange  = function(){

         if (requestPed.readyState  == 4){

            if (requestPed.status  == 200){

               // requestFale.responseText
               pedRetorno (requestPed.responseXML);
               // cadastroRetorno (requestCad.responseText);

            }else{

               // Erro
               cadastroMensagemTexto ('erro', cad_mens[121], cad_mens[124]);
               cadastroMensagemMov ();

            }

         }

      }

      requestPed.open ('POST', '/usuario.php?modo=pedidos',  true);
      requestPed.setRequestHeader ('Content-Type', 'application/x-www-form-urlencoded');
      requestPed.send (post_values);

   }

}

function pedRetorno (xml_root){

   var node = xml_root.getElementsByTagName('retorno');
   var status = node[0].getAttribute('status');
   var pedido = node[0].getAttribute('pedido');

   if (status == 'ok'){
   window.location = '/usuario.php?modo=pedidos&status=ok&pedido=' +pedido;
   }else{

      cadastroMensagemTexto ('erro', cad_mens[153], cad_mens[124]);
      cadastroMensagemMov ();

   }

}