/*global jQuery */
/*!
* FitText.js 1.0
*
* Copyright 2011, Dave Rupert http://daverupert.com
* Released under the WTFPL license
* http://sam.zoy.org/wtfpl/
*
* Date: Thu May 05 14:23:00 2011 -0600
*/

(function( $ ){

    $.fn.fitText = function( kompressor, options ) {

        var settings = {
            'minFontSize' : Number.NEGATIVE_INFINITY,
            'maxFontSize' : Number.POSITIVE_INFINITY
        };

        return this.each(function(){
            var $this = $(this);              // store the object
            var compressor = kompressor || 1; // set the compressor

            if ( options ) {
                $.extend( settings, options );
            }

            // Resizer() resizes items based on the object width divided by the compressor * 10
            // Dan Garner: Modified to resize the children
            var resizer = function () {
                $this.children().css('font-size', Math.max(Math.min($this.width() / (compressor*10), parseFloat(settings.maxFontSize)), parseFloat(settings.minFontSize)));
            };

            // Call once to set.
            resizer();

            // Call on resize. Opera debounces their resize by default.
            $(window).resize(resizer);

        });

    };

})( jQuery );
