//<![CDATA[
var myPano;
var map=null;
var geocoder = null;
var markers = [];
var icon = new GIcon();
var gdir;
var addressMarker;

var myaw = 0;
var mpith = 0;
var mzoompano = 0;
mostrandodirecciones = 'no';
var myaw = 0;
var mpith = 0;
var mzoompano = 0;
var iconpanoramio = new GIcon();
iconpanoramio.image = "http://www.panoramio.com/img/panoramio-marker.png";
iconpanoramio.shadow = "images/marco.jpg";
iconpanoramio.iconSize = new GSize(50,50);
iconpanoramio.shadowSize = new GSize(52,52);
iconpanoramio.iconAnchor = new GPoint(20,20);
iconpanoramio.infoWindowAnchor = new GPoint(9, 0);


var iconp = new GIcon();
iconp.image = "http://labs.google.com/ridefinder/images/mm_20_blue.png";
iconp.shadow = "http://labs.google.com/ridefinder/images/mm_20_shadow.png";
iconp.iconSize = new GSize(12, 20);
iconp.shadowSize = new GSize(22, 20);
iconp.iconAnchor = new GPoint(6, 20);
iconp.infoWindowAnchor = new GPoint(5, 1);

var iconba = new GIcon();
iconba.image = "images/bandaraazul.png";
iconba.shadow = "images/bandaraazulshadow.png";
iconba.iconSize = new GSize(25.0, 25.5);
iconba.shadowSize = new GSize(36.0, 26.5);
iconba.iconAnchor = new GPoint(13, 13);
iconba.infoWindowAnchor = new GPoint(13, 13);

