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