// Script para a realização da Busca Instantanêa com Ajax
// Por Leandro Vieira Pinho, colunista iMasters (Dreamweaver)

// Função para iniciarmos o Ajax no browser do cliente.
function openAjax(){
   var ajax;
   try{
      ajax = new XMLHttpRequest(); // XMLHttpRequest para browsers decentes, como: Firefox, Safari, dentre outros.
   }
   catch(ee)
   {
      try{
         ajax = new ActiveXObject("Msxml2.XMLHTTP"); // Para o IE da MS
      }
	  catch(e)
	  {
         try{
            ajax = new ActiveXObject("Microsoft.XMLHTTP"); // Para o IE da MS
         }
		 catch(E)
		 {
            ajax = false;
         }
      }
   }
   return ajax;
}

//função que seta o valor selecionado nos radios para fazer a busca
function seta(valor){
	document.getElementById('tipo_selecionado').value = valor;
	document.getElementById('q').value = '';
}

function seta2(valor){
	document.getElementById('tipo_selecionado').value = valor; //dupliquei a função acima porque na busca por hospital, no site adesão, tinha dois campos com id 'q'. um deles eu renomeei pra 'q2' pra funcionar o javascript.
	document.getElementById('q2').value = '';
}

function seta_valor(campo, valor){
	document.getElementById(campo).value = valor; 
}

//função que copia o nome do checkbox selecionado e mostra na lista de selecionados.
function copia(id, nome){
	var selecionados = document.getElementById('itens_selecionados'); // div que exibirá os itens selecionados.
	//testa se já tem o item. se já tiver, limpa ele
	if(document.getElementById('lista_'+id) == null){
		selecionados.innerHTML += '<span id="span_'+id+'"><input name="lista_'+id+'" id="lista_'+id+'" type="checkbox" value="'+id+'" checked="checked" onClick="exclui(\'span_'+id+'\');" onBlur="exclui(\'span_'+id+'\');"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">'+nome+'</font><br></span>';
	}
}

//função pra tirar da lista o que for excluído
function exclui(id){
	span = document.getElementById(id);
	span.innerHTML = '';
}

// Função que realiza a busca instantânea - USADO PARA BUSCA POR HOSPITAL, LABORATÓRIO E COMPLETA
function buscaInstantanea(pagina){

   if(document.getElementById){ // Para os browsers complacentes com o DOM W3C.
      var termo = document.getElementById('q').value; // Pega o termo digitado no campo de texto.
	  var exibeResultado = document.getElementById('resultadoBusca'); // div que exibirá o resultado da busca.
	  if(termo.length >= 0){ // Verifica se o campo não está vazio, ou se foi digitado no mínimo três caracteres.
	     var ajax = openAjax(); // Inicia o Ajax.
		 ajax.open("GET", pagina + "?q=" + termo, true); // Envia o termo da busca como uma querystring, nos possibilitando o filtro na busca.
		 
		 ajax.onreadystatechange = function(){
		    if(ajax.readyState == 1){ // Quando estiver carregando, exibe: carregando...
			   exibeResultado.value = "";
				TagToTip('balao_busca', BALLOON, true, ABOVE, true, FOLLOWMOUSE, true, CLICKCLOSE, true);
			}
			if(ajax.readyState == 4){ // Quando estiver tudo pronto.
			   if(ajax.status == 200){
			      var resultado = ajax.responseText; // Coloca o resultado (da busca) retornado pelo Ajax nessa variável (var resultado).
				  resultado = resultado.replace(/\+/g," "); // Resolve o problema dos acentos (saiba mais aqui: http://www.plugsites.net/leandro/?p=4)
				  resultado = unescape(resultado); // Resolve o problema dos acentos
				  exibeResultado.innerHTML = resultado;
				  alert(resultado);
				  UnTip();
			    //para mostrar o balãozinho caso não tenha resultado
		if((document.getElementById('balao_vazio')) && (document.getElementById('valor').value.length<1))
		{
			TagToTip('balao_vazio', BALLOON, true, ABOVE, true, FOLLOWMOUSE, false, CLICKCLOSE, true, DURATION, 3500, FIX, ['valor',10,0]);
		}
		  
	   }
/*	   else
	   {
		  exibeResultado.value = "Erro: ";
	   }*/
			}
		 }
		 ajax.send(null); // submete
      } 
   }
}	

