// 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(nom,ambit,poblacio){
//	  var radius = document.getElementById('radiusSelect').value;

	  var searchUrl = 'maps_MarkersXML.php?nom='+nom+'&poblacio='+poblacio+'&ambit='+ambit;
	  
	  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');

/*		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; '><strong>";
				try{ if(missatge[0].firstChild){ sidebar.innerHTML += missatge[0].firstChild.data; } }catch(e){}
				sidebar.innerHTML += "</strong><br /></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(42.577355,2.054443), 7);
		  return;
		}
	
		var bounds = new google.maps.LatLngBounds();
		
		
		for (var i = 0; i < markers.length; i++) {
		  var nom = getHTML(markers[i].getAttribute('nom'));
		  var ambit = getHTML(markers[i].getAttribute('ambit'));
		  var tipus_servei = getHTML(markers[i].getAttribute('tipus_servei'));
		  var email = getHTML(markers[i].getAttribute('email'));
		  var telefon = getHTML(markers[i].getAttribute('telefon'));
		  var poblacio = getHTML(markers[i].getAttribute('poblacio'));
		  var web = getHTML(markers[i].getAttribute('web'));
		  var icona = getHTML(markers[i].getAttribute('icona'));
		  
		  /*<div style="margin-top:10px;">&nbsp;</div> antes del <strong...*/var html = '<strong style="color:#9d0043;">'+ambit+' · '+tipus_servei+'</strong><br /><br /><b style="font-size:14px; ">' + nom + '</b>';
 		  //if(num_sales!='1'){	html+='<br />'+num_sales+' salas'; }
		  if(email!=''){ html+='<br /><a href="mailto:'+email+'"  style="font-weight:normal;">'+email+'</a>'; }
		  if(web!=''){ html+='<br /><a href="http://'+web+'" target="_blank" style="font-weight:normal;">'+web+'</a>'; }
		  
		  html+='<br />';
		  if(telefon!=''){ html+='Tel. '+telefon+'<br />';}
		  if(poblacio!=','){ html+=poblacio; }
		  
		  
		  
		  

		  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, icona);
			  map.addOverlay(marker);
	  		  bounds.extend(point);
		  }else{

				var marker=null;  
		  }
		  /*html+="<div style='margin-bottom:20px;'>&nbsp;</div>";*/
		  html+="<div style='width:100%; border-bottom: solid 1px #999;'>&nbsp;</div>";
		  var sidebarEntry = creaResultatBarra(marker, html);
		  sidebar.appendChild(sidebarEntry);

		}
		//alertDeb("setCenter");
		map.setCenter(bounds.getCenter(), map.getBoundsZoomLevel(bounds));
		

	  }
	  
	  );



	}
	
	
	function creaMarca(point, html, icon) {
    // Create our "tiny" marker icon
    var myIcon = new GIcon(G_DEFAULT_ICON);
    myIcon.image = "img/icones_maps/"+icon;
	myIcon.iconSize = new GSize(15, 26);
    myIcon.iconAnchor = new GPoint(7, 21);
	myIcon.shadow = "img/icones_maps/shadow.png";
    myIcon.shadowSize = new GSize(30, 26);
	myIcon.infoWindowAnchor = new GPoint(7, 10);

	// Set up our GMarkerOptions object
	markerOptions = { icon:myIcon };		
		
	 var marker = new google.maps.Marker(point,markerOptions);
	  
	  
	 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');
			map.setZoom(17);
			document.location.href="#";
		  });
		  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");
  
}









	
	


