
function load(pageElement, JSParms, JSLocationInfo) 
{
	if (GBrowserIsCompatible()) 
    {
	    var array = JSParms.split(";");
	    var locationInfo = JSLocationInfo.split(";");
	    
	    var bounds = null;

		var coords = array[0].split(",");
	    var centerLat = coords[0];
	    var centerLong = coords[1];
	   	var firstPoint = new GLatLng(centerLat, centerLong);
	    
	    var map = new GMap2(document.getElementById(pageElement));

	    map.addControl(new GLargeMapControl());
        map.addControl(new GMapTypeControl());
        map.setCenter(firstPoint, 15);
        bounds = map.getBounds();
        
        var fsccount = 0;
        var sccount = 0;
        for (i=0; i<array.length; i++)
        {
        	var item = array[i].split(",");
        	var lat = item[0];
        	var long = item[1];
        	var locationType = item[2];
        	        	
			var point = new GLatLng(lat, long);

			
			if (locationType == "BSS")
			{
				var marker = createMarker(point, locationInfo[i], ++fsccount, "bss");
			}
			else if (locationType == "BPC")
			{
				var marker = createMarker(point, locationInfo[i], ++fsccount, "bpc");
			}
			else if (locationType == "FSC")
			{
				var marker = createMarker(point, locationInfo[i], ++fsccount, "fsc");
			}

			else
			{
				var marker = createMarker(point, locationInfo[i], ++sccount, "other");
			}
			map.addOverlay(marker);
			
			bounds.extend(marker.getPoint());
		}
		map.setZoom(map.getBoundsZoomLevel(bounds));
		map.setCenter(bounds.getCenter(), map.getBoundsZoomLevel(bounds) - 1);
	}
	else
	{
		alert("Your browser is not capable of displaying Google Maps data correctly");
	}
}   

function loadThree(pageElement, JSParms, JSLocationInfo) 
{
	var array = JSParms.split(";");
    var locationInfo = JSLocationInfo.split(";");
    
    //var bounds = null;

	var coords = array[0].split(",");
    var centerLat = coords[0];
    var centerLong = coords[1];
   	var firstPoint = new google.maps.LatLng(centerLat, centerLong);
    
    var myOptions = {
    	zoom: 4,
		center: firstPoint,
		mapTypeId: google.maps.MapTypeId.ROADMAP,
		mapTypeControl: true,
		mapTypeControlOptions: {
		    style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR,
		    position: google.maps.ControlPosition.BOTTOM_CENTER
		},
		panControl: true,
		panControlOptions: {
		    position: google.maps.ControlPosition.TOP_RIGHT
		},
		zoomControl: true,
		zoomControlOptions: {
		    style: google.maps.ZoomControlStyle.LARGE,
		    position: google.maps.ControlPosition.LEFT_CENTER
		}
	}

    var map = new google.maps.Map(document.getElementById(pageElement), myOptions);

    var bounds = new google.maps.LatLngBounds();
        
    var fsccount = 0;
    var sccount = 0;

    for (i=0; i<array.length; i++)
    {
    	var item = array[i].split(",");
    	var lat = item[0];
    	var long = item[1];
    	var locationType = item[2];
    	        	
		var point = new google.maps.LatLng(lat, long);

		if (locationType == "BSS")
		{
			var marker = createMarkerThree(point, locationInfo[i], ++fsccount, "bss", map);
		}
		else if (locationType == "BPC")
		{
			var marker = createMarkerThree(point, locationInfo[i], ++fsccount, "bpc", map);
		}
		else if (locationType == "FSC")
		{
			var marker = createMarkerThree(point, locationInfo[i], ++fsccount, "fsc", map);
		}
		else
		{
			var marker = createMarkerThree(point, locationInfo[i], ++sccount, "other", map);
		}
		
		bounds.extend(point);
	}
	
	map.fitBounds(bounds);
	map.setCenter(bounds.getCenter());
	if (array.length == 1) {
		var listener = google.maps.event.addListener(map, "idle", function() { 
	  		if (map.getZoom() > 12) 
	  			map.setZoom(12); 
			google.maps.event.removeListener(listener); 
		});
	}
}    

