function initRequest(url){
    var http=false;
    try {http=new XMLHttpRequest();} catch (e1){
    try {http=new ActiveXObject("Msxml2.xmlhttp");} catch (e2){
    try {http=new ActiveXObject("Microsoft.xmlhttp");} catch (e3){http=false;}}}
    return http;
}

function clean(listbox) { 
 var lista = listbox;
 var i;
 for (i = lista.length; i>=0; i--) lista.remove(i);
 
}
function getcidades() { 
 if(document.getElementById) { // Para os browsers complacentes com o DOM W3C.
  var estado = document.forms[0].id_estado.value // Pega a regiao selecionada.
  var listbox = document.forms[0].id_cidade;
        
  var url = "../js/cidades.lib.php?id_estado="+estado;
  var ajax = initRequest(url);
       
 listbox.options[0] = new Option("carregando...",0);
  
  ajax.onreadystatechange = 
   function() {	    
    if(ajax.readyState == 4) { // Quando estiver tudo pronto.
     if(ajax.status == 200) {
     
      var cidades = new String(ajax.responseText); //criando array de valores
      cidades = cidades.split(","); //mesmo que implode(",",$array) no php
      var index = 0;
          
      clean(listbox);	  
       
      for(i=0;i<cidades.length;i++) { 
       if(Math.pow(-1,i)<0) { 
        listbox.options[index] = new
        Option(cidades[i],cidades[i-1]); 
        index++; 
       }
      }
	         	       
     }	
     else { alert('Erro: '+ajax.status); }
    } 
   }	
  };	
				      
 ajax.open("GET", url, true);
 ajax.send(null);
}



function getestados() { 
 if(document.getElementById) { // Para os browsers complacentes com o DOM W3C.
  var pais = document.forms[0].id_pais.value // Pega a regiao selecionada.
  var listbox = document.forms[0].id_estado;
        
  var url = "../js/estados.lib.php?id_pais="+pais;
  var ajax = initRequest(url);
       
 listbox.options[0] = new Option("carregando...",0);
  
  ajax.onreadystatechange = 
   function() {	    
    if(ajax.readyState == 4) { // Quando estiver tudo pronto.
     if(ajax.status == 200) {
     
      var estados = new String(ajax.responseText); //criando array de valores
      estados = estados.split(","); //mesmo que implode(",",$array) no php
      var index = 0;
          
      clean(listbox);	  
       
      for(i=0;i<estados.length;i++) { 
       if(Math.pow(-1,i)<0) { 
        listbox.options[index] = new
        Option(estados[i],estados[i-1]); 
        index++; 
       }
      }
	   getcidades()      	       
     }	
     else { alert('Erro: '+ajax.status); }
    } 
   }	
  };	
				      
 ajax.open("GET", url, true);
 ajax.send(null);

}






function getcentros() { 
  if(document.getElementById) { // Para os browsers complacentes com o DOM W3C.
  var inst = document.forms[0].id_instituicao.value // Pega a regiao selecionada.
  var listbox = document.forms[0].id_centro;
        
  var url = "../js/centro.lib.php?id_instituicao="+inst;
  
  var ajax = new initRequest(url);
   listbox.options[0] = new Option("carregando...",0);

   ajax.onreadystatechange = 
   function() {	    
    if(ajax.readyState == 4) { // Quando estiver tudo pronto.
     if(ajax.status == 200) {
     
      var centros = new String(ajax.responseText); //criando array de valores
      centros = centros.split(","); //mesmo que implode(",",$array) no php
      
	  var index = 0;
	  
	  	  var a = 0, i = 0, flag = 0;
	  var str = "";
	  var arr = new Array(centros.length); //criando array de valores
	  while(i <= centros.length)
	  {
		flag = 0;
		str = centros[i];
		
		while(isNaN(centros[i]) && i < centros.length)
		{
			
			if(str == centros[i])
			{
				i++;
			}
			else
			{
				str = str + "," +centros[i];
				i++;
			}
			flag++;
		}
		arr[a] = str;
		a++;
		if(flag == 0)
		{
			i++;
		}
  	  }
		
	  clean(listbox);
      for(i=0;i<arr.length;i++) { 
       if(Math.pow(-1,i)<0) { 
        listbox.options[index] = new
        Option(arr[i],arr[i-1]); 
        index++; 
       }
      }
	  getdepartamentos();
	         	       
     }	
     else { alert('Erro: '+ajax.status); }
    } 
   }	
  };	
				      
 ajax.open("GET", url, true);
 ajax.send(null); 
 
}