function solobuscador(){
	if (GBrowserIsCompatible()) {
   	geocoder = new GClientGeocoder();
	
	}
}
function crearmapa(){
	if (GBrowserIsCompatible()) {
    map = new GMap2(document.getElementById("mapa"));
		map.addControl(new GScaleControl());
		map.addControl(new GMapTypeControl());
   	map.addControl(new GLargeMapControl());
		geocoder = new GClientGeocoder();
		gdir = new GDirections(map, document.getElementById("directions"));
		
	  GEvent.addListener(gdir, "load", onGDirectionsLoad);
	  GEvent.addListener(gdir, "error", handleErrors);
	//	map.enableScrollWheelZoom();
		GEvent.addListener(map, "dragend", function() {
	  	importartodaslasplayas();
		});
		GEvent.addListener(map, "zoomend", function() {
			importartodaslasplayas();
		});
	}
}
function importartodaslasplayas(){
		var info = document.getElementById('infomapa');

	if (mostrandodirecciones == 'no')
	{
				map.clearOverlays();
		
		var mapa = map;
		var bounds = mapa.getBounds();
		var miny = bounds.getSouthWest().lat();
		var minx = bounds.getSouthWest().lng();
		var maxy = bounds.getNorthEast().lat();
		var maxx = bounds.getNorthEast().lng();
		var centro = map.getCenter(); 
		var centrolat=(centro.lat());
		var centrolon=(centro.lng());
		var zoom = map.getZoom();
		if (zoom>10){
					info.innerHTML='<h2>Mostrando playas</h2>Se muestran todas las playas dentro de los límites del mapa. Arrastre o mueva el mapa y verá aparecer más playas.<br />Si desea <b>ver localidades con playas</b> deberá reducir el zoom o <a href="#" onclick="ajustarzoom(8)">pulse aquí</a>.<br /><div class="peque">Zoom:'+zoom+' | lat:'+centrolat+' | lng:'+centrolon+'</div>';
					
		map.setMapType(G_HYBRID_MAP);
		var url = 'js/json2.php?zoom='+zoom+'&minx=' + minx + "&miny=" + miny +'&maxx=' + maxx + "&maxy=" + maxy +"&centro=" + centrolat +',' + centrolon;
			//	window.open (url);
		GDownloadUrl(url, function(data, responseCode) {
			datos = data.split("|");
			parseJsonlocalidad(datos);
			
		});
		}

		else
		{
			if (zoom>7){
								info.innerHTML='<h2>Mostrando localidades</h2>Se muestran todas las localidades con playas dentro de los límites del mapa. Pruebe a arrastra o aumentar el zoom. Si desea ver playas deberá aumentar el zoom o <a href="#" onclick="ajustarzoom(11)">pulsar aquí</a>.<br /><div class="peque">Zoom:'+zoom+' | lat:'+centrolat+' | lng:'+centrolon+'</div>';
			map.setMapType(G_NORMAL_MAP);
			var url = 'js/json3.php?zoom='+zoom+'&minx=' + minx + "&miny=" + miny +'&maxx=' + maxx + "&maxy=" + maxy +"&centro=" + centrolat +',' + centrolon;
				GDownloadUrl(url, function(data, responseCode) {
					datos = data.split("|");
					parseJson(datos);

				});
			}
			else
			{
					info.innerHTML='<h1 style="color:red">Zoom demasiado amplio</h1>Lo sentimos pero no podemos motrar todas las localidades hubicadas en el mapa ya que son demasiadas.<br />Puede reducir el zoom o <a href="#" onclick="ajustarzoom(8)">pulsar aquí</a>.<br /><div class="peque">Zoom:'+zoom+' | lat:'+centrolat+' | lng:'+centrolon+'</div>';
				}
		}
}
else
{
		info.style.visibility='hidden';
}
	
}
function ajustarzoom(zz){
	map.setZoom(zz);
}
function mostrarplayaalazar() {
	crearmapa();
	var url = 'js/mostrarplayaalazar.js';
	GDownloadUrl(url, function(data, responseCode) {
		datos = data.split("|");
		lat = datos[0];
		lng = datos[1];
		nombreplaya = datos[2];
		localidadplaya = datos[3];
		longitudplaya = datos[4];
		composicion = datos[5];
		ocupacion = datos[6];
		map.setCenter(new GLatLng(lat,lng), 16,G_HYBRID_MAP);
		var info = document.getElementById('infomapa');
		info.innerHTML='<h1>Playa '+nombreplaya+'</h1><h2>'+localidadplaya+' - '+longitudplaya+' - '+composicion+' - Ocupación: '+ocupacion+'</h2>';
		mostrarfotos('no')
	});

	
}
function mostrarplaya(id) {
	crearmapa();
	
	var url = 'js/mostrarplaya'+id+'.js?';
	GDownloadUrl(url, function(data, responseCode) {
		datos = data.split("|");
		lat = datos[0];
		lng = datos[1];
		nombreplaya = datos[2];
		localidadplaya = datos[3];
		longitudplaya = datos[4];
		composicion = datos[5];
		ocupacion = datos[6];
		map.setCenter(new GLatLng(lat,lng), 16,G_HYBRID_MAP);
		var info = document.getElementById('infomapa');
		info.innerHTML='<h1>Playa '+nombreplaya+'</h1><h2>'+localidadplaya+' - '+longitudplaya+' - '+composicion+' - Ocupación: '+ocupacion+'</h2>';
		mostrarfotos('yes');
		calleinitialize()
		
	});

	
}

    
    function calleinitialize() {
		var mapa = map;
		var centro = map.getCenter(); 
		var centrolat=(centro.lat());
		var centrolon=(centro.lng());
      	var fenwayPark = new GLatLng(36.542197,-4.623658);
      	panoramaOptions = { latlng:fenwayPark };
      	myPano = new GStreetviewPanorama(document.getElementById("mypano"), panoramaOptions);
      GEvent.addListener(myPano, "error", handleNoFlash);
    	}
    
    function handleNoFlash(errorCode) {
      if (errorCode == 'FLASH_UNAVAILABLE') {
        alert("Error: Flash doesn't appear to be supported by your browser");
        return;
      }
    }  

function mostrarcosta(id) {
	crearmapa();
	var url = 'js/mostrarcosta-'+id+'.js';
	//window.open (url);
	GDownloadUrl(url, function(data, responseCode) {
		datos = data.split("|");
		lat = datos[0];
		lng = datos[1];
		costa = datos[2];
		playas = datos[3];
		map.setCenter(new GLatLng(lat,lng), 8);
		var info = document.getElementById('infomapa');
		info.innerHTML='<h1>'+costa+'</h1><h2>'+playas+'</h2>';
		importarplayas(id);
	});
}

function mostrarcosta2(lat, lng) {
	crearmapa();
	map.setCenter(new GLatLng(lat,lng), 8);
	importarlocalidades(lat, lng);
	info.innerHTML='<h1>Búsqueda de playas</h1>';
}

