// JavaScript Document

/*	
   function searchLocations() {
     var address = document.getElementById('addressInput').value;
     geocoder.getLatLng(address, function(latlng) {
       if (!latlng) {
         alert(address + ' not found');
       } else {
         searchLocationsNear(latlng);
       }
     });
   }
	
	
	function searchLocationsNear(center) {
	*/
	   
 
	
	//var localSearch = new GlocalSearch();

	function isIE()
{
  return /msie/i.test(navigator.userAgent) && !/opera/i.test(navigator.userAgent);
}

	function searchLocations(codi_postal,codi_promocio){
//	  var radius = document.getElementById('radiusSelect').value;

	  var searchUrl = 'mapsMarkersXML.php?codi_postal='+codi_postal+'&codi_promocio='+codi_promocio;
	  

	  google.maps.DownloadUrl(searchUrl, function(data) {
		var xml = google.maps.Xml.parse(data);
		var root_name = xml.documentElement; 
		var markers = root_name.getElementsByTagName('marker');
		var missatge =root_name.getElementsByTagName('missatge');
		var buscar = root_name.getElementsByTagName('buscar');
/*		if((buscar[0].firstChild.data)==1)
	  {
		 usePointFromPostcode( codi_postal,codi_promocio);
	  }*/
			var sidebar = document.getElementById('sidebar1');
			
			alertDeb(missatge[0].firstChild.data);
			//if (isIE()) {
				sidebar.innerHTML = "<div style='color:#000; font-size:14px; font-weight:bold;'>Resultados de la b&uacute;squeda:</div><div style='color:#999; font-size:14px; font-weight:bold; margin-bottom:25px; padding:5px; padding:0px;'>";
				try{ if(missatge[0].firstChild){ sidebar.innerHTML += missatge[0].firstChild.data; } }catch(e){}
				sidebar.innerHTML += "</div>";
			//} else {
				//sidebar.innerHTML = <div style='color:#000; font-size:14px; font-weight:bold;'>Resultados de la b&uacute;squeda:</div><div style='color:#999; font-size:14px; font-weight:bold; margin-bottom:25px; padding:5px; padding:0px;'>"+missatge[0].firstChild.data+"</div>";
			//}			
			

			
		map.clearOverlays();

		
		
		if (markers.length == 0) {
		
		alertDeb("n_marker="+markers.length);
		  //sidebar.innerHTML = 'No results found.';
		  //map.setCenter(new google.maps.LatLng(37.4419, -122.1419), 4);
		  map.setCenter(new google.maps.LatLng(40.513799,-3.779297), 5);
		  return;
		}
	
		var bounds = new google.maps.LatLngBounds();
		for (var i = 0; i < markers.length; i++) {
		  var nom = getHTML(markers[i].getAttribute('nom_cinema'));
		  var direccio = getHTML(markers[i].getAttribute('direccio'));
		  var num_sales = getHTML(markers[i].getAttribute('num_sales'));
		  var web = getHTML(markers[i].getAttribute('web'));
		  
		  var promocions = getHTML(markers[i].getAttribute('promocions'));
//		  var address = markers[i].getAttribute('address');
//		  var distance = parseFloat(markers[i].getAttribute('distance'));

		  var html = '<b style="color:#02732A; font-size:14px;">' + nom + '</b>';
 		  //if(num_sales!='1'){	html+='<br />'+num_sales+' salas'; }
		  html+='<br /> <br/>'+direccio;
		  if(web!=''){ html+='<br /><a href="http://'+web+'" target="_blank">Ver web <img src="img/new_window.png" /></a>'; }
		  if(promocions!=''){ html+='<br /><br />Promocion/es: <span>'+promocions+'</span>'; }
		  html+="<div style='width:100%; border-bottom: solid 1px #999;'>&nbsp;</div>";
		  

		  if(markers[i].getAttribute('lat')!=0){
			  var point = new google.maps.LatLng(parseFloat(markers[i].getAttribute('lat')),
									  parseFloat(markers[i].getAttribute('lng')));
		
			  var marker = creaMarca(point, html);
			  map.addOverlay(marker);
	  		  bounds.extend(point);
		  }else{

				var marker=null;  
		  }
		  var sidebarEntry = creaResultatBarra(marker, html);
		  sidebar.appendChild(sidebarEntry);

		}
		alertDeb("setCenter");
		map.setCenter(bounds.getCenter(), map.getBoundsZoomLevel(bounds));
		

	  }
	  
	  );



	}
	
	
	function creaMarca(point, html) {
	  var marker = new google.maps.Marker(point);
	  
	  
	  google.maps.Event.addListener(marker, 'click', function() {
		marker.openInfoWindowHtml(html);
	  });
	  return marker;
	}
	
	function creaResultatBarra(marker, html) {
	  var div = document.createElement('div');
	  //var html = '<b style="color:#02732A; font-size:14px;">' + nom + '</b>';//<br />'+direccio+'<br /><span>'+promocions+'</span>';
	  div.innerHTML = html;
	  div.style.cursor = 'pointer';
	  div.style.marginBottom = '15px';
	  
	  if(marker!=null){
		  google.maps.Event.addDomListener(div, 'click', function() {
			google.maps.Event.trigger(marker, 'click');
		  });
		  google.maps.Event.addDomListener(div, 'mouseover', function() {
			div.style.backgroundColor = '';
		  });
		  google.maps.Event.addDomListener(div, 'mouseout', function() {
			div.style.backgroundColor = '';
		  });
	  }
	  return div;
	}
	
