
/* @contructor */
//var AG2.Form = new Object();

/**
* Carrega os dados de um XML em um Combo box
* @param {Object} combo box a ser preenchido
* @param {String} URL com XML a ser preenchido
* @param {String} Valor inicial para o text combo
* @param {String} Valor inicial para o value combo
* @param {String} Roda essa instrução javascript em OnSucess se o combo não estiver vazio
* @requires xmlw3cdom Necessário ter o javascript xmlw3cdom para executar essa função
* @requires xmlw3cdom Necessário ter o javascript ajaxRequest para executar essa função
*/
//AG2.Form.fillCombo = function (combo, urlXml) {
function fillCombo(combo, xml, initialText, initialValue ) {
	
	AjaxRequest.get(
	  {
		'timeout':2000
		,'url':xml
		,'onLoading': function () {}
		,'onComplete': function () 
			{ 
			}
		,'onSuccess': 
		function(req) {
			//instancia do W3C DOM Parser
			var parser = new DOMImplementation();

			//carrega XML
			var domDoc = parser.loadXML(req.responseText);

			//obtem o no raiz (nesse caso é COMBO)
			var docRoot = domDoc.getDocumentElement();

			if (docRoot!=null) {
				//pega todas as tags OPTION
				var comboOptions = docRoot.getElementsByTagName("option");

				//limpa combo
				combo.options.length = 0;

				//adiciona item TODOS
				var option = document.createElement( "option" )
				option.setAttribute( "value", "");
				option.innerHTML = initialValue;
				combo.appendChild( option );

				//preenche itens 
				for (i=0;i<comboOptions.length;i++ )	{
				
					var option = document.createElement( "option" )
					option.setAttribute( "value", comboOptions.item(i).getAttributes().item(0).getNodeValue());
					option.innerHTML = comboOptions.item(i).getAttributes().item(1).getNodeValue();
					combo.appendChild( option );
				}
			} else {
				//limpa combo
				combo.options.length = 0;

				//adiciona item TODOS
				var option = document.createElement( "option" )
				option.setAttribute( "value", "");
				option.innerHTML = ":: Selecione ::";
				combo.appendChild( option );
			}
			
		}
		,'onError':function(req){ /*alert('Error!\nStatusText='+req.statusText+'\nContents='+req.responseText)*/;}
	  }
	);

}