//-> Função para validação genérica de campos do form
//Obs: Para campos não obrigatórios basta não colocar o atributo errorMsg
function validate() {
  var str = "";
  var elements = document.getElementsByTagName('*'); // "pega" todos os elementos da página
  err_focus=0; // zera variavel que verifica o primeiro erro que ocorre
  
 for(i=0; i<elements.length; i++) {
 // Valida os elementos input, select e textarea
   if(elements.item(i).tagName.toLowerCase()=='input' || elements.item(i).tagName.toLowerCase()=='select' || elements.item(i).tagName.toLowerCase()=='textarea'){
        if(elements.item(i).getAttribute('errorMsg')){     
            if(elements.item(i).value.length == 0 || elements.item(i).value == "" || elements.item(i).selectedIndex == 0) { 
                str += elements.item(i).getAttribute('errorMsg')+ "\n";
                elements.item(i).style.background = "#FF9999";
                err_focus++;
                if (err_focus==1){field_focus = i;} // serve para colocar o foco no primeiro erro que ocorrer
           }else{
               if(elements.item(i).type.toLowerCase()=='text' || elements.item(i).type.toLowerCase()=='select-one' || elements.item(i).type.toLowerCase()=='textarea'){     //->Este if serve para não deixar o submit branco
                    elements.item(i).style.background = "white";
                }     
          }
      }
   } 
 }

  if (str != "") {
     // Não submete o form
     alert("Ocorreram os seguintes erros:\n\n" +str); 
     elements.item(field_focus).focus();
     return false;
  }
  
}

//-> Desabilita o Botão de Envio para evitar duplicidade
function disableSubmit(theform){
 if (document.all || document.getElementById) {
   for (i = 0; i < theform.length; i++) {
       var tempobj = theform.elements[i];
       if (tempobj.type.toLowerCase() == "submit" || tempobj.type.toLowerCase() == "reset"){
          tempobj.style.cssText = 'font-size:10px; color:#666666;';
          tempobj.value='Aguarde...';
          tempobj.disabled = true;
       }    
   }
 }
}