/* ====================================================================
Para usar esse AJAX no seu formulário, basta chamar a função
" carrega_form()" dentro do evento onSubmit do Formulário,
e passar o seguintes parametros abaixo, dentro da função:


////////////////////////////////////////////////////////////////////////
_enderecoPHP = Página PHP de resposta, responsável por realizar as
ações com os dados do formulário.
 ATENÇÃO:  nesta página vc pode trabalhar com os dados que quiser,
 inclusive banco de dados, entretanto a primeira linha dessa página
 tem que ser :

 //chamando esse arquivo php, responsável por tratar os campos do form.
  require_once ("ajax/ajax_form.php");


////////////////////////////////////////////////////////////////////////
_divResposta =  nome do ID do Div que receberá as mensagens de erro ou
que o as informações do formulário, foram passados com sucesso.


////////////////////////////////////////////////////////////////////////
_respostaForm = Passe nessa variável a mensagem, qual deseja aparecer
caso ocorra tudo bem com o formulário e esteja tudo ok.


///////////////////// OBSERVAÇÃO /////////////////////////////////////
OBS: para restringir os campos que devem ser ou não verificados,
passe em cada campo a tag ALT usando como:

  Alt = ""   ==> para não verificar o conteúdo do campo
  Alt = "nome do campo em questão" ==> para verificar no AJAX,
Lembrando que, essa nome será usado para sua identificação.


Create By: Fernando A. Sabadin.
Todos os direitos legais reservados.
Obs: Funciona em qualquer browser IE, FireFox, Safari, Google Chromos.
=======================================================================*/

function blockError(){return true;}
window.onerror=blockError;


function carrega_form(_enderecoPHP, _divResposta, _respostaForm){
	  try {
         ajax = new ActiveXObject("Microsoft.XMLHTTP");
      }
      catch(e) {
         try {
            ajax = new ActiveXObject("Msxml2.XMLHTTP");
         }
	     catch(ex) {
            try {
               ajax = new XMLHttpRequest();
            }
	        catch(exc) {
               alert("Esse browser n&atilde;o tem recursos para uso do Ajax");
               ajax = null;
            }
         }
      }

	  //se tiver suporte ajax
	  if(ajax) {

		//Exibe o texto carregando no _divResposta mostrando que o ajax esta processando
		var conteudo = document.getElementById(_divResposta)

        // == CSS do box de retorno da mensagem ===
        // conteudo.style.width  = "520px";
         //conteudo.style.height = "30px";
         //conteudo.style.backgroundColor = "#FFF";
        // =======================================

		conteudo.innerHTML='<img src="images/ajax_loader.gif" align="center" />'

 	    //Abre a url
		ajax.open("POST", _enderecoPHP , true);
		ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");


		//Executada quando o navegador obtiver o código
		ajax.onreadystatechange=function() {

			if (ajax.readyState==4){

				//Lê o conteudo da página
				var texto=ajax.responseText;

				conteudo.innerHTML= '<img src="includes/ajax_form/ajax/atencao.gif" align="left" style="padding:3px"/>&nbsp;'+texto;

			}
		}
	    
	    // Pega o Formulario da pagina onde vai rodar o AJAX
        var formulario = document.getElementsByTagName("form");
        formulario = formulario[0];
        
        var params = "";
        	    
        //Realiza a leitura dos campos do formulário, verificando pela propriedade " alt "  para mandar para o ajax

        for (x=0; x < formulario.elements.length-1; x++){
         /* Caso não seja necessario verificar o campo, não necessita passar o alt nele
            OBS: em input do tipo select, para não verificar, é necessario passar o alt como "" Ex alt=""  */

          var campoForm= formulario.elements[x].alt;
          //campoForm = campoForm.toLowerCase();


          if (( campoForm == "") || (formulario.elements[x].name == "id")) { continue; }
          
          
          else {
          
            // Campo email, para verificar, passar a palavra mail no meio do nome do campo passado na sua opção ALT
            if (campoForm.indexOf("mail") >= 0) {

              params += formulario.elements[x].name + "=" + formulario.elements[x].value;
              
              if  (formulario.elements[x].value == ""){  params += "&" }
              else { params += "-email&"; }
            }
            

            // Campo data
            else if ((campoForm.indexOf("data") >= 0 ) || (campoForm.indexOf("date") >= 0) || (campoForm.indexOf("Data") >= 0)) {

              params += formulario.elements[x].name + "=" + formulario.elements[x].value;

              if  (formulario.elements[x].value == ""){  params += "&" }
              else { params += "-date&"; }
            }

            // Campo select
            else if ( formulario.elements[x].type == "select-one" ) {

              params += formulario.elements[x].name + "=" + formulario.elements[x].options[formulario.elements[x].selectedIndex].value;

              if  (formulario.elements[x].options[formulario.elements[x].selectedIndex].text == ""){  params += "&" }
              else { params += "-select&"; }

            }
            
            
           // Campo Radio
           else if ( formulario.elements[x].type == "radio") {
             if (document.getElementById(formulario.elements[x].id).checked) {
               params += formulario.elements[x].name + "=" + formulario.elements[x].value + "&";
             }
           }
           
           
            else { params += formulario.elements[x].name + "=" + formulario.elements[x].value + "&"; }
            
          } // else

        } // End For

         // Campo Textarea de Mensagem
        params += "mensagem="+document.getElementById("mensagem").value+"&";

		params += "resposta_form="+ _respostaForm;

		ajax.send(params);


	}  // End If
} // End Function