// Função que realiza a busca instantânea - USADO PARA BUSCA POR ADMINISTRADORA, PROFISSAO, ENTIDADE E OPERADORA (PLANO POR ADESÃO)
function buscaInstantanea_adesao(pagina){

   if(document.getElementById){ // Para os browsers complacentes com o DOM W3C.
      var termo = document.getElementById('q2').value; // Pega o termo digitado no campo de texto.
	  var tipo = document.getElementById('tipo_selecionado').value; // Pega o tipo de pesquisa.
	  var exibeResultado = document.getElementById('resultadoBusca'); // div que exibirá o resultado da busca.
	  if(termo !== null && termo.length >=0){ // Verifica se o campo não está vazio, ou se foi digitado no mínimo 1 caractere.
	     var ajax = openAjax(); // Inicia o Ajax.
		 ajax.open("GET", pagina + "?q2=" + termo + "&tipo=" +tipo, true); // Envia o termo da busca como uma querystring, nos possibilitando o filtro na busca.
		 ajax.onreadystatechange = function(){
		    if(ajax.readyState == 1){ // Quando estiver carregando, exibe: carregando...
			   document.getElementById('mensagem').innerHTML = "Carregando...";
			}
			if(ajax.readyState == 4){ // Quando estiver tudo pronto.
			   if(ajax.status == 200){
			      var resultado = ajax.responseText; // Coloca o resultado (da busca) retornado pelo Ajax nessa variável (var resultado).
				  resultado = resultado.replace(/\+/g," "); // Resolve o problema dos acentos (saiba mais aqui: http://www.plugsites.net/leandro/?p=4)
				  document.getElementById('mensagem').innerHTML = "";
				  resultado = unescape(resultado); // Resolve o problema dos acentos
				  exibeResultado.innerHTML = resultado;
			   }
			   else
			   {
			      exibeResultado.innerHTML = "Erro: ";
			   }
			}
		 }
		 ajax.send(null); // submete
      } 
   }
}	

// Função que realiza a busca instantânea - USADO PARA BUSCA POR ADMINISTRADORA, PROFISSAO, ENTIDADE E OPERADORA (PLANO POR ADESÃO)
function buscaInstantanea_odonto(pagina){

   if(document.getElementById){ // Para os browsers complacentes com o DOM W3C.
      var termo = document.getElementById('q').value; // Pega o termo digitado no campo de texto.
	  var tipo = document.getElementById('tipo_selecionado').value; // Pega o tipo de pesquisa.
	  var categoria = document.getElementById('plCategoria').value; // Pega o tipo de pesquisa.
	  var exibeResultado = document.getElementById('resultadoBusca'); // div que exibirá o resultado da busca.
	  if(termo !== null && termo.length >=0){ // Verifica se o campo não está vazio, ou se foi digitado no mínimo 1 caractere.
	     var ajax = openAjax(); // Inicia o Ajax.
		 ajax.open("GET", pagina + "?q=" + termo + "&tipo=" +tipo + "&plCategoria=" + categoria, true); // Envia o termo da busca como uma querystring, nos possibilitando o filtro na busca.
		 ajax.onreadystatechange = function(){
		    if(ajax.readyState == 1){ // Quando estiver carregando, exibe: carregando...
			   document.getElementById('mensagem').innerHTML = "Carregando...";
			}
			if(ajax.readyState == 4){ // Quando estiver tudo pronto.
			   if(ajax.status == 200){
			      var resultado = ajax.responseText; // Coloca o resultado (da busca) retornado pelo Ajax nessa variável (var resultado).
				  resultado = resultado.replace(/\+/g," "); // Resolve o problema dos acentos (saiba mais aqui: http://www.plugsites.net/leandro/?p=4)
				  document.getElementById('mensagem').innerHTML = "";
				  resultado = unescape(resultado); // Resolve o problema dos acentos
				  exibeResultado.innerHTML = resultado;
			   }
			   else
			   {
			      exibeResultado.innerHTML = "Erro: ";
			   }
			}
		 }
		 ajax.send(null); // submete
      } 
   }
}
//função pra passar um array em javascript via GET
 function array_to_get(array)
    {
        output = '';
        for(i=0;i<array.length;i++){
            glue = (i)?'&':'?';
            output += glue+'array['+i+']='+array[i];
        }
        return output;
    }
