// Pega os elementos de um form e monta uma querystring
function BuscaElementosForm(idForm) { 
    var elementosFormulario = document.getElementById(idForm).elements; 
    var qtdElementos = elementosFormulario.length; 
    var queryString = ""; 
    var elemento; 

    //Cria uma funcao interna para concatenar os elementos do form 
    this.ConcatenaElemento = function(nome,valor) { 
    	if (queryString.length>0) { 
			queryString += "&"; 
		} 
		queryString += encodeURIComponent(nome) + "=" + encodeURIComponent(valor); 
	 }; 

    //Loop para percorrer todos os elementos 
    for (var i=0; i<qtdElementos; i++) { 
        //Pega o elemento 
        elemento = elementosFormulario[i]; 
        if (!elemento.disabled) { 
            //Trabalha com o elemento caso ele nao esteja desabilitado 
            switch(elemento.type) { 
                //Realiza a acao dependendo do tipo de elemento 
                case 'text': case 'password': case 'hidden': case 'textarea': 
                    this.ConcatenaElemento(elemento.name,elemento.value); 
                    break; 
                case 'select-one': 
                    if (elemento.selectedIndex>=0) { 
                        this.ConcatenaElemento(elemento.name,elemento.options[elemento.selectedIndex].value); 
                    } 
                    break; 
                case 'select-multiple': 
                    for (var j=0; j<elemento.options.length; j++) { 
                        if (elemento.options[j].selected) { 
                            this.ConcatenaElemento(elemento.name,elemento.options[j].value); 
                        } 
                    } 
                    break; 
                case 'checkbox': case 'radio': 
                    if (elemento.checked) { 
                        this.ConcatenaElemento(elemento.name,elemento.value); 
                    } 
                    break; 
            } 
        } 
    } 
    return queryString; 
} 

// Cria um Objeto ajax
function Ajax(){
	try{
		xmlhttp = new XMLHttpRequest();
	}catch(ee){
		try{
			xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
		}catch(e){
			try{
				xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
			}catch(E){
				xmlhttp = false;
			}
		}
	}
	return xmlhttp
}

// carrega uma pagina em um determinado div
function Carregar(url,IdDiv){
	var Conexao = Ajax();
	Conexao.open("GET",url,true);
   	Conexao.onreadystatechange = function() {
		if (Conexao.readyState==4){
	    	var mensagem    = Conexao.responseText;
	        mensagem        = mensagem.replace(/\+/g," ");
	        mensagem        = unescape(mensagem);
	        document.getElementById(IdDiv).innerHTML=mensagem;
		}
    }
	Conexao.send(null);
}

// envia os dados de um formulario
function EnviarPost(UrlPost,IdForm){ 
  var Conexao = Ajax();
  var params = BuscaElementosForm(IdForm);
  Conexao.open("GET",UrlPost + "?" + params,true);
  Conexao.send(null); 
}
