var dateFormat=function(){var c=/d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZ]|"[^"]*"|'[^']*'/g,d=/\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g,a=/[^-+\dA-Z]/g,b=function(e,f){e=String(e);f=f||2;while(e.length<f){e="0"+e}return e};return function(u,k,h){var p=dateFormat;if(arguments.length==1&&Object.prototype.toString.call(u)=="[object String]"&&!/\d/.test(u)){k=u;u=undefined}u=u?new Date(u):new Date;if(isNaN(u)){throw SyntaxError("invalid date")}k=String(p.masks[k]||k||p.masks["default"]);if(k.slice(0,4)=="UTC:"){k=k.slice(4);h=true}var j=h?"getUTC":"get",t=u[j+"Date"](),v=u[j+"Day"](),l=u[j+"Month"](),f=u[j+"FullYear"](),g=u[j+"Hours"](),r=u[j+"Minutes"](),i=u[j+"Seconds"](),q=u[j+"Milliseconds"](),n=h?0:u.getTimezoneOffset(),e={d:t,dd:b(t),ddd:p.i18n.dayNames[v],dddd:p.i18n.dayNames[v+7],m:l+1,mm:b(l+1),mmm:p.i18n.monthNames[l],mmmm:p.i18n.monthNames[l+12],yy:String(f).slice(2),yyyy:f,h:g%12||12,hh:b(g%12||12),H:g,HH:b(g),M:r,MM:b(r),s:i,ss:b(i),l:b(q,3),L:b(q>99?Math.round(q/10):q),t:g<12?"a":"p",tt:g<12?"am":"pm",T:g<12?"A":"P",TT:g<12?"AM":"PM",Z:h?"UTC":(String(u).match(d)||[""]).pop().replace(a,""),o:(n>0?"-":"+")+b(Math.floor(Math.abs(n)/60)*100+Math.abs(n)%60,4),S:["th","st","nd","rd"][t%10>3?0:(t%100-t%10!=10)*t%10]};return k.replace(c,function(m){return m in e?e[m]:m.slice(1,m.length-1)})}}();dateFormat.masks={"default":"ddd mmm dd yyyy HH:MM:ss",shortDate:"m/d/yy",mediumDate:"mmm d, yyyy",longDate:"mmmm d, yyyy",fullDate:"dddd, mmmm d, yyyy",shortTime:"h:MM TT",mediumTime:"h:MM:ss TT",longTime:"h:MM:ss TT Z",isoDate:"yyyy-mm-dd",isoTime:"HH:MM:ss",isoDateTime:"yyyy-mm-dd'T'HH:MM:ss",isoUtcDateTime:"UTC:yyyy-mm-dd'T'HH:MM:ss'Z'"};dateFormat.i18n={dayNames:["Sun","Mon","Tue","Wed","Thu","Fri","Sat","Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],monthNames:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec","January","February","March","April","May","June","July","August","September","October","November","December"]};Date.prototype.format=function(b,a){return dateFormat(this,b,a)};
