var map;
var geocoder;
var moveend = true;
var marcadores = [];	// Puntos insertados
var idcoleccion = "";
if (typeof (coleccion) != "undefined") 
	idcoleccion = coleccion;

function borrarMarcadores() {
	for (i=0;i< marcadores.length;i++){
		map.removeOverlay(marcadores[i]);
	}
	marcadores = [];
}

function addtag(point, address) {
	var marker = new GMarker(point);
	GEvent.addListener(marker, "click", function() {
		marker.openInfoWindowHtml(address);
		//Slimbox.scanPage();
	} 	
	);
	return marker;
}

function procesarMarcadores(responseXML) {
	var xml=responseXML.documentElement;
	// MARCAS
	var marcas=xml.getElementsByTagName('marcador');
	//alert(marcas.length);
	for(i=0;i<marcas.length;i++){
		var id=marcas[i].getElementsByTagName('id')[0].firstChild.data;
		var nombre=marcas[i].getElementsByTagName('nombre')[0].firstChild.data;
		var foto=marcas[i].getElementsByTagName('foto')[0].firstChild.data;
		var descripcion="";
		if(marcas[i].getElementsByTagName('descripcion').length==1)
			descripcion=marcas[i].getElementsByTagName('descripcion')[0].firstChild.data;
		var coleccion=marcas[i].getElementsByTagName('coleccion')[0].firstChild.data;
		var idcoleccion=marcas[i].getElementsByTagName('coleccion')[0].attributes.getNamedItem("id").value;
		var localizacion=marcas[i].getElementsByTagName('localizacion')[0].firstChild.data;
		var idlocalizacion=marcas[i].getElementsByTagName('localizacion')[0].attributes.getNamedItem("id").value;
		var latitud=marcas[i].getElementsByTagName('latitud')[0].firstChild.data;
		var longitud=marcas[i].getElementsByTagName('longitud')[0].firstChild.data;
		var url=marcas[i].getElementsByTagName('url')[0].firstChild.data;
		// Almacenar marcador
		var texto='<div class="marcamapa">';
			texto+='<div class="foto">';
				texto+='<img src="/turismo/fotos/fotos160x120/'+foto+'.jpg" alt="'+nombre+'" />';
			texto+='</div>';
			texto+='<div class="datos">';
				texto+='<h2>'+nombre+'</h2>';
				texto+='<h3>Localización:</h3>';
				texto+='<p class="localizacion">'+localizacion+'</h3>';
				texto+='<h3>Categoría:</h3>';
				texto+='<p class="coleccion">'+coleccion+'</h3>';
				texto+='<div class="submenu">';
				texto+='<a href="'+url+'" title="Ver ficha de '+nombre+'">Ver ficha</a>';
				texto+='</div>';
			texto+='</div>';
			texto+='<div class="clearfix"></div>';
		texto+='</div>';
		var point=new GLatLng(latitud, longitud);
		var marker=addtag(point, texto);
		map.addOverlay(marker);	
		GEvent.addListener(marker, "click", function() {
			moveend = false;
		});
		marcadores.push(marker);
	}
	//alert(marcadores.length)
}

function cargarMarcadores() {
	// No hay que cargar nada
	if (!moveend){
		moveend = true;
		return;
    }
	// Si estamos en el inicio, no recargamos
	if(map.getZoom()==8 && marcadores.length>0)
		return;
	// Si estamos en inicio, cargamos el inicio
	if(map.getZoom()==8 && idcoleccion=="") {
		var ruta="/turismo/ajax/getMarcadoresInicio.php?";
	} else {
		var visible = map.getBounds();
	    var sw = visible.getSouthWest();
		var ne = visible.getNorthEast();
		var latsw = sw.lat();
		var lngsw = sw.lng();
		var latne = ne.lat();
		var lngne = ne.lng();
		var ruta="/turismo/ajax/getMarcadores.php?latsw="+latsw+"&lngsw="+lngsw+"&latne="+latne+"&lngne="+lngne+"&";
	}
	if(idcoleccion!="")
		ruta+="idcoleccion="+idcoleccion;
	borrarMarcadores();
	var ajax=new Ajax.Request(ruta, {
		method: 'get',
		onComplete: function(resp) {
			// CONTADOR
			if(resp.responseXML.getElementsByTagName('contador').length==1)
				$("contador").innerHTML=resp.responseXML.getElementsByTagName('contador')[0].firstChild.data;
			procesarMarcadores(resp.responseXML);
		},
		onLoading: function(resp){
			
		}
	});
}



