/*
	Data de creacio: 27/02/2008
	Autors: IT Deusto (M. Molist)
	
	Data d'ultima modificacio: 03/09/2008
	Autors: IT Deusto (M. Molist)
	
	CSS: Definicio d'estils Carrerer
*/


function _addEvent(obj, evType, fn){ 

	if(obj.addEventListener){ 
		obj.addEventListener(evType, fn, false); 
		return true; 
	}else if (obj.attachEvent){ 
		return obj.attachEvent("on" + evType, fn); 
	}else{ 
		return false; 
	} 
 
	}

function _remEvent(obj, evType, fn) {
	if (obj.removeEventListener) {
		obj.removeEventListener(evType, fn, false);
		return true;
	}else if (obj.detachEvent) {
		return obj.detachEvent("on"+evType, fn);
	}else {
		return false;
	}
}

// On Load de la pagina
_addEvent(window,'load', function () {
	
	var loc = location.href;
	if(loc[loc.length-1] == "#")
		loc = loc.substr(0,loc.length-1);
	if(loc.indexOf("?") >= 0)
		loc = loc.substr(0,loc.indexOf("?"));	
	if (document.getElementById("versio_ajax")!=null)
	{
	document.getElementById("versio_ajax").href = loc;
	
	
	document.getElementById("link_ajax").style.display = "";		
		
	_addEvent(document.getElementById("versio_ajax"),'click',function(){
			evaluaVersioAjax();
		});
		
	var c = llegirCookie("carrerer");
	if (c==null) {
		cercadorM.setupEstils();
		cercadorM.capturaEvents();
		/*mapa.capturaEvents();
		mapa.setupEstils();
		zonaInfo.setupEstils();
		zonaInfo.capturaEvents();*/
		versioAjax = false;
		document.getElementById("versio_ajax").innerHTML = "Versi\u00F3 accessible";
		document.getElementById("versio_ajax").title = "Versi\u00F3 accessible";
		document.getElementById("versio_ajax").onclick="window.location = 'carrerer.php'"
	}
	else
		versioAjax = true;
	}
	else {
		versioAjax=true;
	}
});

var cercadorM = new cercadorMunicipis();

var delicious_callbacks = {};
var tempsDarreraResposta = 0;
var MaxResultats = 301;
var idMunicipiValidat = "";
var xMunicipiValidat = "";
var yMunicipiValidat = "";
var fzMunicipiValidat = "";
var idComarcaValidat = "";
var nomComarcaValidat = "";
var idViaValidat = "";
var idViaValidat2 = "";
var selectMunicipi="";
var selectComarca="";
var selectCarrer="";
var selectTaula = "";
var selectIdVia1 = "";
var selectIdVia2 = "";
var selectNum = "";
var xyResultatPuntual=0;
var xResultat = 0;
var yResultat = 0;
var xyResultatPuntualFilAriadna=0;
var xResultatFilAriadna = 0;
var yResultatFilAriadna = 0;
var fzResultat = 0;
var nomFilAriadna3 = "";
var VeureMapa = false;
var locsConsulta = "";
var locSeleccionat = "";
var missatgeMapa = "";
var locPuntInteres = "";

