﻿
var clusteredWinterMarkers = new Array();

  

function createClusteredWinterMarkers(elem, xmlDoc) {
     if(clusteredWinterMarkers != null)
     clusteredWinterMarkers = [];
    //this function sets up the regional detector markers (clustering)
    for (i = 0; i < elem.length; i++) {
        var name = xmlDoc.getElementsByTagName("DisplayName")[i].firstChild.nodeValue;
        var lon = xmlDoc.getElementsByTagName("Longitude")[i].firstChild.nodeValue;
        var lat = xmlDoc.getElementsByTagName("Latitude")[i].firstChild.nodeValue;
        var zoomTo = xmlDoc.getElementsByTagName("ZoomTo")[i].firstChild.nodeValue;
        var speedID = xmlDoc.getElementsByTagName("ID")[i].firstChild.nodeValue;
        
        name = name.replace("'","\'");
				
		if (lat > 90 || lat < -90)
		{
			lat = lat*.000001;
		}
		if (lon > 180 || lon < -180)
		{
			lon = lon*.000001;
		}
        
        var point = new GLatLng((lat),(lon));
		
		var icon = winterIcon;
        var winterMarker = new PdMarker(point, icon);
        winterMarker.setId("speed_Cluster_" + speedID);			
		winterMarker.tooltip = '<div class="markerTooltip" style="color:#990000;'; 
		winterMarker.tooltip += 'text-align: center;">'
		winterMarker.tooltip += name +'<br />';
		winterMarker.tooltip += 'Click to show winter road conditions' +'</div>';
		    
		googleMap.addOverlay(winterMarker);
        winterMarker.display(false);
        
        createClusteredWinterMarker(point, winterMarker, name, zoomTo);
        clusteredWinterMarkers[clusteredWinterMarkers.length] = winterMarker;        
        	
    }
        //function is placed outside the 'for' loop to avoid multiple looping 
    	//displays markers by looping through clusteredSpeedMarkers array once
        showClusteredWinterMarkers();
        drawingLinks = false;
}

function showClusteredWinterMarkers()
{
    if (document.getElementById('ctl00_ContentPlaceHolder1_traffic_winterAdvisory').checked) {
        for (var n = 0; n < clusteredWinterMarkers.length; n++) {
            clusteredWinterMarkers[n].display(true);
            
            // hides the pleasewait screen
            if(n == clusteredWinterMarkers.length-1) {
              hidePleaseWaitScreen();
            }
        }
    }
}

function createClusteredWinterMarker(point, marker, name, zoomTo) {
    GEvent.addListener(marker, "click", function() {
  	  //added to save the position of the map before the marker is opened.
      googleMap.savePosition();
       RemoveEventMarkers(clusteredWinterMarkers);
      googleMap.setCenter(new GLatLng(point.lat(), point.lng()), parseInt(zoomTo));
    });
    GEvent.addListener(marker,"mouseover", function() {
        markerTooltipFlag=true;
        clearPopupTimer();
        showTooltip(marker);
    });        
    GEvent.addListener(marker,"mouseout", function() {
        markerTooltipFlag=false;
        markerTooltip.style.visibility="hidden";
    });
    GEvent.addListener(marker, "infowindowclose", function() {
        //return the map to its original position.
        googleMap.returnToSavedPosition();    
    });
}