function getdepartamentos() { 
 if(document.getElementById) { // Para os browsers complacentes com o DOM W3C.
   var cent = document.forms[0].id_centro.value // Pega a regiao selecionada.
  var listbox = document.forms[0].id_departamento;
        
  var url = "../js/departamento.lib.php?id_centro="+cent;
  
  var ajax = initRequest(url);
  listbox.options[0] = new Option("carregando...",0);

  ajax.onreadystatechange = 
   function() {	    
    if(ajax.readyState == 4) { // Quando estiver tudo pronto.
     if(ajax.status == 200) {
     
      var dep = new String(ajax.responseText); //criando array de valores
      dep = dep.split(","); //mesmo que implode(",",$array) no php
      var index = 0;
        	  var a = 0, i = 0, flag = 0;
	  var str = "";
	  var arr = new Array(dep.length); //criando array de valores
	  while(i <= dep.length)
	  {
		flag = 0;
		str = dep[i];
		
		while(isNaN(dep[i]) && i < dep.length)
		{
			
			if(str == dep[i])
			{
				i++;
			}
			else
			{
				str = str + "," +dep[i];
				i++;
			}
			flag++;
		}
		arr[a] = str;
		a++;
		if(flag == 0)
		{
			i++;
		}
  	  }
		  
      	  
      clean(listbox);
      for(i=0;i<arr.length;i++) { 
       if(Math.pow(-1,i)<0) { 
        listbox.options[index] = new
        Option(arr[i],arr[i-1]); 
        index++; 
       }
      }
	         	       
     }	
     else { alert('Erro: '+ajax.status); }
    } 
   }	
  };	
				      
 ajax.open("GET", url, true);
 ajax.send(null);
}



function getcidades_list() { 
 if(document.getElementById) { // Para os browsers complacentes com o DOM W3C.
  var estado = document.forms[0].id_estado.value // Pega a regiao selecionada.
  var listbox = document.forms[0].id_cidade;
    
  var url = "../js/cidades.lib.php?id_estado="+estado;
  var ajax = initRequest(url);
       
 listbox.options[0] = new Option("carregando...",0);
  
  ajax.onreadystatechange = 
   function() {	    
    if(ajax.readyState == 4) { // Quando estiver tudo pronto.
     if(ajax.status == 200) {
     
      var cidades = new String(ajax.responseText); //criando array de valores
      cidades = cidades.split(","); //mesmo que implode(",",$array) no php
      var index = 1;
          
      clean(listbox);	  
       
      for(i=1;i<cidades.length;i++) { 
       if(Math.pow(-1,i)<0) { 
        listbox.options[index] = new
        Option(cidades[i],cidades[i-1]); 
        index++; 
       }
      }
	   listbox.options[0] = new Option("*****TODAS*****",0);
	   listbox.options[0].selected = true;
     }	
     else { alert('Erro: '+ajax.status); }
    } 
   }	
  };	
 			      
 ajax.open("GET", url, true);
 ajax.send(null);
}



function getestados_list() { 
 if(document.getElementById) { // Para os browsers complacentes com o DOM W3C.
  var pais = document.forms[0].id_pais.value // Pega a regiao selecionada.
  var listbox = document.forms[0].id_estado;
        
  var url = "../js/estados.lib.php?id_pais="+pais;
  var ajax = initRequest(url);
       
 listbox.options[0] = new Option("carregando...",0);
  
  ajax.onreadystatechange = 
   function() {	    
    if(ajax.readyState == 4) { // Quando estiver tudo pronto.
     if(ajax.status == 200) {
     
      var estados = new String(ajax.responseText); //criando array de valores
      estados = estados.split(","); //mesmo que implode(",",$array) no php
      var index = 1;
          
      clean(listbox);	  
       
      for(i=1;i<estados.length;i++) { 
       if(Math.pow(-1,i)<0) { 
        listbox.options[index] = new
        Option(estados[i],estados[i-1]); 
        index++; 
       }
      }
	   listbox.options[0] = new Option("*****TODOS*****",0);	
	   listbox.options[0].selected = true;
	   getcidades_list();
     }	
     else { alert('Erro: '+ajax.status); }
    } 
   }	
  };	
 			      	      
 ajax.open("GET", url, true);
 ajax.send(null);

}


