cargado_14=false;
cargado_4=false;
cargado_11=false;
cargado_18=false;
cargado_21=false;
cargado_23=false;
cargado_29=false;
cargado_41=false;

function centrar(latitud,longitud,zoom)
{
	
	var iZoom = parseInt(zoom, 10);
	map.setZoom(iZoom);
	map.panTo(new GLatLng(latitud,longitud));	
	//map.setCenter(new GLatLng(latitud,longitud),iZoom);
	
}

function centrarAjax(pk_cat)
{
	loadDatosCentrado('./include/centrado.jsp?pk_cat='+pk_cat,tratarDatosCentrado);
	
}
function tratarDatosCentrado()
{
	if(reqCentrado.readyState==4)
    {
    	// Comprobamos si ha habido exito
    	if(reqCentrado.status==200)
    	{
    		arrayDatos = eval(reqCentrado.responseText);
    		centrar(arrayDatos[0].latitud,arrayDatos[0].longitud,arrayDatos[0].zoom);
		}
		else
    	{
    		mostrarError("Problema al generar los options:\n"+reqCentrado.statusText);
    	}
	}

}

function mostrarPorMunicipios(idioma,tipo,categoria)
{
	ponerCargandoPuntos();
	limpia_mapa();
	parametros=categoria;
	primero=true;
	loadDatosPuntos('./include/puntos.jsp?tipo='+tipo+'&idioma='+idioma+'&parametros='+escape(parametros),
	function ()
		{
			pintarPuntos(tipo)
		});
}

function mostrarPorMunicipios2(idioma,tipo,categoria,iteracion)
{
	ponerCargandoPuntos();
	if (iteracion==0)
	{
		limpia_mapa();
	}
	parametros=categoria;
	primero=true;
	loadDatosPuntos('./include/puntos.jsp?tipo='+tipo+'&idioma='+idioma+'&parametros='+escape(parametros),
	function ()
		{
			pintarPuntos(tipo)
		});
}

function muestraCategorias(id,imgFolder,idioma,tipo)
{
	var obj=document.getElementById(id);
	var obj2=document.getElementById('capa_'+id);
	var btn=document.getElementById('btn_'+id);
	
	//para que solo cargue los options una vez
	if (eval("!cargado_"+btn.value))
	{
		loadOptionsMunicipios('./include/optionsMunicipios.jsp?prov='+btn.value+'&idioma='+idioma+'&tipo='+tipo,
					function (){
						generarOptions(id)
					});

		eval("cargado_"+btn.value+"=true");
	}
	
	
	recogeAbiertas(imgFolder);
	if(obj!=null)
	{
		obj.style.display='block';		
		obj2.style.display='block';
	}	
	//btn.src = imgFolder+'menos_cat.jpg';
	/*btn.onclick = function() {
			       	  	recogeCategoria(id,imgFolder);
			       	  };*/
}

function recogeCategoria(id,imgFolder)
{
	var obj=document.getElementById(id);
	var obj2=document.getElementById('capa_'+id);
	var btn=document.getElementById('btn_'+id);
	if(obj!=null)
	{
		obj.style.display='none';
		obj2.style.display='none';
	}
	//btn.src = imgFolder+'mas_cat.jpg';
	/*btn.onclick = function() {
			       	  	muestraCategorias(id,imgFolder);
			       	  };*/
}
function recogeAbiertas(imgFolder)
{
	for (var i=0;i < document.formulario.elements.length;i++)
	{
		var elemento = document.formulario.elements[i];
		
		if (elemento.type == "select-one")
		{
			if (elemento.style.display!='none')
			{
				elemento.style.display='none';
				var btn2=document.getElementById('capa_'+elemento.id);
				btn2.style.display='none';
				var btn=document.getElementById('btn_'+elemento.id);
				//img.src = imgFolder+'mas_cat.jpg';
				var id = elemento.id;
				/*btn.onclick = function() {
						       	  	muestraCategorias(id,imgFolder);
			   	 			   	  };				*/
			}
			
		}
	}
}

function  loadOptionsMunicipios(url,procesoReqCambio)
{    	
	// Puede que no se soporte nativamente el objeto XMLHttpRequest
    if(window.XMLHttpRequest)
    {
    	reqOptMun=new XMLHttpRequest();	
    }
    else if(window.ActiveXObject)
    {
    	reqOptMun= new ActiveXObject("Microsoft.XMLHTTP");
    }
    if(reqOptMun)
    {
    	reqOptMun.onreadystatechange=procesoReqCambio;
    	reqOptMun.open("POST",url,true);
    	reqOptMun.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
    	reqOptMun.send("id=3");
    }
}

function generarOptions(id)
{
	if(reqOptMun.readyState==4)
    {
    	// Comprobamos si ha habido exito
    	if(reqOptMun.status==200)
    	{
    		
    		var select = document.getElementById(id);
    		arrayDatos = eval(reqOptMun.responseText);
    		for (i=0;i<arrayDatos.length;i++)
    		{
    			select.options[i+1]=new Option(arrayDatos[i].node,arrayDatos[i].value);		   	 	
			}			
		}
		else
    	{
    		mostrarError("Problema al generar los options:\n"+reqOptMun.statusText);
    	}
	}

}