function pageloadMap(pageElement, JSParms, JSLocationInfo) 
{
	if (GBrowserIsCompatible()) 
    {
	    var array = JSParms.split(";");
	    var locationInfo = JSLocationInfo.split(";");
	    
	    var bounds = null;

		var coords = array[0].split(",");
	    var centerLat = coords[0];
	    var centerLong = coords[1];
	   	var firstPoint = new GLatLng(centerLat, centerLong);
	    
	    var map = new GMap2(document.getElementById(pageElement))
	    
	    map.addControl(new GLargeMapControl());
        map.addControl(new GMapTypeControl());
        map.setCenter(firstPoint, 4);
        bounds = map.getBounds();
        
        var fsccount = 0;
        var sccount = 0;
        for (i=0; i<array.length; i++)
        {
        	var item = array[i].split(",");
        	var lat = item[0];
        	var long = item[1];
        	var locationType = item[2];
        	        	
			var point = new GLatLng(lat, long);
		}
		map.setZoom(map.getBoundsZoomLevel(bounds));
		map.setCenter(bounds.getCenter(), map.getBoundsZoomLevel(bounds) - 1);
	}
	else
	{
		alert("Your browser is not capable of displaying Google Maps data correctly");
	}
}  

function pageloadMapThree(pageElement, JSParms, JSLocationInfo) 
{
	var array = JSParms.split(";");
    var locationInfo = JSLocationInfo.split(";");

	var coords = array[0].split(",");
    var centerLat = coords[0];
    var centerLong = coords[1];
   	var firstPoint = new google.maps.LatLng(centerLat, centerLong);
    
    var myOptions = {
		zoom: 3,
		center: firstPoint,
		mapTypeId: google.maps.MapTypeId.ROADMAP,
		mapTypeControl: true,
		mapTypeControlOptions: {
		    style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR,
		    position: google.maps.ControlPosition.BOTTOM_CENTER
		},
		panControl: true,
		panControlOptions: {
		    position: google.maps.ControlPosition.TOP_RIGHT
		},
		zoomControl: true,
		zoomControlOptions: {
		    style: google.maps.ZoomControlStyle.LARGE,
		    position: google.maps.ControlPosition.LEFT_CENTER
		}
	}

    var map = new google.maps.Map(document.getElementById(pageElement), myOptions);
    
    var bounds = map.getBounds();
        
    var fsccount = 0;
    var sccount = 0;
    for (i=0; i<array.length; i++)
    {
    	var item = array[i].split(",");
    	var lat = item[0];
    	var long = item[1];
    	var locationType = item[2];
    	        	
		var point = new google.maps.LatLng(lat, long);
	}
	map.setZoom(3);
	map.setCenter(firstPoint, 3);
	
}   
   


// Creates a marker at the given point with the given letter label
function createMarker(point, locationInfo, index, type)
{
  	var letterIcon = new GIcon();
	//letterIcon.shadow = "http://www.google.com/mapfiles/shadow50.png";
	letterIcon.iconSize = new GSize(39, 34);
	//letterIcon.shadowSize = new GSize(37, 34);
	letterIcon.iconAnchor = new GPoint(9, 34);
	letterIcon.infoWindowAnchor = new GPoint(9, 2);
	letterIcon.infoShadowAnchor = new GPoint(18, 25);
	if (type == "bss")
	{
		//letterIcon.image = "/Style Library/BOSCH/images/bluemarker" + index + ".png";
		letterIcon.image = "/Style Library/BOSCH/Images/New/hook_bss.gif";
	}
	else if(type == "bpc")
	{
		letterIcon.image = "/Style Library/BOSCH/Images/New/hook_bpc.gif";
	}
	else if(type == "fsc")
	{
		letterIcon.image = "/Style Library/BOSCH/Images/New/hook_fsc.gif";
	}
	else
	{
		letterIcon.image = "/Style Library/BOSCH/Images/New/hook_gw.gif";
	}

	var marker = new GMarker(point, {icon:letterIcon});

	GEvent.addListener(marker, "click", function() {
	$('#directions-stub').css('display', 'none');
    	marker.openInfoWindowHtml(locationInfo);
		});
	
			$('.direction-link').click(function() {
		$(this).parent().parent().find('#directions-stub').css('display', '');
		});

		
	return marker;
}

