function upcode(url) {
	var ajaxObject = false;
	try{
	ajaxObject = new XMLHttpRequest();
	}catch(ee){
	try{
	ajaxObject = new ActiveXObject("Msxml2.XMLHTTP");
	}catch(e){
	try{
	ajaxObject = new ActiveXObject("Microsoft.XMLHTTP");
	}catch(E){
	ajaxObject = false;
	}
	}
	}
	if (!ajaxObject) { alert('Sem suporte AJAX.'); }
	
	if(ajaxObject) { //alert(url);
		ajaxObject.open("GET",url,true);
		//ajaxObject.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");
		ajaxObject.onreadystatechange = function() {
			if ((ajaxObject.readyState == 4) && (ajaxObject.status == 200)) {
				var objxml = ajaxObject.responseXML; //alert(objxml);
				var txt = ajaxObject.responseText;
				
				if (objxml) {
					// LISTA CAMPOS
					campos = objxml.getElementsByTagName('root')[0].getElementsByTagName('campo'); //alert(campos.length);
					for(var i=0; i<campos.length; i++) {
						var id = campos[i].getAttribute('id'); //alert(id);
						var objeto = document.all.id; //alert(objeto);
						if (!objeto) { var objeto = document.getElementById(id); }
						if (objeto) {
							// atributos
							atributos = campos[i].getElementsByTagName('atributo'); //alert(atributos.length);
							for(var a=0; a<atributos.length; a++) {
								var name = atributos[a].getAttribute('name'); //alert(name);
								var value = atributos[a].firstChild.nodeValue; //alert(value);
								value = value.replace(/OPEN_TAG/g,'<');
								value = value.replace(/CLOSE_TAG/g,'>');
								value = value.replace(/E_E/g,'&');
								value = value.replace(/P_V/g,';'); //alert(value);
								selectors = name.split('.'); //alert(selectors.length);
								if (selectors.length == 1) { objeto[selectors[0]] = value; }
								if (selectors.length == 2) { objeto[selectors[0]][selectors[1]] = value; }
							}
							// atributos
						}
						
					}
					// LISTA CAMPOS
				}				
			}
		}
		ajaxObject.send(null);
	}
}
