function funcoes_BP(action, url, bloco, form){
	if(action == "open_file"){
		Num_random = Math.random() * 1753;
		Num_random = Math.floor(Num_random);
		url = url.replace(".html", ","+Num_random+".html");
		ControlRequest(bloco, url);
	}
	else if(action == "sendsData"){ formData(form, url, bloco); }
}
var CorrentRequest = new Array();
function ControlRequest(bloco,url){
	CorrentRequest.push([bloco, url]);
	if(CorrentRequest.length > 0){
		makeRequest(); 
	}
}
http_request = false;
function makeRequest(){
	if(window.XMLHttpRequest){
		http_request = new XMLHttpRequest();
		if(http_request.overrideMimeType){
			http_request.overrideMimeType("text/xml");
		}
	}
	else if(window.ActiveXObject){
		try{
			http_request = new ActiveXObject("MSxml2.XMLHTTP");
		}
		catch(e){
			try{
				http_request = new ActiveXObject("Microssoft.XMLHTTP");
			}
			catch(e){}
		}
	}
	if(!http_request){
		alert("Erro");
		return false;
	}
	
	var current = CorrentRequest.shift();
	URL = current[1].replace("+", " ");
    http_request.open("GET",URL,true);
    http_request.onreadystatechange = function() {
		var bloco = document.getElementById(current[0]);
		var loading = document.getElementById("loading");
		if(http_request.readyState < 4){
			loading.style.display = "block";
		}
        else if (http_request.readyState==4){
			if(http_request.status == 200){	
				loading.style.display = "none";
				var conteudo = http_request.responseText;
				bloco.innerHTML= conteudo;
				ExtraiScript(conteudo);
				if(CorrentRequest.length > 0){
					setTimeout("makeRequest()",20);
				}
			}
        }
    }
    http_request.send(null)
}

function formData(form, url, bloco){
	var form = document.getElementById(form);
	var IV = 0;
	var query = "";
	for(I = 0; I < form.elements.length; I++){
		if((form.elements[I].type=="radio" || form.elements[I].type=="checkbox") && (form.elements[I].checked)){
			if(form.elements[I].value != ""){	
				query += IV == 0 ? "" : "&";
				query += form.elements[I].name + "=" + form.elements[I].value;
				IV++;
			}
		}
		else{
			query += IV == 0 ? "" : "&";
			query += form.elements[I].name + "=" + form.elements[I].value;
			IV++;
		}
	}
	sendsData(query, url, bloco);
}
var http_request = false;
function sendsData(query, url, bloco){
	if(window.XMLHttpRequest){
		http_request = new XMLHttpRequest();
		if(http_request.overrideMimeType){
			http_request.overrideMimeType("text/xml");
		}
	}
	else if(window.ActiveXObject){
		try{
			http_request = new ActiveXObject("MSxml2.XMLHTTP");
		}
		catch(e){
			try{
				http_request = new ActiveXObject("Microssoft.XMLHTTP");
			}
			catch(e){}
		}
	}
	if(!http_request){
		alert("Erro");
		return false;
	}
	
	var bloco = document.getElementById(bloco);
	http_request.onreadystatechange = function(){
		var loading = document.getElementById("loading");
		if(http_request.readyState < 4){
			loading.style.display = "block";
		}
		else if(http_request.readyState == 4){
			if(http_request.status == 200){
				loading.style.display = "none";
				var conteudo = unescape(http_request.responseText.replace(/[+]/g, ""));
				bloco.innerHTML = conteudo;
				ExtraiScript(conteudo);
			}
		}
	}
	http_request.open("POST", url, true);
	http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
	http_request.send(query);
}

function ExtraiScript(conteudo){
	var ini = 0;
	while (ini!=-1){
		ini = conteudo.indexOf('<script type="text/javascript"', ini);
		if (ini >=0){
			ini = conteudo.indexOf('>', ini) + 1;
			var fim = conteudo.indexOf('</script>', ini);
			codigo = conteudo.substring(ini,fim);
			novo = document.createElement("script");
			novo.text = codigo;
			
			var OS = document.getElementById("OS");
			if(document.getElementById("BS")){ OS.removeChild(document.getElementById("BS")); }
			var BScript = document.createElement("div");
			BScript.setAttribute("id","BS");
			BScript.setAttribute("style","display: none");
			OS.appendChild(BScript);
			var BS = document.getElementById("BS");
			BS.appendChild(novo);
		}
	}
}
