//
var map = null;
var defaultHtml;
var gdir = null;
var mypoly = null;

// The allowed region which the whole map must be within
var allowedBounds = new GLatLngBounds(new GLatLng(55, 7), new GLatLng(58, 15));

function initilizeMap(maparea, sidebar, usedWidth, usedHeight, defaultMarker, selectedMarker, zoomMin, zoomMax) {
    itaSelectedIcon.image = selectedMarker;
    itaMarkerIcon.image = defaultMarker;

    $(window).resize(function() { resizeMap(maparea, sidebar, usedWidth, usedHeight); });
	resizeMap(maparea, sidebar, usedWidth, usedHeight);

	defaultHtml = $(sidebar).html();

    if (GBrowserIsCompatible()) {
        map = new GMap2(document.getElementById($(maparea)[0].id), { mapTypes:[G_NORMAL_MAP] });
        map.addControl(new GLargeMapControl());
        map.addControl(new GMapTypeControl());
        map.addControl(new GScaleControl());
        map.addControl(new GOverviewMapControl());

        map.enableContinuousZoom();
        map.enableDoubleClickZoom();
        map.enableScrollWheelZoom();
        map.enableInfoWindow();

        new ItaMapManager(map, salesOrg, sidebar).show();
        findSiteAndCenter();

        gdir = new GDirections(map, document.getElementById($(sidebar)[0].id));
        GEvent.addListener(gdir, 'load', onGDirectionsLoad);
        GEvent.addListener(gdir, 'error', handleErrors);
        GEvent.addListener(gdir, 'addoverlay', formatRoute);
    }


    // Restricting the range of Zoom Levels
    // Get the list of map types
    var mt = map.getMapTypes();
    // Overwrite the getMinimumResolution() and getMaximumResolution() methods
    for (var i = 0; i < mt.length; i++) {
        mt[i].getMinimumResolution = function() { return zoomMin; }
        mt[i].getMaximumResolution = function() { return zoomMax; }
    }

    // Add a move listener to restrict the bounds range
    GEvent.addListener(map, 'move', function() {
        checkBounds();
    });
}

function resizeMap(maparea, sideBarElement, usedWidth, usedHeight) {
    if (usedWidth != null)
        $(maparea).width($(window).width() - usedWidth);
    if (usedHeight != null)
        $(maparea).height($(window).height() - usedHeight);
}

// Function to center and zoom
function gmapCenterAndZoom(gmap, minLat, maxLat, minLng, maxLng) {
    try {
        var swPoint = new GLatLng(minLat, minLng);
        var nePoint = new GLatLng(maxLat, maxLng);
        var latLngBound = new GLatLngBounds(swPoint, nePoint);
        var center = new GLatLng((minLat + maxLat) / 2, (minLng + maxLng) / 2);
        var zoom = gmap.getBoundsZoomLevel(latLngBound);
        gmap.setCenter(center, zoom);
    } catch (e) { }
}

// Parses the anchor part of the url in order to find site and select it.
function findSiteAndCenter() {
    var parts = location.href.split('#');
    if (parts.length >= 2) {
        var siteWerks = parts[1];
        var site = mapManager.findSite(siteWerks);

        // Select site at set the zoomlevel.
        if (site) site.select(14);
    }
}

// If the map position is out of range, move it back
function checkBounds() {
    // Perform the check and return if OK
    if (allowedBounds.contains(map.getCenter()))
        return;
    // It's not OK, so find the nearest allowed point and move there
    var c = map.getCenter();
    var x = c.lng();
    var y = c.lat();
    var maxX = allowedBounds.getNorthEast().lng();
    var maxY = allowedBounds.getNorthEast().lat();
    var minX = allowedBounds.getSouthWest().lng();
    var minY = allowedBounds.getSouthWest().lat();
    if (x < minX) {x = minX;}
    if (x > maxX) {x = maxX;}
    if (y < minY) {y = minY;}
    if (y > maxY) {y = maxY;}
    map.setCenter(new GLatLng(y, x));
}





// NB




var mapManager = null;

// Constructs a new Manager. The min/max lat lng suggeest
function ItaMapManager(map, salesOrg, sidebar, minLat, maxLat, minLng, maxLng) {
    if (map != null) {
        this.map = map;
        this.salesOrg = salesOrg;
        mapManager = this;
        this.sidebar = sidebar;
        this.selectedSite = null;
        this.suggestedMinLat = minLat;
        this.suggestedMaxLat = maxLat;
        this.suggestedMinLng = minLng;
        this.suggestedMaxLng = maxLng;
    }
}

ItaMapManager.prototype = new ItaMapManager();

// shows the map and markers for every site.
ItaMapManager.prototype.show = function() {
    this.centerAndZoom();
    this.salesOrg.show();
}

ItaMapManager.prototype.calculateMinMax = function() {
    this.minLatitude = this.suggestedMinLat;
    this.maxLatitude = this.suggestedMaxLat;
    this.minLongitude = this.suggestedMinLng;
    this.maxLongitude = this.suggestedMaxLng;
    for (var i = 0; i < this.salesOrg.sites.length; i++) {
        var site = this.salesOrg.sites[i];
        if (this.minLatitude == null || site.lat < this.minLatitude)
            this.minLatitude = site.lat;
        if (this.maxLatitude == null || site.lat > this.maxLatitude)
            this.maxLatitude = site.lat;
        if (this.minLongitude == null || site.lng < this.minLongitude)
            this.minLongitude = site.lng;
        if (this.maxLongitude == null || site.lng > this.maxLongitude)
            this.maxLongitude = site.lng;
    }
    this.minLatitude -= 0.3;
    this.maxLatitude += 0.3;
    this.minLongitude -= 0.3;
    this.maxLongitude += 0.3;
}

ItaMapManager.prototype.centerAndZoom = function() {
    this.calculateMinMax();
    gmapCenterAndZoom(this.map, this.minLatitude, this.maxLatitude, this.minLongitude, this.maxLongitude);
}


ItaMapManager.prototype.findSite = function(werks) {
    for (var i = 0; i < this.salesOrg.sites.length; i++) {
        var site = this.salesOrg.sites[i];
        if (site.werks == werks)
            return site;
    }
}

// Costruncts a new sales org
// - vkorg - id of the organisation.
function ItaSalesOrg() {
    this.sites = [];
}

ItaSalesOrg.prototype = new ItaSalesOrg();

// Adds site to this sales org.
// werks - id of the site
// lat - The latitude of the site
// lng - The longitude of the site.
// name1 - The first name line
ItaSalesOrg.prototype.addSite = function(werks, lat, lng, name1) {
    var site = new ItaSite(werks, lat, lng, name1);
    this.sites.push(site);
}

ItaSalesOrg.prototype.show = function() {
    for (var i = 0; i < this.sites.length; i++)
        this.sites[i].show();
}

