var alignheight_as = {};
var alignheight_spacers = [];
var alignheight_10em;
var alignheight_measure;

function alignheight_recalculate() {
	alignheight_spacers.each(Element.remove);
	alignheight_spacers = [];
	for(var rel in alignheight_as) {
		var els = alignheight_as[rel];
		var max = 0;
		for(var i=0; i< els.length; i++) {
			if (els[i].offsetHeight > max) {
				max = els[i].offsetHeight;
			}
		}
		for(var i=0; i< els.length; i++) {
			var m = max - els[i].offsetHeight;
			if (m != null) {
				var spacer = new Element('div');
				spacer.style.height = m + 'px';
				spacer.style.fontSize = '1px';
				spacer.style.lineHeight = '1px';
				els[i].appendChild(spacer);
				alignheight_spacers.push(spacer);
			}
		}
	}
}

function alignheight_check() {
	if (alignheight_10em != alignheight_measure.offsetHeight) {
		alignheight_recalculate();
		alignheight_10em = alignheight_measure.offsetHeight;
	}
}

/*document.observe('dom:loaded', function() {*/
Event.observe(window, 'load', function() {

	$$('.alignheight').each(function(el) {
		var r = el.getAttribute('rel');
		alignheight_as[r] = alignheight_as[r] || [];
		alignheight_as[r].push(el);
	});

	alignheight_recalculate();
	
	alignheight_measure = new Element('div');
	alignheight_measure.innerHTML = '<br /><br /><br /><br /><br /><br /><br /><br /><br /><br />';
	alignheight_measure.style.position = 'absolute';
	alignheight_measure.style.left = '0px';
	alignheight_measure.style.top = '0px';
	alignheight_measure.style.height = '100%';
	document.body.appendChild(alignheight_measure);
	(function() {
		alignheight_10em = alignheight_measure.offsetHeight;
	}).defer();
	
	setInterval(alignheight_check, 100);
});


