ll;
			overNode = null;
		}
	);

	var zoom = function(d) {
		var
			kx = w / d.dx,
			ky = h / d.dy
		;

		x.domain([d.x, d.x + d.dx]);
		y.domain([d.y, d.y + d.dy]);

		var transition = svg.selectAll('g.cell')
			.transition()
				.duration(750)
				.attr('transform', function(d) { return "translate(" + x(d.x) + "," + y(d.y) + ")"; })
		;

		transition.select('rect')
			.attr('width', function(d) { return d.dx < 1 ? 0 : kx * d.dx - 1; })
			.attr('height', function(d) { return d.dy < 1 ? 0 : ky * d.dy - 1;