
    //need to set zoom level of control properaly after pan and zoom
    
    var map;
    var bounds;
    var teamArray = new Array();    
    var GEventArray = new Array();
    var GMarkerArray = new Array();
    var maxZoom = 16;
    
    function team(name,img,lat,lon,desc,link) {
      this.name = name;
      this.img = img;
      this.lat = lat;
      this.lon = lon;
      this.desc = desc;
      this.link = link
    }
    

    teamArray.push(new team("CardiganArms","republica",53.806494,-1.582586,"Cardigan Arms Pub","http://maps.google.co.uk/maps?f=q&source=s_q&hl=en&geocode=&q=53.806494,-1.582586&sll=53.786537,-1.582509&sspn=0.000738,0.005665&g=53.786109,-1.582003&ie=UTF8&ll=53.806591,-1.582621&spn=0.000369,0.002832&t=h&z=19&layer=c&cbll=53.806419,-1.582853&panoid=DqUTxBIENBAabsvKHAS8jw&cbp=11,65.87601617920444,,0,5.340909090909093"));
    teamArray.push(new team("WestPark","republica",53.832938,-1.601053,"West Park Training (Summer)","http://maps.google.co.uk/maps?f=q&source=s_q&hl=en&geocode=&q=53.832938,-1.601053&sll=53.833552,-1.600477&sspn=0.000205,0.000708&ie=UTF8&ll=53.833552,-1.600477&spn=0.00295,0.022659&t=h&z=16&layer=c&cbll=53.833552,-1.600477&panoid=8gsnnjiEB1PLj2-Gbq5q_Q&cbp=11,199.57214312177513,,0,1.335227272727272"));
    teamArray.push(new team("MenHome","republica",53.823225,-1.543842,"Men's Home Pitch","http://maps.google.co.uk/maps?f=q&source=s_q&hl=en&geocode=&q=53.823225,-1.543842&sll=52.796949,-1.154938&sspn=0.386109,0.869293&ie=UTF8&ll=53.822544,-1.544695&spn=0.005978,0.045362&t=h&z=15&layer=c&cbll=53.822576,-1.544698&panoid=g_ePFuDeGjB72P0MuZeWgw&cbp=11,35.73,,0,0.15"));          
    teamArray.push(new team("WomenHome","republica",53.801054,-1.594361,"Women's Home Pitch","http://maps.google.co.uk/maps?f=q&source=s_q&hl=en&geocode=&q=53.801054,-1.594361&sll=53.786623,-1.582509&sspn=0.000738,0.005665&ie=UTF8&ll=53.799954,-1.594305&spn=0.002953,0.022659&t=h&z=16&iwloc=A&layer=c&cbll=53.799951,-1.594296&panoid=pEezoFvvzx0bHYDV2ftS1Q&cbp=11,4.906427905971477,,0,2.1022727272727186"));
    teamArray.push(new team("BeckettPark","republica",53.82634,-1.59686,"Beckett Park Training (Winter)","http://maps.google.co.uk/maps?f=q&source=s_q&hl=en&geocode=&q=53.82634,-1.59686&sll=53.82634,-1.59686&sspn=0.000818,0.002832&ie=UTF8&ll=53.825634,-1.586859&spn=0.002951,0.022659&t=h&z=16&layer=c&cbll=53.825838,-1.586477&panoid=IWmjRJEoqWwp45J_lyB53A&cbp=11,270.1723141436828,,0,5.511363636363631"));
    
    function ClickTeam(num) {
      
      map.closeInfoWindow();
      //only do this if where going to is not currently on map
      if(!map.getBounds().contains(GMarkerArray[num].getPoint())) {
        map.setZoom(map.getBoundsZoomLevel(bounds));
      }
      map.panTo(GMarkerArray[num].getPoint());
      
      
      GEvent.addListener(map, 'moveend', function() {
        GEvent.clearListeners(map, 'moveend');
        //recenter map because pan has slight errors
        map.setCenter(GMarkerArray[num].getPoint());
        zoomMap("in");
      });

      
      //map.centerAndZoom(GMarkerArray[num].getPoint(), 16);
    }
    
    function zoomMap(d) {
    
      
      if (d=="in") {        
        if(map.getZoom() < maxZoom) {
          //map.zoomIn();
          var newZoom = map.getZoom() + 2;
          if(newZoom > maxZoom) newZoom = maxZoom;
          map.setZoom(newZoom);
          //zoomMap("in");
          window.setTimeout("zoomMap('in')", 1);
          //map.setZoom(14);          
        }
        
      } else {
            
      }
      
    }
    
    // Create a marker whose info window displays the given number.
    function createMarker(point, number, icon) {
      var marker = new GMarker(point,icon);
      //alert(teamArray[number].name);
      // Show this marker's index in the info window when it is clicked.      
      GEvent.addListener(marker, 'click', function() {
        sHTML = "<b>"+teamArray[number].desc+"</b>";
    	  marker.openInfoWindowHtml(sHTML);
      });
      GEventArray.push(GEvent);
      GMarkerArray.push(marker);
      return marker;
    }
    
          
    function REPmapLoad() {
      if (GBrowserIsCompatible()) {
        
        //globals
        map = new GMap2(document.getElementById("REPmap"));
        bounds = new GLatLngBounds();        
        
        //locals
        var baseIcon = new GIcon();
        var icon = new GIcon();        
        var point = new GLatLng(0,0);
        var marker = new GMarker(new GLatLng(0,0));
        
        //initialise map
        //map.addControl(new GLargeMapControl());
        map.addControl(new GSmallMapControl());
        map.addControl(new GMapTypeControl());
        //map.setCenter(new GLatLng(0, 0), 0,G_SATELLITE_MAP);
        map.setCenter(new GLatLng(0, 0), 0,G_HYBRID_MAP);
        map.setCenter(new GLatLng(0, 0), 0);        
        map.enableContinuousZoom();
        map.enableDoubleClickZoom();
        
        
        //create base icon
        baseIcon.image = "/images/static/mapMarkers/main.gif";
        baseIcon.shadow = "/images/static/mapMarkers/mainshadow1.png";
        baseIcon.iconSize = new GSize(36, 46);
        baseIcon.shadowSize = new GSize(52, 46);
        baseIcon.iconAnchor = new GPoint(0, 46);
        baseIcon.infoWindowAnchor = new GPoint(36, 0);
        
        function orderOfCreation(marker,b) {
          return 1;
        }
      
        for (var i=0; i<teamArray.length; i++) {
          //alert(teamArray[i].name);
          point = new GLatLng(teamArray[i].lat,teamArray[i].lon);
          map.addOverlay(new GMarker(point,baseIcon));      
          icon = new GIcon(baseIcon);
          icon.image = "/images/static/mapMarkers/"+teamArray[i].img+".gif";
          //map.addOverlay(createMarker(point, i,icon),{zIndexProcess:orderOfCreation});
          map.addOverlay(createMarker(point, i,icon));
          bounds.extend(point);        
        }

        //set zoom and center using markers
        //map.setCenter(new GLatLng(53.430817,-2.960834), 16);
        map.setZoom(map.getBoundsZoomLevel(bounds));
        map.setCenter(bounds.getCenter());
        
        //now we can call the load function!
        googleMapOnLoadLocal();
               
      }
    }
