function select_innerHTML(objeto,innerHTML){
	objeto.innerHTML = "";
	var selTemp = document.createElement("micoxselect");
	var opt;
	selTemp.id="micoxselect1";
	document.body.appendChild(selTemp);
	selTemp = document.getElementById("micoxselect1");
	selTemp.style.display="none";
	if(innerHTML.toLowerCase().indexOf("<option")<0) {
		innerHTML = "<option>" + innerHTML + "</option>";
	}
	innerHTML = innerHTML.toLowerCase().replace(/<option/g,"<span").replace(/<\/option/g,"</span");

	selTemp.innerHTML = innerHTML;

	for(var i=0;i<selTemp.childNodes.length;i++) {
		var spantemp = selTemp.childNodes[i];
		if(spantemp.tagName) {
			opt = document.createElement("OPTION");
			if(document.all) { //IE
				objeto.add(opt);
			}else{
				objeto.appendChild(opt);
			}
			//getting attributes
			for(var j=0; j<spantemp.attributes.length ; j++) {
				var attrName = spantemp.attributes[j].nodeName;
				var attrVal = spantemp.attributes[j].nodeValue;
				if(attrVal) {
					try {
						opt.setAttribute(attrName,attrVal);
						opt.setAttributeNode(spantemp.attributes[j].cloneNode(true));
					} catch(e) {}
				}
			}
			//getting styles
			if(spantemp.style) {
				for(var y in spantemp.style) {
					try { opt.style[y] = spantemp.style[y]; } catch(e) {}
				}
			}
			//value and text
			opt.value = spantemp.getAttribute("value").toUpperCase();
			if (opt.value!='--') {
				opt.text = spantemp.innerHTML.toUpperCase();
			} else {
				opt.text = spantemp.innerHTML;
			}
			//IE
			opt.selected = spantemp.getAttribute('selected');
			opt.className = spantemp.className;
		}
	}
	document.body.removeChild(selTemp);
	selTemp = null;
}

function initRequest() {
	if (window.XMLHttpRequest) {
		return new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		isIE = true;
		return new ActiveXObject("Microsoft.XMLHTTP");
	}
}

function doCompletionAuthor() {
	document.getElementById('sel1').style.display = "none";
	if (document.getElementById('menu:form1:select0').value != "") {
		document.getElementById('sel1').style.display = "none";
		var url = "/locator.camper?autor=" + escape(document.getElementById('menu:form1:select0').value);
		var req = initRequest();
		req.onreadystatechange = function() {
			if (req.readyState == 4) {
				if (req.status == 200) {
					parseMessages(req.responseXML);
				}
			}
		};
		req.open("GET", url, true);
		req.send(null);
	}
}

function doCompletionCountry() {
	document.getElementById('sel2').style.display = "none";
	if (document.getElementById('menu:form1:select1').value != "--") {

		var url = "/locator.camper?pais=" + escape(document.getElementById('menu:form1:select1').value) + "&autor=" + escape(document.getElementById('menu:form1:select0').value);
		var req = initRequest();
		req.onreadystatechange = function() {
			if (req.readyState == 4) {
				if (req.status == 200) {
					parseMessages(req.responseXML);
				} else if (req.status == 204){
					//clearTable();
				}
			}
		};
		req.open("GET", url, true);
		req.send(null);
	}
}

function doCompletion() {
	if (document.getElementById('menu:form1:select1').value != "--") {
		document.getElementById('sel2').style.display = "none";
		var url = "/locator.camper?pais=" + escape(document.getElementById('menu:form1:select1').value);
		//var url = "/locator.camper?pais=" + escape(document.getElementById('menu:form1:select1').value) + "&autor=" + escape(document.getElementById('menu:form1:select0').value);
		var req = initRequest();
		req.onreadystatechange = function() {
			if (req.readyState == 4) {
				if (req.status == 200) {
					parseMessages(req.responseXML);
				} else if (req.status == 204){
					//clearTable();
				}
			}
		};
		req.open("GET", url, true);
		req.send(null);
	}
}

function doCompletionCity() {
	if (document.getElementById('menu:form1:select2').value != "--") {
		var url = "/locator.camper?ciudad=" + escape(document.getElementById('menu:form1:select2').value);
		var req = initRequest();
		req.onreadystatechange = function() {
			if (req.readyState == 4) {
				if (req.status == 200) {
					parseMessages(req.responseXML);
				} else if (req.status == 204){
					//clearTable();
				}
			}
		};
		req.open("GET", url, true);
		req.send(null);
	}
}

function parseMessages(responseXML) {
	/*clearTable();*/
	var paises = responseXML.getElementsByTagName("paises")[0];
	var ciudades = responseXML.getElementsByTagName("ciudades")[0];
	var tiendas = responseXML.getElementsByTagName("tiendas")[0];

	if (paises!=null){
		document.getElementById('menu:form1:select1').innerHTML = '';
		var inner="";
		for (loop = 0; paises.childNodes.length > loop; loop++) {
			var opcion = paises.childNodes[loop];
			var id = opcion.getElementsByTagName("id")[0].childNodes[0].nodeValue;
			var value = opcion.getElementsByTagName("value")[0].childNodes[0].nodeValue;
			if (window.ActiveXObject) {
				inner=inner+"<option value='"+id+"'>"+value+"</option>";
			} else {
				document.getElementById('menu:form1:select1').innerHTML = document.getElementById('menu:form1:select1').innerHTML+ '<option value="'+id+'">'+value+'</option>';
			}
		}
		if (window.ActiveXObject) {
			select_innerHTML(document.getElementById("menu:form1:select1"),inner);
		}
		document.getElementById('sel1').style.display = "block";
		document.getElementById('sel2').style.display = "none";
	}
	if (ciudades!=null) {
		document.getElementById('menu:form1:select2').innerHTML = '';
		document.getElementById('select2').innerHTML = '';
		var inner="";
		for (loop = 0; ciudades.childNodes.length > loop; loop++) {
			var opcion = ciudades.childNodes[loop];
			var id = opcion.getElementsByTagName("id")[0].childNodes[0].nodeValue;
			var value = opcion.getElementsByTagName("value")[0].childNodes[0].nodeValue;
			if (window.ActiveXObject) {
				inner=inner+"<option value='"+id+"'>"+value+"</option>";
			} else {
				document.getElementById('menu:form1:select2').innerHTML = document.getElementById('menu:form1:select2').innerHTML+ '<option value="'+id+'">'+value+'</option>';
				document.getElementById('select2').innerHTML = document.getElementById('select2').innerHTML+ '<option value="'+id+'">'+value+'</option>';
			}
		}
		if (window.ActiveXObject) {
			select_innerHTML(document.getElementById("menu:form1:select2"),inner);
			select_innerHTML(document.getElementById("select2"),inner);
		}
		document.getElementById('sel2').style.display = "block";
	}
}