var FORMATPATTERN=new RegExp(/(0+)(\.0+)?/);var VALUEPATTERN=new RegExp(/([0-9]+)(\.[0-9]+)?/);function EformFormatter()
{this.integer=function(value)
{var integer=parseInt(value,10);return(!isNaN(integer))?integer:"";}
this.cartypekey=function(value)
{return this.format(value,"0000");}
this.currency=function(value)
{return this.format(value,"0.00");}
this.uppercase=function(value)
{var str=String(value);return str.toUpperCase();}
this.lowercase=function(value)
{var str=String(value);return str.toLowerCase();}
this.capitalize=function(value)
{var c=value.charAt(0);return c.toUpperCase()+value.substr(1);}
this.day=function(value)
{var day=parseInt(value,10);if(!isNaN(day)&&day>0&&day<10){return"0"+day;}
else{return value;}}
this.month=function(value)
{var month=parseInt(value,10);if(!isNaN(month)&&month>0&&month<10){return"0"+month;}
else{return value;}}
this.year=function(value)
{var year=parseInt(value,10);if(!isNaN(year)){if(year>=0&&year<10)return"200"+year;else if(year<100)return"20"+year;else if(year<1000)return"2"+year;else return year;}
else
{return value;}}
this.format=function(value,pattern)
{if(value=="")return"";var hash=FORMATPATTERN.exec(pattern);var hashLength=RegExp.$1.length;var hashDecimal=RegExp.$2.substr(1);var fix=hashDecimal.length;var val=VALUEPATTERN.exec(value);var places=RegExp.$1;var decimalPlaces=RegExp.$2.substr(1,fix+1);var valLength=places.length;var leadingZerosLength=hashLength-valLength;var leadingZeros="";for(var i=0;i<leadingZerosLength;i++)leadingZeros+="0";if(decimalPlaces&&decimalPlaces!="")
{decimalPlaces="."+new String(Math.round(parseFloat(decimalPlaces)/10));}
return leadingZeros+places+decimalPlaces;}}