var bounds;
var global_counter = 0;
var map;
var p_div;
var fichero;
var imagen;
var tipo_zoom;
var controlmap;

function iniciar_mapa (p_div,fichero,imagen,tipo_zoom,controlmap){
	
	if(p_div==null){
		alert("Tens que dirme el div al que vols que posi el mapa");
	}else if(imagen==null){
		alert("Quina imatge vols que posi al punts, un 0 si vols el standard");
	}else if(tipo_zoom==null){
		alert("Si vols la barra gran pasam un 1 si vols la petita un 2");
	}else if(controlmap==null){
		alert("Si no vols el mapa petit de navegacio pasam un 1 si el vols un 2");
		}
	
	//alert(p_div+" "+fichero+" "+imagen+" "+tipo_zoom+" "+controlmap);

if (GBrowserIsCompatible()) {
      
      var gmarkers = [];
      var i = 0;

      // Esta funcion es la que crea el marcador

      map = new GMap2(document.getElementById(p_div));
      if (tipo_zoom == "1"){
      	map.addControl(new GLargeMapControl());
      }else{
    	  map.addControl(new GSmallMapControl());
    	}
      map.addControl(new GMapTypeControl());
      if (controlmap == "2"){
    		  map.addControl(new GOverviewMapControl());
   		 }
      bounds = new GLatLngBounds();
      //map.setCenter(new GLatLng(latitud, longitud), 4);

      var request = GXmlHttp.create();
      request.open("GET", fichero, true);
      request.onreadystatechange = function() {
        if (request.readyState == 4) {
          var xmlDoc = GXml.parse(request.responseText);
          // obtain the array of markers and loop through it
          var markers = xmlDoc.documentElement.getElementsByTagName("marker");
          
          for (var i = 0; i < markers.length; i++) {
            // obtain the attribues of each marker
            var lat = parseFloat(markers[i].getAttribute("lat"));
            var lng = parseFloat(markers[i].getAttribute("lng"));
            var point = new GLatLng(lat,lng);
            var html = GXml.value(markers[i].getElementsByTagName("infowindow")[0]);
            var label = GXml.value(markers[i].getElementsByTagName("titulo")[0]);
            
            if (i==0)
						{// Centrem el mapa al primer punt
								map.setCenter(point, 0, G_NORMAL_MAP);
						}
							bounds.extend(point);	
            
            // create the marker
            var marker = createMarker(point,label,html,imagen);
            map.addOverlay(marker);
          }
          
  	   	    map.setZoom(map.getBoundsZoomLevel(bounds));
						map.panTo(bounds.getCenter() );
			
						// si hi ha un sol punt ens allunyem una mica
							if ( bounds.getSouthWest().distanceFrom( bounds.getNorthEast() ) == 0 )
	
							{
									map.setZoom( map.getZoom() - 2 );
							}
        }
      }
      request.send(null);
    }
  }
  
function createMarker(point,name,html,imagen) {
      
      //Creamos el marcador con la imagen que nos han indicado	
      if (imagen == "0"){
      	 	var marker = new GMarker(point);
      		
      	
      	}else{
      		var Icono1 = new GIcon();
      		Icono1.image = imagen;
      		//Icono1.iconSize = new GSize(20, 68);
		      Icono1.iconSize = new GSize(18, 60);
   			  Icono1.iconAnchor = new GPoint(10, 34);
      		Icono1.infoWindowAnchor = new GPoint(15, 15);
         	
       		 var marker = new GMarker(point, Icono1);
      		
      }
        
        GEvent.addListener(marker, "click", function(overlay) {
          marker.openInfoWindowHtml(html);
        });
      
      
       return marker;
      }  
  

