/**
 * 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) {
	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);
