/*--------------------------------------
# Author: Dennis L. Ward (UCAR)
# Copyright 2008-2009 All Rights Reserved	
# University Corporation for Atmosperhic Research, 	
# Chicago Botanic Gardens, & University of Montana	
----------------------------------------*/

//  ************************************************************************
//  *                                                                      *
//  *     ASSOCIATIVE ARRAY OF ICONS -- MUST BE FIRST BLOCK OF CODE!!!     *
//  *                                                                      *
//  ************************************************************************

	var myicons = [];
	//1 = wildflowers & herbs
	myicons["1"] = new GIcon(G_DEFAULT_ICON, "/citizen_science/budburst/maps/icons/g1.png");
		myicons["1"].shadow = "/citizen_science/budburst/maps/icons/icon_shadow.png";
		myicons["1"].iconSize = new GSize(12, 20);
		myicons["1"].shadowSize = new GSize(22, 20);
		myicons["1"].iconAnchor = new GPoint(6, 20);
		myicons["1"].infoWindowAnchor = new GPoint(5, 0);
	//2 = grasses
	myicons["2"] = new GIcon(G_DEFAULT_ICON, "/citizen_science/budburst/maps/icons/g2.png");
		myicons["2"].shadow = "/citizen_science/budburst/maps/icons/icon_shadow.png";
		myicons["2"].iconSize = new GSize(12, 20);
		myicons["2"].shadowSize = new GSize(22, 20);
		myicons["2"].iconAnchor = new GPoint(6, 20);
		myicons["2"].infoWindowAnchor = new GPoint(5, 0);
	//3 = deciduous
	myicons["3"] = new GIcon(G_DEFAULT_ICON, "/citizen_science/budburst/maps/icons/g3.png");
		myicons["3"].shadow = "/citizen_science/budburst/maps/icons/icon_shadow.png";
		myicons["3"].iconSize = new GSize(12, 20);
		myicons["3"].shadowSize = new GSize(22, 20);
		myicons["3"].iconAnchor = new GPoint(6, 20);
		myicons["3"].infoWindowAnchor = new GPoint(5, 0);
	//4 = evergreens
	myicons["4"] = new GIcon(G_DEFAULT_ICON, "/citizen_science/budburst/maps/icons/g4.png");
		myicons["4"].shadow = "/citizen_science/budburst/maps/icons/icon_shadow.png";
		myicons["4"].iconSize = new GSize(12, 20);
		myicons["4"].shadowSize = new GSize(22, 20);
		myicons["4"].iconAnchor = new GPoint(6, 20);
		myicons["4"].infoWindowAnchor = new GPoint(5, 0);
	//5 = conifers
	myicons["5"] = new GIcon(G_DEFAULT_ICON, "/citizen_science/budburst/maps/icons/g5.png");
		myicons["5"].shadow = "/citizen_science/budburst/maps/icons/icon_shadow.png";
		myicons["5"].iconSize = new GSize(12, 20);
		myicons["5"].shadowSize = new GSize(22, 20);
		myicons["5"].iconAnchor = new GPoint(6, 20);
		myicons["5"].infoWindowAnchor = new GPoint(5, 0);
	//6 = other
	myicons["6"] = new GIcon(G_DEFAULT_ICON, "/citizen_science/budburst/maps/icons/g6.png");
		myicons["6"].shadow = "/citizen_science/budburst/maps/icons/icon_shadow.png";
		myicons["6"].iconSize = new GSize(12, 20);
		myicons["6"].shadowSize = new GSize(22, 20);
		myicons["6"].iconAnchor = new GPoint(6, 20);
		myicons["6"].infoWindowAnchor = new GPoint(5, 0);


//  ************************************************************************
//  *                                                                      *
//  *        ENGLISH MAPPING FUNCTIONS ARE IN THE FOLLOWING BLOCK          *
//  *                                                                      *
//  ************************************************************************

