// função para iniciarmos o Ajax no browser do cliente.
//coleta todos os dados dos elementos de um form
function coletaDadosForm(idForm) 
{

	var elementosFormulario = document.getElementById(idForm).elements;
    var qtdElementos = elementosFormulario.length;
    var queryString = "";
    var elemento;
	
	// cria uma funcao interna para concatenar os elementos do form
	this.ConcatenaElemento = function(nome,valor) 
	{

		if (queryString.length>0) 
			queryString += "&";

		queryString += encodeURIComponent(nome) + "=" + encodeURIComponent(valor);
		
	}
	
	// loop para percorrer todos os elementos
	for (var i=0; i<qtdElementos; i++) 
	{

		//Pega o elemento
		elemento = elementosFormulario[i];
		
		if (!elemento.disabled) 
		{
		
			//Trabalha com o elemento caso ele nao esteja desabilitado
			switch(elemento.type) 
			{

				//Realiza a acao dependendo do tipo de elemento
				case 'text': case 'password': case 'hidden': case 'textarea':
				
					this.ConcatenaElemento(elemento.name,elemento.value);
					
				break;
				
				case 'select-one':
					if (elemento.selectedIndex>=0) 
						this.ConcatenaElemento(elemento.name,elemento.options[elemento.selectedIndex].value);
	
				break;
	
				case 'select-multiple':
				
					for (var j=0; j<elemento.options.length; j++) 
					{
	
						if (elemento.options[j].selected)
							this.ConcatenaElemento(elemento.name,elemento.options[j].value);
							
					}
		
				break;
	
				case 'checkbox': case 'radio':
	
					if (elemento.checked) 
						this.ConcatenaElemento(elemento.name,elemento.value);
	
				break;
			
			}
		
		}
	
	}
	
	return queryString;

}

function criaAJAX() 
{

	var ajax;
	
	try
	{
		
		//tenta criar ajax
		ajax = new XMLHttpRequest();
		
	}
	catch(e){
		
		var XMLHttpVersoes = ["MSXML2.XMLHttp.6.0", "MSXML2.XMLHttp.5.0", "MSXML2.XMLHttp.4.0", "MSXML2.XMLHttp.3.0", "MSXML2.XMLHttp", "Microsoft.XMLHttp"];	

		//procura a melhor versao pra IE
		for(var i = 0; i < XMLHttpVersoes.length; i++)
		{
			

			try
			{
			
				//tenta criar objeto XMLHttpRequest
				ajax = new ActiveXObject(XMLHttpVersoes[i]);
			
			}
			catch(e) {}
			
		}
		
	}
	
	//retorna o objeto criado ou um erro
	if(!ajax)
		alert("Erro ao tentar criar o objeto XMLHttpRequest.");
	 else 
		return ajax;
	
	//caso chegue ate aqui
	return false
	
}


//extrai o script de um responseText
function extraiScript(texto)
{

	// 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);
			
			//cria o script
            novo = document.createElement("script")
            novo.text = codigo;
            document.body.appendChild(novo);

            // executa o script
            // eval(codigo);

        }
		
    }
	
}

//funcao que abre conteudo ajax em uma div
function abre(div, url)
{

	// inicia o ajax
	var ajax = criaAJAX(); 
	
	//aponta arquivo
	ajax.open("GET", url, true); 
	
	//executa acao conforme carregamento
	ajax.onreadystatechange = mostraResultado;
	
	//submete dados ao servidor
	ajax.send(null); 
	
	
	//funcao executada ao terminar de caregar o ajax
	function mostraResultado() {
	
		if(ajax.readyState == 1) 
			document.getElementById(div).innerHTML = "<br><br><br><center><img src='gif/carregando.gif' border='0' /><br><h4>Carregando...</h4></center><br><br><br><br><br><br><br><br><br>";

		// Quando estiver tudo pronto.
		if(ajax.readyState == 4) { 
	
			if(ajax.status == 200) {

				var resultado = ajax.responseText;
								
				extraiScript(resultado);
				
				//mostra resulado
				document.getElementById(div).innerHTML = resultado;
			
			} else alert("erro")
		
		}
	
	}

}

//atuva menu selecionada
function ativaMenu(menu)
{
	 //tira seleção de todas as abas
	 document.getElementById('menu01').className='no_active';
	 document.getElementById('menu02').className='no_active';
	 document.getElementById('menu03').className='no_active';
	 document.getElementById('menu04').className='no_active';
	 document.getElementById('menu05').className='no_active';
	 document.getElementById('menu06').className='no_active';
	 //document.getElementById('menu07').className='no_active';
	 //document.getElementById('menu8').className='no_active';
	 //document.getElementById('menu9').className='no_active';
	 
	 //seleciona aba selecionada
	 document.getElementById(menu).className='active';
}