function cercadorMunicipis(){


	var _pestanyaActiva = "dv_cercadorAdreca";
	//var _bloquejat = false;  // no utilitzada
	var _contBackSpace = 0;
	this._loader;
	
	this.canviaPestanya = _canviaPestanya;
	this.mostraMapa = _mostraMapa;
	this.mostraMissatge = _mostraMissatge;
	this.comprovaTextMunicipi = _comprovaTextMunicipi;
	this.novaCerca = _novaCerca;
	this.novaCercaTotal = _novaCercaTotal;
	this.comprovaTextCarrer = _comprovaTextCarrer;
	this.comprovaTextNum = _comprovaTextNum;
	this.comprovaTextCruilla = _comprovaTextCruilla;
	this.mostraMapa = _mostraMapa;
	this.capturaEvents = _capturaEvents;
	this.mostraResultat = _mostraResultat;
	this.cancelaCercaResultat = _cancelaCercaResultat;
	this.dacordCercaResultat = _dacordCercaResultat;
	this.setupEstils = _setupEstils;
	this.handleKeyUp = _handleKeyUp;
	this.canviaDivMunicipi = _canviaDivMunicipi;
	
	this.cercaMunicipi = _cercaMunicipi;
	this.cercaMunicipi_gestionaInfoPunt = _cercaMunicipi_gestionaInfoPunt;
	this.cercaCarrer = _cercaCarrer;
	this.cercaCruilla = _cercaCruilla;
	this.cercaIndret = _cercaIndret;
	this.cercaPuntsI = _cercaPuntsI;
	this.cercaNum = _cercaNum;
	this.registrarExtent = _registrarExtent;
	
	this.mostraLocalitzacionsMunicipis = _mostraLocalitzacionsMunicipis;
	this.mostraLocalitzacionsMunicipis_gestionaInfoPunt = _mostraLocalitzacionsMunicipis_gestionaInfoPunt;
	this.mostraLocalitzacionsCarrers = _mostraLocalitzacionsCarrers;
	this.mostraLocalitzacionsCruilles = _mostraLocalitzacionsCruilles;
	this.mostraLocalitzacionsIndrets = _mostraLocalitzacionsIndrets;
	this.mostraLocalitzacionsPuntsI = _mostraLocalitzacionsPuntsI;
	this.mostraLocalitzacionsNums = _mostraLocalitzacionsNums;
	this.gestionaZoomMun = _gestionaZoomMun;
	this.gestionaZoomCom = _gestionaZoomCom;
	this.gestionaZoomLlogaret = _gestionaZoomLlogaret;
	this.gestionaInfoPunt = _gestionaInfoPunt;
	this.gestionaInfoPunt_RecuperarComarca = _gestionaInfoPunt_RecuperarComarca;
	this.ocultaFilAriadna = _ocultaFilAriadna;
	this.actFilAriadna3 = _actFilAriadna3;
	this.preZoomMunicipi = _preZoomMunicipi;
	this.zoomFilAriadna3 = _zoomFilAriadna3;
	this.preZoomComarca = _preZoomComarca;
	this.preInfoPunt = _preInfoPunt;
	this.preZoomLlogaret = _preZoomLlogaret;
	
	this.iniciDescripcio = _iniciDescripcio;
	this.ocultaDescripcio = _ocultaDescripcio;
	this.gestionaPOIDescripcio = _gestionaPOIDescripcio;
	this.gestionaMunComDescripcio = _gestionaMunComDescripcio;
	this.gestionaCruillesProperesDescripcio = _gestionaCruillesProperesDescripcio;
	this.iniciLinkExtern = _iniciLinkExtern;
	this.ocultaLinkExtern = _ocultaLinkExtern;
		
	function _creaFormMunicipi(id){
	
		var itemDiv = document.createElement("div");
		itemDiv.className = "FW_sInputCercador";
		itemDiv.setAttribute("id", "dv_municipi" + id);
		
		//label
		var itemLabel = document.createElement("label");
		itemLabel.setAttribute("for", "ctl_municipi" + id);
		itemLabel.innerHTML = "<span class=\"FW_sLabel\">Municipi</span>";
		itemDiv.appendChild(itemLabel);
		itemDiv.appendChild(document.createElement("br"));
		
		//input
		
		var itemInput = document.createElement("input");
		itemInput.className = "FW_sEditCarrer FW_fEditEstils";
		itemInput.setAttribute("type", "text");
		itemInput.setAttribute("id", "ctl_municipi" + id);
		itemInput.style.width = 195 + "px";
		itemDiv.appendChild(itemInput);
		
		return itemDiv;
	}
	
	
	function _canviaDivMunicipi(id){
		var divMunicipi = document.getElementById("dv_municipi");
		var parentMunicipi = divMunicipi.parentNode;
		
		_remEvent(document.getElementById("ctl_municipi"),'keyup',cercadorM.handleKeyUp);
		parentMunicipi.removeChild(divMunicipi);
		var nouParent;
		switch (id) {
			case "tab1":
				nouParent = document.getElementById("dv_cercadorAdreca");
				nouParent.insertBefore(divMunicipi, nouParent.firstChild);
				break;
			case "tab2":
				nouParent = document.getElementById("dv_cercadorIndret");
				nouParent.insertBefore(divMunicipi, nouParent.firstChild);
				break;
			case "tab3":
				nouParent = document.getElementById("dv_cercadorPuntsInteres");
				nouParent.insertBefore(divMunicipi, nouParent.firstChild);
				break;
		}
		_addEvent(document.getElementById("ctl_municipi"), 'keyup', cercadorM.handleKeyUp);
		_novaCerca();
		switch (id) {
			case "tab1":
				if (idMunicipiValidat != "")
				{
					document.getElementById("ctl_carrer").disabled=false;
					document.getElementById("ctl_carrer").className= "FW_sEditCarrer FW_fEditEstils FW_sBackgroundBlanc";					
					document.getElementById("ctl_carrer").focus();
					document.getElementById("ctl_cruilla").disabled=false;
					document.getElementById("ctl_cruilla").className= "FW_sEditCarrer FW_fEditEstils FW_sBackgroundBlanc";										
					document.getElementById("ctl_num").disabled=false;
					document.getElementById("ctl_num").className= "FW_sEditNum FW_fEditEstils FW_sBackgroundBlanc";								
					document.getElementById("bt_veureLlistaCarrer").disabled = false;
					document.getElementById("bt_veureLlistaCruilla").disabled = false;
					document.getElementById("bt_veureLlistaCarrer").style.cursor = "pointer";
					document.getElementById("bt_veureLlistaCruilla").style.cursor = "pointer";					
				}	
				break;
			case "tab2":
				if (idMunicipiValidat != "") document.getElementById("ctl_indret").focus();
				break;
			case "tab3":
				if (idMunicipiValidat != "") document.getElementById("ctl_puntsI").focus();				
				break;
		}		
	}
	/* Inici funcions generals */
	function _setupEstils() {
		var item;
		document.getElementById("bt_cercaMunicipi").style.display = "none";
		document.getElementById("bt_cercaCarrer").style.display = "none";
		document.getElementById("bt_cercaCruilla").style.display = "none";
		document.getElementById("bt_cercaIndret").style.display = "none";
		document.getElementById("bt_cercaPuntsI").style.display = "none";

		document.getElementById("ctl_municipi").style.width = 195 + "px";
		document.getElementById("ctl_carrer").style.width = 195 + "px";
		
		if ( document.getElementById("ctl_municipi").type != "hidden" && document.getElementById("ctl_municipi").style.display != "" && document.getElementById("ctl_municipi").style.display != "none"  && !document.getElementById("ctl_municipi").disabled )
		  document.getElementById("ctl_municipi").focus();
		document.getElementById("ctl_cruilla").style.width = 153 + "px";
		document.getElementById("ctl_indret").style.width = 195 + "px";
		document.getElementById("ctl_puntsI").style.width = 195 + "px";
		
		document.getElementById("ctl_carrer").disabled = false;
		document.getElementById("ctl_indret").disabled = false;
		document.getElementById("ctl_puntsI").disabled = false;
		document.getElementById("bt_veureLlistaCarrer").disabled = true;
		document.getElementById("bt_veureLlistaCruilla").disabled = true;
		document.getElementById("bt_veureLlistaCarrer").style.cursor = "default";
		document.getElementById("bt_veureLlistaCruilla").style.cursor = "default";
		document.getElementById("bt_novaCerca").style.cursor = "pointer";
		
		document.getElementById("cerca_adreca").childNodes[0].innerHTML = "Adre\u00E7a";
		document.getElementById("cerca_indret").childNodes[0].innerHTML = "Indret";
		document.getElementById("cerca_punts").childNodes[0].innerHTML = "Punt d\'inter\u00E8s";
		/*document.getElementById("ctl_tipusPI").style.display = "none";
		document.getElementById("lbl_tipusPI").style.display = "none";*/				
	
		//_novaCerca();
	}
	
	function _mostraMapa() {
	if (xResultat != 0)
	{
		map.setCenter(new OpenLayers.LonLat(xResultat,yResultat),fzResultat, false, true);	
		if (missatgeMapa != "") mapa.mostraMissatgeAvis(true,missatgeMapa,false);
		actRessaltar();				
		if (idComarcaValidat != "") actFilAriadnaComarca(idComarcaValidat,nomComarcaValidat);	
		actFilAriadnaPoblacio(idMunicipiValidat,xMunicipiValidat,yMunicipiValidat,fzMunicipiValidat,document.getElementById("ctl_municipi").value);	
		_actFilAriadna3(idViaValidat);	
	}
	else
	{
			VeureMapa = 1;			
			xyResultatPuntual = 0;
			xResultat = 0;
			yResultat = 0;
			xyResultatPuntualFilAriadna = 0;
			xResultatFilAriadna = 0;
			yResultatFilAriadna = 0;
			fzResultat = 0;			
			locSeleccionat = "";
			locsConsulta = "";
			esborrarSel();	
			missatgeMapa="";
			if(document.getElementById("ctl_cruilla").value != "") _loader.getCruilles();			
			else
			{
				if(document.getElementById("ctl_num").value != "") _loader.getNum();
				else
				{
					if(document.getElementById("ctl_carrer").value != "") {_loader.getCarrers();}
					else
					{
						if(document.getElementById("ctl_indret").value != "") _loader.getIndrets();
						else
						{
							//var t_div_tipus = document.getElementById("ctl_tipusPI");
							//if ((t_div_tipus.selectedIndex != 0) || (document.getElementById("ctl_puntsI").value != ""))
							if (document.getElementById("ctl_puntsI").value != "")
							   _loader.getPuntsI();
							else
							{
								if(document.getElementById("ctl_municipi").value != "") _loader.getMunicipis();
								else
									VeureMapa = false;
							}
						}
					}
				}				
			}
		//}
	}
	}
	
	function _mostraMissatge(text,id) {
		var divMissatge, divResultat;
		
		if (document.getElementById("dv_missatges") == null) {
			divMissatge = document.createElement("div");
			divMissatge.setAttribute("id", "dv_missatges");
			divMissatge.className = "FW_sAreaMissatges";
		}
		else	
			divMissatge = document.getElementById("dv_missatges");
		divMissatge.innerHTML = text;
		if (id == "num") id = "cruilla";
		divResultat = document.getElementById("dv_" + id);
		divResultat.appendChild(divMissatge);
		
		
	}
	
	function _ocultaMissatge() {
		var div;		
		if (document.getElementById("dv_missatges")) {
			div = document.getElementById("dv_missatges").parentNode;
			div.removeChild(document.getElementById("dv_missatges"));
		}
	}
	
	function _ocultaFilAriadna() {
		document.getElementById("a_FilAriadna1").style.visibility = 'hidden';	
		document.getElementById("a_FilAriadna2").style.visibility = 'hidden';	
		document.getElementById("a_FilAriadna3").style.visibility = 'hidden';	
		document.getElementById("sp_FilAriadna1").style.visibility = 'hidden';		
		document.getElementById("sp_FilAriadna2").style.visibility = 'hidden';	
		document.getElementById("a_FilAriadna1").innerHTML = '';		
		document.getElementById("a_FilAriadna2").innerHTML = '';			
		document.getElementById("a_FilAriadna3").innerHTML = '';		
	}
	
	function _novaCercaTotal() {
		idMunicipiValidat="";
		xMunicipiValidat="";
		yMunicipiValidat="";
		document.getElementById("ctl_municipi").value = "";		
		_novaCerca(true);
	}
	
	function _novaCerca(zoomTotal) {
		var cercador = document.getElementById("cercadorCarrerer");
		items = cercador.getElementsByTagName("input");
		for(i=0;i<items.length;i++) {
			if ((items[i].type == "text") && (items[i].id != "ctl_municipi"))
				items[i].value = "";
			if(items[i].id == "ctl_carrer")
				items[i].disabled = true;				
			if(items[i].id == "ctl_num")
				items[i].disabled = true;				
			if(items[i].id == "ctl_cruilla")
				items[i].disabled = true;			
		}
		if (zoomTotal) map.zoomToMaxExtent();
		esborrarSel();
		xyResultatPuntual = 0;
		xResultat = 0;
		yResultat = 0;
		xyResultatPuntualFilAriadna = 0;
		xResultatFilAriadna = 0;
		yResultatFilAriadna = 0;
		fzResultat = 0;
		VeureMapa = false;
		locsConsulta = "";
		locSeleccionat = "";
		missatgeMapa = "";
		idViaValidat="";
		idViaValidat2="";
		idComarcaValidat = "";
        	nomComarcaValidat = "";
		nomFilAriadna3 = "";
		if (layer_marker_maptip) layer_marker_maptip.clearMarkers();
		if (layer_marker_indicaPunt) layer_marker_indicaPunt.clearMarkers();
		if (layer_marker_mostrarFitxa_cerca) layer_marker_mostrarFitxa_cerca.clearMarkers();	   
		if (layer_marker_mostrarFitxa) layer_marker_mostrarFitxa.clearMarkers();
		if (document.getElementById("missatgeAvis")!=null) 
		{
			var div = document.getElementById("missatgeAvis").parentNode;
			div.removeChild(document.getElementById("missatgeAvis"));
		}
		//Netegem el punt del mapa de referència
		if (layer_marker_indicaPunt_ref) layer_marker_indicaPunt_ref.clearMarkers();	
		
		if (map.popups.length > 0) mapa.removePopups();				
		var temp_features = layer_edit.features;
		if (temp_features.length > 0) layer_edit.removeFeatures(temp_features);		
		if ( document.getElementById("ctl_municipi").type != "hidden" && document.getElementById("ctl_municipi").style.display != "" && document.getElementById("ctl_municipi").style.display != "none"  && !document.getElementById("ctl_municipi").disabled )
			document.getElementById("ctl_municipi").focus();		
		document.getElementById("ctl_carrer").className= "FW_sEditNum FW_fEditEstils FW_sBackgroundGris";
		document.getElementById("ctl_num").className= "FW_sEditNum FW_fEditEstils FW_sBackgroundGris";		
		document.getElementById("ctl_cruilla").className= "FW_sEditCruilla FW_fEditEstils FW_sBackgroundGris";

		document.getElementById("bt_veureLlistaCarrer").disabled = true;
		document.getElementById("bt_veureLlistaCruilla").disabled = true;
		document.getElementById("bt_veureLlistaCarrer").style.cursor = "default";
		document.getElementById("bt_veureLlistaCruilla").style.cursor = "default";
	
		var items = cercador.getElementsByTagName("select");
				for(i=0;i<items.length;i++) {
					items[i].selectedIndex = "";
		}
		_reiniciaLlistaResultat();
		mapa.tancaMissatge();
		_ocultaMissatge();
		_ocultaFilAriadna();
		_desbloquejaCercador();
		zonaInfo.mostraPestanya("tab4");
	}
	
	function _canviaPestanya(id) {
//aquesta funcio no es crida
		if (_bloquejat == false) {
		
			_pestanyaActiva = id;
			var opAdreca = document.getElementById("ps_pestanyaAdreca")
			var opIndret = document.getElementById("ps_pestanyaIndret");
			var opPuntsI = document.getElementById("ps_pestanyaPuntsI");
			var oAdreca = document.getElementById("dv_cercadorAdreca")
			var oIndret = document.getElementById("dv_cercadorIndret");
			var oPuntsI = document.getElementById("dv_cercadorPuntsInteres");
			document.getElementById("ctl_municipi").focus();
			switch (_pestanyaActiva) {
				case "dv_cercadorAdreca":
					opAdreca.className = "FW_sPestanyesSel";
					opIndret.className = "FW_sPestanyesNoSelGris";
					opPuntsI.className = "FW_sPestanyesNoSelGris_ultim";
					oAdreca.style.display = "";
					oIndret.style.display = "none";
					oPuntsI.style.display = "none";
					if (idMunicipiValidat != "")
					{
						document.getElementById("ctl_carrer").disabled=false;
						document.getElementById("ctl_carrer").className= "FW_sEditCarrer FW_fEditEstils FW_sBackgroundBlanc";
						document.getElementById("ctl_carrer").value="";
						document.getElementById("ctl_carrer").focus();
						document.getElementById("ctl_num").disabled=false;
						document.getElementById("ctl_num").className= "FW_sEditNum FW_fEditEstils FW_sBackgroundBlanc";								
						document.getElementById("ctl_num").value="";
						document.getElementById("ctl_cruilla").disabled=false;
						document.getElementById("ctl_cruilla").className= "FW_sEditCarrer FW_fEditEstils FW_sBackgroundBlanc";																
						document.getElementById("ctl_cruilla").value="";
					}					
					break;
				case "dv_cercadorIndret":
					opAdreca.className = "FW_sPestanyesNoSelGris";
					opIndret.className = "FW_sPestanyesSel";
					opPuntsI.className = "FW_sPestanyesNoSelGris_ultim";
					oAdreca.style.display = "none";
					oIndret.style.display = "";
					oPuntsI.style.display = "none";
					break;
				case "dv_cercadorPuntsInteres":
					opAdreca.className = "FW_sPestanyesNoSelGris";
					opIndret.className = "FW_sPestanyesNoSelGris";
					opPuntsI.className = "FW_sPestanyesSel_ultim";
					oAdreca.style.display = "none";
					oIndret.style.display = "none";
					oPuntsI.style.display = "";
					break;
			}			
			_reiniciaLlistaResultat();
			_ocultaMissatge();
			_desbloquejaCercador();
			_novaCerca();
		}
	}
	
	function _reiniciaLlistaResultat() {
		
		var resultats = document.getElementById("dv_resultats");
		if(resultats != null) {
			var nodePare = resultats.parentNode;
			nodePare.removeChild(resultats);
		}
	}
	
	
	function _creaResultat(param) {
		var resultat = document.createElement("div");
		resultat.className = "FW_sZonaResultats";
		resultat.id = "dv_resultats";
		
		// isabel
		// afegir size=3 (municipis = sad)
		resultat.innerHTML = "<label for=\"ctl_llistaResultats\"><h5 class=\"FW_sTitolResultats\">Seleccioneu el carrer</h5></label><div class=\"FW_sCaixaResultats\"><select class=\"FW_sSelectResultat FW_fEditEstils\" id=\"ctl_llistaResultats\" ></select></div><div class=\"FW_sZonaButtonResultats\"><input type=\"button\" value=\"D'acord\" class=\"FW_sFloatLeft FW_sButtonNeg\" title=\"\" alt=\"\" id=\"bt_dacord\" onclick=\"cercadorM.dacordCercaResultat();\"/><input type=\"button\" value=\"Cancel&middot;la\" class=\"FW_sFloatRight FW_sButtonNeg2\" title=\"\" alt=\"\" id=\"bt_cancel\" onclick=\"cercadorM.cancelaCercaResultat();\" /></div><div class=\"FW_clear\"></div>"
		
		return resultat;
	}
	/* Fi funcions generals */
	
	function _mostraResultat(id,itemsResultat,itemsResultatIntern) {				
		missatgeMapa = "";
		esborrarSel();		
		var divResultat, objXML, item, camp, cerca, num, titol;
		var resultat = document.getElementById("dv_resultats");
		if (resultat != null) 
			resultat.parentNode.removeChild(resultat);
		
		switch(id) {
			case "municipi":
				divResultat = document.getElementById("dv_municipi");
				resultat = _creaResultat("municipi");
				titol = resultat.getElementsByTagName("h5");
				titol[0].innerHTML = "Seleccioneu el municipi";
				break;
			
			case "carrer":				
				num = document.getElementById("ctl_num").value;				
				if(num == "")
					divResultat = document.getElementById("dv_carrer");
				else
					divResultat = document.getElementById("dv_cruilla");
				
				resultat = _creaResultat("carrer");
				titol = resultat.getElementsByTagName("h5");
				titol[0].innerHTML = "Seleccioneu el carrer";
				break;
				
			case "cruilla":
			
				divResultat = document.getElementById("dv_cruilla");
				resultat = _creaResultat("cruilla");
				titol = resultat.getElementsByTagName("h5");
				titol[0].innerHTML = "Seleccioneu la cru&iuml;lla";
				break;
				
			case "indret":				
				//divResultat = document.getElementById("dv_indret");
				divResultat = document.getElementById("dv_cercadorIndret");
				resultat = _creaResultat("indret");
				titol = resultat.getElementsByTagName("h5");
				titol[0].innerHTML = "Seleccioneu l'indret";
				break;
			
			case "puntsI":
				divResultat = document.getElementById("dv_cercadorPuntsInteres");
				resultat = _creaResultat("puntsI");
				titol = resultat.getElementsByTagName("h5");
				titol[0].innerHTML = "Seleccioneu el punt d'inter&egrave;s";
				break;	
				
			case "num":
				num = document.getElementById("ctl_num").value;				
				if(num == "")
					divResultat = document.getElementById("dv_carrer");
				else
					divResultat = document.getElementById("dv_cruilla");				
				resultat = _creaResultat("carrer");
				titol = resultat.getElementsByTagName("h5");
				titol[0].innerHTML = "Seleccioneu l'adre&ccedil;a";
				break;		
		}
		divResultat.appendChild(resultat);

		_addEvent(document.getElementById("ctl_llistaResultats"),'keyup',cercadorM.handleKeyUp);
		_addEvent(document.getElementById("ctl_llistaResultats"),'dblclick',cercadorM.dacordCercaResultat);

		if (itemsResultat.length == 1) {
		}
		else {
			var llista = document.getElementById("ctl_llistaResultats");
			if (itemsResultat.length > 0) {
				for (i = 0; i < itemsResultat.length; i++) {
					
					item = document.createElement("option");
					if (i == 0) 
						item.className = "FW_sBackColorFosc";
					else {
						if (i % 2 == 0) 
							item.className = "FW_sBackColorFosc";
						else 
							item.className = "FW_sBackColorClar";
					}
					//item.innerHTML = itemsResultat[i].firstChild.data;
					//item.value = itemsResultat[i].firstChild.data;
					item.innerHTML = itemsResultat[i];
					item.value = itemsResultatIntern[i];
					item.alt = itemsResultat[i];
					item.title = itemsResultat[i];
					item.selected = false;
					llista.appendChild(item);
				}
				
				if (i >= 10) 
					llista.size = 10;					
				else 
					llista.size = i;

				var mostrats = MaxResultats -1;
				if ((itemsResultat.length > mostrats))
					_mostraMissatge("Nom&eacute;s es mostren els " + mostrats + " primers.",id);					
				else
				{
					if (id == "num") 
						temp_id = "adrece";
					else
					{
						if (id == "cruilla") 
							temp_id = "cru&iuml;lle";
						else
						{
							if (id == "puntsI") 
								temp_id = "punt";
							else
								temp_id = id;
						}
					}
					_mostraMissatge("S'han trobat " + i + " " + temp_id + "s", id);
				}
				_bloquejaCercador();
				if (id != "municipi") {
						document.getElementById("ctl_llistaResultats").focus();
				}
			}
			
		}				
	}
	
	function _cancelaCercaResultat(){		
		var resultat = document.getElementById("dv_resultats").parentNode;
		switch(resultat.id) {
			case "dv_municipi":
				document.getElementById("ctl_municipi").value = "";
				document.getElementById("ctl_municipi").focus();
				break;
			case "dv_carrer":
				document.getElementById("ctl_carrer").value = "";
				document.getElementById("ctl_carrer").focus();
				document.getElementById("ctl_num").value = "";
				document.getElementById("bt_veureLlistaCarrer").disabled=false;
				document.getElementById("bt_veureLlistaCarrer").style.cursor = "pointer";				
				break;
			case "dv_cruilla":
				if (document.getElementById("ctl_num").value == "")
				{
				document.getElementById("ctl_cruilla").value = "";
				document.getElementById("ctl_cruilla").focus();
				document.getElementById("bt_veureLlistaCruilla").disabled=false;
				document.getElementById("bt_veureLlistaCruilla").style.cursor = "pointer";									
				}
				else
				{
				document.getElementById("ctl_num").value = "";
				document.getElementById("ctl_num").focus();
				document.getElementById("bt_veureLlistaCruilla").disabled=true;
				document.getElementById("bt_veureLlistaCruilla").style.cursor = "default";									
				}				
				break;				
			case "dv_cercadorIndret":
				document.getElementById("ctl_indret").value = "";
				document.getElementById("ctl_indret").focus();
				break;			
			case "dv_cercadorPuntsInteres":
				document.getElementById("ctl_puntsI").value = "";
				document.getElementById("ctl_puntsI").focus();
				break;
		}
		
		resultat.removeChild(document.getElementById("dv_resultats"));
		_ocultaMissatge();
		_desbloquejaCercador();
		//document.getElementById("bt_veureLlistaCarrer").disabled=false;
		//document.getElementById("bt_veureLlistaCruilla").disabled=false;
	}
	
	function _dacordCercaResultat(){
		missatgeMapa = "";
		var divResultat = document.getElementById("dv_resultats").parentNode;
		resultat = document.getElementById("ctl_llistaResultats");
		var loc = locsConsulta[resultat.options[resultat.selectedIndex].value];
		var id = "mun";
		switch(divResultat.id) {
			case "dv_municipi":
				locSeleccionat = locsConsulta[resultat.options[resultat.selectedIndex].value];
				document.getElementById("ctl_municipi").value = locSeleccionat.adreca.municipi.nom;
				idMunicipiValidat = locSeleccionat.adreca.municipi.id;	
				if (idMunicipiValidat.substring(0,1)== "8") idMunicipiValidat = "0" + idMunicipiValidat;				
				xMunicipiValidat="";
				yMunicipiValidat="";
				selectMunicipi = idMunicipiValidat;	
				selectCarrer = "";	
				idComarcaValidat = locSeleccionat.adreca.comarca.id;					
				nomComarcaValidat = locSeleccionat.adreca.comarca.nom;
				document.getElementById("ctl_carrer").disabled=false;
				document.getElementById("bt_veureLlistaCarrer").disabled = false;
				document.getElementById("bt_veureLlistaCruilla").disabled = true;
				document.getElementById("bt_veureLlistaCarrer").style.cursor = "pointer";					
				document.getElementById("bt_veureLlistaCruilla").style.cursor = "default";									
				document.getElementById("ctl_carrer").className = "FW_sEditCarrer FW_fEditEstils FW_sBackgroundBlanc";										
				document.getElementById("ctl_num").disabled = false;
				document.getElementById("ctl_num").className = "FW_sEditNum FW_fEditEstils FW_sBackgroundBlanc";																		
				document.getElementById("ctl_num").value="";				
				setTimeout("document.getElementById('ctl_carrer').value=''",1000);	
				setTimeout("document.getElementById('ctl_indret').value=''",1000);	
				setTimeout("document.getElementById('ctl_puntsI').value=''",1000);				
				document.getElementById("ctl_cruilla").disabled = false;
				document.getElementById("ctl_cruilla").value="";
				document.getElementById("ctl_cruilla").className = "FW_sEditNum FW_fEditEstils FW_sBackgroundBlanc";	
				if ($('dv_municipi').next(0).id == "dv_carrer")
					document.getElementById("ctl_carrer").focus();
				else 
				{	if ($('dv_municipi').next(0).id == "dv_indret")
						document.getElementById("ctl_indret").focus();
					else
						document.getElementById("ctl_puntsI").focus();
				}
				break;
			case "dv_carrer":
				locSeleccionat = locsConsulta[resultat.options[resultat.selectedIndex].value];
				var sNom = locSeleccionat.adreca.via.tipus;
				if (trim(locSeleccionat.adreca.via.article) != "") sNom += " " + trim(locSeleccionat.adreca.via.article);
				sNom += " " + locSeleccionat.adreca.via.nom;
				document.getElementById("ctl_carrer").value = sNom;
				idMunicipiValidat = locSeleccionat.adreca.municipi.id;
				if (idMunicipiValidat.substring(0,1)== "8") idMunicipiValidat = "0" + idMunicipiValidat;				
				xMunicipiValidat="";
				yMunicipiValidat="";	
				idViaValidat = locSeleccionat.adreca.via.id;	
				selectCarrer = idViaValidat;					
				document.getElementById("ctl_num").disabled=false;
				document.getElementById("ctl_num").className= "FW_sEditNum FW_fEditEstils FW_sBackgroundBlanc";										
				document.getElementById("ctl_num").value = "";				
				document.getElementById("ctl_num").focus();
				document.getElementById("ctl_cruilla").disabled=false;
				document.getElementById("bt_veureLlistaCruilla").disabled=true;
				document.getElementById("bt_veureLlistaCarrer").disabled=true;
				document.getElementById("bt_veureLlistaCarrer").style.cursor = "default";
				document.getElementById("bt_veureLlistaCruilla").style.cursor = "default";
				document.getElementById("ctl_cruilla").className= "FW_sEditCruilla FW_fEditEstils FW_sBackgroundGris";													
				break;
			case "dv_cruilla":
				locSeleccionat = locsConsulta[resultat.options[resultat.selectedIndex].value];

				if (locSeleccionat.adreca)
				{
					document.getElementById("ctl_num").value = locSeleccionat.adreca.portal;
					document.getElementById("ctl_num").className= "FW_sEditNum FW_fEditEstils FW_sBackgroundBlanc";										
					var sNom = locSeleccionat.adreca.via.tipus;
					if (trim(locSeleccionat.adreca.via.article) != "") sNom += " " + trim(locSeleccionat.adreca.via.article);
					sNom += " " + locSeleccionat.adreca.via.nom;
					document.getElementById("ctl_carrer").value = sNom;
					idViaValidat = locSeleccionat.adreca.via.id;
					
					if (locSeleccionat.coordenades.x != 0)
					{
						xyResultatPuntual = 1;
						xResultat = locSeleccionat.coordenades.x;
						yResultat = locSeleccionat.coordenades.y;						
					}
					_mostraMapa();				
				}
				else
				{										
					var sNom = locSeleccionat.cruilla.vies[1].tipus;
					document.getElementById("ctl_cruilla").className= "FW_sEditNum FW_fEditEstils FW_sBackgroundBlanc";										
					if (trim(locSeleccionat.cruilla.vies[1].article) != "") sNom += " " + trim(locSeleccionat.cruilla.vies[1].article);
					sNom += " " + locSeleccionat.cruilla.vies[1].nom;
					document.getElementById("ctl_cruilla").value = sNom;					
					idViaValidat = locSeleccionat.cruilla.vies[0].id;
					idViaValidat2 = locSeleccionat.cruilla.vies[1].id;					
					_loader.getCruilles();									
				}
				break;				
			case "dv_cercadorIndret":			
				_registrarExtent(loc,"indret");	
				break;				
			case "dv_cercadorPuntsInteres":	
	 			 locSeleccionat = locsConsulta[resultat.options[resultat.selectedIndex].value];		
				_registrarExtent(loc,"puntsI");	
				break;
		}				

		var resultat = document.getElementById("dv_resultats");
		if (resultat != null) 
					resultat.parentNode.removeChild(resultat);
		
		//divResultat.removeChild(document.getElementById("dv_resultats"));
		
		_ocultaMissatge();
//		_comprovaTextCarrer()
		_desbloquejaCercador();
		/*document.getElementById("bt_veureLlistaCarrer").disabled=false;
		document.getElementById("bt_veureLlistaCruilla").disabled=false;*/
	}
	
	function _comprovaTextMunicipi(id) {
		text = document.getElementById(id).value;
		
		if(text.length <3) {
			if (text.length > 0) {
				var resultat = document.getElementById("dv_resultats");
				if (resultat != null) 
					resultat.parentNode.removeChild(resultat);
				_mostraMissatge("Per seleccionar per municipi, cal indicar com a mÃ­nim tres lletres.", "municipi");
				return false;
			}
			else	
				_ocultaMissatge();
		}
		else {
			_ocultaMissatge();
			//_cercaMunicipi();
			_loader.getMunicipis();
			return true;
		}
	}
	
	function _comprovaTextCarrer(e) {	
		return;
		/*if(document.getElementById("ctl_carrer").value != "") {
			_comprovaTextNum();
			_comprovaTextCruilla();			
		}
		else {
			document.getElementById("ctl_cruilla").disabled=true;
			document.getElementById("ctl_num").disabled=true;
			document.getElementById("ctl_cruilla").value="";
			document.getElementById("ctl_num").value="";			
			document.getElementById("bt_veureLlistaCruilla").disabled = true;
			document.getElementById("ctl_cruilla").className= "FW_sEditCruilla FW_fEditEstils FW_sBackgroundGris";			
		}*/
	}
	
	function _comprovaTextNum() {
		return;
		/*if(document.getElementById("ctl_num").value == "") {
			document.getElementById("ctl_cruilla").disabled=false;
			document.getElementById("ctl_cruilla").className= "FW_sEditCruilla FW_fEditEstils FW_sBackgroundBlanc";
			document.getElementById("bt_veureLlistaCruilla").disabled = false;
		}
		else {
			document.getElementById("ctl_cruilla").disabled=true;
			document.getElementById("ctl_cruilla").className= "FW_sEditCruilla FW_fEditEstils FW_sBackgroundGris";
			document.getElementById("bt_veureLlistaCruilla").disabled = true;
		}*/
	}
	
	function _comprovaTextCruilla() {
		return;
		/*if(document.getElementById("ctl_cruilla").value == "") {
			document.getElementById("ctl_num").disabled=false;
			document.getElementById("ctl_num").className= "FW_sEditNum FW_fEditEstils FW_sBackgroundBlanc";
		}
		else {
			document.getElementById("ctl_num").disabled=true;
			document.getElementById("ctl_num").className= "FW_sEditNum FW_fEditEstils FW_sBackgroundGris";
		}*/
	}
	
	function _bloquejaCercador() {
		document.getElementById("bt_mostraMapa").disabled = true;
	}
	
	function _desbloquejaCercador() {
		document.getElementById("bt_mostraMapa").disabled = false;
	}
	
	/*funcions de cerca */
	
	function _cercaMunicipi(resp) {		
		var itemsResultat = new Array();
		var itemsResultatIntern = new Array();
		/*
		camp = document.getElementById("ctl_municipi").value;
		if (camp == "") {
			itemsResultat = objXML.getElementsByTagName("municipi");
		}
		else {
			cerca = objXML.getElementsByTagName("municipi");
			
			for (i=0;i<cerca.length;i++) {
				
				str = cerca[i].firstChild.data.substring(0,camp.length);
				if(str.toLowerCase() == camp.toLowerCase()) {
					itemsResultat.push(cerca[i]);
				}
			}
		}*/
		var locs = resp;
		locsConsulta = locs;
		if (locs.length == undefined) {
				_mostraMissatge("Hi ha problemes en el servei de cerca", "municipi");			
				return;
		}		
		if (locs.length == 0) {				
				_mostraMissatge("No existeix el municipi amb nom " +  document.getElementById("ctl_municipi").value, "municipi");	
				_reiniciaLlistaResultat();		
				return;
		}				
		if (locs.length == 1) 
			_registrarExtent(locs[0],"municipi");	
		else
		{
			for (var i=0;i<locs.length;i++) 
			{
				var loc = locs[i];
				itemsResultat.push(loc.adreca.municipi.nom);
				itemsResultatIntern.push(i);
			}
			_mostraResultat("municipi",itemsResultat,itemsResultatIntern);
		}
	}
	function _cercaMunicipi_gestionaInfoPunt(resp) {		
		var itemsResultat = new Array();
		var itemsResultatIntern = new Array();
		var locs = resp;
		locsConsulta = locs;
		if (locs.length == undefined) {
				_mostraMissatge("Hi ha problemes en el servei de cerca", "municipi");			
				return;
		}		
		if (locs.length == 0) {
				_mostraMissatge("No existeix el municipi amb nom " +  document.getElementById("ctl_municipi").value, "municipi");	
				_reiniciaLlistaResultat();		
				return;
		}
		if (locs.length == 1) 
			_registrarExtent(locs[0],"municipi_gestionaInfoPunt");	
		else
		{
			for (var i=0;i<locs.length;i++) 
			{
				var loc = locs[i];
				itemsResultat.push(loc.adreca.municipi.nom);
				itemsResultatIntern.push(i);
			}
			_mostraResultat("municipi",itemsResultat,itemsResultatIntern);
		}
	}
		
	function _registrarExtent(loc,id) {
	esborrarSel();
	_reiniciaLlistaResultat();
	_ocultaMissatge();
			var trobatCoord = false;
			xResultat = 0;
			yResultat = 0;
			fzResultat = 0;
			var sInc_AltreTipus = 0;
			var sInc_Portal_Proper = 0;
			var sInc_NoNumeracio = 0;
			var sInc_RepSimp = 0;
			var sInc_Carrer = 0;
			var sInc_Poblacio = 0;
			/*if (isSet(loc.adreca)) {if ((loc.coordenades.x == 0) || (loc.coordenades.y == 0)) trobatCoord = false;}
			if (isSet(loc.cruilla)) {if ((loc.coordenades == "") || (loc.coordenades == "")) trobatCoord = false;}
			//if (isSet(loc.cruilla)) {if ((loc.coordenades[0].x == 0) || (loc.coordenades[0].y == 0)) trobatCoord = false;}
			if (isSet(loc.nom)) {if ((loc.x == 0) || (loc.y == 0)) trobatCoord = false;}
    		*/				
			if ((id == "municipi") || (id == "municipi_gestionaInfoPunt"))
			{
				locPuntInteres="";
				idComarcaValidat = loc.adreca.comarca.id;
				nomComarcaValidat = loc.adreca.comarca.nom;
				/*if (nomComarcaValidat == "")
				{	
					// si el Geocodificador no retorna la informacio de comarca,
					// es fa una crida extra per a recuperar aquestes dades
					_loader.getInfoPunt_RecuperarComarca(loc.coordenades.x,loc.coordenades.y);
				}*/
				idMunicipiValidat = loc.adreca.municipi.id;
				if (idMunicipiValidat.substring(0,1)== "8") idMunicipiValidat = "0" + idMunicipiValidat;				
				
				xMunicipiValidat="";
				yMunicipiValidat="";	
				selectMunicipi = idMunicipiValidat;
				selectCarrer = "";	
				document.getElementById("ctl_municipi").value = loc.adreca.municipi.nom;
				document.getElementById("bt_veureLlistaCarrer").disabled = false;
				document.getElementById("bt_veureLlistaCruilla").disabled = false;
				document.getElementById("bt_veureLlistaCarrer").style.cursor = "pointer";					
				document.getElementById("bt_veureLlistaCruilla").style.cursor = "pointer";									
				
				document.getElementById("ctl_carrer").disabled=false;
				var divmun = document.getElementById("dv_municipi");
				
				if ($('dv_municipi').next(0).id == "dv_carrer")
					document.getElementById("ctl_carrer").focus();
				else 
				{	if ($('dv_municipi').next(0).id == "dv_indret")
						document.getElementById("ctl_indret").focus();
					else
						document.getElementById("ctl_puntsI").focus();
				}
				
				document.getElementById("ctl_carrer").className= "FW_sEditCarrer FW_fEditEstils FW_sBackgroundBlanc";				
				setTimeout("document.getElementById('ctl_carrer').value=''",1000);	
				setTimeout("document.getElementById('ctl_indret').value=''",1000);	
				setTimeout("document.getElementById('ctl_puntsI').value=''",1000);				
				document.getElementById("ctl_num").disabled=false;
				document.getElementById("ctl_num").className= "FW_sEditNum FW_fEditEstils FW_sBackgroundBlanc";								
				document.getElementById("ctl_num").value="";
				document.getElementById("ctl_cruilla").disabled=false;
				document.getElementById("ctl_cruilla").className= "FW_sEditNum FW_fEditEstils FW_sBackgroundBlanc";								
				document.getElementById("ctl_cruilla").value="";				
				nomFilAriadna3 = "";
				
				if (loc.coordenades.x != 0)
				{
					xyResultatPuntual = 0;
					xResultat = loc.coordenades.x;
					yResultat = loc.coordenades.y;
					xMunicipiValidat = xResultat;
					yMunicipiValidat = yResultat;
					var ex = loc.extensio.x;
					var ey = loc.extensio.y;
					var minx=xResultat-(ex/2);
					var maxx=xResultat+(ex/2);
					var miny=yResultat-(ey/2);
					var maxy=yResultat+(ey/2);   
					var bounds = new OpenLayers.Bounds(minx,miny,maxx,maxy);
					var nzoom = map.getZoomForExtent(bounds,false);
					if (nzoom >= 5) nzoom = 5;
					fzResultat = nzoom;
					fzMunicipiValidat = nzoom;
					trobatCoord = true;
					//VeureMapa = 1;
				}							
			}
			if (id == "carrer") 
			{
				locPuntInteres="";
				/*nomComarcaValidat = loc.adreca.comarca.nom;
				idMunicipiValidat = loc.adreca.municipi.id;*/
				idViaValidat = loc.adreca.via.id;
				selectCarrer = idViaValidat;
				var sNom = loc.adreca.via.tipus;
				if (trim(loc.adreca.via.article) != "") sNom += " " + trim(loc.adreca.via.article);
				sNom += " " + loc.adreca.via.nom;
				document.getElementById("ctl_carrer").value = sNom;
				document.getElementById("ctl_num").disabled=false;
				document.getElementById("ctl_num").className= "FW_sEditNum FW_fEditEstils FW_sBackgroundBlanc";				
//				document.getElementById("ctl_num").value = "";
				document.getElementById("ctl_num").focus();
				document.getElementById("ctl_cruilla").disabled=false;
				document.getElementById("bt_veureLlistaCruilla").disabled = false;
				document.getElementById("bt_veureLlistaCarrer").disabled=true;
				document.getElementById("bt_veureLlistaCarrer").style.cursor = "pointer";
				document.getElementById("bt_veureLlistaCruilla").style.cursor = "default";									
				
				document.getElementById("ctl_cruilla").className= "FW_sEditCruilla FW_fEditEstils FW_sBackgroundGris";				

				for (var f=0;f<loc.incidencies.length;f++) {
					if (loc.incidencies[f].id==101) sInc_AltreTipus = 1;
					if (loc.incidencies[f].id==106) sInc_NoNumeracio = 1;
					if (loc.incidencies[f].id==107) sInc_RepSimp = 1;
				}
				
				if (sInc_RepSimp == 1)  
				{
					//scomentari = " (representaci&oacute; simplificada)";
					// p.ex. Camarasa c. Major 
					// c. Major (St. Llorenç Montgai) - rep. simp.
					// pl. Major (Camarasa)
					// pl. Major (Figuerola de Meià) - rep. simp.
					// trv. Major (St. Llorenç Montgai) - rep. simp.
					cercadorM.preZoomLlogaret(loc.adreca.llogaret.id);
					return;
				}
				else
				{
					if (loc.coordenades.x != 0)
					{
						xyResultatPuntual = 0;
						xResultat = loc.coordenades.x;
						yResultat = loc.coordenades.y;
						var ex = loc.extensio.x;
						var ey = loc.extensio.y;
						var minx=xResultat-(ex/2);
						var maxx=xResultat+(ex/2);
						var miny=yResultat-(ey/2);
						var maxy=yResultat+(ey/2);   
						var bounds = new OpenLayers.Bounds(minx,miny,maxx,maxy);
						var nzoom = map.getZoomForExtent(bounds,false);
						fzResultat = nzoom;
						if ((loc.adreca.llogaret == "") || (loc.adreca.llogaret == null))
							nomFilAriadna3 = sNom;
						else
							nomFilAriadna3 = sNom + " (nucli de poblaci&oacute;: " + loc.adreca.llogaret.nom + ")";
						trobatCoord = true;
					}
				}

			}
			if (id == "cruilla") 
			{	locPuntInteres="";		
				if (loc.coordenades[0])
					{ 
						if ((loc.coordenades[0].x != 0) && (loc.coordenades[0].y != 0))
						{
							trobatCoord = true;
							document.getElementById("ctl_num").value = "";
							var sNom = loc.cruilla.vies[0].tipus;
							if (trim(loc.cruilla.vies[0].article) != "") sNom += " " + trim(loc.cruilla.vies[0].article);
							sNom += " " + loc.cruilla.vies[0].nom;
							document.getElementById("ctl_carrer").value = sNom;	
							var sNom = loc.cruilla.vies[1].tipus;
							if (trim(loc.cruilla.vies[1].article) != "") sNom += " " + trim(loc.cruilla.vies[1].article);
							sNom += " " + loc.cruilla.vies[1].nom;
							document.getElementById("ctl_cruilla").value = sNom;																	
							xyResultatPuntual = 1;
							selectIdVia1 = loc.cruilla.vies[0].id;
							selectIdVia2 = loc.cruilla.vies[1].id;
							xResultat = loc.coordenades[0].x;
							yResultat =loc.coordenades[0].y;
							fzResultat = 9;	
							document.getElementById("bt_veureLlistaCarrer").disabled=true;
							document.getElementById("bt_veureLlistaCarrer").style.cursor = "default";
							nomFilAriadna3 = document.getElementById("ctl_carrer").value + " amb " +sNom;
							VeureMapa = 1;
							document.getElementById("bt_veureLlistaCruilla").disabled=true;					
						}
						else					
							trobatCoord = false;
					}
					else					
							trobatCoord = false;
			}
			if (id == "num") 
			{
				locPuntInteres="";	
				idComarcaValidat = loc.adreca.comarca.id;
				nomComarcaValidat = loc.adreca.comarca.nom;
				for (var f=0;f<loc.incidencies.length;f++) {
					if (loc.incidencies[f].id==101) sInc_AltreTipus = 1;
					if (loc.incidencies[f].id==106) sInc_NoNumeracio = 1;
					if (loc.incidencies[f].id==107) sInc_RepSimp = 1;
				}
				if (sInc_RepSimp == 1)  
				{
					//representacio simplificada
					cercadorM.preZoomLlogaret(loc.adreca.llogaret.id);
					document.getElementById("ctl_num").value = "";
					return;					
				}
						
				if (loc.adreca.portal == 0)
				{								
					if ((loc.coordenades.x != 0) && (loc.coordenades.y != 0))
					{
					// Cas especial: via sense numeracio. Es retornen coordenades d'algun punt de la via
					// Exemple: c.Josep Clarà i Ayats. Girona
						trobatCoord = true;
						document.getElementById("bt_veureLlistaCarrer").disabled=true;
						document.getElementById("bt_veureLlistaCarrer").style.cursor = "default";
						missatgeMapa = "No es disposa de la numeraci&oacute; de la via. Es centra el mapa en un punt de la via.";
						document.getElementById("ctl_num").value = "";
						var sNom = loc.adreca.via.tipus;
						if (trim(loc.adreca.via.article) != "") sNom += " " + trim(loc.adreca.via.article);
						sNom += " " + loc.adreca.via.nom;
						document.getElementById("ctl_carrer").value = sNom;											
						xyResultatPuntual = 1;
						xResultat = loc.coordenades.x;
						yResultat =loc.coordenades.y;
						fzResultat = 9;	
						nomFilAriadna3 = sNom;
						VeureMapa = 1;							
					}
					else					
						trobatCoord = false;
				}
				else
				{				
					var sNom = loc.adreca.via.tipus;
					document.getElementById("bt_veureLlistaCarrer").disabled=true;
					document.getElementById("bt_veureLlistaCarrer").style.cursor = "default";					
					if (trim(loc.adreca.via.article) != "") sNom += " " + trim(loc.adreca.via.article);
					sNom += " " + loc.adreca.via.nom;
					document.getElementById("ctl_carrer").value = sNom;	
					if (document.getElementById("ctl_num").value != loc.adreca.portal)
						missatgeMapa = "  No s'ha localitzat el n&uacute;mero indicat (" + document.getElementById("ctl_"+id).value + "), es mostra " + document.getElementById("ctl_carrer").value + ", "+loc.adreca.portal;			
					document.getElementById("ctl_num").value = loc.adreca.portal;
										
					if ((loc.coordenades.x == 0) || (loc.coordenades.y == 0))
						trobatCoord = false;
					else
					{
						trobatCoord = true;
						xyResultatPuntual = 1;
						xResultat = loc.coordenades.x;
						yResultat =loc.coordenades.y;
						selectIdVia1 = loc.adreca.via.id;
						selectNum = loc.adreca.portal;
						fzResultat = 9;
						nomFilAriadna3 = sNom + ", " + loc.adreca.portal;
						trobatCoord = true;	
						VeureMapa = 1;	
					}
				}
			}

			if (id == "indret") 
			{
				locPuntInteres="";	
				document.getElementById("ctl_indret").value = loc.nom;
				document.getElementById("ctl_municipi").value = loc.nomMunicipi;
				idMunicipiValidat = loc.idMunicipi;
				if (idMunicipiValidat.substring(0,1)== "8") idMunicipiValidat = "0" + idMunicipiValidat;				
				idComarcaValidat = loc.idComarca;
				nomComarcaValidat = loc.nomComarca;
				xMunicipiValidat="";
				yMunicipiValidat="";	
				
				if ((loc.x == 0) || (loc.y == 0))
					trobatCoord = false;
				else
					{
					xyResultatPuntual = 1;
					xResultat = loc.x;
					yResultat = loc.y;
					fzResultat = 6;
					nomFilAriadna3 = loc.nom;	
					trobatCoord = true;
					VeureMapa = 1;
					}
			}
			if (id == "puntsI") 
			{				
				zonaInfo.mostraPestanya("tab4");
				document.getElementById("ctl_puntsI").value = loc.nom;
				document.getElementById("ctl_municipi").value = loc.municipi;
				idMunicipiValidat = loc.codiIne;
				if (idMunicipiValidat.substring(0,1)== "8") idMunicipiValidat = "0" + idMunicipiValidat;				
				xMunicipiValidat="";
				yMunicipiValidat="";					
				locPuntInteres = loc;
				if ((loc.x == 0) || (loc.y == 0))
					trobatCoord = false;
				else
					{
					xyResultatPuntual = 1;
					xResultat = loc.utmX;
					yResultat = loc.utmY;
					selectTaula = loc.taula;					
					fzResultat = 6;	
					nomFilAriadna3 = loc.nom;
					trobatCoord = true;
					VeureMapa = 1;								
					}
			}
			_comprovaTextCarrer()
			_desbloquejaCercador();			
			if (!trobatCoord)
				_mostraMissatge("No s\'ha pogut determinar l\'adre&ccedil;a",id);
			else	
				{
				if (id == "municipi_gestionaInfoPunt")
				{ 
					xyResultatPuntualFilAriadna = 1;
					if (idComarcaValidat != "") actFilAriadnaComarca(idComarcaValidat,nomComarcaValidat);	
					actFilAriadnaPoblacio(idMunicipiValidat,xMunicipiValidat,yMunicipiValidat,fzMunicipiValidat,document.getElementById("ctl_municipi").value);	
					nomFilAriadna3 = "";
					document.getElementById("a_FilAriadna3").innerHTML = "";
				}
				else
					{
						if (VeureMapa == 1) _mostraMapa();		
					}			
				}			
}	
		
	function _cercaCarrer(resp) {
		var itemsResultat = new Array();
		var itemsResultatIntern = new Array();
		/*
		camp = document.getElementById("ctl_carrer").value;
		num = document.getElementById("ctl_num").value;
		
		if (camp == "") {
			itemsResultat = objXML.getElementsByTagName("carrer");
		}
		else {
			cerca = objXML.getElementsByTagName("carrer");
			for (i=0;i<cerca.length;i++) {
				str = cerca[i].firstChild.data.substring(0,camp.length);
				if(str.toLowerCase() == camp.toLowerCase()) {

					itemsResultat.push(cerca[i]);
					
				}
			}
		}*/
		var locs = resp;
		locsConsulta = locs;
		if (locs.length == undefined) {
				_mostraMissatge("Hi ha problemes en el servei de cerca", "carrer");			
				return;
		}	
		if (locs.length == 0) {
				_mostraMissatge("No existeix el carrer amb nom " +  document.getElementById("ctl_carrer").value, "carrer");		
				return;
		}
		if (locs.length == 1) 
			_registrarExtent(locs[0],"carrer");	
		else
		{	
			for (var i=0;i<locs.length;i++) 
			{
				var loc = locs[i];
				var sNom = loc.adreca.via.tipus;
				if (trim(loc.adreca.via.article) != "") sNom += " " + trim(loc.adreca.via.article);
				sNom += " " + loc.adreca.via.nom;
				if (loc.adreca.llogaret)
				{
					if (loc.adreca.llogaret.nom)
					{
						if (loc.adreca.llogaret.nom.length > 0) 
						{
							//sNom += " (nucli de poblaci&oacute;:  " + loc.adreca.llogaret.nom + ")";							   			    
							sNom += " (" + loc.adreca.llogaret.nom + ")";							   			    
						}
					}
				}	
				itemsResultat.push(sNom);
				itemsResultatIntern.push(i);
			}				
			_mostraResultat("carrer",itemsResultat,itemsResultatIntern);
		}
	}
	
	function _cercaCruilla(resp) {
		var itemsResultat = new Array();
		var itemsResultatIntern = new Array();		
		var locs = resp;
		locsConsulta = locs;
		if (locs.length == undefined) {
				_mostraMissatge("Hi ha problemes en el servei de cerca", "cruilla");			
				return;
		}		
		if (locs.length == 0) {
				_mostraMissatge("No existeix la cru&iuml;lla amb nom " +  document.getElementById("ctl_cruilla").value, "cruilla");			
				return;
		}
		if (locs.length == 1) 
			_registrarExtent(locs[0],"cruilla");	
		else
		{
			for (var i=0;i<locs.length;i++) 
			{
				var loc = locs[i];
				var sNom = loc.cruilla.vies[1].tipus;
				if (trim(loc.cruilla.vies[1].article) != "") sNom += " " + trim(loc.cruilla.vies[1].article);
				sNom += " " + loc.cruilla.vies[1].nom;	
				itemsResultat.push(sNom);
				itemsResultatIntern.push(i);
			}		
			_mostraResultat("cruilla",itemsResultat,itemsResultatIntern);
		}
	}
	
	function _cercaIndret(resp) {
		esborrarSel();
		var itemsResultat = new Array();
		var itemsResultatIntern = new Array();

		var locs = resp;
		locsConsulta = locs;
		if (locs.length == undefined) {
				_mostraMissatge("Hi ha problemes en el servei de cerca", "indret");			
				return;
		}		
		if (locs.length == 0) {
				_mostraMissatge("No existeix l'indret amb nom " +  document.getElementById("ctl_indret").value, "indret");		
				return;
		}
		if (locs.length == 1) 
		{
			// maig 2009: la cerca de toponims s'ha ampliat a toponims 1:5.000
			// si es fan cerques poc acotades, que retornarien un nombre molt elevat d'elements,
			// el geocodificador retorna un missatge d'error indicant que cal acotar mes la cerca
			if (locs[0].Error != undefined)
			{
				if (locs[0].Error.indexOf("Es retornen massa resultats de cerca") >= 0)
				{
					_mostraMissatge("Es retornen massa resultats de cerca. Cal introduir valors m&eacute;s concrets per acotar la cerca", "indret");		
					return;
				}
			}
			_registrarExtent(locs[0],"indret");			
		}
		else
		{
			for (var i=0;i<locs.length;i++) 
			{
				var loc = locs[i];
				var sNom = loc.nom;
				if ((loc.nomMunicipi != "") && (idMunicipiValidat == ""))	sNom += " (" + loc.nomMunicipi	+ ")";							    			    				
				itemsResultat.push(sNom);
				itemsResultatIntern.push(i);
			}					
			_mostraResultat("indret",itemsResultat,itemsResultatIntern);
		}
	}
	
	function _cercaPuntsI(resp){
		var itemsResultat = new Array();
		var itemsResultatIntern = new Array();
		var locs = resp;
		locsConsulta = locs;
		if (locs.length == undefined) {
				_mostraMissatge("Hi ha problemes en el servei de cerca", "puntsI");			
				return;
		}		
		if (locs.length == 0) {
				_mostraMissatge("No s'ha trobat cap punt d'inter&egrave;s", "puntsI");			
				return;
		}		
		if (locs.length == 1)
		{ 
			locSeleccionat = locs[0];				
			_registrarExtent(locs[0],"puntsI");	
		}
		else
		{
			for (var i=0;i<locs.length;i++) 
			{
				var loc = locs[i];
				var sNom = loc.nom;
				if ((loc.municipi != "") && (idMunicipiValidat == ""))	sNom += " (" + loc.municipi	+ ")";							    			    				
				itemsResultat.push(sNom);
				itemsResultatIntern.push(i);
			}
			_mostraResultat("puntsI",itemsResultat,itemsResultatIntern);
		}
	}
	
function _cercaNum(resp){
		var itemsResultat = new Array();
		var itemsResultatIntern = new Array();
		/*
		camp = document.getElementById("ctl_puntsI").value;
			
		if (camp == "") {
			itemsResultat = objXML.getElementsByTagName("carrer");
		}
		else {
			cerca = objXML.getElementsByTagName("carrer");
			for (i=0;i<cerca.length;i++) {
				str = cerca[i].firstChild.data.substring(0,camp.length);
				if(str.toLowerCase() == camp.toLowerCase()) {
					itemsResultat.push(cerca[i]);
				}
			}
		}*/
		var locs = resp;
		locsConsulta = locs;
		if (locs.length == undefined) {
				_mostraMissatge("Hi ha problemes en el servei de cerca", "cruilla");			
				return;
		}		
		if (locs.length == 0) {			
				_mostraMissatge("No s'ha trobat cap adre&ccedil;a", "cruilla");			
				return;
		}		
		if (locs.length == 1) 
			_registrarExtent(locs[0],"num");	
		else
		{
			for (var i=0;i<locs.length;i++) 
			{
				var loc = locs[i];
				var sNom = loc.adreca.via.tipus;
				if (trim(loc.adreca.via.article) != "") sNom += " " + trim(loc.adreca.via.article);
				sNom += " " + loc.adreca.via.nom + " ," + loc.adreca.portal;
				// per distingir c.esglesia,6 (Cruilles, Monells ..)
				if (loc.adreca.llogaret)
				{
					if (loc.adreca.llogaret.nom)
					{
						if (loc.adreca.llogaret.nom.length > 0) 
						{
							//sNom += " (nucli de poblaci&oacute;:  " + loc.adreca.llogaret.nom + ")";							   			    
							sNom += " (" + loc.adreca.llogaret.nom + ")";							   			    
						}
					}
				}	
				if ((loc.nomMunicipi != "") && (idMunicipiValidat == ""))	sNom += " (" + loc.nomMunicipi	+ ")";							    			    				
				itemsResultat.push(sNom);
				itemsResultatIntern.push(i);
			}
			_mostraResultat("num",itemsResultat,itemsResultatIntern);
		}
	}		
	function _handleKeyUp(e) {
	
		var keyID = (window.event) ? event.keyCode : e.keyCode;		
		var id = (window.event) ? event.srcElement.id : this.id;
		if ((id != "ctl_municipi") && (id != "ctl_llistaResultats"))
		{			
			locSeleccionat = "";
			locsConsulta = "";
			xResultat = 0;
			yResultat = 0;
			nomFilAriadna3 = "";
			esborrarSel();	
			_reiniciaLlistaResultat();
			_ocultaMissatge();
		}	
		if (keyID == 13) {					
		switch(id) {				
				case "ctl_municipi":
					break;
				case "ctl_carrer":
					//_loader.getCarrers();
					_mostraMapa();
					break;
				case "ctl_cruilla":
					//_loader.getCruilles();
					document.getElementById("ctl_cruilla").className= "FW_sEditNum FW_fEditEstils FW_sBackgroundBlanc";					
					document.getElementById("ctl_num").className= "FW_sEditNum FW_fEditEstils FW_sBackgroundGris";					
					document.getElementById("ctl_num").value= "";					
					document.getElementById("bt_veureLlistaCruilla").disabled=false;
					document.getElementById("bt_veureLlistaCruilla").style.cursor = "pointer";								
					_mostraMapa();
					break;
				case "ctl_indret":
					//_loader.getIndrets();
					_mostraMapa();
					break;
				case "ctl_puntsI":
					//_loader.getPuntsI();
					_mostraMapa();
					break;
				case "ctl_num":
					document.getElementById("ctl_cruilla").className= "FW_sEditNum FW_fEditEstils FW_sBackgroundGris";					
					document.getElementById("ctl_cruilla").value= "";		
					document.getElementById("ctl_num").className= "FW_sEditNum FW_fEditEstils FW_sBackgroundBlanc";					
					document.getElementById("bt_veureLlistaCruilla").disabled=true;
					document.getElementById("bt_veureLlistaCruilla").style.cursor = "default";								
					//_loader.getNum();
					_mostraMapa();
					break;					
				case "ctl_llistaResultats":
					_dacordCercaResultat();
					break;
			}
		}
		else if (keyID == 27) {
			_cancelaCercaResultat();
		}
		else {
			switch(id) {
				case "ctl_municipi":
					if (keyID == 8) {
						if (_contBackSpace == 0) 
							++_contBackSpace;
						else {
							_contBackSpace = 0;
							_comprovaTextMunicipi(id);
						}
					}
					else {
						_comprovaTextMunicipi(id);
					}
					break;
				case "ctl_cruilla":
					document.getElementById("ctl_cruilla").className= "FW_sEditNum FW_fEditEstils FW_sBackgroundBlanc";					
					document.getElementById("ctl_num").className= "FW_sEditNum FW_fEditEstils FW_sBackgroundGris";					
					document.getElementById("ctl_num").value= "";
					document.getElementById("bt_veureLlistaCruilla").disabled=false;
					document.getElementById("bt_veureLlistaCruilla").style.cursor = "pointer";			
					break;
				case "ctl_num":
					document.getElementById("ctl_cruilla").className= "FW_sEditNum FW_fEditEstils FW_sBackgroundGris";					
					document.getElementById("ctl_num").className= "FW_sEditNum FW_fEditEstils FW_sBackgroundBlanc";					
					document.getElementById("ctl_cruilla").value= "";
					document.getElementById("bt_veureLlistaCruilla").disabled=true;
					document.getElementById("bt_veureLlistaCruilla").style.cursor = "default";								
					break;		
			}
		}
	}
	
	function _capturaEvents() {
		_addEvent(document.getElementById("ctl_municipi"),'keyup',cercadorM.handleKeyUp);
		_addEvent(document.getElementById("ctl_carrer"),'keyup',cercadorM.handleKeyUp);
		_addEvent(document.getElementById("ctl_num"),'keyup',cercadorM.comprovaTextNum);
		_addEvent(document.getElementById("ctl_num"),'keyup',cercadorM.handleKeyUp);	
		_addEvent(document.getElementById("ctl_cruilla"),'keyup',cercadorM.handleKeyUp);
		_addEvent(document.getElementById("ctl_indret"),'keyup',cercadorM.handleKeyUp);
		_addEvent(document.getElementById("ctl_puntsI"),'keyup',cercadorM.handleKeyUp);
		
		_addEvent(document.getElementById("bt_veureLlistaCarrer"),'click',function () {
			
			/*
			(dona error)
			document.getElementById("bt_veureLlistaCarrer").disabled="disabled";
			document.getElementById("bt_veureLlistaCruilla").disabled="disabled";
			*/
			
			//(no dona error, pero no segueix funcional)
			document.getElementById("bt_veureLlistaCarrer").disabled=true;
			document.getElementById("bt_veureLlistaCruilla").disabled=true;
			document.getElementById("bt_veureLlistaCarrer").style.cursor = "default";
			document.getElementById("bt_veureLlistaCruilla").style.cursor = "default";			
			_loader.getCarrers();
			
		} );
		_addEvent(document.getElementById("bt_veureLlistaCruilla"),'click',function () {
			
			document.getElementById("bt_veureLlistaCarrer").disabled=true;
			document.getElementById("bt_veureLlistaCruilla").disabled=true;
			document.getElementById("bt_veureLlistaCarrer").style.cursor = "default";
			document.getElementById("bt_veureLlistaCruilla").style.cursor = "default";			
			
			_loader.getCruilles();
		} );
		_addEvent(document.getElementById("ctl_num"),'click',function () {			
			//document.getElementById("ctl_cruilla").disabled=true;
			document.getElementById("ctl_num").className= "FW_sEditNum FW_fEditEstils FW_sBackgroundBlanc";
			document.getElementById("ctl_cruilla").className= "FW_sEditNum FW_fEditEstils FW_sBackgroundGris";
			document.getElementById("ctl_cruilla").value = "";
			document.getElementById("bt_veureLlistaCruilla").disabled=true;
			document.getElementById("bt_veureLlistaCruilla").style.cursor = "default";			
			
			xResultat=0;
		} );
		_addEvent(document.getElementById("ctl_cruilla"),'click',function () {			
			//document.getElementById("ctl_num").disabled=true;
			document.getElementById("ctl_cruilla").className= "FW_sEditNum FW_fEditEstils FW_sBackgroundBlanc";
			document.getElementById("ctl_num").className= "FW_sEditNum FW_fEditEstils FW_sBackgroundGris";
			document.getElementById("ctl_num").value = "";
			document.getElementById("bt_veureLlistaCruilla").disabled=false;
			xResultat=0;
		} );
		_addEvent(document.getElementById("bt_novaCerca"),'click',cercadorM.novaCercaTotal);
		_addEvent(document.getElementById("bt_mostraMapa"),'click',cercadorM.mostraMapa);		
		
		_addEvent(document.getElementById("ctl_municipi"),'keypress',function () {
			idMunicipiValidat="";
			xMunicipiValidat="";
			yMunicipiValidat="";							
		} );
				
		_addEvent(document.getElementById("ctl_carrer"),'keydown',function () {
			idViaValidat="";			
			idViaValidat2="";	
			document.getElementById("bt_veureLlistaCarrer").disabled=false;
			document.getElementById("bt_veureLlistaCruilla").disabled=false;
			document.getElementById("bt_veureLlistaCarrer").style.cursor = "pointer";					
			document.getElementById("bt_veureLlistaCruilla").style.cursor = "pointer";												
		} );
		_addEvent(document.getElementById("ctl_cruilla"),'keypress',function () {		
			idViaValidat2="";	
		} );
		_addEvent(document.getElementById("linkInteres"),'click',function(){
			zonaInfo.mostraPestanya("tab4");
		});
		_addEvent(document.getElementById("linkPropaqui"),'click',function(){
			zonaInfo.mostraPestanya("tab5");
		});
		
	}
	//----------------------------
	function _mostraLocalitzacionsMunicipis(resp) {
	//----------------------------
		var locs;
		locs = resp;
		//document.getElementById("debug2").innerHTML=dump(locs);
		cercadorM.cercaMunicipi(resp);								
	}
	//----------------------------
	function _mostraLocalitzacionsMunicipis_gestionaInfoPunt(resp) {
	//----------------------------
		var locs;
		locs = resp;
		//document.getElementById("debug2").innerHTML=dump(locs);
		cercadorM.cercaMunicipi_gestionaInfoPunt(resp);								
	}
	
	//----------------------------
	function _mostraLocalitzacionsCarrers(resp) {
	//----------------------------
		var locs;
		locs = resp;
		//document.getElementById("debug2").innerHTML=dump(locs);
		cercadorM.cercaCarrer(resp);								
	}	
	//----------------------------
	function _mostraLocalitzacionsCruilles(resp) {
	//----------------------------
		var locs;
		locs = resp;
		//document.getElementById("debug2").innerHTML=dump(locs);
		cercadorM.cercaCruilla(resp);								
	}	
	//----------------------------
	function _mostraLocalitzacionsIndrets(resp) {
	//----------------------------
		var locs;
		locs = resp;
		//document.getElementById("debug2").innerHTML=dump(locs);
		cercadorM.cercaIndret(resp);								
	}	
	//----------------------------
	function _mostraLocalitzacionsPuntsI(resp) {
	//----------------------------
		var locs;
		locs = resp;
		//document.getElementById("debug2").innerHTML=dump(locs);
		cercadorM.cercaPuntsI(resp);								
	}		
	//----------------------------
	function _mostraLocalitzacionsNums(resp) {
	//----------------------------
		var locs;
		locs = resp;
		//document.getElementById("debug2").innerHTML=dump(locs);
		cercadorM.cercaNum(resp);								
	}
	//----------------------------
	function _gestionaZoomMun(resp) {
	//----------------------------
		var locs = resp;
		//document.getElementById("debug2").innerHTML=dump(locs);
		var	loc = locs[0];
		if (loc.coordenades.x != 0)
		{			
		    var id = loc.adreca.municipi.id;
			var x = loc.coordenades.x;
			var y = loc.coordenades.y;			
			var ex = loc.extensio.x;
			var ey = loc.extensio.y;
			var minx=x-(ex/2);
			var maxx=x+(ex/2);
			var miny=y-(ey/2);
			var maxy=y+(ey/2);   
			var bounds = new OpenLayers.Bounds(minx,miny,maxx,maxy);
			var nzoom = map.getZoomForExtent(bounds,false);
			if (nzoom >= 5) nzoom = 5;
			var fz = nzoom;
			fzMunicipiValidat = nzoom;
			if (y!= 0) cercadorM.preZoomMunicipi(id,x,y,nzoom);
		}					
	}
	
	//----------------------------
	function _gestionaZoomCom(resp) {
	//----------------------------				
		var nstr = resp.toString();
		//document.getElementById("debug2").innerHTML=dump(nstr);
		var nloc = nstr.split(' / ');		
					
	    /*var id = loc.adreca.municipi.id;
		var x = loc.coordenades.x;
		var y = loc.coordenades.y;			
		var ex = loc.extensio.x;
		var ey = loc.extensio.y;*/
		var minx=nloc[1];
		var maxx=nloc[3];
		var miny=nloc[2];
		var maxy=nloc[4];
		var bounds = new OpenLayers.Bounds(minx,miny,maxx,maxy);
		var nxy= bounds.getCenterLonLat();
		var nzoom = map.getZoomForExtent(bounds,false);			
		actRessaltar();
		map.setCenter(nxy,nzoom, false, true);
						
	}			
	//----------------------------
	function _gestionaZoomLlogaret(resp) {
	//----------------------------				
		var locs = resp;
		//document.getElementById("debug2").innerHTML=dump(locs);
		var	loc = locs[0];
		if ((loc.utmX != 0) && (loc.utmX != 0))
		{		
		xyResultatPuntual = 0;
		xResultat = loc.utmX;
		yResultat = loc.utmY;
		fzResultat = 6;		
		missatgeMapa = "  Via de representaci&oacute; simplificada";			
		nomFilAriadna3 = document.getElementById("ctl_carrer").value + " (nucli de poblaci&oacute;: " + loc.nomLlogaret + ")";
		_mostraMapa();
		}
						
	}				
	//----------------------------
	function _gestionaInfoPunt(resp) {
	//----------------------------				
		var nstr = resp.toString();
		if (nstr == "")
			mapa.mostraMissatgeAvis(true,"El punt indicat &eacute;s fora de Catalunya.",false);				
		else
		{			
			//document.getElementById("debug2").innerHTML=dump(nstr);
			var nloc = nstr.split(' / ');		
			
			var nmun = nloc[0];			
			nomComarcaValidat = nloc[1];	
			idMunicipiValidat = nloc[2];
			if (idMunicipiValidat.substring(0,1)== "8") idMunicipiValidat = "0" + idMunicipiValidat;					
			idComarcaValidat = nloc[3];	
			document.getElementById("ctl_municipi").value = nmun;
			_loader.getMunicipis_gestionaInfoPunt();		
			var minx=nloc[4];
			var maxx=nloc[6];
			var miny=nloc[5];
			var maxy=nloc[7];
			
			var bounds = new OpenLayers.Bounds(minx,miny,maxx,maxy);
			var nxy= bounds.getCenterLonLat();
			
			var nzoom = map.getZoomForExtent(bounds,false);					
			
			if (idComarcaValidat != "") actFilAriadnaComarca(idComarcaValidat,nomComarcaValidat);	
			actFilAriadnaPoblacio(idMunicipiValidat,nxy.lon,nxy.lat,nzoom,nmun);	
			document.getElementById("ctl_municipi").value = nmun;	
			nomFilAriadna3="";
			document.getElementById("a_FilAriadna3").innerHTML = nomFilAriadna3;
			
		}
		map.getControlsByClass("Vissir.Click")[0].activate();
	    map.getControlsByClass("Vissir.ClickIndica")[0].deactivate();	
	    zonaInfo.mostraPestanya("tab5");			
	}
	//----------------------------------------------------
	function _gestionaInfoPunt_RecuperarComarca(resp) {
	//----------------------------------------------------				
		var nstr = resp.toString();
		var nloc = nstr.split(' / ');				
		var nmun = nloc[0];			
		nomComarcaValidat = nloc[1];	
		idComarcaValidat = nloc[3];						
	}
		
	//---------------------------- 
	function _preZoomMunicipi(id,x,y,nzoom) {
	//---------------------------- 
			if (y == 0) 
					// fa una altra crida al geocodificador, per a cercar l'ambit del municipi indicat per id
					_loader.getZoomMunicipi(id);
			else
			{
				selectMunicipi = id;
				selectCarrer = "";			
			        actRessaltar();
				map.setCenter(new OpenLayers.LonLat(x,y),nzoom, false, true);
			}
	} 
	//---------------------------- 
	function _zoomFilAriadna3(id) {
	//---------------------------- 		
 	    	selectMunicipi = "";
		selectComarca = "";	
		selectCarrer = id;		
		actRessaltar();
		map.setCenter(new OpenLayers.LonLat(xResultatFilAriadna,yResultatFilAriadna),fzResultat, false, true);			
	} 
	//-----------------------------------------------
	function _preZoomComarca(com) {
	//-----------------------------------------------
		selectComarca = com;
		selectCarrer = "";	
		selectMunicipi = "";		
		_loader.getZoomComarca(com);		       
	}	
	
	//-----------------------------------------------
	function _preInfoPunt(x,y) {
	//-----------------------------------------------
		_loader.getInfoPunt(x,y);		       
	}
	
	//-----------------------------------------------
	function _preZoomLlogaret(id) {
	//-----------------------------------------------
		_loader.getZoomLlogaret(id);			
	}	
	
	//-----------------------------------------------
	function _iniciDescripcio() {
	//-----------------------------------------------
	  //document.getElementById("idDescDadesMapa").innerHTML = nstr;
	  document.getElementById("idTitol").style.display = "none";
	  document.getElementById("idBlocInferiorCD").style.display = "none";
	  document.getElementById("overview").style.display = "none";
	  document.getElementById("ovHider").style.display = "none";
	  	  
	  var item1 = document.createElement("div");
	  item1.className = "FW_bTitol";
	  item1.id = "idTitolDescripcio";
	  var str1 ='<div class="FW_sMenuSuperior"><span><a onclick="cercadorM.ocultaDescripcio()" href="#" class="FW_sLink" title="">&lt;<span class="FW_sNoUnderline">&nbsp;</span>Torna</a>';
	  str1 += '</span> </div><h2><a href="carrerer.html" title="Title">Guia de Catalunya</a></h2></div>';
	  item1.innerHTML = str1;
      document.getElementById("capcalera").appendChild(item1);
	      
      var item2 = document.createElement("div");
	  item2.className = "FW_bBlocInferiorCD2";
	  item2.id = "div_bBlocInferiorCD2_descripcio";
	  
      var ulmain = document.createElement("ul");
	  ulmain.className = "FW_sLlistaComu w100 FW_sMarginBottom20"; 
	  ulmain.id = "idulTbBlocInferiorCD2Descripcio";
	  
	  var item4 = document.createElement("li");
	  item4.className = "FW_sMarginBottom20"; 
      item4.id = "idDescripcioMapa"; 
	  str2 ='                <h3 class="FW_sLiniaVermell">Descripci&oacute; del mapa</h3>               ';
      str2 +='                 <ul class="FW_sLlistaComu FW_sBorderBottom w100 FW_sMarginBottom20">';
      str2 +='                   <li class="FW_sPaddingTopBottom10">';
      str2 +='                      <h4>Adre&ccedil;a localitzada</h4>';
      str2 +='                       <ul class="FW_sLlistaComu w100 FW_sMarginBottom20">';
      str2 +='                          <li class="FW_sMarginEsq12">                      ';      
      str2 +='                          <p class="FW_sMargin0 FW_sMarginEsq12">';
	  if (xyResultatPuntualFilAriadna != 0)
	  {		  
	  	  if (locPuntInteres!=""){
	  	  		str2 += locPuntInteres.nom+"<br>";
	  	  		str2 += locPuntInteres.adreca+"<br>";
	  	  		str2 += locPuntInteres.cpostal+" "+locPuntInteres.municipi+"<br>";
	  	  		str2 += "Telefon "+locPuntInteres.telefon+"<br>";
	  	  		var str_web = trim(locPuntInteres.web);	  	  				
				if ( (trim(str_web) != "") && (str_web.length > 2))
	  	  		{
	  	  			str2 += '<a class="FW_sLink" href="' + str_web +'"';
					str2 += 'title="Aquest enlla&ccedil; s&#39;obrir&agrave; en una nova finestra" rel="external" ';
					str2 += 'onclick="return ObrePopUp(event,this,800,600)" onkeypress="return ObrePopUp(event,this,800,600)">';
					str2 += 'Consulteu el web';
					str2 += '</a><br />';
	  	  		}
	  	  		str_web = trim(locPuntInteres.mesInformacio);	  	  				
				if ( (trim(str_web) != "") && (str_web.length > 2))
	  	  		{	  	  		
	  	  		if (locPuntInteres.taula == "mob_centres_ensenyament_g")	  	  		
					str_web = urlCentresEnsenyament + str_web;				
	  	  		str2 += '<a class="FW_sLink" href="' + str_web +'"';
				str2 += 'title="Aquest enlla&ccedil; s&#39;obrir&agrave; en una nova finestra" rel="external" ';
				str2 += 'onclick="return ObrePopUp(event,this,800,600)" onkeypress="return ObrePopUp(event,this,800,600)">';
				str2 += 'M&eacute;s informaci&oacute;';
				str2 += '</a>';
	  	  		}
	  	  }
	  	  else {
			  str2 += document.getElementById("a_FilAriadna3").innerHTML + "<br>";
			  if (document.getElementById("a_FilAriadna2").innerHTML != "")
			  	str2 += "Municipi " + document.getElementById("a_FilAriadna2").innerHTML + "<br>";
			  if (document.getElementById("a_FilAriadna1").innerHTML != "")
			  	str2 += "Comarca " + document.getElementById("a_FilAriadna1").innerHTML + "<br>";
		  }
		  
	  }
	  else
	  	  str2 += "No s'ha localitzat cap adre&ccedil;a";
      str2 += " </p></li></ul></li></ul>";
      item4.innerHTML = str2;	
      ulmain.appendChild(item4);   
      
      var item_pi = document.createElement("li");
	  item_pi.className = "FW_sMarginBottom20"; 
	  item_pi.id = "idDescripcioPI"; 
      var str_pi = '            <h3 class="FW_sLiniaVermell">Punts d\'inter&egrave;s del mapa</h3>'; 
      item_pi.innerHTML = str_pi;	      
      ulmain.appendChild(item_pi);   
         
      item2.appendChild(ulmain);     
      document.getElementById("capcalera").appendChild(item2);
       
      _loader.getMunComDescripcio();
            
      /*if ((selectIdVia1 != "") && (selectIdVia2 != ""))  
      {
      	_loader.getCruillesProperesDescripcio(selectIdVia1,selectIdVia2,-1);
      }
      else
      {
      	if ((selectIdVia1 != "") && (selectNum != ""))  
      		_loader.getCruillesProperesDescripcio(selectIdVia1,-1,selectNum);
      	else
        	_loader.getMunComDescripcio();
      } */            
		
    }	
    //-----------------------------------------------
	function _ocultaDescripcio() {
	//-----------------------------------------------
		var div0 = document.getElementById("idulTbBlocInferiorCD2Descripcio");
		if (div0) {
		var parent0 = div0.parentNode;
		parent0.removeChild(div0);	
		}	
		var div0 = document.getElementById("idTitolDescripcio");
		if (div0) {
		var parent0 = div0.parentNode;
		parent0.removeChild(div0);
		}
		var div0 = document.getElementById("div_bBlocInferiorCD2_descripcio");
		if (div0) {
		var parent0 = div0.parentNode;
		parent0.removeChild(div0);
		}
		document.getElementById("idTitol").style.display = "block";		
		document.getElementById("idBlocInferiorCD").style.display = "block";
		document.getElementById("overview").style.display = "block";
   	    document.getElementById("ovHider").style.display = "block";		
		map.zoomTo(map.getZoom());		
        }	
	
	//-----------------------------------------------
	function _iniciLinkExtern(urlPage) {
	//-----------------------------------------------
		document.getElementById("idTitol").style.display = "none";
		document.getElementById("idBlocInferiorCD").style.display = "none";
		document.getElementById("overview").style.display = "none";
		document.getElementById("ovHider").style.display = "none";
		
		var item1 = document.createElement("div");
		item1.className = "FW_bTitol";
		item1.id = "idDivExtra";		
		var str1 ='<div class="FW_sMenuSuperior"><span><a onclick="cercadorM.ocultaLinkExtern()" href="#" class="FW_sLink" title="">&lt;<span class="FW_sNoUnderline">&nbsp;</span>Torna</a>';
		str1 += '</span> </div><h2><a href="carrerer.html" title="Title">Guia de Catalunya</a></h2></div>';
		item1.innerHTML = str1;
		var item2 = document.createElement("div");
		item2.className = "FW_bTitol";
		item2.id = "idDivExtra2";
		document.getElementById("capcalera").appendChild(item1); 
		document.getElementById("capcalera").appendChild(item2);
		document.getElementById("idDivExtra2").innerHTML = zonaInfo.IO(urlPage);     
      }
      //-----------------------------------------------
	function _ocultaLinkExtern() {
	//-----------------------------------------------
		var div0 = document.getElementById("idDivExtra");
		if (div0) {
		var parent0 = div0.parentNode;
		parent0.removeChild(div0);	
		}	
		var div0 = document.getElementById("idDivExtra2");
		if (div0) {
		var parent0 = div0.parentNode;
		parent0.removeChild(div0);
		}		
		document.getElementById("idTitol").style.display = "block";		
		document.getElementById("idBlocInferiorCD").style.display = "block";
		document.getElementById("overview").style.display = "block";
   	    	document.getElementById("ovHider").style.display = "block";		
		map.zoomTo(map.getZoom());		
        }	
  	//----------------------------
	function _gestionaCruillesProperesDescripcio(resp) {
	//----------------------------				
	  var locs = resp;
	  //document.getElementById("debug2").innerHTML=dump(locs);	  
	  if (locs.length > 0)
	  {	 	
			var item1 = document.createElement("ul");
			item1.className = "FW_sLlistaComu  w100 FW_sMarginBottom20"; 
			var item2 = document.createElement("li");
			item2.className = "FW_sPaddingTopBottom10"; 
			var item3 = document.createElement("h4");
			item3.innerHTML = "Carrers m&eacute;s pr&ograve;xims"; 	  
			var item4 = document.createElement("ul");
			item4.className = "FW_sLlistaComu w100 FW_sMarginBottom20"; 		
	  		var cruilla, orientacio, distancia;         	      	
	      	for(var i=0; i < locs.length; i++)
	        {
	      		var item5 = document.createElement("li");
				item5.className = "FW_sMarginEsq12"; 	  
				var item6 = document.createElement("p");
				item6.className = "FW_sMargin0 FW_sMarginEsq12"; 
				var str1 = 	"En direcci&oacute; " + locs[i].orientacio + "<br/>";
				str1 += "A " + locs[i].distancia + " m. : " + locs[i].nom_vias + " </br>";
				item6.innerHTML = str1;
				item5.appendChild(item6);
				item4.appendChild(item5);				
	      	}
	      	item2.appendChild(item3);	
	      	item2.appendChild(item4);		      	      
	      	item1.appendChild(item2);
	  }
	 document.getElementById("idDescripcioMapa").appendChild(item1); 
	
      }
	//----------------------------
	function _gestionaMunComDescripcio(resp) {
	//----------------------------					  
	  var locs = resp;
//	  document.getElementById("debug2").innerHTML=dump(locs);

	  var llistamun = "";
	  var llistacom = "";
	  var nmun = 0;
	  var ncom = 0;	 
	  if (locs.length > 0)
	  {	 
	      if (locs.length > 10)	 
	      {
	      	ncom = 1000;
	      	nmun = locs.length;
	      	for(var i=0; i < locs.length; i++) {
	      		var temp = locs[i];
	      		var item = temp.split("/"); 
	      		if (llistacom != "")
	      		{
		      		if (llistacom.indexOf(item[1]) < 0) 
		      		{
		      			llistacom += item[1] + ', ';
		      			ncom++;
		      		}
	      		}
	      	}
	      	llistacom = llistacom.substring(0,llistacom.length-2);
	      }
	      else
	      {	        	      	
	      	for(var i=0; i < locs.length; i++) {
	      		item = locs[i].toString().split('/'); 
	      		llistamun += item[0] + ', ';
	      		nmun ++;
	      		if (llistacom.indexOf(item[1]) < 0) 
	      		{
	      		llistacom += item[1] + ', ';
	      		ncom++;
	      		}
	      	}
	      	llistacom = llistacom.substring(0,llistacom.length-2);
	      	llistamun = llistamun.substring(0,llistamun.length-2);
	      }
	      
	  }
      var item5 = document.createElement("li");
	  item5.className = "FW_sMarginBottom20"; 
      str3 ='            <h3 class="FW_sLiniaVermell">Dades del mapa</h3>';            
      str3 +='              <ul class="FW_sLlistaComu w100 FW_sMarginBottom20">';
      str3 +='                  <li class="FW_sPaddingTopBottom10">';
      str3 +='                      <ul class="FW_sLlistaComu w100 FW_sMarginBottom20">';
      str3 +='                          <li class="FW_sPaddingBottom10 FW_sMarginEsq12">';
      str3 +='                              <p class="FW_sMargin0 " id="idDescDadesMapa">';
	  if (xyResultatPuntualFilAriadna != 0)
	  {
      	if ((xResultatFilAriadna >= map.getExtent().left) && (xResultatFilAriadna <= map.getExtent().right) && (yResultatFilAriadna <= map.getExtent().top) && (yResultatFilAriadna >= map.getExtent().bottom)) 
      		str3 +='Inclou l\'adre&ccedil;a localitzada<br />';
      	else
      		str3 +='No inclou l\'adre&ccedil;a localitzada<br />';
      }
      var capaMostrada = zonaInfo.getNameLayer();			
      str3 += capaMostrada + '<br />';
      if (nmun == 0) 
      	str3 += "No inclou cap municipi de Catalunya<br>";
      else
      {
	      if (nmun < 10)
		      str3 += "Municipis (inclosos total o parcialment): " + llistamun + "<br>";
		  else
			  str3 += "Inclou m&eacute;s de 10 municipis<br>";
	  }
	  if (ncom == 0) 
      	str3 += "No inclou cap comarca de Catalunya<br>";
      else
      {
	      if (ncom < 10)
		      str3 += "Comarques (incloses total o parcialment): " + llistacom + "<br>";
		  else
			  str3 += "Inclou m&eacute;s de 10 comarques<br>";
	  }
	  
      str3 += "Coordenada de l'extrem inferior esquerre: " + map.getExtent().left.toFixed(1) + " , " + map.getExtent().bottom.toFixed(1) + "<br>";
	  str3 += "Coordenada de l'extrem superior dret: " + map.getExtent().right.toFixed(1) + " , " + map.getExtent().top.toFixed(1) + "<br>";                                        
	  str3 +='          </p></li></ul></li> </ul>  ';
	  item5.innerHTML = str3;	  
	  document.getElementById("idulTbBlocInferiorCD2Descripcio").appendChild(item5);
		
	  _loader.getPOIDescripcio();
         
      }
    //----------------------------
	function _gestionaPOIDescripcio(resp) {
	//----------------------------				
		var locs = resp;
		//document.getElementById("debug2").innerHTML=dump(locs);
		sTotsLayersVis = '';
		for(var i=0; i < map.layers.length; i++) {
	        var layerEntry = map.layers[i];
	        if ((!layerEntry.isBaseLayer) && (layerEntry.displayInLayerSwitcher) && (layerEntry.getVisibility()))  
	        	{           	
				temp = layerEntry.name; 
				if (layerEntry.name == 'Consells comarcals') 
					temp = 'DELEGACIONS';
				else if (layerEntry.name == 'Centres ensenyament') 
					temp = 'CENTRES_ENSENYAMENT';
				else if (layerEntry.name == 'Colleccions') 
					temp = 'COLLECCIONS';               
	    								
	        	if (sTotsLayersVis != '')
	        		sTotsLayersVis += ',mob_' + temp + '_g' ; 
	        	else
	         	sTotsLayersVis += 'mob_' + temp + '_g' ; 
	        	}
    	}
		sTotsLayersVis = sTotsLayersVis.toLowerCase().toString();	
		aTotsLayersVis = sTotsLayersVis.split(",");

		if (locs.length > 0) 
		{
		  for (var j=0;j<aTotsLayersVis.length;j++) 
		  {					
	  		var item3 = document.createElement("ul");
	  		if (j==aTotsLayersVis.length-1)	item3.className = "FW_sLlistaComu w100 FW_sMarginBottom20";
	  		else item3.className = "FW_sLlistaComu FW_sBorderBottom w100 FW_sMarginBottom20";
	  		var item4 = document.createElement("li");
	  		item4.className = "FW_sPaddingTopBottom10";
	  		var item5 = document.createElement("h4");	
	  		var ntaula = zonaInfo.getnomPI(aTotsLayersVis[j]);	  	  		
	  		item5.innerHTML = ntaula;
	  		item4.appendChild(item5);
		 	var item6 = document.createElement("ul");
	  		item6.className = "FW_sLlistaComu w100 FW_sMarginBottom20";
	  		
	  		for (var i=0;i<locs.length;i++) 
	  		{
	  					
	  			if (locs[i].taula == aTotsLayersVis[j]) 
	  			{
		  			var item7 = document.createElement("li");
		  			item7.className = "FW_sMarginEsq12";
		  			var item8 = document.createElement("p");
		  			item8.className = "FW_sMargin0 FW_sMarginEsq12";
		  			var str1 = "";
		  			if ((xResultatFilAriadna != 0) && (yResultatFilAriadna != 0))
		  			{		  				
		  				/*if (((selectIdVia1 != "") && (selectIdVia2 != "")) || ((selectIdVia1 != "") && (selectNum != "")))
		  				{*/
			  				var dist = CalcDist(xResultatFilAriadna,yResultatFilAriadna,locs[i].utmX,locs[i].utmY);
			  				if (dist) str1 += "<strong>A " + dist + "m</strong><br />";
		  				//}
		  			}		  		
		  				
			                str1 += locs[i].nom + "<br />";
			                str1 += locs[i].adreca + "<br />";
			                str1 += locs[i].codiIne + " " + locs[i].municipi + "<br />";
			                str1 += "Tel&egrave;fon " + locs[i].telefon + "<br />";  	                	  	  	
			  	  	
		  	  		var str_web = trim(locs[i].web);	  	  				
					if ( (trim(str_web) != "") && (str_web.length > 2))
		  	  		{
		  	  			str1 += '<a class="FW_sLink" href="' + str_web +'"';
						str1 += 'title="Aquest enlla&ccedil; s&#39;obrir&agrave; en una nova finestra" rel="external" ';
						str1 += 'onclick="return ObrePopUp(event,this,800,600)" onkeypress="return ObrePopUp(event,this,800,600)">';
						str1 += 'Consulteu el web';
						str1 += '</a><br />';
		  	  		}
		  	  		str_web = trim(locs[i].mesInformacio);	  	  				
					if ( (trim(str_web) != "") && (str_web.length > 2))
		  	  		{	  	  		
			  	  		if (locs[i].taula == "mob_centres_ensenyament_g")
							str_web = urlCentresEnsenyament + str_web;
						str1 += '<a class="FW_sLink" href="' + str_web +'"';
						str1 += 'title="Aquest enlla&ccedil; s&#39;obrir&agrave; en una nova finestra" rel="external" ';
						str1 += 'onclick="return ObrePopUp(event,this,800,600)" onkeypress="return ObrePopUp(event,this,800,600)">';
						str1 += 'M&eacute;s informaci&oacute;';
						str1 += '</a>';
		  	  		}	  			  				
		  			item8.innerHTML = str1;
		  			item7.appendChild(item8);
		  			item6.appendChild(item7);
	  		}
		  	item4.appendChild(item6);
		  	item3.appendChild(item4);		  				  		
	  		}
	  		document.getElementById("idDescripcioPI").appendChild(item3);
	  	  }
	  	}
	  	else
	  	{
	  	var tdesc = document.getElementById("idDescripcioPI");
	  	var tpare = tdesc.parentNode;
		tpare.removeChild(tdesc);
	  	}
	  	
      	_loader.getCruillesProperesDescripcio(selectIdVia1,selectIdVia2,selectNum);
 	
              /* <li class="FW_sMarginBottom20">
                  <h3 class="FW_sLiniaVermell">Punts d&#39;interès més pròxims</h3>
             
                    <ul class="FW_sLlistaComu FW_sBorderBottom w100 FW_sMarginBottom20">

                        <li class="FW_sPaddingTopBottom10">
                            <h4>Centres d&#39;ensnyament</h4>
                            
                            <ul class="FW_sLlistaComu w100 FW_sMarginBottom20">
                                <li class="FW_sMarginEsq12">
                                    <p class="FW_sMargin0 FW_sMarginEsq12">
                                        <strong>A 5m</strong><br />
                                        Carrer Lorem ipsum lorem ipsum<br />

                                        Municipi Lorem ipsum lorem ipsum<br />
                                        Comarca Gironès<br />
                                        <a href="#" title="" class="FW_sLink">Més informació</a>
                                    </p>
                                </li>	*/					
	}
	
	
	/* codi del constructor */
	_loader = new XMLloader();
}

