/*<![CDATA[*/
  function cadUsuario() {
      var oForm = document.forms['frmCadastro']
      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/usuarios/addUser')

          // criacao das variaveis de envio
          xmlreq.addParam('id_estado', id_estado[id_estado.selectedIndex].value)
          xmlreq.addParam('cidade', cidade.value)
          xmlreq.addParam('email', email.value)
          xmlreq.addParam('idade', idade.value) 
          xmlreq.addParam('nome', nome.value)
          xmlreq.addParam('identidade', identidade.value)
          xmlreq.addParam('telefone', telefone.value)
          xmlreq.addParam('profissao', profissao.value)
          xmlreq.addParam('login', login.value) 
          xmlreq.addParam('senha', senha.value) 
          xmlreq.addParam('conf_img', conf_img.value)
          for(var i = 0; i < sexo.length; i++) { if(sexo[i].checked) break }
          xmlreq.addParam('sexo', sexo[i].value)
          for(var i = 0; i < news.length; i++) { if(news[i].checked) break }
          xmlreq.addParam('newsletter', news[i].value)

          handler.onError = function (e) {
              alert('Ocorreu um erro inesperado, tente novamente.')
          }
          handler.onProgress = function () {};
          handler.onInit = function () {
              disableForm('frmCadastro', '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('frmCadastro', '')
         }
         xmlreq.query(handler)       
     }  
  }

  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 disableForm(sName, sDisabled) {
     oForm = document.forms[sName]
     for(var i=0; i<oForm.elements.length; i++) {
         oForm.elements[i].disabled = sDisabled
     }
 }
/*]]>*/
