// GPS coordinates
var office_lat = '-33.857142';
var office_lng = '151.203836';

var lat = '';
var lng = '';

$(document).ready(function () {
	if (navigator.geolocation) {
		navigator.geolocation.getCurrentPosition(handler);
	}
});

// Loads the lat/lng values
function handler(location) {
	lat = location.coords.latitude;
	lng = location.coords.longitude;

	// Draw the default map
	$("#map").html(map_default());
}

// Draw the default map with dropdown
function map_default() {
	var src = 'http://maps.google.com/maps/ms';
	src += '?ie=UTF8';
	src += '&' + 'hl=en';
	src += '&' + 'msa=0';
	src += '&' + 'msid=100671991177574145806.000469987c88ed2b2c4df';
	src += '&' + 'll=' + office_lat + ',' + office_lng;
	src += '&' + 'z=14';
	src += '&' + 'output=embed';
	src += '&' + 'maptype=mobile'; 
	//src += '&amp;' + 'sensor=true';

	var href = 'http://maps.google.com/maps/ms';
	href += '?ie=UTF8';
	href += '&' + 'hl=en';
	href += '&' + 'msa=0';
	href += '&' + 'msid=100671991177574145806.000469987c88ed2b2c4df';
	href += '&' + 'll=' + office_lat + ',' + office_lng;
	href += '&' + 'z=14';
	href += '&' + 'source=embed';
	href += '&' + 'maptype=mobile'; 
	//href += '&' + 'sensor=true';
	
	var html = '';
	html += '<iframe width="266" scrolling="no" height="325" frameborder="0" src="' + src + '" marginwidth="0" marginheight="0"></iframe>';
	html += '<br />';
	html += '<small><a target="_blank" href="' + href + '">View larger map</a></small>';
	html += map_select('c');
	return html;
}

// Walking route
function map_walk() {
	
	var src = 'http://maps.google.com/maps';
	src += '?f=d';
	src += '&amp;' + 'source=s_d';
	src += '&amp;' + 'saddr=' + lat + ',' + lng;
	src += '&amp;' + 'daddr=' + office_lat + ',' + office_lng;
	src += '&amp;' + 'hl=en';
	src += '&amp;' + 'ie=UTF8';
	src += '&amp;' + 'll=' + lat + ',' + lng;
	src += '&amp;' + 'z=14';
	src += '&amp;' + 'output=embed';
	src += '&amp;' + 'maptype=mobile'; 
	//src += '&amp;' + 'sensor=true';
	
	var href = 'http://maps.google.com/maps';
	href += '?f=d';
	href += '&amp;' + 'source=embed';
	href += '&amp;' + 'saddr=' + lat + ',' + lng;
	href += '&amp;' + 'daddr=' + office_lat + ',' + office_lng;
	href += '&amp;' + 'hl=en';
	href += '&amp;' + 'ie=UTF8';
	href += '&amp;' + 'll=' + lat + ',' + lng;
	href += '&amp;' + 'z=14';
	href += '&amp;' + 'maptype=mobile'; 
	//href += '&amp;' + 'sensor=true';
	
	var html = '';
	html  = '<iframe width="266" height="325" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="' + src + '"></iframe>';
	html += '<br />';
	html += '<small><a href="' + href + '">View Larger Map</a></small>';
	html += map_select('w');
	return html;
}


function map_drive() {
	
	var src = 'http://maps.google.com/maps';
	src += '?f=d';
	src += '&amp;' + 'source=s_d';
	src += '&amp;' + 'saddr=' + lat + ',' + lng;
	src += '&amp;' + 'daddr=' + office_lat + ',' + office_lng;
	src += '&amp;' + 'hl=en';
	src += '&amp;' + 'ie=UTF8';
	src += '&amp;' + 'll=' + lat + ',' + lng;
	src += '&amp;' + 'z=14';
	src += '&amp;' + 'output=embed';
	src += '&amp;' + 'maptype=mobile'; 
	//src += '&amp;' + 'sensor=true';

	var href = 'http://maps.google.com/maps';
	href += '?f=d';
	href += '&amp;' + 'source=embed';
	href += '&amp;' + 'saddr=' + lat + ',' + lng;
	href += '&amp;' + 'daddr=' + office_lat + ',' + office_lng;
	href += '&amp;' + 'hl=en';
	href += '&amp;' + 'ie=UTF8';
	href += '&amp;' + 'll=' + lng + ',' + lng;
	href += '&amp;' + 'z=14';
	href += '&amp;' + 'maptype=mobile'; 
	//href += '&amp;' + 'sensor=true';

	var html = '';
	html += '<iframe width="266" height="325" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="' + src + '"></iframe>';
	html += '<br />';
	html += '<small><a href="' + href + '">View Larger Map</a></small>';
	html += map_select('d');
	return html;
}

function map_public() {
	var html = '';
	return html;
}

function map_select(select) {
	if (lat == '' || lng == '') {
		return '';
	}

	if (select == undefined) {
		var map_select = $("#map_select").val();
		if (map_select == undefined) {
			map_select = 'c';
		}
	}
	else {
		map_select = select;
	}

	var d_selected = '';
	var r_selected = '';
	var w_selected = '';
	var c_selected = '';
	
	switch (map_select) {
		case 'd':
			d_selected = ' selected="selected"';
			break;
		case 'r':
			r_selected = ' selected="selected"';
			break;
		case 'w':
			w_selected = ' selected="selected"';
			break;
		case 'c':
			c_selected = ' selected="selected"';
			break;
	}

	var html = '';
	html += '<div>';
	html += '<label style="font-size: 11px; font-weight: bold;">Select route:</label><br />';
	html += '<select id="map_select" name="map_select" onchange="map_update()" style="border: 1px solid #CCCCCC; width: 150px;">';
	html += '	<option value="d"' + d_selected + '>By car</option>';
	//html += '	<option value="r"' + r_selected + '>By public transport</option>';
	html += '	<option value="w"' + w_selected + '>Walking</option>';
	html += '	<option value="c"' + c_selected + '>Centered</option>';
	html += '</select>';
	html += '</div>';
	
	return html;
}
			
function map_update(select) {
	if (select == undefined) {
		var map_select = $("#map_select").val();
		if (map_select == undefined) {
			map_select = 'c';
		}
	}
	else {
		map_select = select;
	}

	var html = '';
	switch (map_select) {
		case 'd':
			html = map_drive();
			break;
		case 'r':
			html = map_public();
			break;
		case 'w':
			html = map_walk();
			break;
		case 'c':
			html = map_default();
			break;
	}
	$("#map").html(html);
}

