function ThicknessMeter(b,a){this.min_ypp=b;this.max_ypp=a;this.ranges={};this.addRange("b","Bulky",null,699);this.addRange("w","Worsted",700,999);this.addRange("dk","DK",1000,1249);this.addRange("sp","Sport",1250,1749);this.addRange("sf","Sock/Fingering",1750,2249);this.addRange("l","Lace",2250,null);}ThicknessMeter.prototype.addRange=function(d,b,c,a){c=c||this.min_ypp;a=a||this.max_ypp;this.ranges[d]={label:b,min:this.getCappedYPP(c),max:this.getCappedYPP(a)};};ThicknessMeter.prototype.getRangeIds=function(){var a=[];for(var b in this.ranges){a.push(b);}return a;};ThicknessMeter.prototype.getRangeLeft=function(a){return this.getLevelPercent(this.ranges[a].max);};ThicknessMeter.prototype.getRangeRight=function(a){return this.getLevelPercent(this.ranges[a].min);};ThicknessMeter.prototype.getRangeLabel=function(a){return this.ranges[a].label;};ThicknessMeter.prototype.getLevelPercent=function(c){var g=this.getCappedYPP(c);var f=g-this.min_ypp;var e=(this.max_ypp-this.min_ypp);var d=f/e;var b=1-d;var a=b*100;return a;};ThicknessMeter.prototype.getLevelLabel=function(a){var c=this.getCappedYPP(a);c=Math.round(c);var b="";$.each(this.ranges,function(e,d){if(c>=d.min&&c<=d.max){b=d.label;}});return b;};ThicknessMeter.prototype.getCappedYPP=function(a){if(a<this.min_ypp){return this.min_ypp;}else{if(a>this.max_ypp){return this.max_ypp;}else{return a;}}};
