var map;
var LoadedPoints;
var BaseImageURL = "http://www.tv3.cat/multimedia/";
function loadMap()
{
	map = new GMap2(document.getElementById("gmap"));
	map.addControl(new GSmallZoomControl());
		
	
	map.addControl(new GMapTypeControl());

	map.setCenter(new GLatLng( 41.25398,0.4863707), 1);
    //map.setMapType(G_NORMAL_MAP);
	InsertPostAndGaleryPoints();
	InsertUserImagesPoints();
  }
 
 function InsertPostAndGaleryPoints()
 {
 // Read the data from the .xml
    var request = GXmlHttp.create();
    var imagepath ='';
	var entradeta='';
	var text ='';
    //CAMBIAR EL PATH DEL XML POR EL DEL XML EN LOCAL
    request.open("GET", "/skins/km33/xml/km3_post_gmaps_llistat.xml", true);
    request.onreadystatechange = function() {
      if (request.readyState == 4) {
      
	  var xmlDoc = request.responseXML;
        // obtain the array of markers and loop through it
        
        var markers = xmlDoc.documentElement.getElementsByTagName("item");
        LoadedPoints=new Array();
        for (var i = 0; i < markers.length; i++) {
		 
         var lat = parseFloat(markers[i].getElementsByTagName('latitud')[0].firstChild.data);
          var lng = parseFloat(markers[i].getElementsByTagName('longitud')[0].firstChild.data);
          //var id_item = markers[i].getAttribute("id"); 
		  var point = new GLatLng(lat,lng);
		  point = CheckOffset(point);
		  var titol = markers[i].getElementsByTagName('titol')[0].firstChild.data;
		  
		  try{
			 entradeta = markers[i].getElementsByTagName('entradeta')[0].firstChild.data;
		  }
		  catch(exception){entradeta=''; }
		  
		  var url = markers[i].getElementsByTagName('url')[0].firstChild.data;
		  try{
			imagepath= BaseImageURL + markers[i].getElementsByTagName('image')[0].getAttribute("document");
		  }
		  catch(exception){imagepath=''; }
		  
		  var tipus= markers[i].getElementsByTagName('tipus')[0].getAttribute("idName"); 
		  var data = markers[i].getElementsByTagName('pub_date')[0].getAttribute("dia")+'/'+
			  markers[i].getElementsByTagName('pub_date')[0].getAttribute("mes")+'/'+
			  markers[i].getElementsByTagName('pub_date')[0].getAttribute("any");
		  
		  try{
			 text= markers[i].getElementsByTagName('text')[0].firstChild.data
		  }
		  catch(exception){text=''; }
		  
		  marker2 = createMarker(point,titol,entradeta,text,url,imagepath,tipus,data);            
          
          map.addOverlay(marker2);		  
        }
      }
    }
    request.send(null);
 }
 
 function InsertUserImagesPoints()
 {
 // Read the data from the .xml
    var request = GXmlHttp.create();
    
    //CAMBIAR EL PATH DEL XML POR EL DEL XML EN LOCAL
    request.open("GET", "/skins/km33/xml/dty_participacio_dty_concurs_2170.xml", true);
    request.onreadystatechange = function() {
      if (request.readyState == 4) {
      
	  var xmlDoc = request.responseXML;
        // obtain the array of markers and loop through it
        
        var markers = xmlDoc.documentElement.getElementsByTagName("item");
        LoadedPoints=new Array();
        for (var i = 0; i < markers.length; i++) {
		 var latlng= (markers[i].getElementsByTagName('keywords')[0].firstChild.data).split(",");
         var lat = parseFloat(latlng[1]);
          var lng = parseFloat(latlng[0]);
          var id_item = markers[i].getAttribute("idint"); 
		  var point = new GLatLng(lat,lng);
		  point = CheckOffset(point);
		  var titol = markers[i].getElementsByTagName('titol')[1].firstChild.data;
		  var entradeta = markers[i].getElementsByTagName('entradeta')[1].firstChild.data;
		  var data = markers[i].getElementsByTagName('element_idname')[0].firstChild.data
		  var url = "http://www.tv3.cat/km33/imatge_espectador.htm?idint="+id_item;
		  var imagepath= BaseImageURL + markers[i].getElementsByTagName('image')[0].getAttribute("document");
		  var text= markers[i].getElementsByTagName('text')[0].firstChild.data
		  var tipus= "USUARI"; 

		  marker3 = createMarker(point,titol,entradeta,text,url,imagepath,tipus,data);            
          
          map.addOverlay(marker3);		  
        }
      }
    }
    request.send(null);
 
 }
 
 
 function CheckOffset(point)
 {
	while(LoadedPoints[point]!=null & LoadedPoints[point]==true) 
	{
		point = AddPointOffset(point);
	}
	LoadedPoints[point]=true;
	return point;
 }
 
 function AddPointOffset(point)
 {
	return new GLatLng(point.lat()+0.00005,point.lng()+0.00005);
 }
 
 function createMarker(point,titol,entradeta,text,url,imagepath,tipus,data) {   
	
	var markericon = GetMarkerIcon(tipus);
	
	var baseIcon = new GIcon();
	baseIcon.image=markericon;
	baseIcon.shadow = "http://www.google.com/mapfiles/shadow50.png";
   /* baseIcon.iconSize = new GSize(20, 34);*/
    baseIcon.shadowSize = new GSize(37, 34);
    baseIcon.iconAnchor = new GPoint(9, 34);
    baseIcon.infoWindowAnchor = new GPoint(9, 2);
    baseIcon.infoShadowAnchor = new GPoint(18, 25);
	
	var options = {title:titol,icon :baseIcon};
	
	var marker = new GMarker(point,options);
	
      GEvent.addListener(marker, "click", function() { 
	  
	  
				/*  
	   		  var html = '<div id="bocata">';
		
			  if(imagepath!=''){html= html+'<span class="label"><a href="'+url+'"><img src="'+imagepath+'" width="90" height="66"></img></a></span>';}
			  
			  html= html + '<span class="label"><a href="'+url+'">'+titol+'</a></span>';
						  
			  if(entradeta!=''){ html= html+ '<span class="label">'+entradeta+'</span>';}
			  
			  if(tipus=='USUARI'){ html = html + '<span class="label">'+data+'</span>';}
			  
			  html = html +'</div> ';  
			*/	
	         
			
			var html = '<div id="bocata" style="">';
			 
			if(imagepath!=''){html= html+'<a style="text-decoration=none;" href="'+url+'"><img style="float:left;" src="'+imagepath+'" width="90" height="66"></img></a>';}
					
			html = html +'<span class="titol_gmaps"><strong>'+titol+'</strong><br />';
    
			if(entradeta!=''){ html = html+'<span class="entradeta_gmaps">' +entradeta+'</span></span>';}
			
			if(text!=''){html= html + '<span class="descripcio_gmaps">'+text+'</span><br/>'};
			html= html+'</div>';
				
	  
	  
	  marker.openInfoWindowHtml(html);
	  
	  GEvent.addListener(marker, "infowindowclose", function() {
		map.setCenter(point, map.getZoom());
		});

	  });
	return marker;
 }
 
 function GetMarkerIcon(tipus)
 {
	var initialpath='http://blogs.ccrtvi.com/skins/km33/icons/';
	if(tipus=="GALERIA") return initialpath +'km33_fotoprogramapetita.png';
	else if(tipus=="POST") return initialpath+'km33_fotoblogpetita.png';
	else{return initialpath+'km33_usuaripetita.png';
	}
 }
 
 