(function(b){function a(d,f,e){this.dec=d;this.group=f;this.neg=e}function c(g){var d=".";var f=",";var e="-";if(g=="us"||g=="ae"||g=="eg"||g=="il"||g=="jp"||g=="sk"||g=="th"||g=="cn"||g=="hk"||g=="tw"||g=="au"||g=="ca"||g=="gb"||g=="in"){d=".";f=","}else{if(g=="de"||g=="vn"||g=="es"||g=="dk"||g=="at"||g=="gr"||g=="br"){d=",";f="."}else{if(g=="cz"||g=="fr"||g=="fi"||g=="ru"||g=="se"){f=" ";d=","}else{if(g=="ch"){f="'";d="."}}}}return new a(d,f,e)}b.formatNumber=function(h,i){var i=b.extend({},b.fn.parse.defaults,i);var f=c(i.locale.toLowerCase());var d=f.dec;var g=f.group;var e=f.neg;var j=new String(h);j=j.replace(".",d).replace("-",e);return j};b.fn.parse=function(j){var j=b.extend({},b.fn.parse.defaults,j);var g=c(j.locale.toLowerCase());var d=g.dec;var h=g.group;var e=g.neg;var i="1234567890.-";var f=[];this.each(function(){var m=new String(b(this).text());if(b(this).is(":input")){m=new String(b(this).val())}while(m.indexOf(h)>-1){m=m.replace(h,"")}m=m.replace(d,".").replace(e,"-");var n="";var l=false;if(m.charAt(m.length-1)=="%"){l=true}for(var k=0;k<m.length;k++){if(i.indexOf(m.charAt(k))>-1){n=n+m.charAt(k)}}var o=new Number(n);if(l){o=o/100;o=o.toFixed(n.length-1)}f.push(o)});return f};b.fn.format=function(i){var i=b.extend({},b.fn.format.defaults,i);var g=c(i.locale.toLowerCase());var d=g.dec;var h=g.group;var e=g.neg;var f="0#-,.";return this.each(function(){var o=new String(b(this).text());if(b(this).is(":input")){o=new String(b(this).val())}var k="";var u=false;for(var j=0;j<i.format.length;j++){if(f.indexOf(i.format.charAt(j))==-1){k=k+i.format.charAt(j)}else{if(j==0&&i.format.charAt(j)=="-"){u=true;continue}else{break}}}var y="";for(var j=i.format.length-1;j>=0;j--){if(f.indexOf(i.format.charAt(j))==-1){y=i.format.charAt(j)+y}else{break}}i.format=i.format.substring(k.length);i.format=i.format.substring(0,i.format.length-y.length);while(o.indexOf(h)>-1){o=o.replace(h,"")}var z=new Number(o.replace(d,".").replace(e,"-"));if(y=="%"){z=z*100}var p="";var q=z%1;if(i.format.indexOf(".")>-1){var l=d;var t=i.format.substring(i.format.lastIndexOf(".")+1);var n=new String(q.toFixed(t.length));n=n.substring(n.lastIndexOf(".")+1);for(var j=0;j<t.length;j++){if(t.charAt(j)=="#"&&n.charAt(j)!="0"){l+=n.charAt(j);continue}else{if(t.charAt(j)=="#"&&n.charAt(j)=="0"){var v=n.substring(j);if(v.match("[1-9]")){l+=n.charAt(j);continue}else{break}}else{if(t.charAt(j)=="0"){l+=n.charAt(j)}}}}p+=l}else{z=Math.round(z)}var s=Math.floor(z);if(z<0){s=Math.ceil(z)}var A="";if(s==0){A="0"}else{var m="";if(i.format.indexOf(".")==-1){m=i.format}else{m=i.format.substring(0,i.format.indexOf("."))}var r=new String(Math.abs(s));var w=9999;if(m.lastIndexOf(",")!=-1){w=m.length-m.lastIndexOf(",")-1}var x=0;for(var j=r.length-1;j>-1;j--){A=r.charAt(j)+A;x++;if(x==w&&j!=0){A=h+A;x=0}}}p=A+p;if(z<0&&u&&k.length>0){k=e+k}else{if(z<0){p=e+p}}if(!i.decimalSeparatorAlwaysShown){if(p.lastIndexOf(d)==p.length-1){p=p.substring(0,p.length-1)}}p=k+p+y;if(b(this).is(":input")){b(this).val(p)}else{b(this).text(p)}})};b.fn.parse.defaults={locale:"us",decimalSeparatorAlwaysShown:false};b.fn.format.defaults={format:"#,###.00",locale:"us",decimalSeparatorAlwaysShown:false}})(jQuery);