// Função que realiza uma busca e preenche o campo de valor mínimo
function preBusca(){

	if(document.getElementById){ // Para os browsers complacentes com o DOM W3C.
	//var idade = ver_faixa_etaria(document.getElementById('idade').value);
	setaFaixa(document.getElementById('form1'));
	var idade = document.getElementById('valor_faixa_etaria').value;
	if(document.getElementById('hospital'))
		{
			setaHospital();
		}
	var qtdeVidas = '';
	var idade_pai = '';
	var idade_mae = '';
	var qtdeFilhos = '';
	
	var funcionarios = '';
	var dependentes = '';
	
	var hospital = '';
	var laboratorio = '';
	
	if(document.getElementById('qtdeVidas'))
		{
		qtdeVidas = document.getElementById('qtdeVidas').value;
		}
	if(document.getElementById('idade_pai'))
		{
		idade_pai = document.getElementById('idade_pai').value;
		}
	if(document.getElementById('idade_mae'))
		{
		idade_mae = document.getElementById('idade_mae').value;
		}
	if(document.getElementById('n_func'))
		{
		funcionarios = document.getElementById('n_func').value;
		}
	if(document.getElementById('n_depe'))
		{
		dependentes = document.getElementById('n_depe').value;
		}
	
	if(document.getElementById('hospital'))
		{
		hospital = document.getElementById('hospital').value;
		}
	
	if(document.getElementById('laboratorio'))
		{
		laboratorio = document.getElementById('laboratorio').value;
		}
	
	var acomodacao = document.getElementById('acomodacao').value;
	var reembolso = document.getElementById('reembolso').value;
	var operadora = document.getElementById('operadora_multi');
	var exibeResultado = document.getElementById('valor');
	var operadoras = Array();

	for (var i=0; i<operadora.options.length; i++){
	 if (operadora.options[i].selected==true){
		operadoras[i] = operadora.options[i].value;
		}
	}
	
	var array_operadoras = array_to_get(operadoras);
	
	if((idade.length)>0){ // Verifica se o campo não está vazio, ou se foi digitado no mínimo três caracteres.
	var ajax = openAjax(); // Inicia o Ajax.
	ajax.open("GET", "pre_busca.php?idade=" + idade + "&acomodacao=" + acomodacao + "&reembolso=" + reembolso + "&operadoras=" + array_operadoras + "&idade_pai=" + idade_pai + "&idade_mae=" + idade_mae + "&qtdeFilhos=" + qtdeFilhos + "&dependentes=" + dependentes + "&funcionarios=" + funcionarios + "&hospital=" + hospital + "&laboratorio=" + laboratorio, true); // Envia o termo da busca como uma querystring, nos possibilitando o filtro na busca.

	ajax.onreadystatechange = function(){
	if(ajax.readyState != 4){ // Quando estiver carregando, exibe: carregando...
	   exibeResultado.value = "";
	   TagToTip('balao_busca', BALLOON, true, ABOVE, true, FOLLOWMOUSE, true, CLICKCLOSE, true);
	}
	if(ajax.readyState == 4){ // Quando estiver tudo pronto.
	   if(ajax.status == 200){
		  var resultado = ajax.responseText; // Coloca o resultado (da busca) retornado pelo Ajax nessa variável (var resultado).
		  resultado = resultado.replace(/\+/g," "); // Resolve o problema dos acentos (saiba mais aqui: http://www.plugsites.net/leandro/?p=4)
		  resultado = unescape(resultado); // Resolve o problema dos acentos
		  exibeResultado.value = resultado;
		   UnTip();		  
		  //para mostrar o balãozinho caso não tenha resultado
		if((document.getElementById('balao_vazio')) && (document.getElementById('valor').value.length<1))
			{
			TagToTip('balao_vazio', BALLOON, true, ABOVE, true, FOLLOWMOUSE, false, CLICKCLOSE, true, DURATION, 3500, FIX, ['valor',10,0]);
			}
		  
	   }
/*	   else
	   {
		  exibeResultado.value = "Erro: ";
	   }*/
	}
	}
	ajax.send(null); // submete
	} 
   } 
}



