function extraiScript(texto){

	//desenvolvido por Skywalker.to

    var ini, pos_src, fim, codigo;

    var objScript = null;

    ini = texto.indexOf('<script', 0)

    while (ini!=-1){

        var objScript = document.createElement("script");

        pos_src = texto.indexOf(' src', ini)

        ini = texto.indexOf('>', ini) + 1;



        if (pos_src < ini && pos_src >=0){

            ini = pos_src + 4;

            fim = texto.indexOf('.', ini)+4;

            codigo = texto.substring(ini,fim);

            codigo = codigo.replace("=","").replace(" ","").replace("\"","").replace("\"","").replace("\'","").replace("\'","").replace(">","");

            objScript.src = codigo;

        }else{

            fim = texto.indexOf('</script>', ini);

            codigo = texto.substring(ini,fim);

            objScript.text = codigo;

        }

        document.body.appendChild(objScript);

        ini = texto.indexOf('<script', fim);

        objScript = null;

    }

}



function ajaxRequest(){

	var ajaxXMLHttp = false;

	if (window.XMLHttpRequest){ //mozilla

		ajaxXMLHttp = new XMLHttpRequest();

	}else if (window.ActiveXObject){ //IE

		try

		{

			ajaxXMLHttp = new ActiveXObject("Msxm12.XMLHTTP");

		}

		catch (e)

		{

			try

			{

				ajaxXMLHttp = new ActiveXObject("Microsoft.XMLHTTP");

			}

			catch (e)

			{

				alert("Esse browser não tem recursos para uso do Ajax");

				ajaxXMLHttp = false;

			}

		}

	}

	return ajaxXMLHttp;

}



filaText=[];

ifilaText=0;



function consultaAjaxText(url, parametros, metodo, elementRetorno, msgCarregar){

    filaText[filaText.length]=[url, parametros, metodo, elementRetorno, msgCarregar];

    if((ifilaText + 1)==filaText.length){

		ajaxRunText();

	}

}



function ajaxRunText(){

	ajax = false;

	ajax = ajaxRequest();

	if (!ajax){

		alert("Erro na Chamada Ajax");

		return false;

	}else{

		elementRetornoText = document.getElementById(filaText[ifilaText][3]);

		ajax.onreadystatechange = processaAjaxText;

		if (filaText[ifilaText][2]=="get"){

			ajax.open(filaText[ifilaText][2], filaText[ifilaText][0]+"?"+filaText[ifilaText][1], true);

			ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

			ajax.setRequestHeader("Cache-Control", "no-cache");

			ajax.setRequestHeader("Pragma", "no-cache");

			ajax.send(null);

		}else if (filaText[ifilaText][2]=="post"){

			ajax.open(filaText[ifilaText][2], filaText[ifilaText][0], true);

			ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

			ajax.setRequestHeader("Cache-Control", "no-cache");

			ajax.setRequestHeader("Pragma", "no-cache");

			ajax.send(filaText[ifilaText][1]);

		}

	}

}



function processaAjaxText(){

	if (ajax.readyState == 1)

	{

		/*elementRetornoText.innerHTML = "<div align='center' style='padding-top:10px;'>"+filaText[ifilaText][4]+"</div>";*/

		elementRetornoText.innerHTML = "<div align='center' style='padding-top:40px;'>Aguarde carregando...</div>";

	}

	if (ajax.readyState == 4)

	{

		if (ajax.status == 200)

		{

			extraiScript(ajax.responseText);

			elementRetornoText.innerHTML = ajax.responseText;

		}else{

			elementRetornoText.innerHTML = "<div>Falha no Carregamento.<br>"+erroPagina(ajax.status)+"</div>";

		}

		ifilaText++;

		if(ifilaText < filaText.length){

			setTimeout("ajaxRunText()", 20);

		}

	}

}



filaXML = [];

ifilaXML = 0;

/**

*	Wesley Garcia de Sousa

*	Instruções de Elcio Ferreira

*	Variaveis com suas respectivas posicoes no vetor;

*	urlXML			  filaXML[ifilaXML][0]

*	parametrosXML	  filaXML[ifilaXML][1]

*	metodoXML		  filaXML[ifilaXML][2]

*	msgCarregarXML    filaXML[ifilaXML][3]

*	idSelect		  filaXML[ifilaXML][4]

*	idOption		  filaXML[ifilaXML][5]

*	msgOptionSucesso  filaXML[ifilaXML][6]

*   msgOptionErro	  filaXML[ifilaXML][7]

*/

