var req,xdiv,xdivcarr,valorx;
var ajaxReturn = '';

function loadXMLDoc(url,valor)
{
	req = null;
	valorx = valor;
	if (window.XMLHttpRequest) {
		req = new XMLHttpRequest();
		req.onreadystatechange = processReqChange;
		req.open("GET", url+valor, true);
		req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;");
		req.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");
		req.setRequestHeader("Pragma", "no-cache");
		req.send(null);
	} else if (window.ActiveXObject) {
		req = new ActiveXObject("Microsoft.XMLHTTP");
		if (req) {
			req.onreadystatechange = processReqChange;
			req.open("GET", url+valor, true);
			req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;");
			req.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");
			req.setRequestHeader("Pragma", "no-cache");
			req.send();
		}
	}
}

function processReqChange()
{
	if (req.readyState == 4) {
		if (req.status == 200) {
			document.getElementById(""+xdiv+"").innerHTML = req.responseText;
			extraiScript(req.responseText);
		} else {
			alert("Houve um problema ao obter os dados:\n" + req.statusText);
		}
	}
}

function Atualiza(meudiv,url,valor)
{ 		
		xdiv = meudiv;
		valorx = valor;
		carregando(xdiv,'1');
		loadXMLDoc(""+url+"",valor);
} 
function Atualiza_form(meudiv, url, frmNome){
    f = document.getElementById(frmNome);
    var query="";
	j=0;
    for (i=0;i<f.elements.length;i++)
	{
		if (f.elements[i].type == "checkbox")
		{
			if (f.elements[i].checked == true)
			{
		        query += j==0 ? '?' : '&';
		        query += f.elements[i].name + '=' + f.elements[i].value+'';		
				j=1;
			}
		}
		else if (f.elements[i].type == "radio")
		{
			if (f.elements[i].checked == true)
			{
		        query += j==0 ? '?' : '&';
		        query += f.elements[i].name + '=' + f.elements[i].value+'';		
				j=1;
			}
		}
		else
		{
	        query += j==0 ? '?' : '&';
	        query += f.elements[i].name + '=' + f.elements[i].value+'';			
			j=1;
		}
    }
	Atualiza(meudiv,url,query);
}
function carregando(meudivX,valor)
{	
	xdivcarr = meudivX;
	if (valor == '0')
	{
		document.getElementById(""+xdivcarr+"").innerHTML = "";	
	}
	else
	{
		document.getElementById(""+xdivcarr+"").innerHTML = "<div id='carregador'>Aguarde...</div>";
	}
}

//#######################################
function processReqChangeVAR()
{
	if (req.readyState == 4) {
		if (req.status == 200) {
			os_busca_cliente(req.responseText);
		} else {
			ajaxReturn = "0";
		}
	}
}

function AtualizaVAR(url,valor)
{ 		
	valorx = valor;
	req = null;
	if (window.XMLHttpRequest) {
		req = new XMLHttpRequest();
		req.onreadystatechange = processReqChangeVAR;
		req.open("GET", url+valor, true);
		req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;");
		req.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");
		req.setRequestHeader("Pragma", "no-cache");
		req.send(null);
	} else if (window.ActiveXObject) {
		req = new ActiveXObject("Microsoft.XMLHTTP");
		if (req) {
			req.onreadystatechange = processReqChangeVAR;
			req.open("GET", url+valor, true);
			req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;");
			req.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");
			req.setRequestHeader("Pragma", "no-cache");
			req.send();
		}
	}
} 

//###############
function extraiScript(texto){
//Maravilhosa função feita pelo SkyWalker.TO do imasters/forum
//http://forum.imasters.com.br/index.php?showtopic=165277&
    // inicializa o inicio ><
    var ini = 0;
    // loop enquanto achar um script
    while (ini!=-1){
        // procura uma tag de script
        ini = texto.indexOf('<script', ini);
        // se encontrar
        if (ini >=0){
            // define o inicio para depois do fechamento dessa tag
            ini = texto.indexOf('>', ini) + 1;
            // procura o final do script
            var fim = texto.indexOf('</script>', ini);
            // extrai apenas o script
            codigo = texto.substring(ini,fim);
            // executa o script
            //eval(codigo);
            /**********************
            * Alterado por Micox - micoxjcg@yahoo.com.br
            * Alterei pois com o eval não executava funções.
            ***********************/
            novo = document.createElement("script")
            novo.text = codigo;
            document.body.appendChild(novo);
        }
    }
}
