/**
* Revision: 1/14/2009, Jamie Krug
* Changed signature to accept one optional argument (options) as an associative array to better support more optional “arguments” in a more readable fashion.
* Added overflow option, to override default CSS declaration.
* Added addToHeight option, to optionally pad tallest height (can be used as a quick fix in quirky situations where a couple extra pixels will avoid overflow).
*
* Example 1: $(“.cols”).equalHeights();
* Example 2: $(“.cols”).equalHeights( { minHeight: 400 } );
* Example 3: $(“.cols”).equalHeights( { minHeight: 100, maxHeight: 300 } );
* Example 4: $(“.cols”).equalHeights( { overflow: ‘visible’ } );
* Example 5: $(“.cols”).equalHeights( { addToHeight: 3 } );
*
*/

(function($) {
$.fn.equalHeights = function(optionsArg) {
var options = { minHeight: 0, overflow: 'auto', addToHeight: 0 };
for (var n in arguments[0]) { options[n] = arguments[0][n]; }
var tallest = options.minHeight;
this.each(function() {
if($(this).height() > tallest) {
tallest = $(this).height();
}
});
if((options.maxHeight) && tallest > options.maxHeight) tallest = options.maxHeight;
tallest = tallest + options.addToHeight;
return this.each(function() {
$(this).height(tallest).css("overflow",options.overflow);
});
}
})(jQuery);