function getCDATA(element){

	var ie = (typeof window.ActiveXObject != 'undefined');
	var returnText="hooo";
	
	if(ie){
	
	if(element.hasChildNodes){
	returnText = element.childNodes[0].nodeValue;
	}
	}
	else{
	
	if(element.hasChildNodes){
	returnText = element.childNodes[1].nodeValue;
	}
	
	
	}
	
	return returnText;

}	

function getHTML(s){
	return s.replace(/&lt;/g,'<').replace(/&gt;/g,'>');
}








function usePointFromPostcode(codi_postal,codi_promocio) 
{

  localSearch.setSearchCompleteCallback(null,
    function() 
	{
      
     	if (localSearch.results[0])
	  	{    
				
				var resultLat = localSearch.results[0].lat;
				var resultLng = localSearch.results[0].lng;
				var cp= codi_postal;
				var promo = codi_promocio;
				//location = "mapsMarkersXML.php?lat="+resultLat+"&lon="+resultLng+"&codi_postal="+cp+"&codi_promocio="+promo;
				searchLocations2(cp,promo,resultLat,resultLng );

		}
		else
		{
        	alert("Código postal no encontrado");
      	}
    }
	); 
 
 	localSearch.execute(codi_postal + ", ES");
  
}








function searchLocations2(codi_postal,codi_promocio, resultLat, resultLng){
	

//	  var radius = document.getElementById('radiusSelect').value;

	  var searchUrl = 'mapsMarkersXML.php?&lat='+resultLat+'&lon='+resultLng+'&codi_postal='+codi_postal+'&codi_promocio='+codi_promocio;

	  	google.maps.DownloadUrl(searchUrl, function(data) {
												  
		var xml = google.maps.Xml.parse(data);
		var root_name = xml.documentElement; 
		var markers = root_name.getElementsByTagName('marker');
		var missatge =root_name.getElementsByTagName('missatge');
		var buscar = root_name.getElementsByTagName('buscar');

			var sidebar = document.getElementById('sidebar');
			
			//alert(missatge[0].firstChild.data);
			sidebar.innerHTML = "<div style='color:#000; font-size:14px; font-weight:bold;'>Resultados de la b&uacute;squeda:</div><div style='color:#999; font-size:14px; font-weight:bold; margin-bottom:25px; padding:5px; padding:0px;'>"+missatge[0].firstChild.data+"</div>";

		map.clearOverlays();

		if (markers.length == 0) {
		  //sidebar.innerHTML = 'No results found.';
		  //map.setCenter(new google.maps.LatLng(37.4419, -122.1419), 4);
		  map.setCenter(new google.maps.LatLng(40.513799,-3.779297), 5);
		  return;
		}
	
		var bounds = new google.maps.LatLngBounds();
		for (var i = 0; i < markers.length; i++) {
		  var nom = getHTML(markers[i].getAttribute('nom_cinema'));
		  var direccio = getHTML(markers[i].getAttribute('direccio'));
		  var num_sales = getHTML(markers[i].getAttribute('num_sales'));
		  var web = getHTML(markers[i].getAttribute('web'));
		  
		  var promocions = getHTML(markers[i].getAttribute('promocions'));
//		  var address = markers[i].getAttribute('address');
//		  var distance = parseFloat(markers[i].getAttribute('distance'));

		  var html = '<b style="color:#02732A; font-size:14px;">' + nom + '</b>';
 		  //if(num_sales!='1'){	html+='<br />'+num_sales+' salas'; }
		  html+='<br /> <br/>'+direccio;
		  if(web!=''){ html+='<br /><a href="http://'+web+'" target="_blank">Ver web <img src="img/new_window.png" /></a>'; }
		  if(promocions!=''){ html+='<br /><br />Promocion/es: <span>'+promocions+'</span>'; }
		  html+="<div style='width:100%; border-bottom: solid 1px #999;'>&nbsp;</div>";
		  

		  if(markers[i].getAttribute('lat')!=0){
			  var point = new google.maps.LatLng(parseFloat(markers[i].getAttribute('lat')),
									  parseFloat(markers[i].getAttribute('lng')));
		
			  var marker = creaMarca(point, html);
			  map.addOverlay(marker);
	  		  bounds.extend(point);
		  }else{

				var marker=null;  
		  }
		  var sidebarEntry = creaResultatBarra(marker, html);
		  sidebar.appendChild(sidebarEntry);

		}
		map.setCenter(bounds.getCenter(), map.getBoundsZoomLevel(bounds));
		

	  }
	  
	  );

	}
	
	

