function lebraun_com_zoom(element) {
	var duration = null;
	var framerate = null;
	function __construct() {
		$(element).click(function(event) {
			event.preventDefault();
		
			duration = 750;
			framerate = 10;
			$("#map").width(0);
			$("#map").css("opacity",0);
			$("#max").css("display",'none');
			setRunInterval();
		});
	}
	
	function setRunInterval() {
		$("#max").fadeIn('fast');
		var zoomDuration = 50;
		duration -= zoomDuration;
		var currentTime = 0;
		var interval = setInterval(function() {
			if (currentTime<=zoomDuration) {
				$("#map").width(easeNone(currentTime,0,300,zoomDuration));
				$("#map").css("opacity",currentTime/zoomDuration);
			} else {
				if (currentTime>duration) { animationComplete(interval); }
				$("#map").width(elasticEaseOut(currentTime,300,200,duration));
			}
			$(".jzoom-content").css("left",($(window).width()-$("#map").width())/2);
			$(".jzoom-content").css("top",($(window).height()-$("#map").height())/2);
			currentTime+=framerate;
		},framerate);
	}
	
	function animationComplete(interval) {
		clearInterval(interval);
		$("#map").width(500);
		$("#max").click(function() {
			$("#max").fadeOut('fast');
		});
	}
	
	function easeNone(t, b, c, d) {
		return c * t / d + b;
	}
	
	function elasticEaseOut(t, b, c, d, a, p) {
		var s;
		if (t == 0) { return b; }
		if ((t /= d) == 1) { return b + c; }
		if (!p) { p = d * .4; }
		if (!a || a < Math.abs(c)) {
			a = c; s = p / 4;
		} else {
			s = p / (2 * Math.PI) * Math.asin(c / a);
		} return a * Math.pow(2, -10 * t) * Math.sin((t * d - s) * (2 * Math.PI) / p) + c + b;
	}
	__construct();
}