// Constructs a new Site
function ItaSite(werks, lat, lng, name1) {
    if (werks != null) {
        this.werks = werks;
        this.lat = lat;
        this.lng = lng;
        this.name1 = name1;
        this.latLng = new GLatLng(lat, lng);
        this.selected = false;
    }
}

ItaSite.prototype = new ItaSite();

ItaSite.prototype.show = function() {
    if (! this.gmarker)
        this.createMarker();
}

function currentlatLng() {
	return this.latLng;
}

// The default icon for selected.
var itaSelectedIcon              = new GIcon();
itaSelectedIcon.image            = '';
itaSelectedIcon.iconSize         = new GSize(6, 6)
itaSelectedIcon.iconAnchor       = new GPoint(6, 6);
itaSelectedIcon.infoWindowAnchor = new GPoint(10, 1);
var itaSelectedMarkerOptions     = { draggable: false, icon: itaSelectedIcon, title: "" };

var itaMarkerIcon                = new GIcon();
itaMarkerIcon.image              = '';
itaMarkerIcon.iconSize           = new GSize(6, 6)
itaMarkerIcon.iconAnchor         = new GPoint(6, 6);
itaMarkerIcon.infoWindowAnchor   = new GPoint(10, 1);
var itaDefaultMarkerOptions      = { draggable: false, icon: itaMarkerIcon, title: "" };

ItaSite.prototype.createMarker = function() {
    if (this.gmarker)
        mapManager.map.removeOverlay(this.gmarker);
    var markerOptions = this.selected ? itaSelectedMarkerOptions : itaDefaultMarkerOptions;
    markerOptions.title = this.name1;
    this.gmarker = new GMarker(this.latLng, markerOptions);
    this.gmarker.itaMarker = this;
    var itaSite = this;
    GEvent.addListener(this.gmarker, 'click', function() {
    	cleanOverlay();
        itaSite.select();
    });
    GEvent.addListener(this.gmarker, 'dblclick', function () {
    	cleanOverlay();
        itaSite.select();
    });
    mapManager.map.addOverlay(this.gmarker);
    return this.gmarker;
}

ItaSite.prototype.select = function(specificZoom) {
//    var curzoom = mapManager.map.getZoom();
//    var zoomIntoMinLevel = Math.min(curzoom + 3, 12)
//    var zoomlevel = specificZoom ? specificZoom : Math.max(curzoom, zoomIntoMinLevel);
//    mapManager.map.setCenter(this.latLng, zoomlevel);
    if (mapManager.selectedSite) {
        // There was one selected already - unselected and change icon
        mapManager.selectedSite.selected = false;
        mapManager.selectedSite.createMarker();
    }
    mapManager.selectedSite = this;
    this.selected = true;
    this.createMarker();
    this.loadDetails(true);
    changeAnchor(this.werks);
}

function changeAnchor(anchor) {
    var parts = location.href.split("#");
    var newUrl = parts[0] + "#" + anchor;
    location.href = newUrl;
}

ItaSite.prototype.loadDetails = function(detail) {
    $.post('/script/shop/sportigan/map.json', { shop: this.werks },
	    function(info) {
		    var i;
			var shop = new ItaSiteDetails(info.code, info.name, info.comment);
			for(i = 0; i < info.address.length; i++)
				shop.addAddress(info.address[i]);
			for(i = 0; i < info.contact.length; i++)
				shop.addContact(info.contact[i].type, info.contact[i].text);
            if (detail) {
				for(i = 0; i < info.open.length; i++)
					shop.addOpen(info.open[i].day, info.open[i].from, info.open[i].to);
			}
			shop.show();

			$('#top-link-right').css({ 'cursor': 'pointer' });
			$('#top-link-right').html('<span>Gå til søgning efter butikker</span>');
           	$('#top-link-right').bind('click', function(event) {
				$(this).unbind();
			    goToStart();
			});
	    }, 'json');
}




function setDirections(fromAddress, toAddress, locale) {
	gdir.load("from: " + fromAddress + " to: " + toAddress, { "locale": locale });
}
function handleErrors() { }
function onGDirectionsLoad() { }
function formatRoute() {
        var numMarkers = gdir.getNumGeocodes()
        for (var i = 0; i < numMarkers; i++) {
                var marker = gdir.getMarker(i);
                if (marker != null)
                        marker.hide();
        }
        var points = [];
		var poly = gdir.getPolyline();
		for (var i = 0; i < poly.getVertexCount(); i++)
			points[i] = poly.getVertex(i);
		mypoly = new GPolyline(points, '#ff5d00', 5, 1);
		map.addOverlay(mypoly);
}




var siteDetails = {};

function ItaOpen(day, opening, closing) {
    this.day = day;
    this.opening = opening;
    this.closing = closing;
}
ItaOpen.prototype = new ItaOpen();

function ItaContact(type, text) {
    this.type = type;
    this.text = text;
}
ItaContact.prototype = new ItaContact();

function ItaSiteDetails(werks, name, comment) {
    siteDetails[werks]   = this;
    this.werks           = werks;
    this.name            = name;
    this.comment         = comment;
    this.address         = [];
    this.open            = [];
    this.contact         = [];
}
ItaSiteDetails.prototype = new ItaSiteDetails();

// - Adds address.
ItaSiteDetails.prototype.addAddress = function(address) {
    this.address[this.address.length] = address;
}
// - Adds opening hours.
ItaSiteDetails.prototype.addOpen = function(day, opening, closing) {
    var openInst = new ItaOpen(day, opening, closing);
    this.open[this.open.length] = openInst;
}
// - Adds contact information.
ItaSiteDetails.prototype.addContact = function(type, text) {
    var contactInst = new ItaContact(type, text);
    this.contact[this.contact.length] = contactInst;
}

ItaSiteDetails.prototype.show = function() {
	var i;
    var html = '';

    html += '            <h2 class="black">' + this.name + '</h2>';
    html += '            <ul id="location">';
    for (i = 0; i < this.address.length; i ++)
	    html += '                <li>' + this.address[i] + '</li>';
    html += '            </ul>';
    if (this.contact.length > 0) {
	    html += '            <ul id="contact">';
	    for (i = 0; i < this.contact.length; i ++) {
    		if (this.contact[i].type == 'phone')
			    html += '                <li class="phone"><label>Tlf.:</label> ' + this.contact[i].text + '</li>';
			else if (this.contact[i].type == 'fax')
			    html += '                <li class="fax"><label>Fax:</label> ' + this.contact[i].text + '</li>';
			else if (this.contact[i].type == 'email')
			    html += '                <li class="email"><label>Email:</label>  <a href="mailto:' + this.contact[i].text + '">' + this.contact[i].text + '</a></li>';
		}
	    html += '            </ul>';
	}

	if (this.open.length > 0) {
	    html += '            <h2 class="black open">Åbningstider</h2>';
	    html += '            <ul id="open">';
	    for (i = 0; i < this.open.length; i ++)
		    html += '                <li class="time-period"><label>' + this.open[i].day + '</label> ' + this.open[i].opening + ' - ' + this.open[i].closing + '</li>';
	    html += '            </ul>';
	}

	html += '<div class="special_info">' + this.comment + '</div>';
    $(mapManager.sidebar).html(html);
    changeTextToBGI('#sidebar h2.black', '24', '393939');
}


