/*! * Globalize * * http://github.com/jquery/globalize * * Copyright Software Freedom Conservancy, Inc. * Dual licensed under the MIT or GPL Version 2 licenses. * http://jquery.org/license */(function(window,undefined){var Globalize,regexHex,regexInfinity,regexParseFloat,regexTrim,arrayIndexOf,endsWith,extend,isArray,isFunction,isObject,startsWith,trim,truncate,zeroPad,appendPreOrPostMatch,expandFormat,formatDate,formatNumber,getTokenRegExp,getEra,getEraYear,parseExact,parseNegativePattern;Globalize=function(cultureSelector){return new Globalize.prototype.init(cultureSelector);};if(typeof require!=="undefined"&&typeof exports!=="undefined"&&typeof module!=="undefined"){module.exports=Globalize;}else{window.Globalize=Globalize;} Globalize.cultures={};Globalize.prototype={constructor:Globalize,init:function(cultureSelector){this.cultures=Globalize.cultures;this.cultureSelector=cultureSelector;return this;}};Globalize.prototype.init.prototype=Globalize.prototype;Globalize.cultures["default"]={name:"en",englishName:"English",nativeName:"English",isRTL:false,language:"en",numberFormat:{pattern:["-n"],decimals:2,",":",",".":".",groupSizes:[3],"+":"+","-":"-",NaN:"NaN",negativeInfinity:"-Infinity",positiveInfinity:"Infinity",percent:{pattern:["-n %","n %"],decimals:2,groupSizes:[3],",":",",".":".",symbol:"%"},currency:{pattern:["($n)","$n"],decimals:2,groupSizes:[3],",":",",".":".",symbol:"$"}},calendars:{standard:{name:"Gregorian_USEnglish","/":"/",":":":",firstDay:0,days:{names:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],namesAbbr:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],namesShort:["Su","Mo","Tu","We","Th","Fr","Sa"]},months:{names:["January","February","March","April","May","June","July","August","September","October","November","December",""],namesAbbr:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""]},AM:["AM","am","AM"],PM:["PM","pm","PM"],eras:[{"name":"A.D.","start":null,"offset":0}],twoDigitYearMax:2029,patterns:{d:"M/d/yyyy",D:"dddd, MMMM dd, yyyy",t:"h:mm tt",T:"h:mm:ss tt",f:"dddd, MMMM dd, yyyy h:mm tt",F:"dddd, MMMM dd, yyyy h:mm:ss tt",M:"MMMM dd",Y:"yyyy MMMM",S:"yyyy\u0027-\u0027MM\u0027-\u0027dd\u0027T\u0027HH\u0027:\u0027mm\u0027:\u0027ss"}}},messages:{}};Globalize.cultures["default"].calendar=Globalize.cultures["default"].calendars.standard;Globalize.cultures["en"]=Globalize.cultures["default"];Globalize.cultureSelector="en";regexHex=/^0x[a-f0-9]+$/i;regexInfinity=/^[+-]?infinity$/i;regexParseFloat=/^[+-]?\d*\.?\d*(e[+-]?\d+)?$/;regexTrim=/^\s+|\s+$/g;arrayIndexOf=function(array,item){if(array.indexOf){return array.indexOf(item);} for(var i=0,length=array.length;i1&&s.length1?parseInt(split[1],10):0;numberString=split[0];split=numberString.split(".");numberString=split[0];right=split.length>1?split[1]:"";var l;if(exponent>0){right=zeroPad(right,exponent,false);numberString+=right.slice(0,exponent);right=right.substr(exponent);} else if(exponent<0){exponent=-exponent;numberString=zeroPad(numberString,exponent+1);right=numberString.slice(-exponent,numberString.length)+right;numberString=numberString.slice(0,-exponent);} if(precision>0){right=formatInfo["."]+ ((right.length>precision)?right.slice(0,precision):zeroPad(right,precision));} else{right="";} var stringIndex=numberString.length-1,sep=formatInfo[","],ret="";while(stringIndex>=0){if(curSize===0||curSize>stringIndex){return numberString.slice(0,stringIndex+1)+(ret.length?(sep+ret+right):right);} ret=numberString.slice(stringIndex-curSize+1,stringIndex+1)+(ret.length?(sep+ret):"");stringIndex-=curSize;if(curGroupIndex1)precision=parseInt(format.slice(1),10);var current=format.charAt(0).toUpperCase(),formatInfo;switch(current){case "D":pattern="n";number=truncate(number);if(precision!==-1){number=zeroPad(""+number,precision,true);} if(value<0)number="-"+number;break;case "N":formatInfo=nf;case "C":formatInfo=formatInfo||nf.currency;case "P":formatInfo=formatInfo||nf.percent;pattern=value<0?formatInfo.pattern[0]:(formatInfo.pattern[1]||"n");if(precision===-1)precision=formatInfo.decimals;number=expandNumber(number*(current==="P"?100:1),precision,formatInfo);break;default:throw "Bad number format specifier: "+current;} var patternParts=/n|\$|-|%/g,ret="";for(;;){var index=patternParts.lastIndex,ar=patternParts.exec(pattern);ret+=pattern.slice(index,ar?ar.index:pattern.length);if(!ar){break;} switch(ar[0]){case "n":ret+=number;break;case "$":ret+=nf.currency.symbol;break;case "-":if(/[1-9]/.test(number)){ret+=nf["-"];} break;case "%":ret+=nf.percent.symbol;break;}} return ret;};}());getTokenRegExp=function(){return /\/|dddd|ddd|dd|d|MMMM|MMM|MM|M|yyyy|yy|y|hh|h|HH|H|mm|m|ss|s|tt|t|fff|ff|f|zzz|zz|z|gg|g/g;};getEra=function(date,eras){if(!eras)return 0;var start,ticks=date.getTime();for(var i=0,l=eras.length;i=start){return i;}} return 0;};getEraYear=function(date,cal,era,sortable){var year=date.getFullYear();if(!sortable&&cal.eras){year-=cal.eras[era].offset;} return year;};(function(){var expandYear,getDayIndex,getMonthIndex,getParseRegExp,outOfRange,toUpper,toUpperArray;expandYear=function(cal,year){var now=new Date(),era=getEra(now);if(year<100){var twoDigitYearMax=cal.twoDigitYearMax;twoDigitYearMax=typeof twoDigitYearMax==="string"?new Date().getFullYear()%100+parseInt(twoDigitYearMax,10):twoDigitYearMax;var curr=getEraYear(now,cal,era);year+=curr-(curr%100);if(year>twoDigitYearMax){year-=100;}} return year;};getDayIndex=function(cal,value,abbr){var ret,days=cal.days,upperDays=cal._upperDays;if(!upperDays){cal._upperDays=upperDays=[toUpperArray(days.names),toUpperArray(days.namesAbbr),toUpperArray(days.namesShort)];} value=toUpper(value);if(abbr){ret=arrayIndexOf(upperDays[1],value);if(ret===-1){ret=arrayIndexOf(upperDays[2],value);}} else{ret=arrayIndexOf(upperDays[0],value);} return ret;};getMonthIndex=function(cal,value,abbr){var months=cal.months,monthsGen=cal.monthsGenitive||cal.months,upperMonths=cal._upperMonths,upperMonthsGen=cal._upperMonthsGen;if(!upperMonths){cal._upperMonths=upperMonths=[toUpperArray(months.names),toUpperArray(months.namesAbbr)];cal._upperMonthsGen=upperMonthsGen=[toUpperArray(monthsGen.names),toUpperArray(monthsGen.namesAbbr)];} value=toUpper(value);var i=arrayIndexOf(abbr?upperMonths[1]:upperMonths[0],value);if(i<0){i=arrayIndexOf(abbr?upperMonthsGen[1]:upperMonthsGen[0],value);} return i;};getParseRegExp=function(cal,format){var re=cal._parseRegExp;if(!re){cal._parseRegExp=re={};} else{var reFormat=re[format];if(reFormat){return reFormat;}} var expFormat=expandFormat(cal,format).replace(/([\^\$\.\*\+\?\|\[\]\(\)\{\}])/g,"\\\\$1"),regexp=["^"],groups=[],index=0,quoteCount=0,tokenRegExp=getTokenRegExp(),match;while((match=tokenRegExp.exec(expFormat))!==null){var preMatch=expFormat.slice(index,match.index);index=tokenRegExp.lastIndex;quoteCount+=appendPreOrPostMatch(preMatch,regexp);if(quoteCount%2){regexp.push(match[0]);continue;} var m=match[0],len=m.length,add;switch(m){case "dddd":case "ddd":case "MMMM":case "MMM":case "gg":case "g":add="(\\D+)";break;case "tt":case "t":add="(\\D*)";break;case "yyyy":case "fff":case "ff":case "f":add="(\\d{"+len+"})";break;case "dd":case "d":case "MM":case "M":case "yy":case "y":case "HH":case "H":case "hh":case "h":case "mm":case "m":case "ss":case "s":add="(\\d\\d?)";break;case "zzz":add="([+-]?\\d\\d?:\\d{2})";break;case "zz":case "z":add="([+-]?\\d\\d?)";break;case "/":add="(\\"+cal["/"]+")";break;default:throw "Invalid date format pattern \'"+m+"\'.";break;} if(add){regexp.push(add);} groups.push(match[0]);} appendPreOrPostMatch(expFormat.slice(index),regexp);regexp.push("$");var regexpStr=regexp.join("").replace(/\s+/g,"\\s+"),parseRegExp={"regExp":regexpStr,"groups":groups};return re[format]=parseRegExp;};outOfRange=function(value,low,high){return valuehigh;};toUpper=function(value){return value.split("\u00A0").join(" ").toUpperCase();};toUpperArray=function(arr){var results=[];for(var i=0,l=arr.length;i-1){value=value.replace(culture.numberFormat.currency.symbol,"");value=value.replace(culture.numberFormat.currency["."],culture.numberFormat["."]);} value=trim(value);if(regexInfinity.test(value)){ret=parseFloat(value);} else if(!radix&®exHex.test(value)){ret=parseInt(value,16);} else{var signInfo=parseNegativePattern(value,nf,nf.pattern[0]),sign=signInfo[0],num=signInfo[1];if(sign===""&&nf.pattern[0]!=="(n)"){signInfo=parseNegativePattern(value,nf,"(n)");sign=signInfo[0];num=signInfo[1];} if(sign===""&&nf.pattern[0]!=="-n"){signInfo=parseNegativePattern(value,nf,"-n");sign=signInfo[0];num=signInfo[1];} sign=sign||"+";var exponent,intAndFraction,exponentPos=num.indexOf("e");if(exponentPos<0)exponentPos=num.indexOf("E");if(exponentPos<0){intAndFraction=num;exponent=null;} else{intAndFraction=num.substr(0,exponentPos);exponent=num.substr(exponentPos+1);} var integer,fraction,decSep=nf["."],decimalPos=intAndFraction.indexOf(decSep);if(decimalPos<0){integer=intAndFraction;fraction=null;} else{integer=intAndFraction.substr(0,decimalPos);fraction=intAndFraction.substr(decimalPos+decSep.length);} var groupSep=nf[","];integer=integer.split(groupSep).join("");var altGroupSep=groupSep.replace(/\u00A0/g," ");if(groupSep!==altGroupSep){integer=integer.split(altGroupSep).join("");} var p=sign+integer;if(fraction!==null){p+="."+fraction;} if(exponent!==null){var expSignInfo=parseNegativePattern(exponent,nf,"-n");p+="e"+(expSignInfo[0]||"+")+expSignInfo[1];} if(regexParseFloat.test(p)){ret=parseFloat(p);}} return ret;};Globalize.culture=function(cultureSelector){if(typeof cultureSelector!=="undefined"){this.cultureSelector=cultureSelector;} return this.findClosestCulture(cultureSelector)||this.culture["default"];};}(this));