/*
 * Fully Justify plug-in for jQuery (1.0)
 * http://davidvandusen.com/fullyjustify/
 *
 * Copyright (c) 2010 David VanDusen (davidvandusen.com)
 *
 * Fully Justify is free to use in commercial and non-commercial projects,
 * to modify, and redistribute
 */
(function($){$.fn.fullyJustify=function(opts){var options=$.extend({},$.fn.fullyJustify.defaults,opts);return this.each(function(){$this=$(this);dummy=jQuery('<div></div>');dummy.html($this.html()).appendTo('body').css({'font-size':(options.properties[0]==='font-size')?1:$this.css('font-size'),'letter-spacing':(options.properties[0]==='letter-spacing')?0:$this.css('letter-spacing'),'word-spacing':(options.properties[0]==='word-spacing')?0:$this.css('word-spacing'),'font-family':$this.css('font-family'),'font-style':$this.css('font-style'),'font-variant':$this.css('font-variant'),'font-weight':$this.css('font-weight'),'text-indent':$this.css('text-indent'),'text-transform':$this.css('text-transform'),'white-space':'nowrap','position':'absolute','top':0,'left':-9999});for(var i=0;i<options.properties.length;i++){callback(options.properties[i],dummy,$this.width());}$this.css({'font-size':dummy.css('font-size'),'letter-spacing':dummy.css('letter-spacing'),'word-spacing':dummy.css('word-spacing'),'line-height':(dummy.css('font-size')!==$this.css('font-size'))?1:$this.css('line-height'),'white-space':'nowrap'});dummy.remove();});};function callback(property,dummy,maxWidth){if(property==='word-spacing'&&dummy.text().indexOf(' ')===-1){return true;}else if(dummy.width()<maxWidth){oldValue=parseInt(dummy.css(property));if(isNaN(oldValue))oldValue=0;newValue=oldValue+1;dummy.css(property,newValue);if(dummy.width()>maxWidth){dummy.css(property,oldValue);return true;}else{return callback(property,dummy,maxWidth);}}else{return true;}};$.fn.fullyJustify.defaults={properties:['font-size','letter-spacing','word-spacing']};})(jQuery);
