if(typeof bequadrat=="undefined") var bequadrat={};

bequadrat.contentBubble={
	init: function(el) {
		$("<div />").attr("id","bubble").insertAfter($("body > .container"));
		$("<div />").attr("id","bubble-title").appendTo($("#bubble"));
		$("<div />").attr("id","bubble-content").appendTo($("#bubble"));
		el.click(function(e) {
			if($(e.currentTarget).parents("#map").length>0) {
				this.referencePoint={
					top: $("#map").offset().top+100,
					left: $("#map").offset().left+($("#map").outerWidth()/2)-73
				};
				this.closeCallback=function() {
					bequadrat.map.resetPosition();
					$("#bubble").fadeOut();
				};
				bequadrat.map.goToCity($(e.currentTarget).attr("href").replace(/\.html$/,""));
			} else {
				console.log($(e.currentTarget).parents("#coupon"));
				this.referencePoint={
					top: $(e.currentTarget).offset().top-($(e.currentTarget).parents("#coupon").length>0?60:15),
					left: $(e.currentTarget).offset().left+($(e.currentTarget).outerWidth()/2)
				};
				this.closeCallback=function() {
					$("#bubble").fadeOut();
				};
			}
			if($(e.currentTarget).attr("href").match(/^#/)) {
				this.setContent($($(e.currentTarget).attr("href")).html());
			} else if($(e.currentTarget).attr("href").match(/^http:\/\//)) {
				window.open($(e.currentTarget).attr("href"));
			}else {
				this.loadContent($(e.currentTarget).attr("href"));
			}
			return false;
		}.bind(this));
		$("#bubble").fadeOut(0);
	},
	loadContent: function(url) {
		if(document.location.href.match(/io\.bequadrat\.de/)) {
			url=document.location.href.replace(/(io\.bequadrat\.de).*/,"$1")+"/proxy/?"+encodeURI($("base").attr("href")+url);
		}
		this.tempContent=$("<div />").load(url,{ 
			requestType: "ajax"
		}, function() { 
			this.setContent(this.tempContent.html());
		}.bind(this));
	},
	setContent: function(content) {
		$("#bubble").fadeOut(0);
		$("#bubble-content").html(content);
		if($("#bubble-content h2")) {
			$("#bubble-title").html($("#bubble-content h2").html());
			$("<button />").html("<span>×</span>").click(this.closeCallback).appendTo($("#bubble-title"));
			$("#bubble-content h2").remove();
		}
		$("#bubble").fadeIn(null,function() {
			if($("#bubble").offset().top-25<$("body").scrollTop()) {
				$("body").animate({
					scrollTop: ($("#bubble").offset().top-25)+"px"
				});
			}
		});
		if(this.referencePoint.left-($("#bubble").outerWidth())/2<5) {
			referenceLeft=this.referencePoint.left-115;
			$("#bubble").addClass("left");
		} else {
			referenceLeft=this.referencePoint.left-($("#bubble").outerWidth()/2)
			$("#bubble").removeClass("left");
		}
		$("#bubble").css({
			top: (this.referencePoint.top-$("#bubble").outerHeight())+"px",
			left: referenceLeft+"px"
		});
	},
	closeCallback: function() {},
	tempContent: null,
	referencePoint: {
		left: null,
		top: null
	}
}

$(document).ready(function() {
	bequadrat.contentBubble.init($("section#main a, #route a, #coupon a"));
});