function createPolygon(pts_map,lvls_map,num){		
	if (num >= 6) ix="#4e6e49"
	else if (num == 5) ix="#4e6e49"
	else if (num == 4) ix="#4e6e49"
	else if (num == 3) ix="#4e6e49"
	else if (num == 2) ix="#4e6e49"
	else if (num == 1) ix="#4e6e49"
	else ix="#5E8F00";

	var encodedPolygon = new GPolygon.fromEncoded({
		polylines: [{
		  points: pts_map,
		  levels: lvls_map,
		  color: "#4e6e49",
		  numLevels: 4,
		  zoomFactor: 16}],
		fill: true,
		color: ix,
		outline: true,
		opacity: 0.2
		});
	map.addOverlay(encodedPolygon);
	return encodedPolygon;
}

// Call this function when the page has been loaded
function initialize() {
	// Crear mapa
	map = new GMap2(document.getElementById("mapa"));
	map.setCenter(new GLatLng(43.22118973298753, -5.86944580078125), 8);
	geocoder = new GClientGeocoder();
	map.addControl(new GMapTypeControl());
	map.addControl(new GScaleControl());
	map.addControl(new GOverviewMapControl());
	map.addControl(new GLargeMapControl());
	moveend=true;
	cargarMarcadores();
	// EVENTOS
	// movimiento
	GEvent.addListener(map, "moveend", cargarMarcadores);
	GEvent.addListener(map, "dragstart", function () { moveend = true;});
	//createPolygon("sk}hGrczi@`xTrqGdjH~hRzdWi}L~jHuqGh}Ii}LlrGsjDigE_pUh_QhoFdjAtfQnpKrcA|gEsmTp|MioFljAi}LqsGioFbX_lb@u|BstWgzF~zKijA_{Ky{MioFzyFufQruCivI_zF_mEtnDsxJ_sG_tHeq@i}L`X_{KriL_fBdzFsmT{nDuxJowJsjDgjAuxJvgE_{K`XikSwgE_{KaXsqGqnDihCfjAikSqgE_bOcq@s{ZudIuqGmaMidP`jAsmTanDu_N_|B}oU?ufQs`MtcAojHtcAyiAfg`@m_FhkSotChnc@?rtWsbBtxJsbBhkSa_FhvIemDrmTftC~re@cmDhdPgbIrxJipGjvIvsJfrVdtCt_NbmD~aOoiH|vXz~Eh}Lvp@h`]?ttWk{BhoFnbBh}Lk{BrtWvp@rmT?txJ","BABA@AAAAAAAABAAAAAB?AAAA@AABAAAAAAAAAAAAAAAAB@BAAAA@AAAAA@BA@AAAAAAAA@B",5);
	//createPolygon("{fzhG`b}i@nfA}i@bz@dPvp@nr@bz@re@tm@pe@n_BmThyAhCh}@ha@uQ|i@~ZrcAb^`]|Wnr@rj@dn@rj@?~Z|i@vm@?rNre@fa@{K?|i@bBdn@kHtaBqNnr@bBtcAuQdn@bBppAvm@?jd@{Kd^re@bw@ucAd^nr@ng@|i@|p@iCxTyv@tQor@b[cPew@m{B|Wa]ld@yv@l}@`]bw@mTpg@vXdw@sGpg@?zm@gjB|p@ePja@}i@dw@{Kb[_fB{Ta{@ka@se@zTa{@ja@vXhz@?fpAvXzm@zK~{B}i@~W{KzTa{@tg@wXja@glAnd@mT|m@cyAug@iCcBor@xj@wX`q@yv@zTor@wQ_fBrg@mThw@{Kft@zKxj@`{@hw@hCtoBePfEk_Ad[{i@zj@ePh^_fBw`AgCeB{rBqd@k_Aoz@c{@xQ}gAqd@se@qd@re@?glAi^or@gE{rB`q@abD~m@qGfmAyv@byB|i@jw@npAna@ppAfE|gAbq@xv@jw@re@lHhhClw@ppApd@rcAqd@re@yQtcAvg@j_A`Xre@zj@iCj^dn@na@fn@pz@se@ppA~\\xQxv@w}@nr@rz@dPbBnpAhjA{KxQor@~cAse@pa@se@dq@opAoa@}i@kt@`]_dApGsz@?ow@a]na@glAjt@rGrz@yv@na@{i@`n@qpAbn@en@xQm}AqKm}AlHopAjt@wXloCkfDrfB{Kpw@vv@~vAia@pa@abDvz@quEzg@gn@pw@nTh[ka@{QopAqmA}i@iq@k_A_aAqpApKayAmt@{rBcXarIpa@k_A{Qk}Azg@wXqK{tAlHytApKa{@lHewBfEk_Aqw@ia@qK_hAuNen@td@{pCuz@yv@_Ua{@mHcbDcn@opAqa@re@ocBka@{Ql}AdB~eB?xv@y}@sGg[nr@adAmTdq@qnBzQm}A}vAk_Atz@a{@azA{tAijAgCoa@}i@mHytAit@hCsz@vXsd@y}Csd@se@cgA{Klw@ucAf[wv@xQc{@jmAia@cBw_Crd@en@qz@qpArd@en@hjAytAj^guCbXuaBwsFk_Aj^_fBuNglAuN_]f[cyAhjAyv@iEucAv}@en@?cyAit@m}Ag[cyA}j@en@cq@nr@sz@en@wg@fCe[{i@oa@sGht@scAxQa{@iEgn@na@gjBdq@glAuNglAyQqpA_dAglAbXa{@bq@se@`n@fC`XwX`n@rGrd@se@zvAwXrd@}pC`n@se@bXscAtd@wXtd@{tA_U}gAx}@pGfEcyAfEytAx}@{i@~j@glAcXoyCbXo{Bm^k_AuNihCyg@{Kyg@ha@wiBglAit@{i@omAePcBor@qpA_]it@se@?c{@k^se@_n@m{Bd[adCv}@slCvg@elAlHc{@mHy{DxQewB`n@_]na@w_CgE{tAyg@}gAgE{rB|j@ytA_dApG{QscA_sBsGqKscA`Xse@sNujDjH}nDrd@m}Ait@en@opAzKk|B}i@mw@_dCd[waBfjAen@jHm}Ama@wv@pd@uaBgEm}Asd@a{@e[_mEvg@waBe[uaBsd@ia@qKucAi^opAuN_hAqd@mToa@uaBt}@}i@d[ytAyQc`Ecq@vXimAse@oz@mT{cA~\\i^wv@oz@ka@et@mTcjAqGkHewBaXuaBnKewBd[k_Atg@qnBkpAlTug@{i@et@k_AkHucAu`AwXoK}gAaq@wX_XewBkH}gAq}@gn@cBcyAxj@}eBbt@{tAdt@{i@ja@bPdt@ia@`yBuaBfEglAe[ijBcBytAycAy}Cf^{rBpd@scAet@yv@msAvXsvAucAka@zKs`AscAqvA`{@ct@dPkHo{Bod@en@?qnBrNslCsNk_AgEqpAcmAen@o}@qpAq`AopA~W}i@d^cyAjHewB~WscAzfA?f^en@kHc{@wj@a{@wj@a]uuB_]mvAlT}p@nr@mvA}i@md@~eBk}@se@}p@{i@}p@ka@md@wv@esA?sNre@ga@pnBdEpnBbw@byA_t@l}AbB~eB?~cC}WtcA?|nDa[re@yTduCsNtcA?|gAsj@byArNhjB{p@ppAia@fjB}WbyA?`dCyTzrB}s@fjBhH`dC?taBc^tcA}WrlCwm@j}AbBtjD?thEjHdwBgE|nDa[taBc^`dCc^nr@kHxtAcBl{Bum@nTlKrcA|WhjBfEpnB?jfDhHl{Bum@~gAga@re@qNvv@ocAtcAqNtaByp@ja@c^se@{s@~eB}Wnr@qj@ha@xTj_A?d|FtQre@yTppAum@zi@fa@`]mg@xtAwTj_AuQ_]id@npA?ja@vTfjBiH`{@hH~nDpj@v}Cga@`]bBflAsQha@da@ppAqNnpA?flAcBtcA?x{DbB~gA{s@dn@b^|i@dEbyApj@pe@pNfn@{Wj_AlKtaB?xtAuiAwXe}@nTwp@nr@~Zj_Aa^b`Eaz@lT?j_AofAdn@qNdn@az@?ea@byAa^b{@kg@or@oj@{K?rcA}Z?dE|i@pNnr@}v@lTsQnr@zW|i@oj@`{@ca@qGid@|i@fEnpAvs@pGnj@hCnj@zKba@xtA`^ja@kKj}A?ztA|Zha@|v@mT|v@vv@`^fn@cBpnBvp@mTb}@`{@tQj_A|jCtrpE","BA@@@A@@A@@@A@@@@@A?@@@@@A@@AA@@B?@AA?A@@@@A@@@A@@@A@@?A@A@@@@A@A@@AA@@@@@A@@AAA@@@A@A@A@B@AA@@@@@@@A@A?@@?A@A@A@AB@@@A@@@@A@@@@@A@@A@A@@A@A@@B@@?A@AA@@@@@@?AA@@A@AAA@A@?A@@A@AAA@A@A@AA@B@@@A@AA?A@AA@@A@@@@A@@AA@@@A@@@@A?@A@A@@@@A@@@@AAA?A@A@B@A@@?@A@@A@@A@@@@@@@A@@AA@@A@@@@A@@AA@A@@A@@AA@@@@@@A@AA@@@A@@@A@A@@AA?@@A@@@@A@@A@@@A@@@A@A@@@@A@A@@@@@A@?A@@@AA@A@@B@AAA@@@@A@A@AA?@@A@@@@@@@@@@@A@A@@A?@@A@@@@AA?@@@A@@@@A@A?@A@@A@@@@@@A@@@@A@@A@@?@?AA@@@A@@A@@A@A@@@@A@A@A@@@@@@A@@BA?@A@A@A@@A@AA@AB",4);
	createPolygon("sjzhG`b}i@`nCpGrbB|i@dfEtX`w@ztA|oAhhCzaCtcAxiAxtAdEldEmKhhCfEj}A~oA{i@foBzi@~hBwXdw@glAm}@cwBl}@ucAhoBrGx{BpG|p@a{@|bBsnBdpAglAg^gsD|tC|i@vuBqGfbCc{@hw@k}A`jA_fBf^glAiw@ia@`jAor@`q@snBvQ_fBjpAqGxcA`{@||ArGxaD_fBfEihCejAewBaq@}pCqd@ytAqd@pGaq@{pCnK}pCz|AglAf|BglA|cAb{@||ArcAxQ`bDpiBztAnKzpCfjAdwBeq@`bDfjAxtAnpAvXriB|i@ppApGeq@tcA~cAflAtiBia@~oBw_C_pBwXwbCwXdq@glAjcBytA~oBciGbXoyCloCw_Cr|BytA~bCtcAh}Ae~Ex}@{wFddAha@l^ewBacC{i@u|BoyCpKoyCud@_tHpKabDtd@ewBgEy{DbXy{D{}@}i@qK}pCzQqnBcdAoyC{QkdEeuDbPgEz{DibDxtAx}@abDy}@ewBhEm}AebDglA?elA{{C?aXsnByvA_fB`}AihCppAglApKquEeq@ia@hoCw_CnKsuEwgEw_CpKsjDqKglAxvAqnBnw@_fBow@e~EqpAm}Amw@|i@opAwXu}@glAvvAytAaXytAdq@ewBh^ewBopA{pCrd@khCfjAja@|oBucAxvAor@|j@ihCzvA_fBbXquEfq@`{@j^_mErpAa{@hEgzG_k@o`GwiBdPuiB{tAuiBscAc}Aa{@gjAoyCeq@{tAzoB{wF|j@e~E?ioFhjAglAxQquEijA?fEgsDeq@m}A{oBia@xQe~Ej^mgJc{D?a}Aor@{j@_mEbvBc{@aXy{Dh^{pCcq@ucAqKquEfEujDs}@ihCyQqnBu}@w_Cbq@}pC{j@sjDobCc{@ejArGwhC{tA{|AwXqKgsDgEabDr}@m}AsvAwX{uBesDsvAoyCovA_mEqd@ka@`cBufFb|BglAtaDor@yj@e~EwQujDyj@{pC`q@oyC{|A}i@c|B{i@gpAka@yuBztA_jAujDoKwfFgEsjDovAc{@uuBgsDt|AqnB?abDfiBor@_q@ihCe{C}i@suBqGmvAzi@kvAflAy{Bk}AscAucA{iA?sj@d~Erj@hhCmKbwB?vfFe^bbD{p@b~EscAn`Gc^vfFo|A`pJcw@|pCd^b~Eaw@x{Dmd@l}AeEngJ?`iGe^nyC{WfsDaw@nr@tQhhCwiAflAf}@xiKeE`bDocArnBm|AbwB?flAcvAnr@_w@l}Ag}@flAlKn`G|WbwByp@flAfE~eBmcAtcAid@flA`^pnBmKdwBlKpuEpj@xtAqj@ja@sQflAhd@~eBuQpnB?zwFsQbbDdEhoF~v@v_Cc^nyCozC?lKnyCe}@v_CoaCrjDg|AflAwoAvXoj@hhCoj@|i@zWxtAe|Ab{@_^rcA`}@nr@|uA?f|A`bDc^|pCxoAdPxoApnB?flA|v@qGhd@rcAfd@|pCeEpuEoj@~eB~uAv_CriAhhCb^ldE?jdEsiAfsDhd@nyCk{B|i@d}@rcAyoAnr@mcAz{Dj{BxtArQ|pC~v@dsD~v@joFlKrjD{WtcA?hhCrQ~eBmKdwB{oArjDlcAqGhd@v_ClKpuEeEnyC?lkHg}@bwBkcAxtAnj@nyCxp@fsDuQ|pCb^`bDg}@`{@a^ldEzoAdwBdE`bDe}@flAc^~lE~v@~eBe}@bwB?dwBc^zpClcA|pChd@hhC?bbDlKv_C", "B@@A@A@A@@A@@BAAA?A?@AAA@A@AAAA@A@@AAA@@@@AB@A@AAA@AA@@@AAB@A?A@A@A@AA@AAB@A@A@@@AA@A@AAAAA@AAAA@B@AAAAAA@A@AA@@@AAA@AAAA?A@AAAAABAA@?A@AA@AAAA@AA?A@AAA@AA@A@@AAA@@@A@AAA@@@AA@A@@AA@@AAA?A@AAAAABA@A@@AA@@A@@@@@AA@A@A@AAAA@A@@@@@A@A@@@A@@@A@A@@@@AAAAAA@@A@AA@B@AAAA@@@AA@A@AAAAAAA@AA@@@A@@@AAAA@@A@A?A@A@AAAAAA@@A@A@B", 4);
}

// OnLoad
function do_onload() {
	initialize();
}

Event.observe(window, 'load', function() {
  do_onload();
});

Event.observe(window, 'unload', function() {
  GUnload();
});