function autoShort(e,h){var d,a,g,f=true,c=e.innerWidth(),b=h.outerWidth(true);while(b>c){a=h.text();if(a.length<=4){break}if(f){d=4}else{g=a.substring(a.length-3);d=(g=="...")?4:1;f=false}h.text(a.substring(0,a.length-d)+"...");b=h.outerWidth(true)}}function autoScale(e,d,f){var c=parseFloat(d.css("font-size")),b=d.innerWidth(),a=f.outerWidth(true);while(a>b&&c>e){c-=0.1;f.css("font-size",c);a=f.outerWidth(true)}}(function(a){a.fn.extend({autoFit:function(c,b){a(this).each(function(){var d=a(this).autoFitPrepare(),f,e;if(!d){return}f=d[0];e=d[1];switch(c){case"SCALE":autoScale(0,e,f);break;case"CUT":autoShort(e,f);break;case"SCALE_CUT":autoScale(b,e,f);if(f.outerWidth(true)>e.innerWidth()){autoShort(e,f)}break;default:this.error("Unknown autofit method: "+c)}})},autoScale:function(b){a(this).each(function(){var c=a(this).autoFitPrepare();autoScale(b,c[1],c[0])});return this},autoShort:function(){a(this).each(function(){var b=a(this).autoFitPrepare();autoShort(b[1],b[0])});return this},autoFitPrepare:function(){var d=a(this),b=a('<span class="autofit" />'),c;while(d.children().length>0){d=d.children().first()}b.css({overflow:"hidden",display:"block"});d.css({"white-space":"nowrap",display:"block",overflow:"hidden"});c=d.outerWidth();d.css({width:"auto",overflow:"visible",display:"inline"});if(d.parent().hasClass("autofit")){b=d.parent();b.width(c)}else{b.width(c);d=d.wrap(b);b=d.parent()}return[d,b]}})})(jQuery);