function XMLloader(){

	this.objXML;
	this.objXMLHTTP;
	this.getMunicipis = _getMunicipis;
	this.getMunicipis_gestionaInfoPunt = _getMunicipis_gestionaInfoPunt;
	this.getCarrers = _getCarrers;
	this.getCruilles = _getCruilles;
	this.getIndrets = _getIndrets;
	this.getPuntsI = _getPuntsI;
	this.getNum = _getNum;
	this.getZoomComarca = _getZoomComarca;
	this.getZoomMunicipi = _getZoomMunicipi;
	this.getZoomLlogaret = _getZoomLlogaret;
	this.getInfoPunt = _getInfoPunt;
	this.getInfoPunt_RecuperarComarca = _getInfoPunt_RecuperarComarca;
	this.getPOIDescripcio = _getPOIDescripcio;
	this.getMunComDescripcio = _getMunComDescripcio;
	this.getCruillesProperesDescripcio = _getCruillesProperesDescripcio;
	
	this.asyncHandler = _asyncHandler;
	
	function _asyncHandler(tipus) {
		
		if (this.objXMLHTTP.readyState == 4) {
			objXML = this.objXMLHTTP.responseXML;
			
			if (!objXML.documentElement && objXMLHTTP.responseStream) {
				objXML.load(objXMLHTTP.responseStream);
			}

			switch (tipus) {
				case "municipi":
					cercadorM.cercaMunicipi(objXML);
					break;
				case "carrer":
					cercadorM.cercaCarrer(objXML);
					break;
				case "cruilla":
					cercadorM.cercaCruilla(objXML);
					break;
				case "indret":
					cercadorM.cercaIndret(objXML);
					break;
				case "puntI":
					cercadorM.cercaPuntsI(objXML);
					break;
			}
		}
	 }
	 
	function _getMunicipis(){
		/*_openHttpRequest();
		objXMLHTTP.onreadystatechange = function(){
			_asyncHandler("municipi");
		};
		objXMLHTTP.open('GET', 'municipis.xml', true);
		objXMLHTTP.send(null);*/
		
		/*VeureMapa = 0;
	    TotsMunicipis=0;
	    TipusCerca = "municipi";
	    esborrarComentari(); */  	    	    
	    
	    var params = $H({
	    maxresultats: MaxResultats,
	    metode: "localitzaAdreca",
	    ordre: "alfabetic",
	    trobaTots: "si"}); 
	    
	    if(document.getElementById("ctl_municipi").value.length > 0) {
	      params.set("municipi", document.getElementById("ctl_municipi").value);
	    }
	    else
	      params.set("municipi","*");  
	    if (idMunicipiValidat != "") 
	    	params.set('idMunicipi',idMunicipiValidat);	      
	    
	    //cercador = 1;
	    jsonp(parametres.urlGeocodificador, params, "cercadorM.mostraLocalitzacionsMunicipis");
	}
	function _getMunicipis_gestionaInfoPunt(){
		/*_openHttpRequest();
		objXMLHTTP.onreadystatechange = function(){
			_asyncHandler("municipi");
		};
		objXMLHTTP.open('GET', 'municipis.xml', true);
		objXMLHTTP.send(null);*/
		
		/*VeureMapa = 0;
	    TotsMunicipis=0;
	    TipusCerca = "municipi";
	    esborrarComentari(); */  	    	    
	    
	    var params = $H({
	    maxresultats: MaxResultats,
	    metode: "localitzaAdreca",
	    ordre: "alfabetic",
	    trobaTots: "si"}); 
	    
	    if(document.getElementById("ctl_municipi").value.length > 0) {
	      params.set("municipi", document.getElementById("ctl_municipi").value);
	    }
	    else
	      params.set("municipi","*");  
	    if (idMunicipiValidat != "") 
	    	params.set('idMunicipi',idMunicipiValidat);	      
	    
	    //cercador = 1;
	    jsonp(parametres.urlGeocodificador, params, "cercadorM.mostraLocalitzacionsMunicipis_gestionaInfoPunt");
	}	
	
	
	function _getCarrers(){
		document.getElementById("ctl_num").value = "";
		/*_openHttpRequest();
		objXMLHTTP.onreadystatechange = function(){
			_asyncHandler("carrer");
		};
		objXMLHTTP.open('GET', 'carrers.xml', true);
		objXMLHTTP.send(null);
		*/	    
	    var params = $H({
	    maxresultats: MaxResultats,
	    metode: "localitzaAdreca",
	    ordre: "alfabetic",
	    trobaTots: "si"}); 
	    
	    if (idMunicipiValidat == "") 
	    {
	        cercadorM.mostraMissatge("Cal que indiqueu un municipi","carrer");
	        return;
	    }
	    else
	    	params.set('idMunicipi',idMunicipiValidat);
	    	
	     if (idViaValidat != "") 
		    params.set('idVia',idViaValidat);	
		    	    
	    if (document.getElementById("ctl_carrer").value.length > 0) 
		    	params.set('nomVia',document.getElementById("ctl_carrer").value);
		else
		 	    params.set('nomVia','*');
      //VeureMapa = 1;     		    			 	    	    
	    //cercador = 1;
	    //doc(params);
	    // pendent: no numeracio
	    // ctra. LV-9124. Castell de Mur
	    // pendent: llogaret
	    // en el cas de vies de rep. simplificada, no es pot utilitzar preZoomCarrer, ja que aquestes vies no existeixen a CARRER_TRAMS_V
		// cal localitzar l'adreça segons idvia, ja que si es fa per nom de via hi ha problema si el nom de via està contingut a més d'una via
		// (exemple, a Cruïlles, carrer "Sant Joan"- Camarasa, carrer "Major")
		//En el cas Camarasa, carrer "c. Major", es dona el cas de 3 candidats, amb mateix idvia(25062100167) i diferent llogaret:
		// cal fer zoom al llogaret
	    jsonp(parametres.urlGeocodificador, params, "cercadorM.mostraLocalitzacionsCarrers");				
	}

	function _getNum(){
		/*_openHttpRequest();
		objXMLHTTP.onreadystatechange = function(){
			_asyncHandler("carrer");
		};
		objXMLHTTP.open('GET', 'carrers.xml', true);
		objXMLHTTP.send(null);
		*/	    
	    var params = $H({
	    maxresultats: MaxResultats,
	    metode: "localitzaAdreca",
	    ordre: "alfabetic",
	    trobaTots: "si"}); 
	    
	    if (idMunicipiValidat != "") 
	    	params.set('idMunicipi',idMunicipiValidat);
	    	    
	    if (idViaValidat != "") 
		    params.set('idVia',idViaValidat);

		params.set('portal',document.getElementById("ctl_num").value);
		
		params.set('nomVia',document.getElementById("ctl_carrer").value);
		var num = document.getElementById("ctl_num").value; 
		if (  ( (num / num) != 1 ) && ( num != 0 ) ) {
		  cercadorM.mostraMissatge("Comproveu el n&uacute;mero introdu&iuml;t","num");
		  //afegirComentari(parent.dalt.msgList[15]);
		  return;
		}
		if (num == 0) {
		  cercadorM.mostraMissatge("Comproveu el n&uacute;mero introdu&iuml;t","num");
		  //afegirComentari(parent.dalt.msgList[15]);
		  return;
		}
		if (num.length > 4) {
		  cercadorM.mostraMissatge("Comproveu el n&uacute;mero introdu&iuml;t","num");
		  //afegirComentari(parent.dalt.msgList[15]);
		  return;
		}
		if (document.getElementById("ctl_carrer").value.length == 0) {
		  cercadorM.mostraMissatge("Cal indicar el nom de carrer","num");
		  //afegirComentari("Cal indicar el nom de carrer");
		  return;
		}
      //VeureMapa = 1;     		    			 	    	    
	    //cercador = 1;
	    doc(params);
	    jsonp(parametres.urlGeocodificador, params, "cercadorM.mostraLocalitzacionsNums");				
	}	
	function _getCruilles(){
		/*_openHttpRequest();
		objXMLHTTP.onreadystatechange = function(){
			_asyncHandler("cruilla");
		};
		objXMLHTTP.open('GET', 'cruilles.xml', true);
		objXMLHTTP.send(null);
		*/	    
	    var params = $H({
	    maxresultats: MaxResultats,
	    metode: "localitzaCruilla",
	    ordre: "alfabetic",
	    trobaTots: "si"}); 
	    
	    if (idMunicipiValidat != "") 
	    	params.set('idMunicipi',idMunicipiValidat);
	    else
	    	{//params.set('municipi',document.getElementById("ctl_municipi").value);	   		
	    	cercadorM.mostraMissatge("Cal indicar el municipi","num");
	    	return;
	    	}

        if (document.getElementById("ctl_carrer").value.length == 0) 
        {
	        cercadorM.mostraMissatge("Cal indicar el carrer","carrer");
	        return;
        }
      // Per obligar introduir part del nom de municipi en efectuar cerca de cruilles
      /*if (document.getElementById("poblacio").value.length < 3) 
      {
        afegirComentari("Cal indicar el municipi.");
        return;
      }
      */
      //VeureMapa = 1;
      params.set('nomVia',trim(document.getElementById("ctl_carrer").value));
      if (document.getElementById("ctl_cruilla").value != "")
	  		params.set('nomVia2',trim(document.getElementById("ctl_cruilla").value));
      else
      		params.set('nomVia2','*');
      if (idViaValidat != "")
	      params.set('idVia1',idViaValidat);
      else
	      params.set('nomVia1',trim(document.getElementById("ctl_carrer").value));
	  if (idViaValidat2 != "")
	      params.set('idVia2',idViaValidat2);

     doc(params);        
	    //cercador = 1;
	    jsonp(parametres.urlGeocodificador, params, "cercadorM.mostraLocalitzacionsCruilles");
	
			
	}
	
	function _getIndrets(){
		/*_openHttpRequest();
		objXMLHTTP.onreadystatechange = function(){
			_asyncHandler("indret");
		};
		objXMLHTTP.open('GET', 'cruilles.xml', true);
		objXMLHTTP.send(null);
		*/
		
		var params = $H({
	    maxresultats: MaxResultats,
	    metode: "localitzaToponim",
	    ordre: "alfabetic",
	    trobaTots: "si"}); 
	    
	    if (idMunicipiValidat != "") params.set('idMunicipi',idMunicipiValidat);
	    params.set('municipi',document.getElementById("ctl_municipi").value);	   		
 
        if (document.getElementById("ctl_indret").value.length == 0) 
        {
	        cercadorM.mostraMissatge("Cal indicar l'indret","indret");
	        return;
        }
      // Per obligar introduir part del nom de municipi en efectuar cerca de cruilles
      /*if (document.getElementById("poblacio").value.length < 3) 
      {
        afegirComentari("Cal indicar el municipi.");
        return;
      }
      */
      //VeureMapa = 1;
      params.set('nom',trim(document.getElementById("ctl_indret").value));
              
	    //cercador = 1;
	    jsonp(parametres.urlGeocodificador, params, "cercadorM.mostraLocalitzacionsIndrets");
				
	}
	
	function _getPuntsI(){
	      var params = $H({
	      }); 
	      
	    
	      if (idMunicipiValidat != "") params.set('ine',idMunicipiValidat);
	      if (document.getElementById("ctl_puntsI").value != "")
		      params.set('nom',document.getElementById("ctl_puntsI").value);
		  else
		  {
			  cercadorM.mostraMissatge("Especifiqueu el nom del punt d'inter&egrave;s","puntsI");					
			  return;
	      }
		  var nurl = parametres.urlPOIsearch + "getPoisMatch";
		  doc(params);
	      jsonp(nurl, params, "cercadorM.mostraLocalitzacionsPuntsI");	   	    
	   //}  
		
			
	}
	
	//-----------------------------------------------
	function _getZoomMunicipi(mun) {
	//-----------------------------------------------
    //(COMENTAT MAIG 2008) hiddenFloatingDiv('windowcontent');
    //VeureMapa = 1;
    if (mun.substring(0,1)== "8") mun = "0" + mun;
    TotsMunicipis = 0;
    TipusCerca = "";    
    //document.getElementById("cos_resultat").onkeydown = teclaD;  
    var params = $H({
    maxresultats: MaxResultats,
    ordre: "alfabetic",
    trobaTots: "si",
    metode: "localitzaAdreca",
    idMunicipi: mun
    });  	
    jsonp(parametres.urlGeocodificador, params, "cercadorM.gestionaZoomMun");	    		       
}
	//-----------------------------------------------
	function _getZoomComarca(com) {
	//-----------------------------------------------
    //(COMENTAT MAIG 2008) hiddenFloatingDiv('windowcontent');
    //VeureMapa = 1;
    //if (mun.substring(0,1)== "8") mun = "0" + mun;
    
    var params = $H({
    id: com
    }); 	
    jsonp(parametres.urlSpatialsearch + "getDataSpatialMatch", params, "cercadorM.gestionaZoomCom");	    		       
}
	//-----------------------------------------------
	function _getZoomLlogaret(id) {
	//-----------------------------------------------
    //(COMENTAT MAIG 2008) hiddenFloatingDiv('windowcontent');
    //VeureMapa = 1;
    //if (mun.substring(0,1)== "8") mun = "0" + mun;
    
    var params = $H({
    id_llog: id
    }); 	
    jsonp(parametres.urlLlogaretssearch, params, "cercadorM.gestionaZoomLlogaret");	    		       
}
	//-----------------------------------------------
	function _getInfoPunt(x,y) {
	//-----------------------------------------------
    //(COMENTAT MAIG 2008) hiddenFloatingDiv('windowcontent');
    //VeureMapa = 1;
    //if (mun.substring(0,1)== "8") mun = "0" + mun;   
    var params = $H({
    x: x,
    y: y
    }); 	
    jsonp(parametres.urlSpatialsearch + "getDataSpatialMatch", params, "cercadorM.gestionaInfoPunt");	    		       
}	
//-----------------------------------------------
	function _getInfoPunt_RecuperarComarca(x,y) {
	//-----------------------------------------------
    //(COMENTAT MAIG 2008) hiddenFloatingDiv('windowcontent');
    //VeureMapa = 1;
    //if (mun.substring(0,1)== "8") mun = "0" + mun;   
    var params = $H({
    x: x,
    y: y
    }); 	
    jsonp(parametres.urlSpatialsearch + "getDataSpatialMatch", params, "cercadorM.gestionaInfoPunt_RecuperarComarca");	    		       
}	

	//-----------------------------------------------
	function  _getMunComDescripcio() {		    
	      var params = $H({
		    xmin: map.getExtent().left,
		    ymin: map.getExtent().bottom,
		    xmax: map.getExtent().right,
		    ymax: map.getExtent().top
		    }); 	
		  jsonp(parametres.urlSpatialsearch + "getDataSpatialMatch", params, "cercadorM.gestionaMunComDescripcio");	    		       
}

	//-----------------------------------------------
	function  _getCruillesProperesDescripcio(id1,id2,num) {		    
	      if ((id1 != "") && (id2 != "") && (id2 != -1))
	      {
				var params = $H({
				idvia1: id1,
				idvia2: id2
				}); 
				jsonp(parametres.urlCruillessearch , params, "cercadorM.gestionaCruillesProperesDescripcio");	    		       
		  }
		   else
	      {
		      if ((id1 != "") && (num != "") && (num != -1))
		      {
		        var params = $H({
			    idvia: id1,
			    x: xResultat,
			    y: yResultat,
			    num: num
			    }); 
			    jsonp(parametres.urlCruillessearch , params, "cercadorM.gestionaCruillesProperesDescripcio");	    		       
			  }		   
		  }
}
	  
	//-----------------------------------------------
	function  _getPOIDescripcio() {	
		if (map.getZoom() < zonaInfo.maxZoomVis)
		{
			var tdesc = document.getElementById("idDescripcioPI");
			var tpare = tdesc.parentNode;
			tpare.removeChild(tdesc);
			_loader.getCruillesProperesDescripcio(selectIdVia1,selectIdVia2,selectNum);	      
		}
		else
		{ 		
			sTotsLayersVis = '';
			for(var i=0; i < map.layers.length; i++) 
			{
		        var layerEntry = map.layers[i];
		        if ((!layerEntry.isBaseLayer) && (layerEntry.displayInLayerSwitcher) && (layerEntry.getVisibility()))  
		        {           	
					temp = layerEntry.name; 
					if (layerEntry.name == 'Consells comarcals') 
						temp = 'DELEGACIONS';
					else if (layerEntry.name == 'Centres ensenyament') 
						temp = 'CENTRES_ENSENYAMENT';
					else if (layerEntry.name == 'Colleccions') 
						temp = 'COLLECCIONS';               
		    								
		        	if (sTotsLayersVis != '')
		        		sTotsLayersVis += ',mob_' + temp + '_g' ; 
		        	else
		         	sTotsLayersVis += 'mob_' + temp + '_g' ; 
		        }
	    	}
			sTotsLayersVis = sTotsLayersVis.toLowerCase();	
		    if (sTotsLayersVis != '')
		    {
		      var params = $H({
			    xmin: map.getExtent().left,
			    ymin: map.getExtent().bottom,
			    xmax: map.getExtent().right,
			    ymax: map.getExtent().top,
			    capes: sTotsLayersVis,
			    x: 400000,
			    y: 4600000
			    }); 	
			  jsonp(parametres.urlPOIsearch + "getPoisProx", params, "cercadorM.gestionaPOIDescripcio");	    		       
			 }
			 else
			 {
			  	var tdesc = document.getElementById("idDescripcioPI");
			  	var tpare = tdesc.parentNode;
				tpare.removeChild(tdesc);
				 _loader.getCruillesProperesDescripcio(selectIdVia1,selectIdVia2,selectNum);	 
		  	}		  
			          
		}
}	  
	  
	//-----------------------------------------------
	function _openHttpRequest() {
	//-----------------------------------------------
		if (navigator.userAgent.toLowerCase().indexOf("msie") > -1) {
			objXMLHTTP = new ActiveXObject('Microsoft.XMLHTTP');
		}
		else
	   		objXMLHTTP = new XMLHttpRequest();
	}
	//----------------------------  
  function jsonp(nurl, nparams, callback_function) {
//----------------------------
    //document.getElementById("espera").style.display = "inline";
	missatgeMapa = "";
	nurl += "?";

	nparams.each(function(item) {
		nurl += item.key + "=" + escape(item.value) + "&";
	});
	var n_uid = (new Date()).getTime();
	delicious_callbacks[n_uid] = function (content) 
	{
	 if (n_uid > tempsDarreraResposta)
	    {
	       tempsDarreraResposta=n_uid;	       
	       //document.getElementById("debug2").innerHTML += n_uid + "(Es processa la resposta)<br>";
		
		   var nt = "" + callback_function + "(content)";
	       eval(nt);
	       
//	       eval("callback_function(content);");
		}
		else
		{
	       //document.getElementById("debug2").innerHTML += n_uid + "(Resposta no processada..................)<br>";			
		}	
	       delete delicious_callbacks[n_uid];
     };
  
	nurl += "jsonp=" +  encodeURIComponent("delicious_callbacks[" + n_uid + "]");
	var scriptElem = document.createElement('script');
	scriptElem.setAttribute('Id', callback_function);
	scriptElem.setAttribute('src', nurl);
	scriptElem.setAttribute('type', 'text/javascript');
	tag = document.getElementById(callback_function);

	if(!tag) {
	  tag = document.getElementsByTagName('head')[0].appendChild(scriptElem);
	} else {
	  document.getElementsByTagName('head')[0].replaceChild(scriptElem, tag);
	}
	eval(callback_function);
  } 
  
 

	
	
	
	/* codi constructor */
	
	
}
       			    
