var SITE_PATH = "/Sites/Adecolor";

/*
 * Utiliza uma conexão (httpd request) do javascript para solicitar 
 * dados de uma tabela (searchTable).
 * Depois disso coloca como opções do combo "targetSelectName" os
 * resultados retornados
 */
function ajaxCombo(triggerSelect, targetSelectName, searchTable){
	var xmlHttp = RequestHttp();
	var targetSelect = document.getElementById(targetSelectName);
	clean(targetSelect);
	xmlHttp.onreadystatechange=function(){
    	
    	if (xmlHttp.readyState < 4) {
    	
    		targetSelect.options[1] = new Option("Carregando...", "", true);
    	
    	}
    	
    	if(xmlHttp.readyState==4)
      	{
      		//alert (xmlHttp.responseText);
      		var xmlDoc=xmlHttp.responseXML;
      		targetSelect.options[1] = null;
      		
      		var Total = xmlDoc.getElementsByTagName('total')[0].childNodes[0].nodeValue;
      		var indice = 0;
      		for (indice = 0; indice < Total; indice++){
      			var nome = xmlDoc.getElementsByTagName('nome')[indice].childNodes[0].nodeValue;
      			var id = xmlDoc.getElementsByTagName('id')[indice].childNodes[0].nodeValue;
      			targetSelect.options[indice+1] = new Option (nome,id,false);
      		}
      	}
   	}	
	var searchID = triggerSelect.value;
	
	if (searchID == 0 || searchID == "") {
		return;
	}
	
	xmlHttp.open("GET", SITE_PATH+"/sistemas/arquivoRestrito/controle/ajax.php?searchTable="+searchTable+"&searchID="+searchID,true);
 	xmlHttp.send(null);
}

/*Clean (limpar)
 *
 *
 * Limpa as opções do elemento select passado como parametro.
 * Apenas a primeira opção é mantida porque normalmente contém 
 * um texto (dica) para o usuario.
 */
function clean(selectOptions){
	while(selectOptions.options[1] != null ){
		selectOptions.options[1] = null;
	}
}

/* Inicia uma conexão externa
 *
 * Atraves dessa conexão é possivel executar outras paginas em back ground
 *
 */
function RequestHttp(){
	var xmlHttp;
	try
	{
		// Firefox, Opera 8.0+, Safari
		xmlHttp=new XMLHttpRequest();
	}
	catch (e)
	{
		// Internet Explorer
		try
	    {
	    	xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
	    }
		catch (e)
	    {
		    try
		    {
		      	xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
		     }
		    catch (e)
		    {
		      	alert("O navegador utilizado não suporta os scripts dessa pagina!");
		      	return false;
		    }
		}
	}
	return xmlHttp;
}