function createMarkerThree(point, locationInfo, index, type, mapObject)
{
  	var letterIcon = new google.maps.MarkerImage();
	//letterIcon.shadow = "http://www.google.com/mapfiles/shadow50.png";
	letterIcon.size = new google.maps.Size(39, 34);	
	//letterIcon.shadowSize = new GSize(37, 34);
	letterIcon.anchor = new google.maps.Point(9, 34);
	//letterIcon.infoWindowAnchor = new GPoint(9, 2);
	//letterIcon.infoShadowAnchor = new GPoint(18, 25);
	if (type == "bss")
	{
		letterIcon.url = "/Style Library/BOSCH/Images/New/hook_bss.gif";
	}
	else if(type == "bpc")
	{
		letterIcon.url = "/Style Library/BOSCH/Images/New/hook_bpc.gif";
	}
	else if(type == "fsc")
	{
		letterIcon.url = "/Style Library/BOSCH/Images/New/hook_fsc.gif";
	}
	else
	{
		letterIcon.url = "/Style Library/BOSCH/Images/New/hook_gw.gif";
	}

	var marker = new google.maps.Marker({position:point, icon:letterIcon, map:mapObject});
	
	var infowindow = new google.maps.InfoWindow({ content: locationInfo });
	
	google.maps.event.addListener(marker, 'click', function() { infowindow.open(mapObject, marker); }); 


	return marker;
}


function GoogleDirections(mapPageElement, directionsPageElement, startingLocation, endingLocation)
{
	if (GBrowserIsCompatible()) 
    {
	   var map = new GMap2(document.getElementById(mapPageElement));
	   map.addControl(new GLargeMapControl());
       map.addControl(new GMapTypeControl());
	   directionsPanel = document.getElementById(directionsPageElement);
	   var directions = new GDirections(map, directionsPanel);
	   
       directions.clear();

       directions.load('from: ' + startingLocation + ' to: ' + endingLocation);

	}
}

function GoogleDirectionsThree(mapPageElement, directionsPageElement, startingLocation, endingLocation)
{
	var myOptions = {
		zoom: 4,
		mapTypeId: google.maps.MapTypeId.ROADMAP,
		mapTypeControl: true,
		mapTypeControlOptions: {
		    style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR,
		    position: google.maps.ControlPosition.BOTTOM_CENTER
		},
		panControl: true,
		panControlOptions: {
		    position: google.maps.ControlPosition.TOP_RIGHT
		},
		zoomControl: true,
		zoomControlOptions: {
		    style: google.maps.ZoomControlStyle.LARGE,
		    position: google.maps.ControlPosition.LEFT_CENTER
		}
	}
	
	var map = new google.maps.Map(document.getElementById(pageElement), myOptions);

	directionsPanel = document.getElementById(directionsPageElement);

	var directionsDisplay;
	directionsDisplay = new google.maps.DirectionsRenderer();
	directionsDisplay.setMap(map);
	directionsDisplay.setPanel(directionsPanel);

	var request = {
	    origin:startingLocation,
	    destination:endingLocation,
	    travelMode: google.maps.TravelMode.DRIVING
	};

	var directionsService = new google.maps.DirectionsService();

	directionsService.route(request, function(result, status) {
    	if (status == google.maps.DirectionsStatus.OK) {
      		directionsDisplay.setDirections(result);
    	}
  	});
}


function doSearch(info)
{
	//var from_addr = $(info).parent().find('input.from-addr').val();
	var to_addr = $(info).parent().parent().find('.adr').html().replace('<br>', ' ').replace('<br/>', ' ');
	//to_addr = to_addr + ' (' + $(info).parent().parent().find('.store-name').text() + ')';
	var url =  'http://www.google.com/maps?q=to: ' + to_addr;
	//var url =  'http://www.google.com/maps?q=from: ' + from_addr + ' to: ' + to_addr;
	window.location.href = url;
	return false;
}


function highlightLocationAndPopupInfoWindow(index, scroll)
{   
	
	// highlight div in left list
	var marker = markers[index];
		
	// popup info window
	marker.info.open(map, marker);
	// hide get directions inputs
	$('.direction-link').parent().parent().find('#directions-stub').css('display', 'none');
	
	currentInfoWindow = marker.info;
	$('.direction-link').click(function() {
		$(this).parent().parent().find('#directions-stub').css('display', '');
		var curMarker = markers[selectedLocationIndex];
		curMarker.info.close();
		curMarker.info.open(map, curMarker);
		$(this).parent().parent().find('#directions-stub input.from-addr').get(0).select();		
	});

	
}


