var navegador = navigator.userAgent.toLowerCase(); //Cria e atribui à variável global 'navegador' (em caracteres minúsculos) o nome e a versão do navegador

//Cria uma variável global chamada 'xmlhttp'
var xmlhttp;



//Função que inicia o objeto XMLHttpRequest

function objetoXML() {

    if (navegador.indexOf('msie') != -1) { //Internet Explorer

        var controle = (navegador.indexOf('msie 5') != -1) ? 'Microsoft.XMLHTTP' : 'Msxml2.XMLHTTP'; //Operador ternário que adiciona o objeto padrão do seu navegador (caso for o IE) à variável 'controle'

        try {

            xmlhttp = new ActiveXObject(controle); //Inicia o objeto no IE

        } catch (e) { }

    } else { //Firefox, Safari, Mozilla

        xmlhttp = new XMLHttpRequest(); //Inicia o objeto no Firefox, Safari, Mozilla

    }

}

//Função que envia o formulário

function enviarForm(url, campos, destino, metodo) {

    //Atribui à variável 'elemento' o elemento que irá receber a página postada
    var elemento = document.getElementById(destino);
	
	
    //Executa a função objetoXML()
    objetoXML();

    //Se o objeto de 'xmlhttp' não estiver true
    if (!xmlhttp) {

        //'Impossível iniciar o objeto XMLHttpRequest.';
		switch(metodo){			
			case 'value':
				elemento.value = 'Erro:001 - Tente mais tarde'; break;
			case 'innerHTML':
				elemento.innerHTML = 'Erro:001 - Tente mais tarde'; break;			
			default:
				alert('Erro:001 - Tente mais tarde'); break;
		}
				

    } else {


		try
		  {
		  	elemento.value = 'Enviando dados...'; 
		  }
		catch(err)
		  {
		 	elemento.innerHTML = 'Enviando dados...'; 
		  }



    }

    xmlhttp.onreadystatechange = function () {

        //Se a requisição estiver completada
        if (xmlhttp.readyState == 4 || xmlhttp.readyState == 0) {

            //Se o status da requisição estiver OK
            if (xmlhttp.status == 200) {

				switch(metodo){			
					case 'value':
						elemento.value = xmlhttp.responseText; break;
					case 'innerHTML':
						elemento.innerHTML = xmlhttp.responseText; break;			
					default:						
						try
						  {
							elemento.value = ''; 
						  }
							catch(err)
						  {
							elemento.innerHTML = ''; 
						  }
						  alert(xmlhttp.responseText); break;
				}


            } else {

                switch(metodo){			
					case 'value':
						elemento.value = 'P&aacute;gina n&atilde;o encontrada'; break;
					case 'innerHTML':
						elemento.innerHTML = 'P&aacute;gina n&atilde;o encontrada'; break;			
					default:
						try
						  {
							elemento.value = ''; 
						  }
							catch(err)
						  {
							elemento.innerHTML = ''; 
						  }				
						alert('Página não encontrada'); break;
				}

            }

        }

    }

    //Abre a página que receberá os campos do formulário
    xmlhttp.open('POST', url+'?'+campos, true);

    //Envia o formulário com dados da variável 'campos' (passado por parâmetro)
    xmlhttp.send(campos);

}



function executarScript(url,campos) {

  
    //Executa a função objetoXML()
    objetoXML();

    //Se o objeto de 'xmlhttp' não estiver true
    if (!xmlhttp) {

        //'Impossível iniciar o objeto XMLHttpRequest.';
		
				

    } else {


		//enviando dados


    }

    xmlhttp.onreadystatechange = function () {

        //Se a requisição estiver completada
        if (xmlhttp.readyState == 4 || xmlhttp.readyState == 0) {

            //Se o status da requisição estiver OK
            if (xmlhttp.status == 200) {

				//ok


            } else {

                //pag nao encontrada

            }

        }

    }

    //Abre a página que receberá os campos do formulário
    xmlhttp.open('POST', url+'?'+campos, true);

    //Envia o formulário com dados da variável 'campos' (passado por parâmetro)
    xmlhttp.send(campos);

}


