$.googleMap = {
	maps: {},
	marker: function (a) {
		if (!a) {
			return null
		}
		else {
			if (a.lat == null && a.lng == null) {
				return $.googleMap.marker($.googleMap.readFromGeo(a))
			}
			else {
				var b = new GMarker(new GLatLng(a.lat, a.lng), {
					icon: G_DEFAULT_ICON,
					title: a.title
				});
				var d;
				if (a.action == "swf") {
					d = function () {
						swfobject.embedSWF(inmusic.base_url + "/swf/karta2011" + (inmusic.locale == 'hr' ? 'HR' : 'EN') + "_d.swf", "google-map", "725", "517", "7")
					}
				}
				else {
					if (a.action == "image") {
						if (top == window) {
							var c = $("<a></a>").attr({
								href: a.image
							}).fancybox();
							
							d = function () {
								c.trigger("click")
							}
						}
						else {
							d = function() {
								$('#google-map').html( $('<img />').attr('src', a.image) ).css('background', '#fff');
							}
						}
					}
					else {
						var f = a.title;
						var e = a.text;
						d = function () {
							b.openInfoWindowHtml("<h3>" + f + "</h3><p>" + e + "</p><br />")
						}
					}
				}
				GEvent.addListener(b, "click", d);
				return b
			}
		}
	},
	readFromGeo: function (c) {
		var b = $(".latitude", c)[0];
		var a = $(".longitude", c)[0];
		if (b && a) {
			return {
				lat: parseFloat($(b).attr("title")),
				lng: parseFloat($(a).attr("title")),
				txt: $(c).attr("title")
			}
		} else {
			return null
		}
	},
	mapNum: 1
};
$.fn.googleMap = function (lat, lng, zoom, options) {
	if (!window.GBrowserIsCompatible || !GBrowserIsCompatible()) {
		return this
	}
	if (lat == null) {
		lat = 37.4419
	}
	if (lng == null) {
		lng = -122.1419
	}
	if (!zoom) {
		zoom = 13
	}
	if (!options || typeof options != "object") {
		options = {}
	}
	options.mapOptions = options.mapOptions || {};
	options.markers = options.markers || [];
	options.controls = options.controls || {};
	return this.each(function () {
		if (!this.id) {
			this.id = "gMap" + $.googleMap.mapNum++
		}
		var map = $.googleMap.maps[this.id] = new GMap2(this, options.mapOptions);
		map.setCenter(new GLatLng(lat, lng), zoom);
		for (var i = 0; i < options.controls.length; i++) {
			var c = options.controls[i];
			eval("map.addControl(new " + c + "());")
		}
		var marker = null;
		for (var i = 0; i < options.markers.length; i++) {
			if (marker = $.googleMap.marker(options.markers[i])) {
				map.addOverlay(marker)
			}
		}
		if (options.kml) {
			var kml = new GGeoXml(options.kml);
			map.addOverlay(kml)
		}
		if (options.overlay) {
			var polygon = new GPolygon(options.overlay, "#000000", 1, 1, "#00ffff", 0.2);
			map.addOverlay(polygon)
		}
	})
};
var inmusic = inmusic || {};
inmusic.google_map = (function (b) {
	var a;
	var c = function () {
		a = b("#google-map");
		if (a.is("object")) {
			a.remove();
			a = b("<div></div>").attr("id", "google-map");
			b("body").append(a)
		}
		if (a.is(".map-camp")) {
			a.empty().googleMap(45.781112, 15.923395, 14, {
				controls: ["GLargeMapControl", "GMapTypeControl"],
				markers: [
				{
					lat: 45.780274,
					lng: 15.923481,
					action: "window",
					image: inmusic.base_url + "/images/map-camp.png",
					title: "Camp",
					text: "INmusic festival Camp<br>Reception"
				},
				{
					lat: 45.775726,
					lng: 15.932837,
					action: "window",
					title: "Festival Box Office",
					text: "Tickets &amp; wristband exchange"
				}]
			})
		} else {
			a.empty().googleMap(45.784493, 15.967211, 12, {
				controls: ["GLargeMapControl", "GMapTypeControl"],
				markers: [
				{
					lat: 45.781052,
					lng: 15.922966,
					action: "swf",
					title: "Jezero Jarun"
				}]
			})
		}
	};
	return {
		init: c
	}
})(jQuery);

jQuery(function () {
	inmusic.google_map.init()
});