//-----------------------------------------------
function esborrarSel() {
//-----------------------------------------------
//idMunicipiValidat="";
//idViaValidat="";
//locSeleccionat = "";
//locsConsulta = "";
selectMunicipi = "";
selectComarca = "";
xyResultatPuntual=0;
selectY="";
selectCarrer="";
selectCruilla="";
selectTaula = "";
selectIdVia1 = "";
selectIdVia2 = "";
selectNum = "";
actRessaltar();   
//map.removePopup(ident_popup);
}	
	            
//----------------------------  
  function dump(obj){
//----------------------------  
return null;
    var volcat = "<ul>";
    for(var propietat in obj) {
      if (typeof(obj[propietat])=="object") {
        volcat += "<b>" + propietat + "</b><ul>" + dump(obj[propietat]) + "</ul>";
      } else {
        volcat += "<li><i>" + propietat + "</i>: " + obj[propietat] + "</li>";
      }
    }
    return volcat + "</ul>";
  }


//---------------------------- 
function trim(stringToTrim) {
//---------------------------- 
	return stringToTrim.replace(/^\s+|\s+$/g,"");
}

//------------------------------------------
  function doc(params) {
//------------------------------------------
/*var lparams = "<table><tr><td>nomVia</td><td>" + params["nomVia"] + "</td></tr>";
lparams += "<tr><td>nomVia1</td><td>" + params["nomVia1"] + "</td></tr>";  
lparams += "<tr><td>nomVia2</td><td>" + params["nomVia2"] + "</td></tr>";  
lparams += "<tr><td>portal</td><td>" + params["portal"] + "</td></tr>";  
lparams += "<tr><td>municipi</td><td>" + params["municipi"] + "</td></tr>";  
lparams += "<tr><td>idMunicipi</td><td>" + params["idMunicipi"] + "</td></tr>";  
lparams += "<tr><td>idComarca</td><td>" + params["idComarca"] + "</td></tr>";  
lparams += "<tr><td>idVia</td><td>" + params["idVia"] + "</td></tr>";  
lparams += "<tr><td>idVia2</td><td>" + params["idVia1"] + "</td></tr>";  
lparams += "<tr><td>idVia1</td><td>" + params["idVia2"] + "</td></tr>";  
//lparams += "<tr><td>idLlogaret</td><td>" + params["idLlogaret"] + "</td></tr>";  
lparams += "<tr><td>toponim</td><td>" + params["nom"] + "</td></tr>";  
lparams += "<tr><td>ordre</td><td>" + params["ordre"] + "</td></tr>";  
lparams += "<tr><td>maxresultats</td><td>" + params["maxresultats"] + "</td></tr>";  
lparams += "<tr><td>metode</td><td>" + params["metode"] + "</td></tr></table>";  
*/
return;
Win1 = window.open("","Prova2","width=575,height=520,scrollbars=yes,resizable=yes");
Win1.document.open();
Win1.document.writeln(params.inspect());
Win1.document.close();
}

