(function () {
	angular.module("criteriaValue", []).filter("criteriaValue", function () {
		var presentationFormats = {
			currency: function (figure) {
				figure = figure.split(".")[0];
				var number;
				if(!figure.length) {
					return '';
				}
				var sign = '';
				if(figure[0]=='-'){
					sign = figure[0];
					figure = figure.substr(1);
				}
				if (figure.length <= 3) {
					return sign + "$" + figure;
				}
				if (figure.length > 3 && figure.length <= 6) {
					number = (Number(figure) / 1.0e3).toFixed(2);
					number += "<span class='currency'>&nbsp;K<span>";
				} else if (figure.length > 6) {
					number = (Number(figure) / 1.0e6).toFixed(2);
					number += "<span class='currency'>&nbsp;M<span>";
				}
				return (sign + "$" +  number);
			},
			number: function (figure) {
				return figure;
			},
			percentage: function (figure) {
				return figure + "&#37;";
			},
		};
		return function (input, type) {
			var figure = input;
			if(figure !="N/A"){
			var VALID_TYPES = ["number", "currency", "percentage"];
			if (!VALID_TYPES.includes(type)) {
				return input;
			}
			if(figure === null || figure === undefined) {
				return 'NA';
			}
			if (typeof input !== "string") {
				figure = String(input);
			}
			return presentationFormats[type](figure);
			}
			return figure;
		};
	});
})();