function numbersonly(e) {
	var e = window.event || e;
	var unicode = e.charCode || e.keyCode;
	return (unicode == 8 || unicode == 9 || unicode == 13 || (unicode >= 48 && unicode <= 57) || unicode == 37 || unicode == 39 || unicode == 46);
}

function deleteRoute() {
	gdir.clear();
	if (mypoly != null) {
	    map.removeOverlay(mypoly);
	   	mypoly = null;
	}
}

function unselectPoint() {
	if (mapManager.selectedSite) {
		mapManager.selectedSite.selected = false;
		mapManager.selectedSite.createMarker();
	}
	mapManager.selectedSite = null;
}

function selectPoint(werks, detail) {
	if (detail == undefined)
		detail = false;
	for(var i = 0; i < salesOrg.sites.length; i++)
		if (salesOrg.sites[i].werks == werks) {
			mapManager.selectedSite = salesOrg.sites[i];
			salesOrg.sites[i].selected = true;
			salesOrg.sites[i].createMarker();
			salesOrg.sites[i].loadDetails(detail);
			changeAnchor(salesOrg.sites[i].werks);
		}
}

function cleanOverlay() {
	deleteRoute();
	unselectPoint();

}

function goToStart() {
	cleanOverlay();

	$('#top-link-right').css({ 'cursor': 'default' });
	$('#top-link-right').html('');
    changeAnchor('');

   	$('#sidebar').html(defaultHtml);
    prepareInputTextTitle('#sidebar input:text');
    prepareHandler();
}

function showError(error) {
	$('#sidebar .error').remove();
	$('#sidebar').append('<span class="error">' + error + '</span>');
}





function prepareInputTextTitle(field) {
	$(field).css({ 'color': '#666666', 'font-style': 'italic', 'font-weight': 'normal' });
    $(document).find(field).each(function(elem) {
	    var term = $(this).attr('title').split(' tegn | ');
	    if (term.length > 1 && /^(?:maks\040)?[0-9]+$/i.test(term[0])) {
//			$(this).attr('maxlength', term[0].split('maks ').slice(0, 1));
			$(this).val(term.slice(1).join('|'));
		} else
			$(this).val($(this).attr('title'));
	});
	$(field).unbind();
	$(field).bind('focus click', function(event) {
		$(this).unbind('focus click');
		$(this).bind('focus click', function(event) {
			$(this).css({ 'color': '#333333', 'font-style': 'normal', 'font-weight': 'bold' });
		    if ((/^(?:maks\040)?[0-9]+\040tegn\040|\040.*$/i.test($(this).attr('title')) && $(this).attr('title').split(' tegn | ').length > 1 && $(this).val() == $(this).attr('title').split(' tegn | ').slice(1))
		    		|| $(this).val() == $(this).attr('title')) {
				$(this).val('');
			    var term = $(this).attr('title').split(' tegn | ');
			    if (term.length > 1 && /^(?:maks\040)?[0-9]+$/i.test(term[0])) {
			    	var terms = term[0].split('Maks ');
					$(this).attr('maxlength', (terms[0] + (terms[1] ? terms[1] : '')));
				}
			}
		});
		$(this).bind('blur', function(event) {
			if ($(this).val().length == 0 || $(this).val() == $(this).attr('title') ||
					(/^(?:maks\040)?[0-9]+\040tegn\040|\040.*$/i.test($(this).attr('title')) && $(this).attr('title').split(' tegn | ').length > 1 && $(this).val() == $(this).attr('title').split(' tegn | ').slice(1))) {
				$(this).css({ 'color': '#666666', 'font-style': 'italic', 'font-weight': 'normal' });
				$(this).attr('maxlength', 1000);
				if ($(this).attr('title').split(' tegn | ').length > 1)
					$(this).val($(this).attr('title').split(' tegn | ').slice(1));
				else
					$(this).val($(this).attr('title'));
			}
		});
		$(this).focus();
	});
}

