var paginaAtual = "";
var camadaAtual = "";
var paginaAnterior = "";
var camadaAnterior = "";
function enviaPost(pcPagina, pcCamada, parameters)
{
	this.paginaAnterior = paginaAtual;
	this.camadaAnterior = camadaAtual;
	this.paginaAtual = pcPagina;
	this.camadaAtual = pcCamada;
	
	var req = null;
	/* Procura por um objeto nativo (Mozilla/Safari/Firefox/Opera) */
	if(window.XMLHttpRequest)
	{
		/* 'req' TORNA-SE UMA INSTÂNCIA DE XMLHttpRequest */
		req = new XMLHttpRequest();
		
		req.onreadystatechange = processReqChange;
		
		/* CHAMADA PARA A PAGINA DE EXECUÇÃO DA OPERAÇÃO COM PASSAGENS DE PARAMETROS PERTINENTES */
		req.open("POST", pcPagina, true);
		req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		req.setRequestHeader("Content-length", parameters.length);
		req.setRequestHeader("Connection", "close");
		
		/* COLOCANDO O TEXTO 'ENVIANDO ...' ENQUANTO A TRANSAÇÃO NÃO É FINALIZADA */
		//document.getElementById(pcCamada).innerHTML = "&nbsp;&nbsp;Procurando...";
		if(document.getElementById(pcCamada))
			document.getElementById(pcCamada).innerHTML = "<img src='/images/aguarde.gif' align='center'>";
		
		/* EXECUTA A REQUISIÇÃO */
		req.send(parameters);
	}
	/* Procura por uma versao ActiveX (IE) Internet Explorer - Implementado pela Microsoft */
	else if(window.ActiveXObject)
	{
		/* 'req' TORNA-SE UMA INSTÂNCIA DE ActiveXObject da Microsoft < Microsoft.XMLHTTP > */
		req = new ActiveXObject("Microsoft.XMLHTTP");
		
		/* CASO VERDADE */
		if(req)
		{
			req.onreadystatechange = processReqChange;
			
			/* CHAMADA PARA A PAGINA DE EXECUÇÃO DA OPERAÇÃO COM PASSAGENS DE PARAMETROS PERTINENTES */
			req.open("POST", pcPagina, true);
			req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
			req.setRequestHeader("Content-length", parameters.length);
			req.setRequestHeader("Connection", "close");
			
			/* COLOCANDO O TEXTO 'ENVIANDO ...' ENQUANTO A TRANSAÇÃO NÃO É FINALIZADA */
			//document.getElementById(pcCamada).innerHTML = "&nbsp;&nbsp;Procurando...";
			if(document.getElementById(pcCamada))
				document.getElementById(pcCamada).innerHTML = "<img src='/images/aguarde.gif' align='center'>";
			
			/* EXECUTA A REQUISIÇÃO */
			req.send(parameters);
		}
	}
	
	function processReqChange()
	{
		if(req.readyState == 4)
		{
			if((req.status == 200) && ((req.responseText) != "UNKNOWN"))
			{
				if(document.getElementById(pcCamada))
					document.getElementById(pcCamada).innerHTML = req.responseText;
				//setTimeout("removeDiv()", 8000);
			}
			else
			{
				setaPagina('badflavor.inc.php', 'conteudo');
			}
		}
	}
}

/****************************************************************************************************************************
*****************************************************************************************************************************
*****************************************************************************************************************************/