function last100() {
      if (GBrowserIsCompatible()) {
        var map = new GMap2(document.getElementById("PBBmap"));
        map.setCenter(new GLatLng(+40, -100), 3);
		// Now set up look & feel of the map environment...
		map.addControl(new GSmallMapControl());
        map.addControl(new GMenuMapTypeControl()); 
        map.addControl(new GScaleControl());
		map.enableContinuousZoom();
		map.enableScrollWheelZoom();
		map.enableDoubleClickZoom();
		map.removeMapType(G_NORMAL_MAP);
		map.addMapType(G_PHYSICAL_MAP);
		//map.setMapType(G_HYBRID_MAP);
	    map.setMapType(G_PHYSICAL_MAP);
		map.getContainer().style.overflow="hidden"; // hides any copyright overflow
		// Grab the data from the database via php parser...	
        GDownloadUrl("/citizen_science/budburst/maps/PGxml.php", function(data) {
          var xml = GXml.parse(data);
          var markers = xml.documentElement.getElementsByTagName("marker");
          for (var i = 0; i < markers.length; i++) {
            var observationID = markers[i].getAttribute("observationID");
            var obsDate = markers[i].getAttribute("obsDate");
            var plantGroup = markers[i].getAttribute("plantGroup");
            var plantGroupID = markers[i].getAttribute("plantGroupID");
            var speciesID = markers[i].getAttribute("speciesID");
            var commonName = markers[i].getAttribute("commonName");
            var speciesName = markers[i].getAttribute("speciesName");
            var phenophaseName = markers[i].getAttribute("phenophaseName");
            var phenophaseID = markers[i].getAttribute("phenophaseID");
            var imageURL = markers[i].getAttribute("imageURL");
            var point = new GLatLng(parseFloat(markers[i].getAttribute("latitude")),
                                    parseFloat(markers[i].getAttribute("longitude")));
            var marker = createMarker(observationID, obsDate, plantGroup, plantGroupID, speciesID, commonName, speciesName, phenophaseName, phenophaseID, imageURL, point);
            map.addOverlay(marker);

          }
        });
      }
} //END FUNCTION


function createMarker(observationID, obsDate, plantGroup, plantGroupID, speciesID, commonName, speciesName, phenophaseName, phenophaseID, imageURL, point) {
//     var marker = new GMarker(point);
      var marker = new GMarker(point, myicons[plantGroupID]);
//  The next two lines can be used to split/shorten a title, if used
//	  var title40 = splitLine(title,40);
//	  var splitTitle = title40.replace(/\n/g,'<br \/>');
      var html =  "<div style=\"width:400px\"><img src=/citizen_science/budburst/"+ imageURL + " align=\"right\" alt=" + speciesName + " width=\"100\" height=\"100\"><strong>" + commonName + "</strong><br />" +
				  "<i>" + speciesName + "</i><br />" + 
	  			  phenophaseName + " on " + obsDate + "<br />" +
	  			  "Observation No. " + observationID + "<br /></div>";
      GEvent.addListener(marker, 'click', function() {
        marker.openInfoWindowHtml(html);
      });
	  // The new marker "mouseover" listener        
      // GEvent.addListener(marker,"mouseover", function() { 
      //  marker.openInfoWindowHtml(html); 
     // });        

      return marker;
	  
} //END FUNCTION

//  ************************************************************************
//  *                                                                      *
//  *        LINE SPLITTING  FUNCTIONS ARE IN THE FOLLOWING BLOCK          *
//  *                                                                      *
//  ************************************************************************

// Line Splitter Function
// copyright Stephen Chapman, 19th April 2006
// you may copy this code but please keep the copyright notice as well
function splitLine(st,n) {
	var b = ''; 
	var s = st;
	while (s.length > n) {
		var c = s.substring(0,n);
		var d = c.lastIndexOf(' ');
		var e =c.lastIndexOf('\n');
		if (e != -1) d = e; 
		if (d == -1) d = n; 
		b += c.substring(0,d) + '\n';
		s = s.substring(d+1);
		} //END WHILE
	return b+s;
} //END FUNCT
                  