function  loadDatosCentrado(url,procesoReqCambio)
{    	
	// Puede que no se soporte nativamente el objeto XMLHttpRequest
    if(window.XMLHttpRequest)
    {
    	reqCentrado=new XMLHttpRequest();	
    }
    else if(window.ActiveXObject)
    {
    	reqCentrado= new ActiveXObject("Microsoft.XMLHTTP");
    }
    if(reqCentrado)
    {
    	reqCentrado.onreadystatechange=procesoReqCambio;
    	reqCentrado.open("POST",url,true);
    	reqCentrado.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
    	reqCentrado.send("id=3");
    }
}

function buscarCodPostal()
{
	codPostal = document.formulario.codPostal.value;
	if (isNaN(codPostal))
	{
		mostrarError('El código postal debe ser un número');
	}
	else if (codPostal.indexOf('.')!=-1)
	{
		mostrarError('El código postal no puede tener decimales');
	}
	else if (codPostal.length!=5)
	{
		mostrarError('El código postal debe tener 5 dígitos')
	}
	else
	{
		loadDatosCodPostal('./include/buscadorCodPostal.jsp?codPostal='+codPostal,tratarCodPostal)
	}
}

function loadDatosCodPostal(url,procesoReqCambio)
{    	
	// Puede que no se soporte nativamente el objeto XMLHttpRequest
    if(window.XMLHttpRequest)
    {
    	req_cp=new XMLHttpRequest();	
    }
    else if(window.ActiveXObject)
    {
    	req_cp= new ActiveXObject("Microsoft.XMLHTTP");
    }
    if(req_cp)
    {
    	req_cp.onreadystatechange=procesoReqCambio;
    	req_cp.open("POST",url,true);
    	req_cp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
    	req_cp.send("id=3");
    }
}

function tratarCodPostal()
{
	if(req_cp.readyState==4)
    {
    	// Comprobamos si ha habido exito
    	if(req_cp.status==200)
    	{
    		arrayDatos = eval(req_cp.responseText);
    		if (arrayDatos.length!=0)
    		{
    			for (i=0;i<arrayDatos.length;i++)
    			{
    				mostrarPorMunicipios2('spa','comercio',arrayDatos[i].cod_munic,i);
    			}
    			latitud = arrayDatos[0].latitud;
    			longitud = arrayDatos[0].longitud;
    			centrar(latitud,longitud,14);
    		}
    		else
    		{
    			mostrarError("No se encuentra el código postal indicado");
    		}
		}
		else
    	{
    		mostrarError("No se encuentra el código postal indicado");
    	}
	}
}

function mostrarError(mensaje)
{
	document.getElementById("capaError").style.display='block';
	document.getElementById("msgError").innerHTML=mensaje;
	//alert(mensaje);
}
function mostrarErrorComercios(mensaje,id_comercio)
{
	/*loadDatosErrorComercios('./include/datosErrorComercio.jsp?id_comercio='+id_comercio,
					function (){
						mostrarErrorComerciosCompleto(mensaje);
					});*/
	
	loadDatosErrorComercios('./include/bocadillo.jsp?idioma=spa&pk_rec='+id_comercio,
					function (){
						mostrarErrorComerciosCompleto(mensaje);
					});
	
	
	
	
}
function mostrarErrorComerciosCompleto(mensaje)
{
	
	mensaje = "<br/><font color=\"red\"><b>"+mensaje+"</b></font>";
	if(req_ec.readyState==4)
    {
    	// Comprobamos si ha habido exito
    	if(req_ec.status==200)
    	{
    		arrayDatos = eval(req_ec.responseText);
    		if (arrayDatos.length!=0)
    		{
    			codigoHtml = arrayDatos[0].codigoHtml;
    			codigoHtml = replace(codigoHtml,'</div></center>',mensaje+'</div></center>');
    			codigoHtml = replace(codigoHtml,'javascript:map.panTo(new GLatLng(null,null))','javascript:void(0)');
    			codigoHtml = replace(codigoHtml,'javascript:zoomMaximo(null,null)','javascript:void(0)');
    			efectoBocata(null,codigoHtml,false);
    		}
    		else
    		{
    			mostrarError(mensaje);
    		}    		
		}
		else
    	{
    		mostrarError(mensaje);
    	}
	}
}
function cerrarCapaError()
{
	document.getElementById("capaError").style.display='none';
	document.getElementById("msgError").innerHTML='';
}
function limpiaBuscador()
{
	for (var i=0;i < document.formulario.elements.length;i++)
	{
		var elemento = document.formulario.elements[i];
		
		if (elemento.type == "radio" && elemento.checked)
		{
			elemento.checked=false;
			capa = replace(elemento.id,'btn','capa');	
			if(document.getElementById(capa))
			{
				document.getElementById(capa).style.display='none';
			}
			
		}
	}
	estableceParametrosBuscador('');
	quitaBuscador();
	limpia_mapa();
}
function quitaBuscador()
{
	capa_resultados = document.getElementById('resultados_busqueda');
	capa_resultados.innerHTML = '';
}

function loadDatosErrorComercios(url,procesoReqCambio)
{    	
	// Puede que no se soporte nativamente el objeto XMLHttpRequest
    if(window.XMLHttpRequest)
    {
    	req_ec=new XMLHttpRequest();	
    }
    else if(window.ActiveXObject)
    {
    	req_ec= new ActiveXObject("Microsoft.XMLHTTP");
    }
    if(req_ec)
    {
    	req_ec.onreadystatechange=procesoReqCambio;
    	req_ec.open("POST",url,true);
    	req_ec.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
    	req_ec.send("id=3");
    }
}