// http://mapki.com/wiki/Google_Map_Parameters

function itinerary_map_parameters(title) {
	this.title = title;
	this.navURLs = [];
	this.navColours = [];
	this.navText = [];
}
function itinerary_map_url(msid, ll, spn, t, z) {
	this.msid = msid;  // Specifies a My Maps identifier.
	this.ll = ll;      // Latitude,longitude of map centre - Note the order. Only decimal format is accepted. If this is used without a query, then the map is centred at the point but no marker or info window is displayed. 
	this.spn = spn;    // Approximate lat/long span. The zoom level will be adjusted to fit if there's no z= parameter.
	this.t = t;        // Map Type. The available options are "m" map, "k" satellite, "h" hybrid, "p" terrain. 
	this.z = z;        // Sets the zoom level.
	this.panoid = "";
	this.cbp = "";
	this.cbll = "";
	this.layer = "";
}

function prepare_itinerary_map_six_day() {
	var map = new itinerary_map_parameters("Map of the Cradle Mountain Huts 6-day walk");
	
	map.navText = ["Whole Walk",
				   "Day One",
				   "Day Two",
				   "Day Three",
				   "Day Four",
				   "Day Five",
				   "Day Six"
				   ];
				   
	map.navURLs =  [new itinerary_map_url("112784720491234461197.0004744c9bbe01800aa9c", "-41.865,146.062", "0.479824,0.235709", "p", "10"),
				    new itinerary_map_url("112784720491234461197.0004744c9bbe01800aa9c", "-41.66,145.955" , "0.479824,0.235709", "p", "13"),
				    new itinerary_map_url("112784720491234461197.0004744c9bbe01800aa9c", "-41.74,145.95"  , "0.479824,0.235709", "p", "13"),
				    new itinerary_map_url("112784720491234461197.0004744c9bbe01800aa9c", "-41.82,146.02"  , "0.479824,0.235709", "p", "13"),
				    new itinerary_map_url("112784720491234461197.0004744c9bbe01800aa9c", "-41.861,146.06" , "0.479824,0.235709", "p", "13"),
				    new itinerary_map_url("112784720491234461197.0004744c9bbe01800aa9c", "-41.905,146.095", "0.479824,0.235709", "p", "13"),
				    new itinerary_map_url("112784720491234461197.0004744c9bbe01800aa9c", "-41.957,146.091", "0.479824,0.235709", "p", "13")
				   ];
				   
	map.navColours = ["#000",
				      "#00f",
				      "#f00",
				      "#fa0",
				      "#0c0",
				      "#f0f",
				      "#ff0"
				     ];
	
	prepare_itinerary_map(map);
}

function prepare_itinerary_map_four_day() {
	var map = new itinerary_map_parameters("Map of the Cradle Mountain Huts 4-day walk");
	
	map.navText = ["Whole Walk",
				   "Day One",
				   "Day Two",
				   "Day Three",
				   "Day Four"
				   ];
				   
	map.navURLs =  [new itinerary_map_url("112784720491234461197.000475b12c759cd3064bd", "-41.735888,146.100649", "0.383902,0.617294", "p", "11"),
				    new itinerary_map_url("112784720491234461197.000475b12c759cd3064bd", "-41.660888,145.950649", "0.192209,0.308647", "p", "13"),
				    new itinerary_map_url("112784720491234461197.000475b12c759cd3064bd", "-41.750239,145.950649", "0.192209,0.308647", "p", "13"),
				    new itinerary_map_url("112784720491234461197.000475b12c759cd3064bd", "-41.830042,145.999968", "0.192209,0.308647", "p", "13"),
				    new itinerary_map_url("112784720491234461197.000475b12c759cd3064bd", "-41.810839,146.073439", "0.192209,0.308647", "p", "13")
				   ];
				   
	map.navColours = ["#000",
				      "#00f",
				      "#f00",
				      "#fa0",
				      "#0c0"
				     ];
	
	prepare_itinerary_map(map);
}

function prepare_itinerary_map_three_day() {
	var map = new itinerary_map_parameters("Map of the Cradle Mountain Huts 3-day walk");
	
	map.navText = ["Whole Walk",
				   "Day One",
				   "Day Two - Option 1",
				   "Day Two - Option 2",
				   "Day Three"
				   ];
				   
	map.navURLs =  [new itinerary_map_url("112784720491234461197.000475c5b6d4afdc49455", "-41.690888,145.950649", "0.383902,0.617294", "p", "12"),
				    new itinerary_map_url("112784720491234461197.000475c5b6d4afdc49455", "-41.660888,145.950649", "0.192209,0.308647", "p", "13"),
				    new itinerary_map_url("112784720491234461197.000475c5b6d4afdc49455", "-41.730239,145.950649", "0.192209,0.308647", "p", "14"),
					new itinerary_map_url("112784720491234461197.000475c5b6d4afdc49455", "-41.710239,145.950649", "0.192209,0.308647", "p", "14"),
				    new itinerary_map_url("112784720491234461197.000475c5b6d4afdc49455", "-41.689888,145.950649", "0.192209,0.308647", "p", "13")
				   ];
				   
	map.navColours = ["#000",
				      "#00f",
					  "#fa0",
				      "#f00",				      
				      "#0c0"
				     ];
	
	prepare_itinerary_map(map);
}


