//<![CDATA[
		
var map;
var mapScale 	= "";
var pathImage 	= "";
var staticZoom 	= "";
var iconWidth 	= 30;
var iconHeight 	= 30;
var points 		= [];
var gmarkers 	= [];
var to_htmls 	= [];
var from_htmls 	= [];
var baseIcon;
var bounds;
//var i;
//var ct;

//document.onunload = GUnload;

function loadMap() {
  if (GBrowserIsCompatible()) {
	
	var marker;
	var maxLon,minLon,maxLat,minLat;
	
	maxLon = maxLat = -500;
	minLon = minLat = 500;
	
	map = new GMap2(document.getElementById("map"));
	geocoder = new GClientGeocoder();
	map.addControl(new GSmallMapControl());
	//map.addControl(new GMapTypeControl());
	
	
	baseIcon = new GIcon();
	//baseIcon.shadow = "http://www.google.com/mapfiles/shadow50.png";
	baseIcon.iconSize = new GSize(20, 20);
	baseIcon.shadowSize = new GSize(37, 34);
	baseIcon.iconAnchor = new GPoint(-4, -4);
	baseIcon.infoWindowAnchor = new GPoint(15, 0);
	baseIcon.infoShadowAnchor = new GPoint(18, 25);


	//var icon = new GIcon();
	//icon.image = iconPath;
	//icon.iconSize = new GSize(iconWidth, iconHeight);
	//icon.shadowSize = new GSize(iconWidth + 8, iconHeight + 6);
	//icon.iconAnchor = new GPoint(0, 0);
	//icon.infoWindowAnchor = new GPoint(iconWidth/2, iconHeight/4);
	
	map.setCenter(new GLatLng(0,0),0);
	bounds = new GLatLngBounds();
	
	for( var i=0; i < points.length; i++ ) {
		
		
		//icon.image = "http://www.google.com/mapfiles/marker" + letter + ".png";
		var availability = '';//'<a href="' + points[i][7] + '">Check Availability</a>';
		
		//points[i][2] = '<a href="javascript:pickit(' + points[i][7] + ',' + points[i][8] + ')">' + points[i][2] + '</a><br>' + points[i][3] + '<br>' + points[i][4] + ', ' + points[i][5] + '  ' + points[i][6] + '<br>Navigate: <a href="#" onclick="javascript:map.setZoom(map.getZoom()+1);">Zoom In</a> - <a href="#" onclick="javascript:map.setZoom(map.getZoom()-1);">Zoom Out</a>';
		//points[i][2] = '<b>' + points[i][2] + '</b><br>' + points[i][3] + '<br>' + points[i][4] + ', ' + points[i][5] + '  ' + points[i][6] + '<br><br>Navigate: <a href="javascript:void(0);" onclick="javascript:map.setZoom(map.getZoom()+1);">Zoom In</a> - <a href="javascript:void(0);" onclick="javascript:map.setZoom(map.getZoom()-1);">Zoom Out</a>';
		//points[i][2] = '<b style="font-size:14px;color:#000000">' + points[i][2] + '</b><div style="font-size:11px;color:#808080;">' + points[i][3] + '<br>' + points[i][4] + ', ' + points[i][5] + '  ' + points[i][6] + '<br><br><a href="' + points[i][8] + '">Details</a> <a href="javascript:void(0);" onclick="javascript:map.closeInfoWindow();">Close</a></div>'; // + '<br><br>Navigate: <a href="javascript:void(0);" onclick="javascript:map.setZoom(map.getZoom()+1);">Zoom In</a> - <a href="javascript:void(0);" onclick="javascript:map.setZoom(map.getZoom()-1);">Zoom Out</a>';
		points[i][2] = '<b style="font-size:14px;color:#000000">' + points[i][2] + '</b><div style="font-size:11px;color:#808080;">' + points[i][3] + '<br>' + points[i][4] + ', ' + points[i][5] + '  ' + points[i][6] + '<br><br>';
		
		if( points[i][8] != "" )
			points[i][2] += '<a href="' + points[i][8] + '">Details</a> ';
		
		points[i][2] += '<a href="javascript:void(0);" onclick="javascript:map.closeInfoWindow();">Close</a></div>'; 
		
		//if( i == 0 ) {
			//map.setCenter(new GLatLng(points[i][0], points[i][1]), mapScale);
		//}
		to_htmls[i] = points[i][2] + '<br>Directions: <b>To here</b> - <a href="javascript:fromhere(' + i + ')">From here</a>' +
		   '<br><br>Start address:<form action="http://maps.google.com/maps" method="get" target="_blank">' +
		   '<input type="text" SIZE=40 MAXLENGTH=40 name="saddr" id="saddr" value="" /><br>' +
		   '<INPUT value="Get Directions" TYPE="SUBMIT">' +
		   '<input type="hidden" name="daddr" value="' + points[i][3] + ',' + points[i][4] + ',' + points[i][5] + '+' + points[i][6] + 
				  // "(" + name + ")" + 
		   '"/><br><br>' + availability;
		
		// The info window version with the "to here" form open
		from_htmls[i] = points[i][2] + '<br>Directions: <a href="javascript:tohere(' + i + ')">To here</a> - <b>From here</b>' +
		   '<br><br>End address:<form action="http://maps.google.com/maps" method="get"" target="_blank">' +
		   '<input type="text" SIZE=40 MAXLENGTH=40 name="daddr" id="daddr" value="" /><br>' +
		   '<INPUT value="Get Directions" TYPE="SUBMIT">' +
		   '<input type="hidden" name="saddr" value="' + points[i][3] + ',' + points[i][4] + ',' + points[i][5] + '+' + points[i][6] + 
				  // "(" + name + ")" + 
		   '"/><br><br>' + availability;
		
		// The inactive version of the direction info
		//points[i][2] += '<br><br>Directions: <a href="javascript:tohere('+i+')">To here</a> - <a href="javascript:fromhere('+i+')">From here</a><br><br>' + availability;;
		
		var address = points[i][3] + ',' + points[i][4] + ',' + points[i][5] + ',' + points[i][6];
		//alert( points[i][2] );
		//var ct = i;
		
		var boolEnd = ( i == points.length-1 );
		
		if( !boolEnd ) {
			var latLng = geocoder.getLatLng( 
							address, 
							function( point ) { 
								gotLatLang( point, false );
							}
						);
		}
		else {
			var latLng = geocoder.getLatLng( 
							address, 
							function( point ) { 
								gotLatLang( point, true );
							}
						);
		}
			
		//alert( latLng );
		/*
		var latLng = geocoder.getLatLng(
          address,
          function(point, points) {
            if (!point) {
              alert(address + " not found");
            } else {
              //map.setCenter(point, 13);
             // var marker = new GMarker(point);
			 alert(points);
			 bounds.extend( point );
			 var marker = createMarker( point, "", icon);
			  
		     //marker = createMarker( point, points[i][2], icon);
		     map.addOverlay(marker);
		     gmarkers[i] = marker;	
              //map.addOverlay(marker);
              //marker.openInfoWindowHtml(address);
            }
          }
        );
		//var latLng = new GLatLng(points[i][0], points[i][1]);
		bounds.extend( latLng );

		marker = createMarker( latLng, points[i][2], icon);
		map.addOverlay(marker);
		gmarkers[i] = marker;
		//mgr.addMarker(marker);
		*/
	}
  }
  	
	

  	//var mgr = new GMarkerManager(map);
  	//mgr.addMarkers(gmarkers, 10);
  	//mgr.refresh();
	
  //resizeApp();
}

