﻿/**
 * Copyright 2010 Tim Down.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
var Hashtable=(function(){var p="function";var n=(typeof Array.prototype.splice==p)?function(s,r){s.splice(r,1)}:function(u,t){var s,v,r;if(t===u.length-1){u.length=t}else{s=u.slice(t+1);u.length=t;for(v=0,r=s.length;v<r;++v){u[t+v]=s[v]}}};function a(t){var r;if(typeof t=="string"){return t}else{if(typeof t.hashCode==p){r=t.hashCode();return(typeof r=="string")?r:a(r)}else{if(typeof t.toString==p){return t.toString()}else{try{return String(t)}catch(s){return Object.prototype.toString.call(t)}}}}}function g(r,s){return r.equals(s)}function e(r,s){return(typeof s.equals==p)?s.equals(r):(r===s)}function c(r){return function(s){if(s===null){throw new Error("null is not a valid "+r)}else{if(typeof s=="undefined"){throw new Error(r+" must not be undefined")}}}}var q=c("key"),l=c("value");function d(u,s,t,r){this[0]=u;this.entries=[];this.addEntry(s,t);if(r!==null){this.getEqualityFunction=function(){return r}}}var h=0,j=1,f=2;function o(r){return function(t){var s=this.entries.length,v,u=this.getEqualityFunction(t);while(s--){v=this.entries[s];if(u(t,v[0])){switch(r){case h:return true;case j:return v;case f:return[s,v[1]]}}}return false}}function k(r){return function(u){var v=u.length;for(var t=0,s=this.entries.length;t<s;++t){u[v+t]=this.entries[t][r]}}}d.prototype={getEqualityFunction:function(r){return(typeof r.equals==p)?g:e},getEntryForKey:o(j),getEntryAndIndexForKey:o(f),removeEntryForKey:function(s){var r=this.getEntryAndIndexForKey(s);if(r){n(this.entries,r[0]);return r[1]}return null},addEntry:function(r,s){this.entries[this.entries.length]=[r,s]},keys:k(0),values:k(1),getEntries:function(s){var u=s.length;for(var t=0,r=this.entries.length;t<r;++t){s[u+t]=this.entries[t].slice(0)}},containsKey:o(h),containsValue:function(s){var r=this.entries.length;while(r--){if(s===this.entries[r][1]){return true}}return false}};function m(s,t){var r=s.length,u;while(r--){u=s[r];if(t===u[0]){return r}}return null}function i(r,s){var t=r[s];return(t&&(t instanceof d))?t:null}function b(t,r){var w=this;var v=[];var u={};var x=(typeof t==p)?t:a;var s=(typeof r==p)?r:null;this.put=function(B,C){q(B);l(C);var D=x(B),E,A,z=null;E=i(u,D);if(E){A=E.getEntryForKey(B);if(A){z=A[1];A[1]=C}else{E.addEntry(B,C)}}else{E=new d(D,B,C,s);v[v.length]=E;u[D]=E}return z};this.get=function(A){q(A);var B=x(A);var C=i(u,B);if(C){var z=C.getEntryForKey(A);if(z){return z[1]}}return null};this.containsKey=function(A){q(A);var z=x(A);var B=i(u,z);return B?B.containsKey(A):false};this.containsValue=function(A){l(A);var z=v.length;while(z--){if(v[z].containsValue(A)){return true}}return false};this.clear=function(){v.length=0;u={}};this.isEmpty=function(){return !v.length};var y=function(z){return function(){var A=[],B=v.length;while(B--){v[B][z](A)}return A}};this.keys=y("keys");this.values=y("values");this.entries=y("getEntries");this.remove=function(B){q(B);var C=x(B),z,A=null;var D=i(u,C);if(D){A=D.removeEntryForKey(B);if(A!==null){if(!D.entries.length){z=m(v,C);n(v,z);delete u[C]}}}return A};this.size=function(){var A=0,z=v.length;while(z--){A+=v[z].entries.length}return A};this.each=function(C){var z=w.entries(),A=z.length,B;while(A--){B=z[A];C(B[0],B[1])}};this.putAll=function(H,C){var B=H.entries();var E,F,D,z,A=B.length;var G=(typeof C==p);while(A--){E=B[A];F=E[0];D=E[1];if(G&&(z=w.get(F))){D=C(F,z,D)}w.put(F,D)}};this.clone=function(){var z=new b(t,r);z.putAll(w);return z}}return b})();

/*
* jquery.numberformatter-1.2.2.min.js:
*/
(function (k) { var a = new Hashtable(); var f = ["ae", "au", "ca", "cn", "eg", "gb", "hk", "il", "in", "jp", "sk", "th", "tw", "us"]; var b = ["at", "br", "de", "dk", "es", "gr", "it", "nl", "pt", "tr", "vn"]; var i = ["cz", "fi", "fr", "ru", "se", "pl"]; var d = ["ch"]; var g = [[".", ","], [",", "."], [",", " "], [".", "'"]]; var c = [f, b, i, d]; function j(n, l, m) { this.dec = n; this.group = l; this.neg = m } function h() { for (var l = 0; l < c.length; l++) { localeGroup = c[l]; for (var m = 0; m < localeGroup.length; m++) { a.put(localeGroup[m], l) } } } function e(l) { if (a.size() == 0) { h() } var q = "."; var o = ","; var p = "-"; var n = a.get(l); if (n) { var m = g[n]; if (m) { q = m[0]; o = m[1] } } return new j(q, o, p) } k.fn.formatNumber = function (l, m, n) { return this.each(function () { if (m == null) { m = true } if (n == null) { n = true } var p; if (k(this).is(":input")) { p = new String(k(this).val()) } else { p = new String(k(this).text()) } var o = k.formatNumber(p, l); if (m) { if (k(this).is(":input")) { k(this).val(o) } else { k(this).text(o) } } if (n) { return o } }) }; k.formatNumber = function (q, w) { var w = k.extend({}, k.fn.formatNumber.defaults, w); var l = e(w.locale.toLowerCase()); var n = l.dec; var u = l.group; var o = l.neg; var m = "0#-,."; var t = ""; var s = false; for (var r = 0; r < w.format.length; r++) { if (m.indexOf(w.format.charAt(r)) == -1) { t = t + w.format.charAt(r) } else { if (r == 0 && w.format.charAt(r) == "-") { s = true; continue } else { break } } } var v = ""; for (var r = w.format.length - 1; r >= 0; r--) { if (m.indexOf(w.format.charAt(r)) == -1) { v = w.format.charAt(r) + v } else { break } } w.format = w.format.substring(t.length); w.format = w.format.substring(0, w.format.length - v.length); var p = new Number(q); return k._formatNumber(p, w, v, t, s) }; k._formatNumber = function (m, q, n, G, s) { var q = k.extend({}, k.fn.formatNumber.defaults, q); var E = e(q.locale.toLowerCase()); var D = E.dec; var v = E.group; var l = E.neg; var x = false; if (isNaN(m)) { if (q.nanForceZero == true) { m = 0; x = true } else { return null } } if (n == "%") { m = m * 100 } var z = ""; if (q.format.indexOf(".") > -1) { var F = D; var t = q.format.substring(q.format.lastIndexOf(".") + 1); if (q.round == true) { m = new Number(m.toFixed(t.length)) } else { var K = m.toString(); K = K.substring(0, K.lastIndexOf(".") + t.length + 1); m = new Number(K) } var y = m % 1; var A = new String(y.toFixed(t.length)); A = A.substring(A.lastIndexOf(".") + 1); for (var H = 0; H < t.length; H++) { if (t.charAt(H) == "#" && A.charAt(H) != "0") { F += A.charAt(H); continue } else { if (t.charAt(H) == "#" && A.charAt(H) == "0") { var r = A.substring(H); if (r.match("[1-9]")) { F += A.charAt(H); continue } else { break } } else { if (t.charAt(H) == "0") { F += A.charAt(H) } } } } z += F } else { m = Math.round(m) } var u = Math.floor(m); if (m < 0) { u = Math.ceil(m) } var C = ""; if (q.format.indexOf(".") == -1) { C = q.format } else { C = q.format.substring(0, q.format.indexOf(".")) } var J = ""; if (!(u == 0 && C.substr(C.length - 1) == "#") || x) { var w = new String(Math.abs(u)); var p = 9999; if (C.lastIndexOf(",") != -1) { p = C.length - C.lastIndexOf(",") - 1 } var o = 0; for (var H = w.length - 1; H > -1; H--) { J = w.charAt(H) + J; o++; if (o == p && H != 0) { J = v + J; o = 0 } } if (C.length > J.length) { var I = C.indexOf("0"); if (I != -1) { var B = C.length - I; while (J.length < B) { J = "0" + J } } } } if (!J && C.indexOf("0", C.length - 1) !== -1) { J = "0" } z = J + z; if (m < 0 && s && G.length > 0) { G = l + G } else { if (m < 0) { z = l + z } } if (!q.decimalSeparatorAlwaysShown) { if (z.lastIndexOf(D) == z.length - 1) { z = z.substring(0, z.length - 1) } } z = G + z + n; return z }; k.fn.parseNumber = function (l, m, o) { if (m == null) { m = true } if (o == null) { o = true } var p; if (k(this).is(":input")) { p = new String(k(this).val()) } else { p = new String(k(this).text()) } var n = k.parseNumber(p, l); if (n) { if (m) { if (k(this).is(":input")) { k(this).val(n.toString()) } else { k(this).text(n.toString()) } } if (o) { return n } } }; k.parseNumber = function (r, v) { var v = k.extend({}, k.fn.parseNumber.defaults, v); var m = e(v.locale.toLowerCase()); var o = m.dec; var t = m.group; var p = m.neg; var l = "1234567890.-"; while (r.indexOf(t) > -1) { r = r.replace(t, "") } r = r.replace(o, ".").replace(p, "-"); var u = ""; var n = false; if (r.charAt(r.length - 1) == "%") { n = true } for (var s = 0; s < r.length; s++) { if (l.indexOf(r.charAt(s)) > -1) { u = u + r.charAt(s) } } var q = new Number(u); if (n) { q = q / 100; q = q.toFixed(u.length - 1) } return q }; k.fn.parseNumber.defaults = { locale: "us", decimalSeparatorAlwaysShown: false }; k.fn.formatNumber.defaults = { format: "#,###.00", locale: "us", decimalSeparatorAlwaysShown: false, nanForceZero: true, round: true }; Number.prototype.toFixed = function (l) { return $._roundNumber(this, l) }; k._roundNumber = function (n, m) { var l = Math.pow(10, m || 0); var o = String(Math.round(n * l) / l); if (m > 0) { var p = o.indexOf("."); if (p == -1) { o += "."; p = 0 } else { p = o.length - (p + 1) } while (p < m) { o += "0"; p++ } } return o } })(jQuery);