function prepare_itinerary_map_bof() {
	var map = new itinerary_map_parameters("Map of the Bay of Fires 4-day walk");
	
	map.navText = ["Whole Walk",
				   "Day One",
				   "Day Two",
				   "Day Three",
				   "Day Four"
				   ];
				   
	map.navURLs =  [new itinerary_map_url("112784720491234461197.000475dab62d7aa56e862", "-40.955789,148.251228", "0.194462,0.308647", "k", "11"),
				    new itinerary_map_url("112784720491234461197.000475dab62d7aa56e862", "-40.916068,148.270597", "0.194462,0.308647", "k", "13"),
				    new itinerary_map_url("112784720491234461197.000475dab62d7aa56e862", "-40.972252,148.299465", "0.194462,0.308647", "k", "13"),
				    new itinerary_map_url("112784720491234461197.000475dab62d7aa56e862", "-41.034564,148.272686", "0.194462,0.308647", "k", "13"),
				    new itinerary_map_url("112784720491234461197.000475dab62d7aa56e862", "-41.016757,148.294487", "0.194462,0.308647", "k", "14")
				   ];
				   
	map.navColours = ["#000",
				      "#00f",
				      "#f00",
				      "#fa0",
				      "#0c0"
				     ];
	
	prepare_itinerary_map(map);
}


function prepare_itinerary_map_quambyestate() {
	var map = new itinerary_map_parameters("Quamby Estate. 1145 Westwood Road, Hagley.");
	
	map.navText = ["Satellite View",
				   "Road Map"
				   ];
				   
	map.navURLs =  [new itinerary_map_url("112784720491234461197.0004765573c8884820079", "-41.515101,146.931281", "0.13855,0.067098", "k", "15"),
					new itinerary_map_url("112784720491234461197.0004765573c8884820079", "-41.515101,147.031281", "0.13855,0.067098", "m", "11")
				   ];
				   
	map.navColours = ["#000",
					  "#000"
				     ];
	
	prepare_itinerary_map(map);
}

function prepare_itinerary_map_wilpenapound() {
	var map = new itinerary_map_parameters("Wilpena Pound Resort, Flinders Ranges. Wilpena Road, Via Hawker, SA, 5434");
	
	map.navText = ["Road Map",
				   "Satellite View",				   
				   "Street View"
				   ];
				   
	map.navURLs =  [
					new itinerary_map_url("112784720491234461197.00047915b1013560f6a10", "-31.52922,138.606412", "0.013717,0.01929", "m", "8"),
					new itinerary_map_url("112784720491234461197.00047915b1013560f6a10", "-31.52922,138.606412", "0.013717,0.01929", "h", "15"),
					new itinerary_map_url("112784720491234461197.00047915b1013560f6a10", "-31.52921,138.603199", "0,359.98071", "h", "16")
				   ];
				   
	map.navURLs[2].layer = "c";
	map.navURLs[2].cbll = "-31.52921,138.603199";
	map.navURLs[2].panoid = "Hj4YAGeYfhVMN5pScH2kgg";
	map.navURLs[2].cbp = "12,217.09,,0,5.6";
	
				   
	map.navColours = ["#000",
					  "#000"
				     ];
	
	prepare_itinerary_map(map);
}


