/*<![CDATA[*/
  function countChars(oSender, oEvent) {
      var event = !oEvent ? window.event : oEvent
      iMaxChars = oSender.getAttribute('maxchars')
      sTexto = oSender.value
      if(sTexto.length >= iMaxChars) {
          oSender.value = sTexto.substr(0, iMaxChars)
          oCharsUsed.innerHTML = oSender.value.length
          alert('O número máximo de caracteres foi alcançado')
      } else {
          oCharsUsed = document.getElementById('chars_used')
          oCharsUsed.innerHTML = sTexto.length
      }
  }

  function sendMensagem() {
      var oForm = document.forms['frmMensagem']
      if(!_validateForm(oForm)) { return false }
      var handler = new XMLHandler();
      with(oForm) {
          var objBtOk = document.getElementById('bt_ok')
          objBtOk.style.display = 'none'
          var xmlreq = new XMLClient(urlEstatica + '/webs/modulos/fale_conosco/sendPergunta')
          // criacao das variaveis de envio
          xmlreq.addParam('nome', nome.value)
          xmlreq.addParam('email', email.value)
          xmlreq.addParam('id_grupo', id_grupo[id_grupo.selectedIndex].value)
          xmlreq.addParam('mensagem', texto.value)
          xmlreq.addParam('imagem', imagem.value)
          handler.onError = function (e) {
              alert('Ocorreu um erro inesperado, tente novamente.')
          }
          handler.onProgress = function () {};
          handler.onInit = function () {
              disableForm('frmMensagem', 'disabled')
          }
          handler.onLoad = function (xmlStr) {
              var parser = new XMLParser();
              var xmlobj = parser.parseString(xmlStr);
              var rootnd = xmlobj.documentElement;
              for (var i = 0; i < rootnd.childNodes.length; i++) {
                  // Sucesso
                  if (rootnd.childNodes[i].tagName == 'ok') {
                      // mostra a mensagem de sucesso
                      alert(unescape(rootnd.childNodes[i].firstChild.nodeValue))
                      window.location.href = urlCapa
                      break;
                  }
                  // Erro
                  if (rootnd.childNodes[i].tagName == 'erros') {
                      erros = rootnd.getElementsByTagName('erro')
                      alert(unescape(erros[i].firstChild.nodeValue))
                  }
              }
              // habilitando form
              objBtOk.style.display = 'block'
              disableForm('frmMensagem', '')
         }
         xmlreq.query(handler)
     }
     return false
  }

  function _validateForm(oForm) {
      var elements = oForm.elements
      for(var i = 0; i < elements.length; i++) {
          _elem = elements[i]
          var sRequire = _elem.getAttribute('require')
          if(sRequire) {
              sValor = (_elem.tagName.toLowerCase() == 'select') ? _elem[_elem.selectedIndex].value : _elem.value;
              try {
                  var sFunc = eval(_elem.getAttribute('function'));
              }
              catch (err) {
              }
              var sFunc = (typeof(sFunc) == 'function') ? sFunc : function () { return true }
              if (sRequire && (isEmpty(sValor) || !sFunc(sValor))) {
                  alert(sRequire)
                  return false
              }
          }
      }
      return true
  }

  function isEmpty(s) {
      var re = /\s/g;
      var s  = s.replace( re , "" );
 
      RegExp.multiline = true;

      // validaÃ§Ã£o tambem para os campos que contem o atributo 'float'
      return ( s.length == 0 || s == '0,0' ) ? true : false;
  }

  function isEmail(email) {
      validEmail = /^([\w\.\-])+@+([\w\.\-])+([\.])+([\w\.\-])+$/i;
      return validEmail.test(email);
  }



 function disableForm(sName, sDisabled) {
     var oForm = document.forms[sName]
     for(var i=0; i<oForm.elements.length; i++) {
         oForm.elements[i].disabled = sDisabled
     }
 }

/*]]>*/