function setaPagina(pcPagina, pcCamada)
{
	try
	{
		this.paginaAnterior = paginaAtual;
		this.camadaAnterior = camadaAtual;
		this.paginaAtual = pcPagina;
		this.camadaAtual = pcCamada;
		var req = null;
		/* Procura por um objeto nativo (Mozilla/Safari/Firefox/Opera) */
		if(window.XMLHttpRequest)
		{
			/* 'req' TORNA-SE UMA INSTÂNCIA DE XMLHttpRequest */
			req = new XMLHttpRequest();
			
			req.onreadystatechange = processReqChange;
			
			/* CHAMADA PARA A PAGINA DE EXECUÇÃO DA OPERAÇÃO COM PASSAGENS DE PARAMETROS PERTINENTES */
			req.open("GET",pcPagina, true);
			
			/* COLOCANDO O TEXTO 'ENVIANDO ...' ENQUANTO A TRANSAÇÃO NÃO É FINALIZADA */
			/* Imagem de carregamento <img src='../img/carregando1.gif'> */
			//document.getElementById(pcCamada).innerHTML = "&nbsp;&nbsp;Carregando...";
			if(pcCamada == 'estagiario' || pcCamada == 'escola')
				document.getElementById(pcCamada).innerHTML = "<img src='/images/aguarde_combo.gif' align='center'>";
			else
				document.getElementById(pcCamada).innerHTML = "<img src='/images/aguarde.gif' align='center'>";
			
			/* EXECUTANDO A REQUISIÇÃO */
			req.send(null);
		}
		/* Procura por uma versao ActiveX (IE) Internet Explorer - Implementado pela Microsoft */
		else if(window.ActiveXObject)
		{
			/* 'req' TORNA-SE UMA INSTÂNCIA DE ActiveXObject da Microsoft < Microsoft.XMLHTTP > */
			req = new ActiveXObject("Microsoft.XMLHTTP");
			
			/* CASO VERDADE */
			if(req)
			{
				req.onreadystatechange = processReqChange;
				
				/* CHAMADA PARA A PAGINA DE EXECUÇÃO DA OPERAÇÃO COM PASSAGENS DE PARAMETROS PERTINENTES */
				req.open("GET",pcPagina, true);
									
				/* COLOCANDO O TEXTO 'ENVIANDO ...' ENQUANTO A TRANSAÇÃO NÃO É FINALIZADA */
				if(pcCamada == 'estagiario' || pcCamada == 'escola')
					document.getElementById(pcCamada).innerHTML = "<img src='/images/aguarde_combo.gif' align='center'>";
				else
					document.getElementById(pcCamada).innerHTML = "<img src='/images/aguarde.gif' align='center'>";	
					
				/* EXECUTANDO A REQUISIÇÃO */
				req.send();
			}
		}
	}
	catch(e)
	{
		alert(e);
	}
	function processReqChange()
	{
		if(req.readyState == 4)
		{
			if((req.status == 200) && ((req.responseText) != "UNKNOWN"))
			{
				document.getElementById(pcCamada).innerHTML = req.responseText;
				exeScript(req.responseText);
				
				if(document.forms[0] != null)
				{
					var obj = document.forms[0][0]; 
					if(obj != null)
					{
						window.focus();
						if(obj.type == 'text' || obj.type == 'textarea')
							obj.select();
		
						obj.focus();
					}
				}
				//setTimeout("removeDiv()", 8000);
			}
			else
			{
				setaPagina('badflavor.inc.php', 'conteudo');
			}
		}
	}
}

/****************************************************************************************************************************
*****************************************************************************************************************************
*****************************************************************************************************************************/

var opcao = null;
var combo = null;
var tag = null;
var div = null;
/* PARAMETROS:
   1 - pagina
   2 - nome do segundo combo
   3 - o id da primeira opção do segundo combo
   4 - a tag pai q deve estar os objetos
   5 - parametro para ser carregado na pagina
*/
function carregaCombo(pcPagina, combo, opcao, tag, parameters, escola)
{
	var req = null;
	this.opcao = opcao;
	this.combo = combo;
	this.tag = tag;
	/* Procura por um objeto nativo (Mozilla/Safari/Firefox/Opera) */
	if(window.XMLHttpRequest)
	{
		/* 'req' TORNA-SE UMA INSTÂNCIA DE XMLHttpRequest */
		req = new XMLHttpRequest();
		
		req.onreadystatechange = processReqChange;
		
		/* CHAMADA PARA A PAGINA DE EXECUÇÃO DA OPERAÇÃO COM PASSAGENS DE PARAMETROS PERTINENTES */
		req.open("POST", pcPagina, true);
		req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		req.setRequestHeader("Content-length", parameters.length);
		
		/* COLOCANDO O TEXTO 'ENVIANDO ...' ENQUANTO A TRANSAÇÃO NÃO É FINALIZADA */
		document.getElementById(opcao).innerText = "Carregando...";
		if(escola != undefined)
			document.getElementById('divList').innerHTML = "<img src='/images/aguarde_combo.gif' align='center'>";
		else
			document.getElementById('divCombo').innerHTML = "<img src='/images/aguarde_combo.gif' align='center'>";
		
		/* EXECUTANDO A REQUISIÇÃO */
		req.send(parameters);
	}
	/* Procura por uma versao ActiveX (IE) Internet Explorer - Implementado pela Microsoft */
	else if(window.ActiveXObject)
	{
		/* 'req' TORNA-SE UMA INSTÂNCIA DE ActiveXObject da Microsoft < Microsoft.XMLHTTP > */
		req = new ActiveXObject("Microsoft.XMLHTTP");
		
		/* CASO VERDADE */
		if(req)
		{
			/* CHAMADA PARA A PAGINA DE EXECUÇÃO DA OPERAÇÃO COM PASSAGENS DE PARAMETROS PERTINENTES */
			req.open("POST", pcPagina, true);
			req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
			req.setRequestHeader("Content-length", parameters.length);
			
			req.onreadystatechange = processReqChange;

			/* COLOCANDO O TEXTO 'ENVIANDO ...' ENQUANTO A TRANSAÇÃO NÃO É FINALIZADA */
			document.getElementById(opcao).innerText = "Carregando...";
			if(escola != undefined)
				document.getElementById('divList').innerHTML = "<img src='/images/aguarde_combo.gif' align='center'>";
			else
				document.getElementById('divCombo').innerHTML = "<img src='/images/aguarde_combo.gif' align='center'>";
			
			/* EXECUTANDO A REQUISIÇÃO */
			req.send(parameters);
		}
	}
	
	function processReqChange()
	{
		if(req.readyState == 1)
		{
			document.getElementById(opcao).innerText = "Carregando...";
		}
		if(req.readyState == 4)
		{
			if(req.responseXML)
			{
				processXML(req.responseXML);
			}
			else
			{
				setaPagina('badflavor.inc.php', 'conteudo');
			}
		}
	}
}

