var rellenar = {
	limpiar:function(objCmb){
		//Paso 1. borrar los elementos que hay en el combo de localidades
		for (var i=objCmb.length;i>=1;i--) { objCmb.remove(i);}
	},
	combo:function(elementoXML,objCmb){
		if (objCmb != null){
			rellenar.limpiar(objCmb);
			//Paso 2 rellenar con los nuevos elementos
			numItems = elementoXML.length;
			contIE=1;
			for (var i=0;i<elementoXML.length;i++) {
				var elOptNew = document.createElement('option');
				elOptNew.text = elementoXML[i].attributes[0].nodeValue;
				elOptNew.value = elementoXML[i].attributes[1].nodeValue;
				var elOptOld = objCmb.options[i+1];
				try {
					objCmb.add(elOptNew, elOptOld); // standards compliant; doesn't work in IE
				}
				catch(ex) {
					sIndex = objCmb.selectedIndex+contIE;
					objCmb.add(elOptNew, sIndex); // IE only
					contIE++;
				}
			}
		}
	}
}

var pedir = {
	localidad:function() {
		//direccion de donde se encuentra el fichero XML
		url="?pagename=BancoGallego/Comunes/Logica/BGLL_provinciasXML&cid="+dom.$("selProv").value; tagName = "city";
		peticion.data(url,tagName);
	},
	//rellena combo localidades
	leerLocalidades:function(elementoXML){ rellenar.combo(elementoXML,dom.$("selLoc"));},
	codPos:function(){
		url="?pagename=BancoGallego/Comunes/Logica/BGLL_cpXML&cid="+dom.$("selLoc").value; tagName = "cp";
		peticion.data(url,tagName);
	},
	leerCodPos:function(elementoXML){ rellenar.combo(elementoXML,dom.$("selCodPos"));}
}
var peticion={
	nuevoXML:function(){
		http_request = false;
		if (window.XMLHttpRequest) { // Mozilla, Safari,...
			http_request = new XMLHttpRequest();
			if (http_request.overrideMimeType) { http_request.overrideMimeType('text/xml');}
		} else if (window.ActiveXObject) { // IE
			try {
				http_request = new ActiveXObject("Msxml2.XMLHTTP");
			} catch (e) {
				try {
					http_request = new ActiveXObject("Microsoft.XMLHTTP");
				} catch (e) {}
			}
		}
		if (!http_request) {
			alert('Giving up :( Cannot create an XMLHTTP instance');
			return false;
		}
	},
	data:function(url,tagName) {
		http_request.open('GET', url, true);
		http_request.onreadystatechange = function(){
			if (http_request.readyState == 4){
				if (http_request.status == 200){
					var xmldoc = http_request.responseXML;
					var root_node = xmldoc.getElementsByTagName(tagName);
					if (tagName == "city") { pedir.leerLocalidades(root_node);}
						else { pedir.leerCodPos(root_node);}
				}
				else { alert('There was a problem with the request.');}
			}
		}
		http_request.send(null);
	}
}

