/**
 * Equal Heights Plugin
 * Equalize the heights of elements. Great for columns or any elements
 * that need to be the same size (floats, etc).
 * 
 * Version 1.0
 * Updated 12/10/2008
 *
 * Copyright (c) 2008 Rob Glazebrook (cssnewbie.com) 
 *
 * Usage: $(object).equalHeights([minHeight], [maxHeight]);
 * 
 * Example 1: $(".cols").equalHeights(); Sets all columns to the same height.
 * Example 2: $(".cols").equalHeights(400); Sets all cols to at least 400px tall.
 * Example 3: $(".cols").equalHeights(100,300); Cols are at least 100 but no more
 * than 300 pixels tall. Elements with too much content will gain a scrollbar.
 * 
 */

/*(function($) {
	$.fn.equalHeights = function(minHeight, maxHeight) {
		tallest = (minHeight) ? minHeight : 0;
		this.each(function() {
			if($(this).height() > tallest) {
				tallest = $(this).height();
			}
		});
		if((maxHeight) && tallest > maxHeight) tallest = maxHeight;
		return this.each(function() {
			$(this).height(tallest).css("overflow","auto");
		});
	}
})(jQuery);*/

(function($) {
$.fn.equalHeights = function(minHeight, maxHeight) {
var tallest = (minHeight) ? minHeight : 0;
function addSize(elem,baseHeight,operation) {
var border_top = parseInt(elem.css('border-top-width'));
var border_bottom = parseInt(elem.css('border-bottom-width'));
var padding_top = parseInt(elem.css('padding-top'));
var padding_bottom = parseInt(elem.css('padding-bottom'));
if (operation == 'subtract') {
if (!isNaN(padding_top)) baseHeight -= padding_top;
if (!isNaN(padding_bottom)) baseHeight -= padding_bottom;
if (!isNaN(border_top)) baseHeight -= border_top;
if (!isNaN(border_bottom)) baseHeight -= border_bottom;
} else {
if (!isNaN(padding_top)) baseHeight += padding_top;
if (!isNaN(padding_bottom)) baseHeight += padding_bottom;
if (!isNaN(border_top)) baseHeight += border_top;
if (!isNaN(border_bottom)) baseHeight += border_bottom;
}
return baseHeight;
}
this.each(function() {
var height = $(this).height();
height = addSize($(this),height);
if (height > tallest) tallest = height;
});
if((maxHeight) && tallest > maxHeight) tallest = maxHeight;
return this.each(function() {
tallest2 = addSize($(this),tallest,'subtract')
$(this).height(tallest2);
});
}
})(jQuery);
