/* aj maps functions, rely on variables ajMapsLat, ajMapsLng, ajMapsZoomLevel to be set*/

	var miniMarkers =new Array();
	var bigMarkers =new Array();


    function load() {
      if (GBrowserIsCompatible()) {
        var map = new GMap2(document.getElementById("map"));
        map.setCenter(new GLatLng(ajMapsLat, ajMapsLng), ajMapsZoomLevel);
        map.enableScrollWheelZoom();
        //map.addControl(new GLargeMapControl());
        map.addControl(new GSmallMapControl());
        map.addControl(new GMapTypeControl());
        GEvent.addListener(map,"zoomend", function (start,end) {
        //alert(start);
        //alert(end);
			if (start<6 && end>5) {
			hideCity();
			showShop();
			}
			if (start>5 && end<6) {
			showCity();
			hideShop();
			}
        });
    
    /* second set of options is for everything else */
        /* first set of options is for the visual overlay.*/
        var boxStyleOpts = {
          opacity: .2,
          border: "2px solid red"
        }
        var otherOpts = {
          buttonHTML: "<img src='/commonimages/maps/zoom-button.gif' />",
          buttonZoomingHTML: "<img src='/commonimages/maps/zoom-button-activated.gif' />",
          buttonStartingStyle: {width: '24px', height: '24px'}
        };
          map.addControl(new DragZoomControl(boxStyleOpts, otherOpts));

        
         //map.addControl(new DragZoomControl(),new GControlPosition(G_ANCHOR_TOP_RIGHT,new GSize(7,30))); //430,275
 
         
        // shadow, icon dimensions, etc.
        var baseIcon = new GIcon();
        baseIcon.iconSize = new GSize(16, 16);
        baseIcon.iconAnchor = new GPoint(1, 16);
        baseIcon.infoWindowAnchor = new GPoint(12, 4);
        
        var miniIcon = new GIcon();
        miniIcon.iconSize = new GSize(5, 5);
        miniIcon.iconAnchor = new GPoint(1, 1);
        miniIcon.infoWindowAnchor = new GPoint(3, 1);

function hideCity() {
	for (var i = 0; i < miniMarkers.length; i++) {
		miniMarkers[i].hide()
		}
}

function showCity() {
	for (var i = 0; i < miniMarkers.length; i++) {
		miniMarkers[i].show()
		}
}

function hideShop() {
	for (var i = 0; i < bigMarkers.length; i++) {
		bigMarkers[i].hide()
		}
}

function showShop() {
	for (var i = 0; i < bigMarkers.length; i++) {
		bigMarkers[i].show()
		}
}


        function createMarker(point, text, type) {
          // Create a lettered icon for this point using our icon class
		var letteredIcon
		var image

	  	if (type=="normal") {
			letteredIcon = new GIcon(baseIcon);
		     letteredIcon.image = "/commonimages/maps/ajasto_minimarker.png";
		} else {
			letteredIcon = new GIcon(miniIcon);
		     letteredIcon.image = "/commonimages/maps/ajastoMicroMarker.png";	  		
		}
          
          // Set up our GMarkerOptions object
          markerOptions = { icon:letteredIcon };
          var marker = new GMarker(point, markerOptions);

          GEvent.addListener(marker, "click", function() {
            marker.openInfoWindowHtml(text);
          });
          return marker;
        }

        
        
        // read xml			
        GDownloadUrl("/common/localcontent/resellers/resellers-maps.xml", function(data, responseCode) {
          // To ensure against HTTP errors that result in null or bad data,
          // always check status code is equal to 200 before processing the data
		//("testi1: " + data.length + " " + responseCode);
        if(responseCode == 200) {
            	var xml = GXml.parse(data);

			var names = xml.documentElement.getElementsByTagName("n");
			var addr1s = xml.documentElement.getElementsByTagName("a1");
			var addr2s = xml.documentElement.getElementsByTagName("a2");
			var phones = xml.documentElement.getElementsByTagName("p");
			var faxes = xml.documentElement.getElementsByTagName("f");
			var wwws = xml.documentElement.getElementsByTagName("w");
			var markers_la = xml.documentElement.getElementsByTagName("a");
            	var markers_lng = xml.documentElement.getElementsByTagName("o");
			//alert(resellers.length);
				
            	if (markers_la.length>0) {
			for (var i = 0; i < markers_la.length; i++) {
			var point = new GLatLng(parseFloat(GXml.value(markers_la[i])),
								parseFloat(GXml.value(markers_lng[i])));
			//create small icons (name city, no longer related to cities
			var text = "<b>"+GXml.value(names[i])+"</b><br/>"+GXml.value(addr1s[i])+"<br/>"+GXml.value(addr2s[i])+"<br/>"+GXml.value(phones[i])+"<br/>"+GXml.value(faxes[i])+"<br/><a target='_blank' href='http://"+GXml.value(wwws[i])+"'>"+GXml.value(wwws[i])+"</a>";			
			var marker = createMarker(point, text, "mini");
			map.addOverlay(marker);
			miniMarkers.push(marker);	
			//create big icons				 
			var marker = createMarker(point, text, "normal");
			marker.hide();
			map.addOverlay(marker);
			bigMarkers.push(marker);							 
			}
			hideShop();
			// alert("all done");  
		}
        }	else if(responseCode == -1) {
				alert("Data request timed out. Please try later.");
        }	else { 
				alert("Request resulted in error. Check XML file is retrievable.");
			}
        });
      }
    }
