/* 
AJAX Pedreiro 1.0 desenvolvido por Ricardo Ziglio ricardoziglio@gmail.com
Esse Codigo é parte integrante do Pedreiro Construtor Php + Ajax para Banco de Dados

Esse Ajax foi baseado no tutorial: http://developer.mozilla.org/en/docs/AJAX:Getting_Started

exemplo de uso:
enviar('salvar.php?id=' + id_usuario + "&campo="+ nome_campo + "&valor=" + campo.value, "POST","carga");
1° url destino,
2° Metedo POST ou GET,
3° ID do local de exibição

AJAX Bricklayer 1.0 developed by Ricardo Ziglio ricardoziglio@gmail.com 
This source is integrant part of the Bricklayer Constructor Php + Ajax for Data base 

This Ajax was based on the tutorial:  http://developer.mozilla.org/en/docs/AJAX:Getting_Started 

use example:
enviar('salvar.php?id = ' + id_usuario + "&campo="+ nome_campo +" &valor = "+ campo.value," POST", "carga");
1° URL destination, 
2° Metedo POST or GET,
3° ID of the exhibition place 
*/

 var http_request = false;
 var campo = null;
//funcao de envio de requisicao
 function enviar(url,metodo,saida) 
 {
        http_request = false;
        campo = saida
        if (window.XMLHttpRequest) 
           { // Mozilla, Safari,...
            	http_request = new XMLHttpRequest();
	            if (http_request.overrideMimeType) 
	            {
	                http_request.overrideMimeType('text/xml');
	                // See note below about this line
	            }
            }
            else if (window.ActiveXObject) 
            { // IE
	            try {
		                http_request = new ActiveXObject("Msxml2.XMLHTTP");
		            } 
		            catch (e) 
		            {
		              try {
		                    http_request = new ActiveXObject("Microsoft.XMLHTTP");
		                  }
		            catch (e) {}
	                }
            }

        if (!http_request) {
            alert('Broswer sem suporte a AJAX');
            return false;
        }

       if(metodo == "GET")
        {
	        http_request.onreadystatechange = alertContents;
	        http_request.open('GET', url, true);
	        http_request.send(null);
        } 
        else
        { 
            http_request.onreadystatechange = alertContents;
            http_request.open("POST", url, true);
            http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=iso-8859-1");
            http_request.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");
            http_request.setRequestHeader("Cache-Control", "post-check=0, pre-check=0");
            http_request.setRequestHeader("Pragma", "no-cache");
            http_request.send(url);
        }    

 }

    function alertContents()
 {
        if (http_request.readyState < 4)
        {
        	document.getElementById(campo).innerHTML = "";
        }
        else
        {
	        if (http_request.readyState == 4) 
	        {
	           if (http_request.status == 200) 
	           {
                   //document.getElementById(campo).innerHTML = unescape(http_request.responseText.replace(/\+/g," "));
          	     document.getElementById(campo).innerHTML = http_request.responseText;
                   }
	           else
	           {
	              alert('Problema com a requisição, tente novamente.');
	           }
	        }
        }
 }


//funcao para usar checkbox com ajax
//max = total de check box  
function pega_check(max)
{
  var valor=""; 
   for (i=1; i<=max; i++) 
     {
 
                cb = eval("document.formulario.REG_"+i);
                if (!cb)
                   break;
                  if (cb.checked==true)
                   {              
                	valor = valor+","+cb.value
                   }
                   else
                   {
                    
                   }
     }
   valor = valor.substr(1,valor.length); 
   return valor; 
}
//fim funcao pra usar checkbox com ajax

//Pra sumir com o q for selecionado pra simular delete
//id do q quer sumir deve ser igual valor do checkbox
function esconde_check(max)
{
    for (i=1; i<=max; i++) 
     {
 
                cb = eval("document.formulario.REG_"+i);
                if (!cb)
                   break;
                  if (cb.checked==true)
                   {              
			document.getElementById(cb.value).style.position="absolute";                      
			document.getElementById(cb.value).style.visibility="hidden";
cb.checked=false;
                   }
                   else
                   {
                    
                   }
     }
}

//funcao pra checar/deschecar checkbox
function seleciona(max)
{
    for (i=1; i<=max; i++) 
     {

                cb = eval("document.formulario.REG_"+i);
                if (!cb)
                   break;
                  if (document.getElementById("tudo").checked==true)
                   {              
                	cb.checked=true;
                   }
                   else
                   {
                    cb.checked=false;
                   }
     }
     if (document.formulario.tudo.checked==true)
     {              
      	document.getElementById("aviso").innerHTML=" Desmarcar "
     }
     else
     {
       document.getElementById("aviso").innerHTML=" Marcar "
     }
}

function esconde(elemento)
{
       
   document.getElementById(elemento).style.position="absolute";                      
   document.getElementById(elemento).style.visibility="hidden";
}
