// form_val.js
// Validaçao de formulários
// Programação: Y2Studio Comunicação Interativa
//              www.y2studio.com.br
//              equipe@y2studio.com.br

var campos = new Array;

function cpObj (nome, label, tipo) {
  this.nome  = nome;
  this.label = label;
  this.tipo  = tipo;
}


// verifica se o campo contém algum caractere alem de espaços
function ehBranco (texto) {

  for (var i=0; i<texto.length; i++)
    if (texto.charAt(i) != ' ' && texto.charAt(i) != '\r' && texto.charAt(i) != '\n') return false;
 
  return true;

}

// verificação do preenchimento do formulário
function verificaCampos(form) {

  for (var i=0; i<campos.length; i++) {
    var cp = eval("form['" + campos[i].nome + "']");
    
    // campos em formato texto
    if (campos[i].tipo == "text" || campos[i].tipo == "textarea") {
      if (ehBranco(cp.value)) {
         alert ('O campo "' + campos[i].label + '" é de preenchimento obrigatório.');
         cp.focus();
         return false;
      }
    }

    // campos em formato radio
    else if (campos[i].tipo == "radio") {
      var checked = false;
      for (var j=0; j<cp.length; j++) {
        if (cp[j].checked) {
          checked = true;
          break;
        }
      }
      if (!checked) {
        alert ('Escolha uma opção de "' + campos[i].label + '".');
        cp[0].focus();
        return false;
      }

    }
 
    // campos em formato select
    else if (campos[i].tipo == "select") {
      if (cp.selectedIndex == -1 || cp.options[cp.selectedIndex].value == "") {
        alert ('Escolha uma opção de "' + campos[i].label + '".');
        cp.focus();
        return false;
      }
    } 
  
  } // FOR

  return true;

}
