// JavaScript Document
// Maah Daah Hey
// <![CDATA[

  var timeoutID = 0;
  var map;
  var zoom = 9;
  var center_lat = "47.26";   //47.19562527	-103.5293427
  var center_lon = "-103.40";
  var iWidthOV = 150;				// Changes the Width and Height of the OverView map in the LR corner, 
  var iHeightOV = 120;  			// (cont'd) should be smaller and proportional
  var iRightLogo = iWidthOV;	// This changes the absolute right position of the Ridgerider Logo, based on iWidth
  var iRightGSC = iRightLogo + iWidthOV; //   " " of the ScaleControl, based on iRightLogo, and the width of the logo (150)

	ICOgreen  =  new GIcon();
	ICOgreen.image  =  "http://labs.google.com/ridefinder/images/mm_20_green.png";
	ICOgreen.shadow  =  "http://labs.google.com/ridefinder/images/mm_20_shadow.png";
	ICOgreen.iconSize  =  new GSize(12, 20);
	ICOgreen.shadowSize  =  new GSize(22, 20);
	ICOgreen.iconAnchor  =  new GPoint(6, 20);
	ICOgreen.infoWindowAnchor  =  new GPoint(3, 24);
	
	ICOblue  =  new GIcon();
	ICOblue.image  =  "http://labs.google.com/ridefinder/images/mm_20_blue.png";
	ICOblue.shadow  =  "http://labs.google.com/ridefinder/images/mm_20_shadow.png";
	ICOblue.iconSize  =  new GSize(12, 20);
	ICOblue.shadowSize  =  new GSize(22, 20);
	ICOblue.iconAnchor  =  new GPoint(6, 20);
	ICOblue.infoWindowAnchor  =  new GPoint(3, 24);
	
	ICObrown  =  new GIcon();
	ICObrown.image  =  "http://labs.google.com/ridefinder/images/mm_20_brown.png";
	ICObrown.shadow  =  "http://labs.google.com/ridefinder/images/mm_20_shadow.png";
	ICObrown.iconSize  =  new GSize(12, 20);
	ICObrown.shadowSize  =  new GSize(22, 20);
	ICObrown.iconAnchor  =  new GPoint(6, 20);
	ICObrown.infoWindowAnchor  =  new GPoint(3, 24);

	ICOdbs  =  new GIcon();
	ICOdbs.image  =  "/images/icodbs.png";
	ICOdbs.shadow  =  "/images/icodbs_sh.png";
	ICOdbs.iconSize  =  new GSize(31, 40);
	ICOdbs.shadowSize  =  new GSize(52, 40);
	ICOdbs.iconAnchor  =  new GPoint(16, 40);
	ICOdbs.infoWindowAnchor  =  new GPoint(3, 24);

/*
//Point01
   var Point01_Text = "<p class='gm_hdr'>Short Fork</p><p class='gm_txt'>Left for Counter Clockwise, Right for Clockwise.</p>";
   var Point01_Lat = 44.34278;
   var Point01_Long = -104.00579;
   var Point01 = new GMarker(new GLatLng(Point01_Lat,Point01_Long),ICOblue);
     GEvent.addListener(Point01, "click", function()
{
     Point01.openInfoWindowHtml(Point01_Text);
});

//Point02
   var Point02_Text = "<p class='gm_hdr'>Hard Turn</p><p class='gm_txt'>Clockwise: remember to take a hard<br />right at the bottom of a short rocky drop.</p>";
   var Point02_Lat = 44.3427;
   var Point02_Long = -104.0195;
   var Point02 = new GMarker(new GLatLng(Point02_Lat,Point02_Long),ICOblue);
     GEvent.addListener(Point02, "click", function()
{
     Point02.openInfoWindowHtml(Point02_Text);
});
*/
 