function gotLatLang( point ) {
	//alert(points);
	
	if( point == null ) 
		point = new GLatLng( points[gmarkers.length][0], points[gmarkers.length][1] );
	
	bounds.extend( point );
	// var letter = String.fromCharCode("A".charCodeAt(0) + i);
	var icon = new GIcon(baseIcon);
	icon.image = iconPath;
	 
	 var marker = createMarker( point, points[gmarkers.length][2], icon,  points[gmarkers.length][8] );
	  
	 //marker = createMarker( point, points[i][2], icon);
	 map.addOverlay(marker);
	 gmarkers.push(marker);	
	 
	 
	 
	 if( mapScale == "" )
		map.setZoom(map.getBoundsZoomLevel(bounds)-1);
	else
		map.setZoom(mapScale);
	
	map.setCenter(bounds.getCenter());
}

function createMarker(point, html, icon, detailLink ) {

  var marker = new GMarker(point, icon, false);
  
  if( detailLink != "" && detailLink != null ) {
	  GEvent.addListener(marker, "mousedown", function() {
		//alert(detailLink);
		window.location.href=detailLink;
	  });
  }
  
  GEvent.addListener(marker, "mouseover", function() {
	marker.openInfoWindowHtml(html,{maxWidth:1000} );
	//marker.showMapBlowup();
  });
  
  return marker;
}

function myclick(i) {
if( gmarkers[i] )
	gmarkers[i].openInfoWindowHtml(points[i][2]);
}


function tohere(i) {
gmarkers[i].openInfoWindowHtml(to_htmls[i]);
}
function fromhere(i) {
gmarkers[i].openInfoWindowHtml(from_htmls[i]);
}

function pickit( id, dist ){
	
	if( ! dist )
		dist = "0";
		
	var expdate = new Date();
    expdate.setTime(expdate.getTime() + 365*24*60*60*1000); //365 days expiration
    
	document.cookie = "RRStoreNumber="+ id +"; path="+"/" + "; expires=" + expdate.toGMTString();
	window.location.href='locate.aspx?id=' + id + '&dist=' + dist;
}

function resizeApp() {
	var offsetTop 	= 200;
	var minHeight 	= 600;
	var maxHeight 	= 800;
	var mapElem 	= e("map");
	var panelElem 	= e("panel");
	
	for (var elem = mapElem; elem != null; elem = elem.offsetParent) {
		offsetTop += elem.offsetTop;
	}
	
	var height = getWindowHeight() - offsetTop - 10;
		
	
	if( height < minHeight )
		height = minHeight;
	/*
	if( height > maxHeight )
		height = maxHeight;
	*/
		
	
	if (height >= 0) {
		mapElem.style.height = height + "px";
		
		//try {
			e("panel").style.height = (height + 4) + "px";
			e("paneltoggle").style.height = (height) + "px";
			e("paneltoggle").style.paddingTop = parseInt((height)/2, 10) + "px";
		//}
		//catch(ee){}
		
		
	}
}

function getWindowHeight() {
	
	if (window.self && self.innerHeight) {
		return self.innerHeight;
	}
	
	if (document.documentElement && document.documentElement.clientHeight) {
		return document.documentElement.clientHeight;
	}
	
	return 0;
}

function e(id) {
	return document.getElementById(id); 
}

//]]>