function ajaxInit(){
	try {
		xmlhttp = new XMLHttpRequest();
	} catch(ee) {
		try {
			xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
		} catch(e) {
			try {
				xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
			} catch(E) {
				alert('Este navegador não dá suporte a Ajax.');
				xmlhttp = false;
			}
		}
	}
	return xmlhttp;
}
function post(form, url, divnome){
	//alert('teste');
	
	xmlhttp = false;
	var formdados = get(form);
	//alert(formdados);
	//exibe o texto cadastrando os dados
	var conteudo=document.getElementById(divnome);
	conteudo.innerHTML='Executando...<br><br>';
	
	//abre a url
	xmlhttp = ajaxInit();
	if(xmlhttp){
		xmlhttp.open("POST", url, true);
		xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=iso-8859-1');
		xmlhttp.setRequestHeader("Content-length", formdados.length);
		xmlhttp.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");
		xmlhttp.setRequestHeader("Cache-Control", "post-check=0, pre-check=0");
		xmlhttp.setRequestHeader("Pragma", "no-cache");
		xmlhttp.send(formdados);
		xmlhttp.onreadystatechange=function(){
			if (xmlhttp.readyState==4){
            	if(xmlhttp.status==200){
					var texto=xmlhttp.responseText;
					texto=texto.replace(/\+/g," ");
		            texto=unescape(texto);
		            conteudo.innerHTML=texto;
					ExtraiScript(texto);
				}else{
					alert(xmlhttp.statusText);
				}
			}
		}
	}
}
function get(form) {
  var getstr = "";
  for (i=0; i<form.elements.length; i++) {
	 if (form.elements[i].tagName == "INPUT") {
		if (form.elements[i].type == "text" || form.elements[i].type == "password" || form.elements[i].type == "hidden") {
			getstr += form.elements[i].name + "=" + form.elements[i].value + "&";
		}
		if (form.elements[i].type == "checkbox") {
		   if (form.elements[i].checked) {
			  getstr += form.elements[i].name + "=" + form.elements[i].value + "&";
		   } else {
			  getstr += form.elements[i].name + "=&";
		   }
		}
		if (form.elements[i].type == "radio") {
		   if (form.elements[i].checked) {
			  getstr += form.elements[i].name + "=" + form.elements[i].value + "&";
		   }
		}
	 }   
	 if (form.elements[i].tagName == "SELECT") {
		var sel = form.elements[i];
		getstr += sel.name + "=" + sel.options[sel.selectedIndex].value + "&";
	 }
	 if (form.elements[i].tagName == "TEXTAREA") {
		getstr += form.elements[i].name + "=" + form.elements[i].value + "&";
	 }
  }
  return getstr;
}
//função que extrai o script
function ExtraiScript(texto){
    var ini, pos_src, fim, codigo;
    var objScript = null;
    ini = texto.indexOf('<script', 0)
    while (ini!=-1){
        var objScript = document.createElement("script");
        //Busca se tem algum src a partir do inicio do script
        pos_src = texto.indexOf(' src', ini)
        ini = texto.indexOf('>', ini) + 1;

        //Verifica se este e um bloco de script ou include para um arquivo de scripts
        if (pos_src < ini && pos_src >=0){//Se encontrou um "src" dentro da tag script, esta e um include de um arquivo script
            //Marca como sendo o inicio do nome do arquivo para depois do src
            ini = pos_src + 4;
            //Procura pelo ponto do nome da extencao do arquivo e marca para depois dele
            fim = texto.indexOf('.', ini)+4;
            //Pega o nome do arquivo
            codigo = texto.substring(ini,fim);
            //Elimina do nome do arquivo os caracteres que possam ter sido pegos por engano
            codigo = codigo.replace("=","").replace(" ","").replace("\"","").replace("\"","").replace("\'","").replace("\'","").replace(">","");
            // Adiciona o arquivo de script ao objeto que sera adicionado ao documento
            objScript.src = codigo;
        }else{//Se nao encontrou um "src" dentro da tag script, esta e um bloco de codigo script
            // Procura o final do script
            fim = texto.indexOf('</script>', ini);
            // Extrai apenas o script
            codigo = texto.substring(ini,fim);
            // Adiciona o bloco de script ao objeto que sera adicionado ao documento
            objScript.text = codigo;
        }

        //Adiciona o script ao documento
        document.body.appendChild(objScript);
        // Procura a proxima tag de <script
        ini = texto.indexOf('<script', fim);

        //Limpa o objeto de script
        objScript = null;
    }
}