//----------------------------
function isSet( variable )
//----------------------------
{
return( typeof( variable ) != 'undefined' );
}

//---------------------------- 
function actFilAriadnaComarca(idCom,nomCom) {
//---------------------------- 		
		var n_filAriadna = document.getElementById("a_FilAriadna1"); 
		n_filAriadna.onclick = function() {cercadorM.preZoomComarca(idCom)};
		n_filAriadna.innerHTML = nomCom;
		n_filAriadna.style.visibility = "visible";
		
		var sp_filAriadna = document.getElementById("sp_FilAriadna1"); 
		sp_filAriadna.style.visibility = "visible";		
}	
//---------------------------- 
function actFilAriadnaPoblacio(idMun,xMun,yMun,fzMun,nomMun) {
//---------------------------- 
		var n_filAriadna = document.getElementById("a_FilAriadna2"); 
		n_filAriadna.onclick = function() {cercadorM.preZoomMunicipi(idMun,xMun,yMun,fzMun)};
		n_filAriadna.innerHTML = nomMun;
		n_filAriadna.style.visibility = "visible";
}
//---------------------------- 
function _actFilAriadna3(idCarrer) {
	xyResultatPuntualFilAriadna = xyResultatPuntual;
	xResultatFilAriadna = xResultat;
	yResultatFilAriadna = yResultat;
	var n_filAriadna = document.getElementById("a_FilAriadna3"); 
	if (nomFilAriadna3 != "")
	{		
		n_filAriadna.onclick = function() {cercadorM.zoomFilAriadna3(idCarrer)};
		n_filAriadna.innerHTML = nomFilAriadna3;
//		n_filAriadna.innerHTML = "fffffffff";
		n_filAriadna.style.visibility = "visible";
		var sp_filAriadna = document.getElementById("sp_FilAriadna2"); 
		sp_filAriadna.style.visibility = "visible";
	}
	else
		n_filAriadna.style.visibility = "hidden";
	
}

	function CalcDist(x1,y1,x2,y2)
	{
		var dx = Math.pow((x1-x2),2);
		var dy = Math.pow((y1-y2),2);
		var distancia=Math.sqrt(dx+dy);
		distancia = distancia.toFixed(1);
		return distancia;
	}		