function preBuscaAdesao(){

	if(document.getElementById){ // Para os browsers complacentes com o DOM W3C.
		//var idade = ver_faixa_etaria(document.getElementById('idade').value);
		//setaFaixa(document.getElementById('form1'));
		if(document.getElementById('valor_faixa_etaria'))
		{
			var idade = document.getElementById('valor_faixa_etaria').value;
		}
		var qtdeVidas = '';

		var funcionarios = '';
		var dependentes = '';

		if(document.getElementById('n_func'))
		{
			qtdeVidas = parseInt(document.getElementById('n_func').value) + parseInt(document.getElementById('n_depe').value);
		}else if(document.getElementById('idade')){
			qtdeVidas = parseInt(document.getElementById('idade').value);
		}

		if(document.getElementById('n_func'))
		{
			funcionarios = document.getElementById('n_func').value;
		}
		if(document.getElementById('n_depe'))
		{
			dependentes = document.getElementById('n_depe').value;
		}

		var acomodacao = '';
		var reembolso = '';
		var exibeResultado = '';
		var tipo_busca = '';
		var operadora = document.getElementById('operadora_multi');
		var operadoras = Array();
		
		for (var i=0; i<operadora.options.length; i++){
		 if (operadora.options[i].selected==true){
			operadoras[i] = operadora.options[i].value;
			}
		}
	
		var array_operadoras = array_to_get(operadoras);
		
		acomodacao = document.getElementById('acomodacao').value;
		reembolso = document.getElementById('reembolso').value;
		//operadora = document.getElementById('operadora_multi').value;
		exibeResultado = document.getElementById('valor');

		var opcoes = Array();
		
		for (i=0;i<document.form1.elements.length;i++)
		{
		  if((document.form1.elements[i].type == "checkbox") && (document.form1.elements[i].name == "profissao[]") && (document.form1.elements[i].checked == 1))
			{
				opcoes[i] = document.form1.elements[i].value;
			}	
		}	
		
		var array_opcoes = array_to_get(opcoes);

		if(qtdeVidas > 0){ // Verifica se o campo não está vazio, ou se foi digitado no mínimo três caracteres.
		
			var ajax = openAjax(); // Inicia o Ajax.
			ajax.open("GET", "pre_busca_pme.php?idade=" + idade + "&acomodacao=" + acomodacao + "&reembolso=" + reembolso + "&opcoes=" + array_opcoes + "&dependentes=" + dependentes + "&funcionarios=" + funcionarios + "&operadoras=" + array_operadoras , true); // Envia o termo da busca como uma querystring, nos possibilitando o filtro na busca.

			ajax.onreadystatechange = function(){
			
				if(ajax.readyState != 4){ // Quando estiver carregando, exibe: carregando...
				   exibeResultado.value = "";
					TagToTip('balao_busca', BALLOON, true, ABOVE, true, FOLLOWMOUSE, true, CLICKCLOSE, true);
				}
				if(ajax.readyState == 4){ // Quando estiver tudo pronto.
				   if(ajax.status == 200){
					  var resultado = ajax.responseText; // Coloca o resultado (da busca) retornado pelo Ajax nessa variável (var resultado).
					  resultado = resultado.replace(/\+/g," "); // Resolve o problema dos acentos (saiba mais aqui: http://www.plugsites.net/leandro/?p=4)
					  resultado = unescape(resultado); // Resolve o problema dos acentos
					  exibeResultado.value = resultado;
					  UnTip();
					  //para mostrar o balãozinho caso não tenha resultado
					if((document.getElementById('balao_vazio')) && (document.getElementById('valor').value.length<1)){
						TagToTip('balao_vazio', BALLOON, true, ABOVE, true, FOLLOWMOUSE, false, CLICKCLOSE, true, DURATION, 3500, FIX, ['valor',10,0]);
					}
					  
				   }
				}
			}
			ajax.send(null); // submete
		}
	}
}