function processXML(obj)
{
	try
	{
		//pega a tag cidade
		var dataArray = obj.getElementsByTagName(tag);
		//total de elementos contidos na tag
		if(dataArray.length > 0)
		{
			//percorre o arquivo XML paara extrair os dados
			for(var i = 0 ; i < dataArray.length ; i++)
			{
				var item = dataArray[i];
				//contéudo dos campos no arquivo XML
				var codigo    =  item.getElementsByTagName('id')[0].firstChild.nodeValue;
				var descricao =  item.getElementsByTagName('descricao')[0].firstChild.nodeValue;
				
				//cria um novo option dinamicamente  
				var novo = document.createElement('option');
				//atribui um ID a esse elemento
				novo.setAttribute('id', opcao);
				//atribui um valor
				novo.value = codigo;
				//atribui um texto
				novo.text  = descricao;
				novo.title  = descricao;
				
				//finalmente adiciona o novo elemento
				document.getElementById(combo).options.add(novo);
			 }
		}
		//caso o XML volte vazio, printa a mensagem abaixo
		document.getElementById(opcao).innerText = "-- SELECIONE --";
		if(document.getElementById('divCombo'))
			document.getElementById('divCombo').innerHTML = "&nbsp;";
		if(document.getElementById('divList'))
			document.getElementById('divList').innerHTML = "&nbsp;";	
	}
	catch(e)
	{
		alert("Exception: " + e);
	}
}


function exeScript(texto)
{
	var ini=0;
    while (ini != -1)
	{
		ini = texto.indexOf('<script', ini);
        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);
            codigo = texto.substring(ini,fim);
            //eval(codigo);
			var novo = document.createElement("script");
            novo.text = codigo;
            document.body.appendChild(novo);
		}
	}
}

/****************************************************************************************************************************
*****************************************************************************************************************************
*****************************************************************************************************************************/

var spinnerID;
function carregaSpinner(pcPagina, spinnerID, parameters)
{
	var req = null;
	this.spinnerID = spinnerID;
	/* Procura por um objeto nativo (Mozilla/Safari/Firefox/Opera) */
	if(window.XMLHttpRequest)
	{
		/* 'req' TORNA-SE UMA INSTÂNCIA DE XMLHttpRequest */
		req = new XMLHttpRequest();
		
		req.onreadystatechange = processReqChange;
		
		/* CHAMADA PARA A PAGINA DE EXECUÇÃO DA OPERAÇÃO COM PASSAGENS DE PARAMETROS PERTINENTES */
		req.open("POST", pcPagina, true);
		req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		req.setRequestHeader("Content-length", parameters.length);
		
		/* EXECUTANDO A REQUISIÇÃO */
		req.send(parameters);
	}
	/* Procura por uma versao ActiveX (IE) Internet Explorer - Implementado pela Microsoft */
	else if(window.ActiveXObject)
	{
		/* 'req' TORNA-SE UMA INSTÂNCIA DE ActiveXObject da Microsoft < Microsoft.XMLHTTP > */
		req = new ActiveXObject("Microsoft.XMLHTTP");
		
		/* CASO VERDADE */
		if(req)
		{
			/* CHAMADA PARA A PAGINA DE EXECUÇÃO DA OPERAÇÃO COM PASSAGENS DE PARAMETROS PERTINENTES */
			req.open("POST", pcPagina, true);
			req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
			req.setRequestHeader("Content-length", parameters.length);
			
			req.onreadystatechange = processReqChange;

			/* EXECUTANDO A REQUISIÇÃO */
			req.send(parameters);
		}
	}
	
	function processReqChange()
	{
		if(req.readyState == 4)
		{
			if(req.responseXML)
			{
				processXMLSpinner(req.responseXML);
			}
			else
			{
				setaPagina('badflavor.inc.php', 'conteudo');
			}
		}
	}
}

function processXMLSpinner(obj)
{
	try
	{
		//pega a tag cidade
		var dataArray = obj.getElementsByTagName('oportunidade');
		
		var spinner = document.getElementById(spinnerID);
		var maxHidden = document.getElementById(spinnerID+'Max');
		
		//total de elementos contidos na tag
		if(dataArray.length > 0)
		{
			//percorre o arquivo XML paara extrair os dados
			for(var i = 0 ; i < dataArray.length ; i++)
			{
				var item = dataArray[i];
				//contéudo dos campos no arquivo XML
				var maxValue =  item.getElementsByTagName('max')[0].firstChild.nodeValue;
				spinner.value = ""+maxValue;
				maxHidden.value = ""+maxValue;
			 }
		}
		else
		{
			spinner.value = "0";
			maxHidden.value = "0";
		}
	}
	catch(e)
	{
		alert(e);
	}
}