//PointDBS
   var PointDBS_Text = "<p class='gm_hdr'>Deadwood Bicycles</p><p class='gm_txt'>&nbsp;&nbsp;&nbsp;180 Sherman Street<br />&nbsp;&nbsp;&nbsp;Deadwood, SD 57732<br />&nbsp;&nbsp;&nbsp;605.578.1345<br />&nbsp;&nbsp;&nbsp;DeadwoodBicycles.com<br />&nbsp;<br /><a class='gm' href='http://deadwoodbicycles.com/rides/rides.html' target='_self'>Deadwood Bicycles Rides Page</a></p>";
   var PointDBS_Lat = 44.37190727;  //44.37190727, -103.72799635
   var PointDBS_Long = -103.72799635;
   var PointDBS = new GMarker(new GLatLng(PointDBS_Lat,PointDBS_Long),ICOdbs);
     GEvent.addListener(PointDBS, "click", function()
{
     PointDBS.openInfoWindowHtml(PointDBS_Text);
});
  
  
function onLoad()
{
        map = new GMap2(document.getElementById("map"));
	map.enableDoubleClickZoom();
    map.enableScrollWheelZoom();
    map.addControl(new GLargeMapControl());
    map.addControl(new GMapTypeControl());
    map.setCenter(new GLatLng(center_lat, center_lon), zoom, G_HYBRID_MAP);
    map.addControl(new GOverviewMapControl(new GSize(iWidthOV,iHeightOV)));
		/*map.addOverlay(Point01);
		map.addOverlay(Point02);
		map.addOverlay(Point03);
		map.addOverlay(Point04);
		map.addOverlay(Point05);
		map.addOverlay(Point06);
		map.addOverlay(Point07);
		map.addOverlay(Point08);
		map.addOverlay(Point09);
		map.addOverlay(Point10);*/
	    map.addOverlay(PointDBS);
//  Load Topo Map Overlay
    var topoCopyright = new GCopyright(1,
    new GLatLngBounds(new GLatLng(18,-169),new GLatLng(72,-66) ),
        5, "Copyright USGS");
    var topoCopyrightCollection = new GCopyrightCollection('Topo Maps');
    topoCopyrightCollection.addCopyright(topoCopyright);
    
    var topoTileSize = 256;
    var topoURL = 'http://terraservice.net/ogcmap6.ashx?version=1.1.1&request=GetMap&styles=&srs=EPSG:4326&format=image/jpeg&bgcolor=0xCCCCCC&exceptions=INIMAGE&layers=DRG';
    topoGetTileURL=function(tile, zoom){
	  var southWestPixel = new GPoint(tile.x*topoTileSize,(tile.y+1)*topoTileSize);
	  var northEastPixel = new GPoint((tile.x+1)*topoTileSize,tile.y*topoTileSize);
	  var southWestCoords = G_SATELLITE_MAP.getProjection().fromPixelToLatLng(southWestPixel,zoom);
	  var northEastCoords = G_SATELLITE_MAP.getProjection().fromPixelToLatLng(northEastPixel,zoom);
	  var bbox = southWestCoords.lng()+','+southWestCoords.lat()+','+northEastCoords.lng()+','+northEastCoords.lat();
	  return topoURL+'&bbox='+bbox+'&width='+topoTileSize+'&height='+topoTileSize;
    }
    var topoTileLayers = [new GTileLayer(topoCopyrightCollection,5,17)];
    topoTileLayers[0].getTileUrl = topoGetTileURL;
    var topoMap = new GMapType(topoTileLayers, G_SATELLITE_MAP.getProjection(), "Topo",
      {errorMessage:"Data Not Available", tileSize:topoTileSize});
    map.addMapType(topoMap);


var plMDH_01 = new GPolyline.fromEncoded({
  color: "#ff0000",
  weight: 3,
  opacity: 0.85,
  points: "ep}`H`}cvRoB}EeDnByt@kq@qU}EmIbRaYhWee@dDiWrNwuAv@oBcmA`s@_}CeDsN}EeKlByS{L{iC?w~CiW}_@sNso@_Y{SiWm~AuGuGix@eKsh@cKaY{LiWmIsN?",
  levels: "P?DHFGIGHJGIEFGJKGHGIEHJGFP",
  zoomFactor: 2,
  numLevels: 18
});
  map.addOverlay(plMDH_01);

var plMDH_02 = new GPolyline.fromEncoded({
  color: "#00FF00",
  weight: 3,
  opacity: 0.85,
  points: "gtl`Hfn{uRg^zLaYmc@o\\mIoBiWe_AnBso@hx@{m@rGqwArpA?bRmc@}LaY`Yix@th@~EzgA`Rlj@g^?cKsNsNjPqU|EaY{S",
  levels: "P?GHFIHGJEGHKGHGFHFP",
  zoomFactor: 2,
  numLevels: 18
});
  map.addOverlay(plMDH_02);

var plMDH_03 = new GPolyline.fromEncoded({
  color: "#FFFFFF",
  weight: 3,
  opacity: 0.85,
  points: "_`{_Hb|bvRq\\lBqqBn}@}EuGw{@dKwa@krAkPtG{LuGg^|LmeBlBsNdK}f@{So\\yoBaR}EgDge@{LcKySo}@",
  levels: "P?IEHIJFGIFHKFGFP",
  zoomFactor: 2,
  numLevels: 18
});
  map.addOverlay(plMDH_03);

var plMDH_04 = new GPolyline.fromEncoded({
  color: "#00FFFF",
  weight: 3,
  opacity: 0.85,
  points: "{uu_HlfqvRoc@wxDua@ujBeK_z@ee@sNee@_{AkI?",
  levels: "P?HIGJP",
  zoomFactor: 2,
  numLevels: 18
});
  map.addOverlay(plMDH_04);

var plMDH_05 = new GPolyline.fromEncoded({
  color: "#0000FF",
  weight: 3,
  opacity: 0.85,
  points: "{xq_HlqlwRiWix@jPyt@}Eas@dDiWySsN?yZmI|LqUw@cRpUkIoBgDcfAzLcR?{m@ee@sN?wa@`Yo\\w@ySzSwa@}Lmc@v@{LbRmIoBiWv@kIlc@spAkInBuG?}EiWg^oc@}LirA",
  levels: "P?GHFGIFGHEGHGJFGHGIEFGEIEFJKP",
  zoomFactor: 2,
  numLevels: 18
});
  map.addOverlay(plMDH_05);

var plMDH_06 = new GPolyline.fromEncoded({
  color: "#FF00FF",
  weight: 3,
  opacity: 0.85,
  points: "cnx~GjwrwRdDrGfDdgBisB`YgDaYua@tGcmAcmAauBldAuh@v@cKas@iWbmAkPy{@_z@as@|EitCq\\?mc@lj@{m@jj@o\\?o\\n}@yt@as@oc@?dKwa@iW{hBbKkPas@kP",
  levels: "P?HIFGJIGHHKHIGHIGJHGFIFP",
  zoomFactor: 2,
  numLevels: 18
});
  map.addOverlay(plMDH_06);

var plMDH_07 = new GPolyline.fromEncoded({
  color: "#FF0000",
  weight: 3,
  opacity: 0.85,
  points: "sjx~GzsrwRbgBxStGee@eDtGlB{m@jlBySeDoc@tcBySnBo\\}Eaz@pqBmBv@spA}LtGnBxZw@xS|EjPdgBdDv@_`@lBp\\`{AyuAoBkq@?aYrN?",
  levels: "P?FEGIFJFHIHFFGEKFFIGFP",
  zoomFactor: 2,
  numLevels: 18
});
  map.addOverlay(plMDH_07);

var plMDH_08 = new GPolyline.fromEncoded({
  color: "#FFFF00",
  weight: 3,
  opacity: 0.85,
  points: "gam}Gvp_wRtGdbDcmA`tAuGnc@w|AjIg^f_Aiq@ro@g_AiW}gAzLnBe_Auh@jIcKuGoBe_Ao~ArG?aRkIiWdDyt@mIo}@fDsNt@eD}EgD|Eee@}Ev@ucBriAfDjP?xSegBtG",
  levels: "P?HIHJHIHGKEGIEGHIEFEJEIEFP",
  zoomFactor: 2,
  numLevels: 18
});
  map.addOverlay(plMDH_08);

var plMDH_09 = new GPolyline.fromEncoded({
  color: "#FFFFFF",
  weight: 3,
  opacity: 0.85,
  points: "q_f}Gnp}vR{LtG{Lp\\oBzm@eDxSkPtG}ElB}ElIoBzm@mBkPeDv@dDo\\iWee@{LmIoB~_@sNtGkPaYwZpUuGaRuGzLkIeK_Fo\\{LmI",
  levels: "P?FHFGEFIEFGHFFGFIFEGFP",
  zoomFactor: 2,
  numLevels: 18
});
  map.addOverlay(plMDH_09);

var plBG = new GPolyline.fromEncoded({
  color: "#00FF00",
  weight: 3,
  opacity: 0.85,
  points: "up_~GndbwRwd@tbBQ`WfKv^bk@zFnC~PrKoAe@jOzUaCjBhy@hTxVnJoIvQt{@{KfuCta@f|Bh~B_OfCpUlZ{OzoAvc@`Xy_@x@erCp|@mV`Kaa@nSaBld@i}@rU|BxMod@f|@ek@zByi@fvA}e@",
  levels: "P?FGHEFEIGHEGJHKFGIGIJFGHIGHKP",
  zoomFactor: 2,
  numLevels: 18
});
  map.addOverlay(plBG);
// Add Ridge Rders Logo
function ctrlLogo() {}

	ctrlLogo.prototype = new GControl();
	ctrlLogo.prototype.initialize = function() {
	var contents = document.createElement("div");
	contents.style.width="150px";			// Fixed Width of the Logo, do not change
	contents.style.height="100px";			// Fixed Height of the Logo, do not change
	contents.innerHTML="<a href='http://deadwoodbicycles.com/rides/rides.html' target='_self'><img src='/images/logo_ctrl.png' alt='Deadwood Bicycles Logo' title='Click for Deadwood Bicycles Ride Page' border='0'></a>";
	document.getElementById('map').appendChild(contents);
	return contents;
      }
	ctrlLogo.prototype.printable=function(){return true};
	ctrlLogo.prototype.selectable=function(){return true};
	ctrlLogo.prototype.getDefaultPosition=function(){
	return new GControlPosition(G_ANCHOR_BOTTOM_RIGHT,new GSize(iRightLogo,15))
      }

  map.addControl(new ctrlLogo());

}   
//]]>