function prepareHandler() {
    var pn = {p1000:'København K',p1001:'København K',p1002:'København K',p1003:'København K',p1004:'København K',p1005:'København K',p1006:'København K',p1007:'København K',p1008:'København K',p1009:'København K',p1010:'København K',p1011:'København K',p1012:'København K',p1013:'København K',p1014:'København K',p1015:'København K',p1016:'København K',p1017:'København K',p1018:'København K',p1019:'København K',p1020:'København K',p1021:'København K',p1022:'København K',p1023:'København K',p1024:'København K',p1025:'København K',p1026:'København K',p1045:'København K',p1050:'København K',p1051:'København K',p1052:'København K',p1053:'København K',p1054:'København K',p1055:'København K',p1055:'København K',p1056:'København K',p1057:'København K',p1058:'København K',p1059:'København K',p1060:'København K',p1061:'København K',p1062:'København K',p1063:'København K',p1064:'København K',p1065:'København K',p1066:'København K',p1067:'København K',p1068:'København K',p1069:'København K',p1070:'København K',p1071:'København K',p1072:'København K',p1073:'København K',p1074:'København K',p1092:'København K',p1093:'København K',p1095:'København K',p1098:'København K',p1100:'København K',p1101:'København K',p1102:'København K',p1103:'København K',p1104:'København K',p1105:'København K',p1106:'København K',p1107:'København K',p1110:'København K',p1111:'København K',p1112:'København K',p1113:'København K',p1114:'København K',p1115:'København K',p1116:'København K',p1117:'København K',p1118:'København K',p1119:'København K',p1120:'København K',p1121:'København K',p1122:'København K',p1123:'København K',p1124:'København K',p1125:'København K',p1126:'København K',p1127:'København K',p1128:'København K',p1129:'København K',p1130:'København K',p1131:'København K',p1140:'København K',p1147:'København K',p1148:'København K',p1150:'København K',p1151:'København K',p1152:'København K',p1153:'København K',p1154:'København K',p1155:'København K',p1156:'København K',p1157:'København K',p1158:'København K',p1159:'København K',p1160:'København K',p1161:'København K',p1162:'København K',p1163:'København K',p1164:'København K',p1165:'København K',p1166:'København K',p1167:'København K',p1168:'København K',p1169:'København K',p1170:'København K',p1171:'København K',p1172:'København K',p1173:'København K',p1174:'København K',p1175:'København K',p1200:'København K',p1201:'København K',p1202:'København K',p1203:'København K',p1204:'København K',p1205:'København K',p1206:'København K',p1207:'København K',p1208:'København K',p1209:'København K',p1210:'København K',p1211:'København K',p1212:'København K',p1213:'København K',p1214:'København K',p1215:'København K',p1216:'København K',p1217:'København K',p1218:'København K',p1218:'København K',p1218:'København K',p1218:'København K',p1218:'København K',p1218:'København K',p1219:'København K',p1220:'København K',p1221:'København K',p1240:'København K',p1250:'København K',p1251:'København K',p1252:'København K',p1253:'København K',p1254:'København K',p1255:'København K',p1256:'København K',p1257:'København K',p1258:'København K',p1259:'København K',p1259:'København K',p1260:'København K',p1261:'København K',p1263:'København K',p1263:'København K',p1264:'København K',p1265:'København K',p1266:'København K',p1267:'København K',p1268:'København K',p1270:'København K',p1271:'København K',p1291:'København K',p1300:'København K',p1301:'København K',p1302:'København K',p1303:'København K',p1304:'København K',p1306:'København K',p1307:'København K',p1307:'København K',p1308:'København K',p1309:'København K',p1310:'København K',p1311:'København K',p1312:'København K',p1313:'København K',p1314:'København K',p1315:'København K',p1316:'København K',p1317:'København K',p1318:'København K',p1319:'København K',p1320:'København K',p1321:'København K',p1322:'København K',p1323:'København K',p1324:'København K',p1325:'København K',p1326:'København K',p1327:'København K',p1328:'København K',p1329:'København K',p1349:'København K',p1350:'København K',p1352:'København K',p1353:'København K',p1354:'København K',p1355:'København K',p1356:'København K',p1357:'København K',p1358:'København K',p1359:'København K',p1359:'København K',p1360:'København K',p1361:'København K',p1361:'København K',p1362:'København K',p1363:'København K',p1364:'København K',p1365:'København K',p1366:'København K',p1367:'København K',p1368:'København K',p1369:'København K',p1370:'København K',p1371:'København K',p1400:'København K',p1400:'København K',p1401:'København K',p1402:'København K',p1402:'København K',p1402:'København K',p1402:'København K',p1402:'København K',p1403:'København K',p1404:'København K',p1406:'København K',p1407:'København K',p1408:'København K',p1409:'København K',p1410:'København K',p1411:'København K',p1411:'København K',p1412:'København K',p1413:'København K',p1414:'København K',p1415:'København K',p1416:'København K',p1417:'København K',p1418:'København K',p1419:'København K',p1420:'København K',p1421:'København K',p1422:'København K',p1423:'København K',p1424:'København K',p1425:'København K',p1426:'København K',p1427:'København K',p1428:'København K',p1429:'København K',p1430:'København K',p1431:'København K',p1432:'København K',p1432:'København K',p1432:'København K',p1433:'København K',p1433:'København K',p1433:'København K',p1433:'København K',p1433:'København K',p1433:'København K',p1433:'København K',p1434:'København K',p1435:'København K',p1436:'København K',p1436:'København K',p1436:'København K',p1436:'København K',p1436:'København K',p1436:'København K',p1436:'København K',p1437:'København K',p1437:'København K',p1437:'København K',p1437:'København K',p1437:'København K',p1437:'København K',p1437:'København K',p1437:'København K',p1437:'København K',p1437:'København K',p1437:'København K',p1437:'København K',p1438:'København K',p1438:'København K',p1438:'København K',p1438:'København K',p1438:'København K',p1439:'København K',p1439:'København K',p1439:'København K',p1439:'København K',p1439:'København K',p1439:'København K',p1439:'København K',p1439:'København K',p1439:'København K',p1439:'København K',p1439:'København K',p1439:'København K',p1439:'København K',p1439:'København K',p1439:'København K',p1440:'København K',p1440:'København K',p1440:'København K',p1440:'København K',p1440:'København K',p1440:'København K',p1440:'København K',p1440:'København K',p1440:'København K',p1440:'København K',p1440:'København K',p1441:'København K',p1441:'København K',p1441:'København K',p1448:'København K',p1450:'København K',p1451:'København K',p1452:'København K',p1453:'København K',p1454:'København K',p1455:'København K',p1456:'København K',p1457:'København K',p1458:'København K',p1459:'København K',p1460:'København K',p1461:'København K',p1462:'København K',p1463:'København K',p1464:'København K',p1465:'København K',p1466:'København K',p1467:'København K',p1468:'København K',p1470:'København K',p1471:'København K',p1472:'København K',p1473:'København K',p1500:'København V',p1501:'København V',p1502:'København V',p1503:'København V',p1504:'København V',p1505:'København V',p1506:'København V',p1507:'København V',p1508:'København V',p1509:'København V',p1510:'København V',p1532:'København V',p1533:'København V',p1550:'København V',p1550:'København V',p1551:'København V',p1552:'København V',p1553:'København V',p1553:'København V',p1554:'København V',p1555:'København V',p1556:'København V',p1557:'København V',p1558:'København V',p1559:'København V',p1560:'København V',p1561:'København V',p1561:'København V',p1562:'København V',p1563:'København V',p1564:'København V',p1566:'København V',p1567:'København V',p1568:'København V',p1569:'København V',p1570:'København V',p1570:'København V',p1571:'København V',p1572:'København V',p1573:'København V',p1574:'København V',p1575:'København V',p1576:'København V',p1577:'København V',p1577:'København V',p1577:'København V',p1592:'København V',p1599:'København V',p1600:'København V',p1601:'København V',p1602:'København V',p1603:'København V',p1604:'København V',p1605:'København V',p1606:'København V',p1607:'København V',p1608:'København V',p1609:'København V',p1610:'København V',p1611:'København V',p1612:'København V',p1613:'København V',p1614:'København V',p1615:'København V',p1616:'København V',p1617:'København V',p1618:'København V',p1619:'København V',p1620:'København V',p1620:'København V',p1621:'København V',p1622:'København V',p1623:'København V',p1624:'København V',p1630:'København V',p1631:'København V',p1632:'København V',p1633:'København V',p1634:'København V',p1635:'København V',p1640:'København V',p1650:'København V',p1651:'København V',p1652:'København V',p1653:'København V',p1654:'København V',p1655:'København V',p1656:'København V',p1657:'København V',p1658:'København V',p1659:'København V',p1660:'København V',p1660:'København V',p1661:'København V',p1662:'København V',p1663:'København V',p1664:'København V',p1665:'København V',p1666:'København V',p1667:'København V',p1668:'København V',p1669:'København V',p1670:'København V',p1671:'København V',p1671:'København V',p1672:'København V',p1673:'København V',p1674:'København V',p1675:'København V',p1676:'København V',p1677:'København V',p1699:'København V',p1700:'København V',p1701:'København V',p1702:'København V',p1703:'København V',p1704:'København V',p1705:'København V',p1706:'København V',p1707:'København V',p1708:'København V',p1709:'København V',p1710:'København V',p1711:'København V',p1711:'København V',p1712:'København V',p1713:'København V',p1714:'København V',p1715:'København V',p1716:'København V',p1717:'København V',p1718:'København V',p1719:'København V',p1720:'København V',p1721:'København V',p1722:'København V',p1723:'København V',p1724:'København V',p1725:'København V',p1726:'København V',p1727:'København V',p1728:'København V',p1729:'København V',p1730:'København V',p1731:'København V',p1732:'København V',p1733:'København V',p1734:'København V',p1735:'København V',p1736:'København V',p1737:'København V',p1738:'København V',p1739:'København V',p1748:'København V',p1749:'København V',p1750:'København V',p1751:'København V',p1752:'København V',p1753:'København V',p1754:'København V',p1755:'København V',p1756:'København V',p1757:'København V',p1758:'København V',p1759:'København V',p1760:'København V',p1761:'København V',p1762:'København V',p1763:'København V',p1764:'København V',p1765:'København V',p1766:'København V',p1770:'København V',p1771:'København V',p1772:'København V',p1773:'København V',p1774:'København V',p1775:'København V',p1777:'København V',p1778:'København V',p1780:'København V',p1782:'København V',p1784:'København V',p1785:'København V',p1786:'København V',p1787:'København V',p1789:'København V',p1790:'København V',p1795:'København V',p1799:'København V',p1800:'Frederiksberg C',p1801:'Frederiksberg C',p1802:'Frederiksberg C',p1803:'Frederiksberg C',p1804:'Frederiksberg C',p1805:'Frederiksberg C',p1806:'Frederiksberg C',p1807:'Frederiksberg C',p1808:'Frederiksberg C',p1809:'Frederiksberg C',p1810:'Frederiksberg C',p1811:'Frederiksberg C',p1812:'Frederiksberg C',p1813:'Frederiksberg C',p1814:'Frederiksberg C',p1815:'Frederiksberg C',p1816:'Frederiksberg C',p1817:'Frederiksberg C',p1818:'Frederiksberg C',p1819:'Frederiksberg C',p1820:'Frederiksberg C',p1822:'Frederiksberg C',p1823:'Frederiksberg C',p1824:'Frederiksberg C',p1825:'Frederiksberg C',p1826:'Frederiksberg C',p1827:'Frederiksberg C',p1828:'Frederiksberg C',p1829:'Frederiksberg C',p1835:'Frederiksberg C',p1850:'Frederiksberg C',p1851:'Frederiksberg C',p1852:'Frederiksberg C',p1853:'Frederiksberg C',p1854:'Frederiksberg C',p1855:'Frederiksberg C',p1856:'Frederiksberg C',p1857:'Frederiksberg C',p1860:'Frederiksberg C',p1861:'Frederiksberg C',p1862:'Frederiksberg C',p1863:'Frederiksberg C',p1864:'Frederiksberg C',p1865:'Frederiksberg C',p1866:'Frederiksberg C',p1867:'Frederiksberg C',p1868:'Frederiksberg C',p1870:'Frederiksberg C',p1871:'Frederiksberg C',p1872:'Frederiksberg C',p1873:'Frederiksberg C',p1874:'Frederiksberg C',p1875:'Frederiksberg C',p1876:'Frederiksberg C',p1877:'Frederiksberg C',p1878:'Frederiksberg C',p1879:'Frederiksberg C',p1900:'Frederiksberg C',p1901:'Frederiksberg C',p1902:'Frederiksberg C',p1903:'Frederiksberg C',p1904:'Frederiksberg C',p1905:'Frederiksberg C',p1906:'Frederiksberg C',p1908:'Frederiksberg C',p1909:'Frederiksberg C',p1910:'Frederiksberg C',p1911:'Frederiksberg C',p1912:'Frederiksberg C',p1913:'Frederiksberg C',p1914:'Frederiksberg C',p1915:'Frederiksberg C',p1916:'Frederiksberg C',p1917:'Frederiksberg C',p1920:'Frederiksberg C',p1921:'Frederiksberg C',p1922:'Frederiksberg C',p1923:'Frederiksberg C',p1924:'Frederiksberg C',p1925:'Frederiksberg C',p1926:'Frederiksberg C',p1927:'Frederiksberg C',p1928:'Frederiksberg C',p1931:'Frederiksberg C',p1950:'Frederiksberg C',p1951:'Frederiksberg C',p1952:'Frederiksberg C',p1953:'Frederiksberg C',p1954:'Frederiksberg C',p1955:'Frederiksberg C',p1956:'Frederiksberg C',p1957:'Frederiksberg C',p1958:'Frederiksberg C',p1959:'Frederiksberg C',p1960:'Frederiksberg C',p1961:'Frederiksberg C',p1962:'Frederiksberg C',p1963:'Frederiksberg C',p1964:'Frederiksberg C',p1965:'Frederiksberg C',p1966:'Frederiksberg C',p1967:'Frederiksberg C',p1970:'Frederiksberg C',p1971:'Frederiksberg C',p1972:'Frederiksberg C',p1973:'Frederiksberg C',p1974:'Frederiksberg C',p2000:'Frederiksberg',p2100:'København Ø',p2200:'København N',p2300:'København S',p2400:'København NV',p2450:'København SV',p2500:'Valby',p2600:'Glostrup',p2605:'Brøndby',p2610:'Rødovre',p2620:'Albertslund',p2625:'Vallensbæk',p2630:'Taastrup',p2635:'Ishøj',p2640:'Hedehusene',p2650:'Hvidovre',p2660:'Brøndby Strand',p2665:'Vallensbæk Strand',p2670:'Greve',p2680:'Solrød Strand',p2690:'Karlslunde',p2700:'Brønshøj',p2720:'Vanløse',p2730:'Herlev',p2740:'Skovlunde',p2750:'Ballerup',p2760:'Måløv',p2765:'Smørum',p2770:'Kastrup',p2791:'Dragør',p2800:'Kongens Lyngby',p2820:'Gentofte',p2830:'Virum',p2840:'Holte',p2850:'Nærum',p2860:'Søborg',p2870:'Dyssegård ',p2880:'Bagsværd',p2900:'Hellerup',p2920:'Charlottenlund',p2930:'Klampenborg',p2942:'Skodsborg',p2950:'Vedbæk',p2960:'Rungsted Kyst',p2970:'Hørsholm',p2980:'Kokkedal',p2990:'Nivå',p3000:'Helsingør',p3050:'Humlebæk',p3060:'Espergærde',p3070:'Snekkersten',p3080:'Tikøb',p3100:'Hornbæk',p3120:'Dronningmølle',p3140:'Ålsgårde',p3150:'Hellebæk',p3200:'Helsinge',p3210:'Vejby',p3220:'Tisvildeleje',p3230:'Græsted',p3250:'Gilleleje',p3300:'Frederiksværk',p3310:'Ølsted',p3320:'Skævinge',p3330:'Gørløse',p3360:'Liseleje',p3370:'Melby',p3390:'Hundested',p3400:'Hillerød',p3450:'Allerød',p3460:'Birkerød',p3480:'Fredensborg',p3490:'Kvistgård',p3500:'Værløse',p3520:'Farum',p3540:'Lynge',p3550:'Slangerup',p3600:'Frederikssund',p3630:'Jægerspris',p3650:'Ølstykke',p3660:'Stenløse',p3670:'Veksø Sjælland',p3700:'Rønne',p3720:'Aakirkeby',p3730:'Nexø',p3740:'Svaneke',p3751:'Østermarie',p3760:'Gudhjem',p3770:'Allinge',p3782:'Klemensker',p3790:'Hasle',p4000:'Roskilde',p4030:'Tune',p4040:'Jyllinge',p4050:'Skibby',p4060:'Kirke Såby',p4070:'Kirke Hyllinge',p4100:'Ringsted',p4105:'Ringsted',p4129:'Ringsted',p4130:'Viby Sjælland',p4140:'Borup',p4160:'Herlufmagle',p4171:'Glumsø',p4173:'Fjenneslev',p4174:'Jystrup Midtsj',p4180:'Sorø',p4190:'Munke Bjergby',p4200:'Slagelse',p4220:'Korsør',p4230:'Skælskør',p4241:'Vemmelev',p4242:'Boeslunde',p4243:'Rude',p4250:'Fuglebjerg',p4261:'Dalmose',p4262:'Sandved',p4270:'Høng',p4281:'Gørlev',p4291:'Ruds Vedby',p4293:'Dianalund',p4295:'Stenlille',p4296:'Nyrup',p4300:'Holbæk',p4320:'Lejre',p4330:'Hvalsø',p4340:'Tølløse',p4350:'Ugerløse',p4360:'Kirke Eskilstrup',p4370:'Store Merløse',p4390:'Vipperød',p4400:'Kalundborg',p4420:'Regstrup',p4440:'Mørkøv',p4450:'Jyderup',p4460:'Snertinge',p4470:'Svebølle',p4480:'Store Fuglede',p4490:'Jerslev Sjælland',p4500:'Nykøbing Sj',p4520:'Svinninge',p4532:'Gislinge',p4534:'Hørve',p4540:'Fårevejle',p4550:'Asnæs',p4560:'Vig',p4571:'Grevinge',p4572:'Nørre Asmindrup',p4573:'Højby',p4581:'Rørvig',p4583:'Sjællands Odde',p4591:'Føllenslev',p4592:'Sejerø',p4593:'Eskebjerg',p4600:'Køge',p4621:'Gadstrup',p4622:'Havdrup',p4623:'Lille Skensved',p4632:'Bjæverskov',p4640:'Faxe',p4652:'Hårlev',p4653:'Karise',p4654:'Faxe Ladeplads',p4660:'Store Heddinge',p4671:'Strøby',p4672:'Klippinge',p4673:'Rødvig Stevns',p4681:'Herfølge',p4682:'Tureby',p4683:'Rønnede',p4684:'Holmegaard ',p4690:'Haslev',p4700:'Næstved',p4720:'Præstø',p4733:'Tappernøje',p4735:'Mern',p4736:'Karrebæksminde',p4750:'Lundby',p4760:'Vordingborg',p4771:'Kalvehave',p4772:'Langebæk',p4773:'Stensved',p4780:'Stege',p4791:'Borre',p4792:'Askeby',p4793:'Bogø By',p4800:'Nykøbing F',p4840:'Nørre Alslev',p4850:'Stubbekøbing',p4862:'Guldborg',p4863:'Eskilstrup',p4871:'Horbelev',p4872:'Idestrup',p4873:'Væggerløse',p4874:'Gedser',p4880:'Nysted',p4891:'Toreby L',p4892:'Kettinge',p4894:'Øster Ulslev',p4895:'Errindlev',p4900:'Nakskov',p4912:'Harpelunde',p4913:'Horslunde',p4920:'Søllested',p4930:'Maribo',p4941:'Bandholm',p4943:'Torrig L',p4944:'Fejø',p4951:'Nørreballe',p4952:'Stokkemarke',p4953:'Vesterborg',p4960:'Holeby',p4970:'Rødby',p4983:'Dannemare',p4990:'Sakskøbing',p4992:'Midtsjælland USF P',p5000:'Odense C',p5029:'Odense C',p5100:'Odense C',p5200:'Odense V',p5210:'Odense NV',p5220:'Odense SØ',p5230:'Odense M',p5240:'Odense NØ',p5250:'Odense SV',p5260:'Odense S',p5270:'Odense N',p5290:'Marslev',p5300:'Kerteminde',p5320:'Agedrup',p5330:'Munkebo',p5350:'Rynkeby',p5370:'Mesinge',p5380:'Dalby',p5390:'Martofte',p5400:'Bogense',p5450:'Otterup',p5462:'Morud',p5463:'Harndrup',p5464:'Brenderup Fyn',p5466:'Asperup',p5471:'Søndersø',p5474:'Veflinge',p5485:'Skamby',p5491:'Blommenslyst',p5492:'Vissenbjerg',p5500:'Middelfart',p5540:'Ullerslev',p5550:'Langeskov',p5560:'Aarup',p5580:'Nørre Aaby',p5591:'Gelsted',p5592:'Ejby',p5600:'Faaborg',p5610:'Assens',p5620:'Glamsbjerg',p5631:'Ebberup',p5642:'Millinge',p5672:'Broby',p5683:'Haarby',p5690:'Tommerup',p5700:'Svendborg',p5750:'Ringe',p5762:'Vester Skerninge',p5771:'Stenstrup',p5772:'Kværndrup',p5792:'Årslev',p5800:'Nyborg',p5853:'Ørbæk',p5854:'Gislev',p5856:'Ryslinge',p5863:'Ferritslev Fyn',p5871:'Frørup',p5874:'Hesselager',p5881:'Skårup Fyn',p5882:'Vejstrup',p5883:'Oure',p5884:'Gudme',p5892:'Gudbjerg Sydfyn',p5900:'Rudkøbing',p5932:'Humble',p5935:'Bagenkop',p5953:'Tranekær',p5960:'Marstal',p5970:'Ærøskøbing',p5985:'Søby Ærø',p6000:'Kolding',p6040:'Egtved',p6051:'Almind',p6052:'Viuf',p6064:'Jordrup',p6070:'Christiansfeld',p6091:'Bjert',p6092:'Sønder Stenderup',p6093:'Sjølund',p6094:'Hejls',p6100:'Haderslev',p6200:'Aabenraa',p6230:'Rødekro',p6240:'Løgumkloster',p6261:'Bredebro',p6270:'Tønder',p6280:'Højer',p6300:'Gråsten',p6310:'Broager',p6320:'Egernsund',p6330:'Padborg',p6340:'Kruså',p6360:'Tinglev',p6372:'Bylderup-Bov',p6392:'Bolderslev',p6400:'Sønderborg',p6430:'Nordborg',p6440:'Augustenborg',p6470:'Sydals',p6500:'Vojens',p6510:'Gram',p6520:'Toftlund',p6534:'Agerskov',p6535:'Branderup J',p6541:'Bevtoft',p6560:'Sommersted',p6580:'Vamdrup',p6600:'Vejen',p6621:'Gesten',p6622:'Bække',p6623:'Vorbasse',p6630:'Rødding',p6640:'Lunderskov',p6650:'Brørup',p6660:'Lintrup',p6670:'Holsted',p6682:'Hovborg',p6683:'Føvling',p6690:'Gørding',p6700:'Esbjerg',p6701:'Esbjerg',p6705:'Esbjerg Ø',p6710:'Esbjerg V',p6715:'Esbjerg N',p6720:'Fanø',p6731:'Tjæreborg',p6740:'Bramming',p6752:'Glejbjerg',p6753:'Agerbæk',p6760:'Ribe',p6771:'Gredstedbro',p6780:'Skærbæk',p6792:'Rømø',p6800:'Varde',p6818:'Årre',p6823:'Ansager',p6830:'Nørre Nebel',p6840:'Oksbøl',p6851:'Janderup Vestj',p6852:'Billum',p6853:'Vejers Strand',p6854:'Henne',p6855:'Outrup',p6857:'Blåvand',p6862:'Tistrup',p6870:'Ølgod',p6880:'Tarm',p6893:'Hemmet',p6900:'Skjern',p6920:'Videbæk',p6933:'Kibæk',p6940:'Lem St',p6950:'Ringkøbing',p6960:'Hvide Sande',p6971:'Spjald',p6973:'Ørnhøj',p6980:'Tim',p6990:'Ulfborg',p7000:'Fredericia',p7007:'Fredericia',p7029:'Fredericia',p7080:'Børkop',p7100:'Vejle',p7120:'Vejle Øst',p7130:'Juelsminde',p7140:'Stouby',p7150:'Barrit',p7160:'Tørring',p7171:'Uldum',p7173:'Vonge',p7182:'Bredsten',p7183:'Randbøl',p7184:'Vandel',p7190:'Billund',p7200:'Grindsted',p7250:'Hejnsvig',p7260:'Sønder Omme',p7270:'Stakroge',p7280:'Sønder Felding',p7300:'Jelling',p7321:'Gadbjerg',p7323:'Give',p7330:'Brande',p7361:'Ejstrupholm',p7362:'Hampen',p7400:'Herning',p7429:'Herning',p7430:'Ikast',p7441:'Bording',p7442:'Engesvang',p7451:'Sunds',p7470:'Karup J',p7480:'Vildbjerg',p7490:'Aulum',p7500:'Holstebro',p7540:'Haderup',p7550:'Sørvad',p7560:'Hjerm',p7570:'Vemb',p7600:'Struer',p7620:'Lemvig',p7650:'Bøvlingbjerg',p7660:'Bækmarksbro',p7673:'Harboøre',p7680:'Thyborøn',p7700:'Thisted',p7730:'Hanstholm',p7741:'Frøstrup',p7742:'Vesløs',p7752:'Snedsted',p7755:'Bedsted Thy',p7760:'Hurup Thy',p7770:'Vestervig',p7790:'Thyholm',p7800:'Skive',p7830:'Vinderup',p7840:'Højslev',p7850:'Stoholm Jyll',p7860:'Spøttrup',p7870:'Roslev',p7884:'Fur',p7900:'Nykøbing M',p7950:'Erslev',p7960:'Karby',p7970:'Redsted M',p7980:'Vils',p7990:'Øster Assels',p7992:'Sydjylland/Fyn USF P',p7992:'Sydjylland/Fyn USF B',p7999:'Kommunepost',p8000:'Århus C',p8100:'Århus C',p8200:'Århus N',p8210:'Århus V',p8220:'Brabrand',p8229:'Risskov Ø',p8230:'Åbyhøj',p8240:'Risskov',p8245:'Risskov Ø',p8250:'Egå',p8260:'Viby J',p8270:'Højbjerg',p8300:'Odder',p8305:'Samsø',p8310:'Tranbjerg J',p8320:'Mårslet',p8330:'Beder',p8340:'Malling',p8350:'Hundslund',p8355:'Solbjerg',p8361:'Hasselager',p8362:'Hørning',p8370:'Hadsten',p8380:'Trige',p8381:'Tilst',p8382:'Hinnerup',p8400:'Ebeltoft',p8410:'Rønde',p8420:'Knebel',p8444:'Balle',p8450:'Hammel',p8462:'Harlev J',p8464:'Galten',p8471:'Sabro',p8472:'Sporup',p8500:'Grenaa',p8520:'Lystrup',p8530:'Hjortshøj',p8541:'Skødstrup',p8543:'Hornslet',p8544:'Mørke',p8550:'Ryomgård',p8560:'Kolind',p8570:'Trustrup',p8581:'Nimtofte',p8585:'Glesborg',p8586:'Ørum Djurs',p8592:'Anholt',p8600:'Silkeborg',p8620:'Kjellerup',p8632:'Lemming',p8641:'Sorring',p8643:'Ans By',p8653:'Them',p8654:'Bryrup',p8660:'Skanderborg',p8670:'Låsby',p8680:'Ry',p8700:'Horsens',p8721:'Daugård',p8722:'Hedensted',p8723:'Løsning',p8732:'Hovedgård',p8740:'Brædstrup',p8751:'Gedved',p8752:'Østbirk',p8762:'Flemming',p8763:'Rask Mølle',p8765:'Klovborg',p8766:'Nørre Snede',p8781:'Stenderup',p8783:'Hornsyld',p8800:'Viborg',p8830:'Tjele',p8831:'Løgstrup',p8832:'Skals',p8840:'Rødkærsbro',p8850:'Bjerringbro',p8860:'Ulstrup',p8870:'Langå',p8881:'Thorsø',p8882:'Fårvang',p8883:'Gjern',p8900:'Randers C',p8920:'Randers NV',p8930:'Randers NØ',p8940:'Randers SV',p8950:'Ørsted',p8960:'Randers SØ',p8961:'Allingåbro',p8963:'Auning',p8970:'Havndal',p8981:'Spentrup',p8983:'Gjerlev J',p8990:'Fårup',p9000:'Aalborg',p9029:'Aalborg',p9100:'Aalborg',p9200:'Aalborg SV',p9210:'Aalborg SØ',p9220:'Aalborg Øst',p9230:'Svenstrup J',p9240:'Nibe',p9260:'Gistrup',p9270:'Klarup',p9280:'Storvorde',p9293:'Kongerslev',p9300:'Sæby',p9310:'Vodskov',p9320:'Hjallerup',p9330:'Dronninglund',p9340:'Asaa',p9352:'Dybvad',p9362:'Gandrup',p9370:'Hals',p9380:'Vestbjerg',p9381:'Sulsted',p9382:'Tylstrup',p9400:'Nørresundby',p9430:'Vadum',p9440:'Aabybro',p9460:'Brovst',p9480:'Løkken',p9490:'Pandrup',p9492:'Blokhus',p9493:'Saltum',p9500:'Hobro',p9510:'Arden',p9520:'Skørping',p9530:'Støvring',p9541:'Suldrup',p9550:'Mariager',p9560:'Hadsund',p9574:'Bælum',p9575:'Terndrup',p9600:'Aars',p9610:'Nørager',p9620:'Aalestrup',p9631:'Gedsted',p9632:'Møldrup',p9640:'Farsø',p9670:'Løgstør',p9681:'Ranum',p9690:'Fjerritslev',p9700:'Brønderslev',p9740:'Jerslev J',p9750:'Østervrå',p9760:'Vrå',p9800:'Hjørring',p9830:'Tårs',p9850:'Hirtshals',p9870:'Sindal',p9881:'Bindslev',p9900:'Frederikshavn',p9940:'Læsø',p9970:'Strandby',p9981:'Jerup',p9982:'Ålbæk',p9990:'Skagen'};

    $('#form-phone').bind('submit', function(event) {
        $.post('/script/shop/sportigan/map.json', { phone: $('#form-phone input:text[name=\'phone\']').val() },
	        function(dest) {
				$('#sidebar .error').remove();
	        	cleanOverlay();
	        	if (dest.error == 0) {
	        		if (dest.from && dest.to) {
					    selectPoint(dest.code);
		       			setDirections(dest.from, dest.to, 'da');
					} else {
						selectPoint(dest.code, true);
//						mapManager.map.setCenter(currentlatLng(), 5);
					}
				} else if (dest.error == 2) {
					showError('Telefonnummeret blev ikke fundet - dette kan skyldes at dit telefonnummer er hemmeligt.<br  />Ret din indtastning og prøv igen - eller <a href="/om-sportigan/administration/">kontakt os</a> i tilfældet problemet fortsætter.');
				} else {
					showError('Der skete en fejl i forbindelse med opslag af din adresse. (fejlkode ' + dest.error + (dest.data != undefined ? ', ' + dest.data : '') + ')');
				}
	        }, 'json');
        return false;
    });
    $('#form-address').bind('submit', function(event) {
		$(this).find('input:text').each(function(elem) {
			if ($(this).attr('title') == undefined || $(this).val() == $(this).attr('title'))
				$(this).val('');
		});
        $.post('/script/shop/sportigan/map.json', {
        		address: $('#form-address input:text[name=\'address\']').val(),
        		postal: $('#form-address input:text[name=\'postal\']').val(),
        		city: $('#form-address input:text[name=\'city\']').val()
    		}, function(dest) {
				$('#sidebar .error').remove();
	        	cleanOverlay();
	        	if (dest.error == 0) {
		        	selectPoint(dest.code);
		       	    setDirections(dest.from, dest.to, 'da');
				} else {
					showError('Adressen blev ikke fundet.<br  />Kontroller din indtastning og prøv igen - eller <a href="/om-sportigan/administration/">kontakt os</a> i tilfældet problemet fortsætter.');
                    $(this).find('input:text').each(function(elem) {
						$(this).focus();
					});
				}
	        }, 'json');
        return false;
    });
    $('#form-address input:text[name=\'postal\']').bind('blur', function(event) {
        if ($(this).val().length == 4 &&
        		($('#form-address input:text[name=\'city\']').val().length == 0 ||
        		$('#form-address input:text[name=\'city\']').val() == $('#form-address input:text[name=\'city\']').attr('title')) &&
        		pn['p' + $(this).val()] != undefined) {
            $('#form-address input:text[name=\'city\']').val(pn['p' + $(this).val()]);
            $('#form-address input:text[name=\'city\']').focus();
        }
	});

    $('#form-city').bind('submit', function(event) {
        $.post('/script/shop/sportigan/map.json', { listcity: $('#form-city input:text[name=\'listcity\']').val() },
	        function(list) {
				$('#sidebar .error').remove();
	        	cleanOverlay();

	        	if (list.error != 0 || list.shop.length == 0) {
					showError('Den indtastede by blev ikke fundet. Prøv venligst igen og undlad eventult dele du ikke er sikker på.');
                    $(this).find('input:text').each(function(elem) {
						$(this).focus();
					});
				} else if (list.shop.length == 1) {
					selectPoint(list.shop[0].code, true);
				} else {
					$('#top-link-right').css({ 'cursor': 'pointer' });
					$('#top-link-right').html('<span>Gå til søgning efter butikker</span>');
           			$('#top-link-right').bind('click', function(event) {
						$(this).unbind();
					    goToStart();
					});

					var i, j;
				    var html = '';
				    for (i = 0; i < list.shop.length; i++) {
					    html += '            <h2 class="black">' + list.shop[i].name + '</h2>';
					    html += '            <ul id="location">';
					    for (j = 0; j < list.shop[i].address.length; j ++)
						    html += '                <li>' + list.shop[i].address[j] + '</li>';
					    html += '            </ul>';
					    html += '<a href="#' + list.shop[i].code + '" onclick="selectPoint(\'' + list.shop[i].code + '\', true);" class="more-details">Se yderligere informationer</a>';
					}
				    $(mapManager.sidebar).html(html);
				    changeTextToBGI('#sidebar h2.black', '24', '393939');
				}
	        }, 'json');
        return false;
    });

}

$(document).ready( function() {
	prepareInputTextTitle('#sidebar input:text');
	changeTextToBGI('#sidebar .blue-box h2', '19', 'ffffff');
	prepareHandler();

	$(window).unload(function () { GUnload(); });
    initilizeMap(
        '#map',
        '#sidebar',
        null,
        166+60,
        'http://images-sportigan.dk/p/shop_selected_round2.png',
        'http://images-sportigan.dk/p/shop_selected_round_picked.png',
        6, 15
    );
});