function mostrarplayaslocalidad(id){
	crearmapa();
	var url = 'js/mostrarplayaslocalidad-'+id+'.js';
	//window.open (url);
	GDownloadUrl(url, function(data, responseCode) {
		datos = data.split("|");
		lat = datos[0];
		lng = datos[1];
		localidad = datos[2];
		playas = datos[3];
		map.setCenter(new GLatLng(lat,lng), 12);
		var info = document.getElementById('infomapa');
		info.innerHTML='<h1>'+localidad+'</h1><h2>'+playas+'</h2>';
		importarplayaslocalidad(id);
	});
	
}
function importarplayaslocalidad(id){
	var url = 'js/importarplayaslocalidad-'+id+'.js';
//	window.open (url);
	GDownloadUrl(url, function(data, responseCode) {
		datos = data.split("|");
		parseJsonlocalidad(datos);
		
	});
	
}
function parseJsonlocalidad(doc) {
var jsonData = eval("(" + doc + ")");
for (var i = 0; i < jsonData.markers.length; i++) {
if (jsonData.markers[i].localidad!=''){
var markermas = createMarkerplayaslocalidad(jsonData.markers[i]);
map.addOverlay(markermas);}

}
}
function createMarkerplayaslocalidad(input) {
	var point = input.point;
	if (input.icono!='no')
	var marker = new GMarker(point,iconba);
	else
	{
	var marker = new GMarker(point,iconp);
		iconp.image = "http://labs.google.com/ridefinder/images/mm_20_blue.png";
	}
	map.addOverlay(marker);
	GEvent.addListener(marker, "click", function() {
	var html='<h3>'+input.localidad+'</h3>';
	if (input.icono!='no'){
		html = html + '<img src="images/bandaraazul.png" width="15" title="playa con bandera azul" /><b>Playa con bandera azul</b>';
	}
	if (input.localidad2!=undefined){
		html = html + '<br />Localidad: <a title="Ver playas en '+input.localidad2+'" href="playas-de-'+input.urllocalidad+'.htm">'+input.localidad2+'</a><br />';
	}
	html = html + '<br /><a href="playa-'+input.total+'.htm">Ver esta playa</a>';
	marker.openInfoWindowHtml(html);
	});
	return marker;

}
function importarplayas(id){
	var url = 'js/importarplayas-'+id+'.js';
	//window.open (url);
	GDownloadUrl(url, function(data, responseCode) {
		datos = data.split("|");
		parseJson(datos);
	});
	
}

function parseJson(doc) {
var jsonData = eval("(" + doc + ")");
for (var i = 0; i < jsonData.markers.length; i++) {
if (jsonData.markers[i].localidad!=''){

var markermas = createMarker(jsonData.markers[i],i);
map.addOverlay(markermas);}


}
}

function createMarker(input) {
	var point = input.point;
			iconp.image = "http://labs.google.com/ridefinder/images/mm_20_red.png";
	var marker = new GMarker(point,iconp);
	map.addOverlay(marker)
	GEvent.addListener(marker, "click", function() {
		var htmlmostrar='<h3>'+input.localidad+'</h3><h4>'+input.total+' playas</h4>';
		if (input.urllocalidad!='')
		htmlmostrar=htmlmostrar + '<a href="playas-de-'+input.urllocalidad+'.htm">Ver playas de '+input.localidad+'</a>';

	marker.openInfoWindowHtml(htmlmostrar);});
	return marker;
}

