var alreadyMarked = false;
				
function storeLatLong(lat,lng)
{
	document.googleForm.lat.value = lat;
	document.googleForm.long.value = lng;
}

var lat;
var lng;
var markerIcon;

var map, orgpoint, marker, gDir;

function loadGMap()
{
	if (GBrowserIsCompatible())
	{
		map = new GMap2(document.getElementById("map"));
		gDir= new GDirections(map);
		
		GEvent.addListener(gDir,"error", function()
		{
			alert("Adressen kunde inte sättas på kartan. Prova med en annan startadress, eller med bara postnumret.");
			document.getElementById("roadDescContent").innerHTML = "";
			resetMap();
		});

		orgpoint = new GLatLng(lat, lng);
		
		map.setCenter(orgpoint, 13);
		map.addControl(new GSmallMapControl());
		
		var icon = new GIcon();
		icon.image = "/static/images/ikon/"+markerIcon;
		icon.iconSize = new GSize(20,34);
		
		icon.shadow ="/static/images/ikon/skugga.png"
		icon.shadowSize = new GSize(37, 34);
		icon.iconAnchor = new GPoint(9,34);
		icon.infoWindowAnchor = new GPoint(9,2);
		
		marker = new GMarker(orgpoint, icon, {draggable: false,bouncy:false});
		map.addOverlay(marker);
	}
}

function resetMap()
{
	map.clearOverlays();
	map.setCenter(orgpoint, 13);
	map.addOverlay(marker);
}

function showMap()
{
	document.getElementById("kartknapp").style.display='none';
	document.getElementById("roadDesc").style.display='block';
	document.getElementById("map").style.display='block';
	document.getElementById("mapDisclaimer").style.display='block';	
	loadGMap();
}

function getRoadDesc()
{
	var startpoint = lat + ", " + lng;
	var endpoint = document.roadDescForm.from.value;
	if (endpoint.length > 0)
	{
		setCookie("latestRoadDescStart", endpoint);
		endpoint += ", Sweden";
		map.clearOverlays();
		gDir.loadFromWaypoints([endpoint,startpoint], {getSteps:true,locale:'sv_SE'});
		
		GEvent.addListener(gDir,"load", function()
		{
			setTimeout('customPanel(map,"map",gDir,document.getElementById("roadDescContent"))', 1);
		});
	}
}

function showWayPointDetail(x)
{
	map.showMapBlowup(new GLatLng(x));
}

// ============ custom direction panel ===============
function customPanel(map,mapname,dirn,div)
{
	var html = "";
	
	// === step detail ===
	function detail(point, num, description, dist)
	{
		var target = '"' + mapname+".showMapBlowup(new GLatLng("+point.toUrlValue(6)+"))"  +'"';
		html += '<table style="margin: 0px; padding: 0px; border-collapse: collapse;">';
		html += '  <tr style="cursor: pointer;" onclick='+target+'>';
		html += '    <td style="border-top: 1px solid rgb(205, 205, 205); margin: 0px; padding: 0.3em 3px; vertical-align: top; text-align: right;">';
		html += num;
		html += '    </td>';
		html += '    <td style="border-top: 1px solid rgb(205, 205, 205); margin: 0px; padding: 0.3em 3px; vertical-align: top; width: 100%;">';
		html +=        description;
		html += '    </td>';
		html += '    <td style="border-top: 1px solid rgb(205, 205, 205); margin: 0px; padding: 0.3em 3px 0.3em 0.5em; vertical-align: top; text-align: right;">';
		html +=        dist;
		html += '    </td>';
		html += '  </tr>';
		html += '</table>';
	}
	
	var route = dirn.getRoute(0);
	var geocode = route.getStartGeocode();
	var point = route.getStep(0).getLatLng();
	
	// === Waypoint at the start of each GRoute
	
	html = '<span class="text11">Resan är ' + route.getDistance().html + ' lång och kommer att ta ungefär ' + route.getDuration().html + '.';
	html += ' Klicka på ett av de följande stegen för att visa dess position på kartan.<br/><br/></span>';
	
	for (var j=0; j<route.getNumSteps(); j++)
	{
		var step = route.getStep(j);
		// === detail lines for each step ===
		detail(step.getLatLng(), j+1, step.getDescriptionHtml(), step.getDistance().html);
	}
	
	
	// === the final destination waypoint ===   
	var geocode = route.getEndGeocode();
	var point = route.getEndLatLng();
		
	div.innerHTML = html;
}


function tipsa()
{
	var d = document.getElementById("tipsaformdiv");
	if (d.style.display == 'none')
	{
		d.style.display='block';
		document.tipsaform.mottNamn.focus();
	}
	else
	{
		d.style.display='none';
	}
}

function makeUrval()
{
	var f = document.urvalForm;
	
	if (f.livsmedel.checked)
		setCookie("lanUrval_livsmedel", "checked");
	else
		setCookie("lanUrval_livsmedel", "");
		
	if (f.textil.checked)
		setCookie("lanUrval_textil", "checked");
	else
		setCookie("lanUrval_textil", "");
		
	if (f.ovrigt.checked)
		setCookie("lanUrval_ovrigt", "checked");
	else
		setCookie("lanUrval_ovrigt", "");
		
	setCookie("codePage", "0");
	
	document.location.href = '/lan/'+f.lan.options[f.lan.selectedIndex].value;
}