text: var $window = $(window), gardenCtx, gardenCanvas, $garden, garden;
  var clientWidth = $(window).width();
  var clientHeight = $(window).height();
  $(function () {
  	$loveHeart = $("#loveHeart");
  	var a = $loveHeart.width() / 2;
  	var b = $loveHeart.height() / 2 - 55;
  	$garden = $("#garden");
  	gardenCanvas = $garden[0];
  	gardenCanvas.width = $("#loveHeart").width();
  	gardenCanvas.height = $("#loveHeart").height();
  	gardenCtx = gardenCanvas.getContext("2d");
  	gardenCtx.globalCompositeOperation = "lighter";
  	garden = new Garden(gardenCtx, gardenCanvas);
  	$("#content").css("width", $loveHeart.width() + $("#code").width());
  	$("#content").css("height", Math.max($loveHeart.height(), $("#code").height()));
  	$("#content").css("margin-top", Math.max(($window.height() - $("#content").height()) / 2 - 50, 10));
  	$("#content").css("margin-left", Math.max(($window.width() - $("#content").width()) / 2, 10));
  	setInterval(function () {
  		garden.render()
  	}, Garden.options.growSpeed)
  });
  $(window).resize(function () {
  	var b = $(window).width();
  	var a = $(window).height();
  	if (b != clientWidth && a != clientHeight) {
  		location.replace(location)
  	}
  });
  
  function getHeartPoint(c) {
  	var b = c / Math.PI;
  	var a = 19.5 * (16 * Math.pow(Math.sin(b), 3));
  	var d = -20 * (13 * Math.cos(b) - 5 * Math.cos(2 * b) - 2 * Math.cos(3 * b) - Math.cos(4 * b));
  	return new Array(offsetX + a, offsetY + d)
  }
  
  function startHeartAnimation() {
  	var c = 50;
  	var d = 10;
  	var b = new Array();
  	var a = setInterval(function () {
  		var h = getHeartPoint(d);
  		var e = true;
  		for (var f = 0; f < b.length; f++) {
  			var g = b[f];
  			var j = Math.sqrt(Math.pow(g[0] - h[0], 2) + Math.pow(g[1] - h[1], 2));
  			if (j < Garden.options.bloomRadius.max * 1.3) {
  				e = false;
  				break
  			}
  		}
  		if (e) {
  			b.push(h);
  			garden.createRandomBloom(h[0], h[1])
  		}
  		if (d >= 30) {
  			clearInterval(a);
  			showMessages()
  		} else {
  			d += 0.2
  		}
  	}, c)
  }
  
  (function (a) {
  	a.fn.typewriter = function () {
  		this.each(function () {
  			var d = a(this), c = d.html(), b = 0;
  			d.html("");
  			var e = setInterval(function () {
  				var f = c.substr(b, 1);
  				if (f == "<") {
  					b = c.indexOf(">", b) + 1
  				} else {
  					b++
  				}
  				d.html(c.substring(0, b) + (b & 1 ? "_" : ""));
  				if (b >= c.length) {
  					clearInterval(e)
  				}
  			}, 75)
  		});
  		return this
  	}
  })(jQuery);
  
  function timeElapse(c) {
  	var e = Date();
  	var f = (Date.parse(e) - Date.parse(c)) / 1000;
  	var g = Math.floor(f / (3600 * 24));
  	f = f % (3600 * 24);
  	var b = Math.floor(f / 3600);
  	if (b < 10) {
  		b = "0" + b
  	}
  	f = f % 3600;
  	var d = Math.floor(f / 60);
  	if (d < 10) {
  		d = "0" + d
  	}
  	f = f % 60;
  	if (f < 10) {
  		f = "0" + f
  	}
  	var a = '<span class="digit">' + g + '</span> days <span class="digit">' + b + '</span> hours <span class="digit">' + d + '</span> minutes <span class="digit">' + f + "</span> seconds";
  	$("#elapseClock").html(a)
  }
  
  function showMessages() {
  	adjustWordsPosition();
  	$("#messages").fadeIn(5000, function () {
  		showLoveU()
  	})
  }
  
  function adjustWordsPosition() {
  	$("#words").css("position", "absolute");
  	$("#words").css("top", $("#garden").position().top + 195);
  	$("#words").css("left", $("#garden").position().left + 70)
  }
  
  function adjustCodePosition() {
  	$("#code").css("margin-top", ($("#garden").height() - $("#code").height()) / 2)
  }
  
  function showLoveU() {
  	$("#loveu").fadeIn(3000)
  };