function getlaboratorios() { 
 if(document.getElementById) { // Para os browsers complacentes com o DOM W3C.
  var inst = document.forms[0].id_instituicao.value // Pega a regiao selecionada.
  var listbox = document.forms[0].id_laboratorio;
        
  var url = "../js/laboratorio.lib.php?id_instituicao="+inst;
  var ajax = initRequest(url);
       
 listbox.options[0] = new Option("carregando...",0);
  
  ajax.onreadystatechange = 
   function() {	    
    if(ajax.readyState == 4) { // Quando estiver tudo pronto.
     if(ajax.status == 200) {
     
      var labs = new String(ajax.responseText); //criando array de valores
      labs = labs.split(","); //mesmo que implode(",",$array) no php
      var index = 0;
          
      clean(listbox);	  
       
      for(i=0;i<labs.length;i++) { 
       if(Math.pow(-1,i)<0) { 
        listbox.options[index] = new
        Option(labs[i],labs[i-1]); 
        index++; 
       }
      }
     }	
     else { alert('Erro: '+ajax.status); }
    } 
   }	
  };	
 			      	      
 ajax.open("GET", url, true);
 ajax.send(null);

}


function getgrupos() { 
 if(document.getElementById) { // Para os browsers complacentes com o DOM W3C.
  var area = document.forms[0].id_area.value // Pega a regiao selecionada.
  var listbox = document.forms[0].id_area;
        
  var url = "../js/grupos.lib.php?id_area="+area;
  var ajax = initRequest(url);
       
 listbox.options[0] = new Option("carregando...",0);
  
  ajax.onreadystatechange = 
   function() {	    
    if(ajax.readyState == 4) { // Quando estiver tudo pronto.
     if(ajax.status == 200) {
     
      var grupos = new String(ajax.responseText); //criando array de valores
      grupos = grupos.split(","); //mesmo que implode(",",$array) no php
      var index = 0;
          
      clean(listbox);	  
       
      for(i=0;i<grupos.length;i++) { 
       if(Math.pow(-1,i)<0) { 
        listbox.options[index] = new
        Option(grupos[i],grupos[i-1]); 
        index++; 
       }
      }
	         	       
     }	
     else { alert('Erro: '+ajax.status); }
    } 
   }	
  };	
				      
 ajax.open("GET", url, true);
 ajax.send(null);
}

function getusers() { 
 if(document.getElementById) { // Para os browsers complacentes com o DOM W3C.
  var area = document.forms[0].id_area.value // Pega a regiao selecionada.
  var listbox = document.forms[0].id_area;
        
  var url = "../js/users.lib.php?id_area="+area;
  var ajax = initRequest(url);
       
 listbox.options[0] = new Option("carregando...",0);
  
  ajax.onreadystatechange = 
   function() {	    
    if(ajax.readyState == 4) { // Quando estiver tudo pronto.
     if(ajax.status == 200) {
     
      var users = new String(ajax.responseText); //criando array de valores
      users = users.split(","); //mesmo que implode(",",$array) no php
      var index = 0;
          
      clean(listbox);	  
       
      for(i=0;i<users.length;i++) { 
       if(Math.pow(-1,i)<0) { 
        listbox.options[index] = new
        Option(users[i],users[i-1]); 
        index++; 
       }
      }
	         	       
     }	
     else { alert('Erro: '+ajax.status); }
    } 
   }	
  };	
				      
 ajax.open("GET", url, true);
 ajax.send(null);
}