function mostrarfotos(mostrarencapa){
	var mapa = map;
	var bounds = mapa.getBounds();
	var miny = bounds.getSouthWest().lat();
	var minx = bounds.getSouthWest().lng();
	var maxy = bounds.getNorthEast().lat();
	var maxx = bounds.getNorthEast().lng();
	var url = 'panoramio.php?order=popularity&set=public&minx=' + minx + "&miny=" + miny +'&maxx=' + maxx + "&maxy=" + maxy ;
	//window.open (url)
	GDownloadUrl(url, function(data, responseCode) {
		var panoramio = eval("(" + data + ")");
		if (mostrarencapa=='yes'){
			var divpanoramio = document.getElementById('panoramio');
			divpanoramio.innerHTML='<table><tr>';
		}
		var entra = 'no';
		for (var i = 0; i < panoramio.photos.length; i++) {
			var entra = 'yes';
			createMarkerfoto(panoramio.photos[i]);
			
			if (mostrarencapa=='yes')
divpanoramio.innerHTML="<div class=imgpanoramio><a id='photo_infowin' target='_blank' href='http://www.panoramio.com/photo/" +panoramio.photos[i].photo_id + "'>" +"<img alt='Imagen de Panoramio llamada "+panoramio.photos[i].photo_title+"' width='200'  src='http://www.panoramio.com/photos/small/" + panoramio.photos[i].photo_id + ".jpg'/><\/a></div>" + divpanoramio.innerHTML;
		}
		if (mostrarencapa=='yes'){
		if (entra=='no')
		divpanoramio.innerHTML=divpanoramio.innerHTML + '<strong>No hemos encontrado imagenes cercanas a esta gasolinera.</strong><br />';
		else
		divpanoramio.innerHTML=divpanoramio.innerHTML + '<div id="bajopanoramio" style="width:190px;"><a href="http://www.panoramio.com">Las imagenes de Panoramio estan bajo el Copyright de sus autores</a></div>';
		}
		});
}
function mostrarfotos2(lat,lng,capa,idplaya){
	var rango = 0.00005;
	var miny = (lat-rango);
	var minx = (lng-rango);
	var maxy = (lat+rango);
	var maxx = (lng+rango);
	var imagen=null;
	var url = 'panoramio.php?order=popularity&set=public&minx=' + minx + '&miny=' + miny +'&maxx=' + maxx + '&maxy=' + maxy ;
	//window.open (url)
	GDownloadUrl(url, function(data, responseCode) {
		var panoramio = eval("(" + data + ")");
		var divpanoramio = document.getElementById(capa);
		imagen=panoramio.photos[0].photo_id;

			divpanoramio.style.backgroundImage="url(http://static.panoramio.com/photos/original/" + panoramio.photos[0].photo_id + ".jpg)";
			//divpanoramio.style.backgroundImage="url(http://mw2.google.com/mw-panoramio/photos/medium/" + panoramio.photos[0].photo_id + ".jpg)";
			var url = "panoramio2.php?idplaya="+idplaya+"&imagen=http://static.panoramio.com/photos/medium/" + panoramio.photos[0].photo_id + ".jpg";
			//window.open(url);
			//window.open('http://static.panoramio.com/photos/original/' + panoramio.photos[0].photo_id + '.jpg')
			
			/*GDownloadUrl(url, function(data, responseCode) {
				var imagenplaya = eval("(" + data + ")");
				alert (imagenplaya);
				imagen=imagenplaya.photos[0].imagen;
				divpanoramio.style.backgroundImage="url("+imagen+")";
			});*/	
		
		});
		
}





