/**
* $Date$
* $Author$
* $Revision$
**/

KL.MapLink = function(obj, gmap) {

	var defaultZoom = 12;
	var defaultMapType = "G_NORMAL_MAP";

	this.lat = null;
	this.lng = null;
	this.zoom = null;

	if (obj) {
            
        if (obj.title)
            this.title = obj.title;
                
		if (obj.tagName == "A" && obj.rel != "") {

			var rel = obj.rel;
			var ctx = this;

			$(rel.split("-")).each(function(i, item) {
				if (!item.indexOf(":"))
					return;

				var d = item.split(":");
				ctx[d[0]] = d[1];
			});

			this.glatlng = new google.maps.LatLng(this.lat, this.lng);
			this.center = this.lat + "," + this.lng;
			this.href = obj.href;

		}
		else {
			var params = (obj.tagName == "A") ? new Querystring(KL.Utils.getQuerystring(obj.href)) : obj;
        			var geotag = params.get("center", "66.3242735019829,22.840576171875").split(",");

			this.center = params.get("center");
			this.lat = geotag[0];
			this.lng = geotag[1];
			this.zoom = parseInt(params.get("zoom", defaultZoom));
			this.glatlng = new google.maps.LatLng(geotag[0], geotag[1]);
			this.maptype = params.get("maptype");
		}

		this.zoom = parseInt(this.zoom || defaultZoom);
		this.maptype = this.maptype || defaultMapType;
		this.marker = new KL.MapMarker(this, gmap)
	}

	return this;
}
