(function($) {
	
	$.fn.equalHeights = function() {

		var currentTallest = 0,
			currentRowStart = 0,
			topPosition = 0,
			rowDivs = new Array(),
			$el;

		return this.each(function() {
			
			$el = $(this);
			topPostion = $el.position().top;
			
			if(currentRowStart != topPostion) {
				for(currentDiv = 0; currentDiv < rowDivs.length; currentDiv++) {
					rowDivs[currentDiv].height(currentTallest);
				}
			
				rowDivs.length = 0;
				currentRowStart = topPostion;
				currentTallest = $el.height();
				rowDivs.push($el);
			}
			else {
				rowDivs.push($el);
				currentTallest = (currentTallest < $el.height()) ? ($el.height()) : (currentTallest);
			}
			
			for(currentDiv = 0; currentDiv < rowDivs.length; currentDiv++) {
				rowDivs[currentDiv].height(currentTallest);
			}
			
		});
		
	};
	
})(jQuery);