function consultaAjaxXML(urlXML, parametrosXML, metodoXML, msgCarregarXML, idSelect, idOption, msgOptionSucesso, msgOptionErro){

	filaXML[filaXML.length]=[urlXML, parametrosXML, metodoXML, msgCarregarXML, idSelect, idOption, msgOptionSucesso, msgOptionErro];

    if((ifilaXML + 1) == filaXML.length){

		ajaxRunXML();

	}

}



function ajaxRunXML(){

	ajaxXML = false;

	ajaxXML = ajaxRequest();

	if (!ajaxXML)

	{

		alert("Erro na Chamada Ajax");

		return false;

	}else{

		selectRetorno = document.getElementById(filaXML[ifilaXML][4]);

		selectRetorno.options.length = 1;

		optionRetorno = document.getElementById(filaXML[ifilaXML][5]);

		ajaxXML.onreadystatechange = processaAjaxXML;

		if (filaXML[ifilaXML][2]=="get")

		{

			ajaxXML.open(filaXML[ifilaXML][2], filaXML[ifilaXML][0]+"?"+filaXML[ifilaXML][1], true);

			ajaxXML.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

			ajaxXML.setRequestHeader("Cache-Control", "no-cache");

			ajaxXML.setRequestHeader("Pragma", "no-cache");

			ajaxXML.send(null);

		}else if (filaXML[ifilaXML][2]=="post")

		{

			ajaxXML.open(filaXML[ifilaXML][2], filaXML[ifilaXML][0], true);

			ajaxXML.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

			ajaxXML.setRequestHeader("Cache-Control", "no-cache");

			ajaxXML.setRequestHeader("Pragma", "no-cache");

			ajaxXML.send(filaXML[ifilaXML][1]);

		}

	}

}



function processaAjaxXML(){

	if (ajaxXML.readyState == 1)

	{

		optionRetorno.innerHTML = filaXML[ifilaXML][3];

	}

	if (ajaxXML.readyState == 4)

	{

		if (ajaxXML.status == 200)

		{			

			var vetorXML = ajaxXML.responseXML.getElementsByTagName("xml");

			if (vetorXML.length > 0)

			{

				optionRetorno.innerHTML = filaXML[ifilaXML][6];

				for (i = 0; i < vetorXML.length; i++)

				{

					var xml  = vetorXML[i];

					var codigo	   = xml.getElementsByTagName("codigo")[0].firstChild.nodeValue;

					var descricao  = xml.getElementsByTagName("descricao")[0].firstChild.nodeValue;

					var novoOption = document.createElement("option");					

					novoOption.setAttribute("id", filaXML[ifilaXML][5]);

					novoOption.value = codigo;

					novoOption.text  = descricao;

					selectRetorno.options.add(novoOption);

				}

			}else{

				optionRetorno.innerHTML = filaXML[ifilaXML][7];

			}

		}else{

			alert(erroPagina(ajaxXML.status));

		}

		ifilaXML++;

		if(ifilaXML < filaXML.length){

			setTimeout("ajaxRunXML();", 10);

		}

	}

}



function erroPagina(erro){

	switch(erro){

		case 0: return "Erro desconhecido de javascript"; break;

		case 400: return "400: Solicitação incompreensível"; break;

		case 404: return "404: Não foi encontrada a URL solicitada"; break;

		case 405: return "405: O servidor não suporta o m&eacute;todo solicitado"; break;

		case 500: return "500: Erro desconhecido de natureza do servidor"; break;

		case 503: return "503: Capacidade máxima do servidor alcançada"; break;

		default: return "Erro " + erro + ". Mais informações em http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"; break;

	}

}



function createOption(){

	textos = ["www.vipertech.com.br","www.plugmasters.com.br","www.uol.com.br"]

    var campo = document.getElementById( "cidade" );

    for (i = 0; i < textos.length; i++){

        var texto = document.createTextNode (textos[i]);

        var option= document.createElement("option");

        option.appendChild( texto );

        campo.appendChild( option );

    }

}