﻿var balloon;

function LoadLink() {
    myLocation = $(":input[name=myLocation]").val();
    if (latitude != '' && longitude != '') {
        window.open("http://maps.google.com/maps?saddr=" + myLocation + "&daddr=" + latitude + "," + longitude);
    }
    else {
        window.open("http://maps.google.com/maps?saddr=" + myLocation + "&daddr=" + googleAddress);
    }
}

function createMarker(point,html, icon) {
	var marker = new GMarker(point, icon);
	GEvent.addListener(marker, "click", function() {
		marker.openInfoWindowHtml(html);
	});
	marker.showInfo = function(){
		marker.openInfoWindowHtml(html);
	}
	return marker;
}

function initialize() {
	var Icon = new GIcon();
	Icon.image = "/static/img/GIcon.png";
	Icon.iconSize = new GSize(24, 48);
	Icon.iconAnchor = new GPoint(12, 46);
	Icon.infoWindowAnchor = new GPoint(12, 12);	   
    var map = new google.maps.Map2(document.getElementById("map"));

    if (latitude != '' && longitude != '') {
			        point = new google.maps.LatLng(latitude, longitude)
			        map.setCenter(point, 13);
					var marker = createMarker(point, balloon, Icon);
					map.addOverlay(marker);
					marker.showInfo();
    }else {
        var geocoder = new google.maps.ClientGeocoder();
		if (geocoder){geocoder.getLatLng(googleAddress, function(latLong){
            if (latLong) {
                    point = latLong;
                    map.setCenter(point, 13);
                    var marker = createMarker(point, balloon, Icon);
                    map.addOverlay(marker);
					marker.showInfo();
                }
            });
        }
    }

}

function onEnter(evt) {
    if (evt.keyCode == 13) {
        LoadLink();
        return false;
    }
}

function emptyField(me, defaultValue) {
    if (me.value == defaultValue) {
        me.value = "";
        me.style.color = "#000";
    }
}

function InitializeRoute() {
    balloon = 	"<div id='googlemaps' class='vcard formContainer'>" +
				"<span class='fn org'>{0}</span><br />" +
				"<p class='adr'>" +
				"<span class='street-address'>{1}</span><br />" +
				"<span class='postal-code'>{2}</span> <span class='locality'>{3}</span><br />" +
				"<span class='country-name'>{4}</span>" +
				"</p>" +
				"<div class='form'>" +
				"{5}:<br />" +
				"<input name='myLocation' type='text' class='text' value='{6}' style='color: #908687' onkeypress='return onEnter(event);' onfocus='javascript:emptyField(this, defaultInputValue)'><input name='showDirections' type='button' class='button rightArrow form_submit' value='{7}' onclick='javascript:LoadLink()' />" +
				"</div>" +
				"</div>";

    // {0} = organisation, {1} = street address, {2} = zipcode, {3} = city, {4} = country, {5} = route starting from, {6} = default input value, {7} = Go button text
	balloon = $.format(balloon, organisation, street, postalCode, city, country, startRoute, defaultInputValue, goButton);

	// Google stuff
	google.load("maps","2.x");
	google.setOnLoadCallback(initialize);
}