function prepare_itinerary_map(map) {
	
	$("#location-map-link").click(function(){
		$("#fade").remove();
		$("#light").remove();			
		$("body").append("<div id=\"fade\" class=\"black_overlay\"></div>");
		var c = "<div id=\"light\" class=\"white_content\">";
		   c += "<div id=\"light-content\"></div>";
		   c += "<div id=\"light-header\">";
		   c += "<span><a href=\"javascript:void(0)\" onclick=\"document.getElementById('light').style.display='none';document.getElementById('fade').style.display='none'\">Close<" + "/a><" + "/span>";
		   c += map.title;
		   //c += "<a href=\"http://maps.google.com/maps/ms?ie=UTF8&amp;hl=en&amp;msa=0&amp;msid=" + map.navURLs[0].msid +"&amp;ll=-41.875917,146.061564&amp;spn=0.479824,0.235709&amp;t=p&amp;source=embed\" style=\"text-align:left; padding-left: 20px;\">(View in a larger map)</a>";
		   c += "</div></div>";
		$("body").append(c);
		$("#fade").show();
		$("#fade").click(function() {
			$("#fade").remove();
			$("#light").remove();
		});
		
		var windowWidth = $("body").width();
		var windowHeight = $(window).height();
		var light_width = windowWidth - 100;
		var left = (windowWidth - light_width - 6) / 2;
		var top = (windowHeight - 560 - 6) / 2;			
		$("#light").css("width", light_width.toString() + "px");
		$("#light").css("left", left + "px");
		$("#light").css("top", top + "px");			
		
		// Whole Track
		$("#light-content").html('<iframe id="google-map" width="950" height="532" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com/maps/ms?ie=UTF8&amp;hl=en&amp;msa=0&amp;msid=' + map.navURLs[0].msid + '&amp;source=embed&amp;ll=' + map.navURLs[0].ll + '&amp;spn=' + map.navURLs[0].spn + '&amp;t=' + map.navURLs[0].t + '&amp;z=' + map.navURLs[0].z + '&amp;output=embed"></iframe>');
		
		// Create Navigator
		var nav = '<div id="map-sidebar">' +
				'<h3>Select a Section</h3>' + 
				'<ul id="map-navigator">';
				for (i=0; i<map.navURLs.length; i++) {
					nav += '<li style="border-color: ' + map.navColours[i] + ';">';		
					if (map.navURLs[i].panoid != "") {
						nav += '<a rel="streetview" href="'
					} else {
						nav += '<a href="'
					}
					if (map.navURLs[i].panoid != "" && $.browser.msie != true) {
						nav += 'http://maps.google.com/maps/sv?cbp=' + map.navURLs[i].cbp + '&amp;cbll=' + map.navURLs[i].cbll + '&amp;panoid=&amp;v=1&amp;hl=en&amp;gl='
					} else {
						nav += 'http://maps.google.com/maps/ms?ie=UTF8&amp;hl=en&amp;msa=0&amp;msid=' + map.navURLs[i].msid + '&amp;source=embed&amp;ll=' + map.navURLs[i].ll + '&amp;spn=' + map.navURLs[i].spn + '&amp;t=' + map.navURLs[i].t + '&amp;z=' + map.navURLs[i].z
						if (map.navURLs[i].panoid != "") nav += '&panoid=' + map.navURLs[i].panoid;
						if (map.navURLs[i].cbp != "") nav += '&cbp=' + map.navURLs[i].cbp;
						if (map.navURLs[i].cbll != "") nav += '&cbll=' + map.navURLs[i].cbll;
						if (map.navURLs[i].layer != "") nav += '&layer=' + map.navURLs[i].layer;
					}					
					nav += '">'
					nav += map.navText[i] + '</a></li>';
				}
		nav +=  '</ul>' + 
				'<div id="map-info"></div>' +
			'</div>'
		$("#light-content").prepend(nav);
		
		light_width = light_width - 240;
		
		$("#map-navigator a").click(function () {
			if ($.browser.msie && $(this).attr('rel') == 'streetview') {
				$(this).attr('target','_blank');
				return true;
			}
			$("#google-map").remove();
			$("#map-sidebar").after('<iframe id="google-map" width="950" height="532" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="' + $(this).attr('href') + '&amp;output=embed"></iframe>');
			var key = "" + $(this).html();
			if (key.indexOf("-") != -1) {
				key = key.substr(0,key.indexOf("-")-1);
			}
			origH2 = $("#content h2:contains('" + key + "')");
			if (origH2.size() > 0) {
				//origH2 = origH2[0];
				//img = origH2.next("img").css('float', 'none');
				cnt = origH2.nextAll("div");
				cnt = cnt.get(0);
				//content = origH2.nextAll("div").get(0);
				$("#map-info").html('<h3>' + key + '</h3>');
				$("#map-info").append('<p>' + cnt.innerHTML + '</p>');
				$("#map-info").show();
				//$("#map-info").append('<p style="text-align: center;"><img src="' + img.attr('src') + '" alt="' + img.attr('alt') + '" title="' + img.attr('title') + '"></img></p>');
			}
			else {
				$("#map-info").html('');
				$("#map-info").hide();
			}
			$("iframe#google-map").css('width', light_width + 'px');
			return false;
		});
		
		$("iframe#google-map").css('width', light_width + 'px');
		$("#light").show();
		
		return false;
	});
}