function createMarkerfoto(input) {
	var point = new GLatLng(input.latitude,input.longitude);
	iconpanoramio.image = "http://www.panoramio.com/photos/small/" + input.photo_id + ".jpg";
	var marker = new GMarker(point,iconpanoramio);
	map.addOverlay(marker)
	GEvent.addListener(marker, "click", function() {
	marker.openInfoWindowHtml('<img src="http://www.panoramio.com/photos/small/' + input.photo_id + '.jpg" />');});
	return marker;
}
function urlencode(str) {
str = escape(str);
str = str.replace(' ','-');
str = str.replace('+', '%2B');
str = str.replace('%20', '-');
str = str.replace('*', '%2A');
str = str.replace('/', '%2F');
str = str.replace('@', '%40');
return str;
}
function buscarplaya(){
	var address=document.forms['buscar'].q.value;
	if (geocoder) {
    geocoder.getLatLng(address,function(point) {
        if (!point) {
          alert("Lo sentimos pero no conocemos ningún lugar llamado: "+address);
return false;
        } else {

					address = encodeURI(urlencode(address));
					
					lat = point.lat();
					lat = escape(lat);
					lat= lat.replace('.', '_');
					
					lng = point.lng();
					lng = escape(lng);
					lng= lng.replace('.', '_');
					location.href='buscar-playas-cerca-de-'+address+'-lat'+lat+'lng'+lng+'.htm';
					return false;
        }
      }

    );
return false;
  }
return false;
	
}
function showAddress(address) {
      if (geocoder) {
        geocoder.getLatLng(
          address,
          function(point) {
            if (!point) {
              alert(address + " not found");
            } else {
              map.setCenter(point, 15);
              var marker = new GMarker(point);
              map.addOverlay(marker);
              marker.openInfoWindowHtml(address);
							mostrarpromociones(40,tabla);
            }
          }
        );
      }
    }
	
		function votar(tipo,id)
					{
						var url = 'votar.php?tipo='+tipo+'&id=' + id  ;

						xmlhttp.open("GET",url,true);
						xmlhttp.onreadystatechange=function() {
						if (xmlhttp.readyState==4) {
							data = xmlhttp.responseText;
							alert('Gracias por votar!!!\nHemos tomado nota.');

						}
						}
						xmlhttp.setRequestHeader('Accept','message/x-jl-formresult');
						xmlhttp.send(null);

						return false;	
					}
					
						function estar(tipo,id)
									{
										var url = 'estar.php?tipo='+tipo+'&id=' + id  ;

										xmlhttp.open("GET",url,true);
										xmlhttp.onreadystatechange=function() {
										if (xmlhttp.readyState==4) {
											data = xmlhttp.responseText;
											alert('Gracias!!!\nHemos tomado nota.');

										}
										}
										xmlhttp.setRequestHeader('Accept','message/x-jl-formresult');
										xmlhttp.send(null);

										return false;	
									}
					
										function guardar(tipo,id)
													{
														var url = 'guardar.php?tipo='+tipo+'&id=' + id  ;

														xmlhttp.open("GET",url,true);
														xmlhttp.onreadystatechange=function() {
														if (xmlhttp.readyState==4) {
															data = xmlhttp.responseText;
															alert('Playa guardada!!!\n');

														}
														}
														xmlhttp.setRequestHeader('Accept','message/x-jl-formresult');
														xmlhttp.send(null);

														return false;	
													}
					
					
					
					function malalocalizacion(id){
						var url = 'malalocalizacion.php?id=' + id  ;

						xmlhttp.open("GET",url,true);
						xmlhttp.onreadystatechange=function() {
						if (xmlhttp.readyState==4) {
							data = xmlhttp.responseText;
							alert('Mil gracias por el aviso!!!\nHemos tomado nota.');

						}
						}
						xmlhttp.setRequestHeader('Accept','message/x-jl-formresult');
						xmlhttp.send(null);

						return false;
						
					}
					
					
					function setDirections(fromAddress, toAddress, locale) {
					      gdir.load("from: " + fromAddress + " to: " + toAddress,
					                { "locale": locale });
					    }

					    function handleErrors(){
						   if (gdir.getStatus().code == G_GEO_UNKNOWN_ADDRESS)
						     alert("Lo sentimos pero no conocemos la dirección especificada. Por favor pruebe con otra. Gracias."+gdir.getStatus().code);
						   else if (gdir.getStatus().code == G_GEO_SERVER_ERROR)
						      alert("Lo sentimos pero no conocemos la dirección especificada. Por favor pruebe con otra. Gracias."+gdir.getStatus().code);

						   else if (gdir.getStatus().code == G_GEO_MISSING_QUERY)
						       alert("Lo sentimos pero no conocemos la dirección especificada. Por favor pruebe con otra. Gracias."+gdir.getStatus().code);

						   else if (gdir.getStatus().code == G_GEO_BAD_KEY)
						      alert("Lo sentimos pero no conocemos la dirección especificada. Por favor pruebe con otra. Gracias."+gdir.getStatus().code);

						   else if (gdir.getStatus().code == G_GEO_BAD_REQUEST)
						      alert("Lo sentimos pero no conocemos la dirección especificada. Por favor pruebe con otra. Gracias."+gdir.getStatus().code);

						   else   alert("Lo sentimos pero no conocemos la dirección especificada. Por favor pruebe con otra. Gracias."+gdir.getStatus().code);

						}

						function onGDirectionsLoad(){ 
							document.getElementById('comollegar').style.visibility='hidden';
					      map.setMapType(G_NORMAL_MAP);
						map.clearOverlays();
							document.getElementById('directions').innerHTML= document.getElementById('comollegar').innerHTML + '<br />'+ document.getElementById('directions').innerHTML ;
							mostrandodirecciones ='yes';
						}
//]]>

