Date.ext={};Date.ext.util={};Date.ext.util.xPad=function(x,a,r){if(typeof(r)=='undefined'){r=10}for(;parseInt(x,10)<r&&r>1;r/=10)x=a.toString()+x;return x.toString()};Date.prototype.locale='en-GB';if(document.getElementsByTagName('html')&&document.getElementsByTagName('html')[0].lang){Date.prototype.locale=document.getElementsByTagName('html')[0].lang}Date.ext.locales={};Date.ext.locales.en={a:['Sun','Mon','Tue','Wed','Thu','Fri','Sat'],A:['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'],b:['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'],B:['January','February','March','April','May','June','July','August','September','October','November','December'],c:'%a %d %b %Y %T %Z',p:['AM','PM'],P:['am','pm'],x:'%d/%m/%y',X:'%T'};Date.ext.locales['en-US']=Date.ext.locales.en;Date.ext.locales['en-US'].c='%a %d %b %Y %r %Z';Date.ext.locales['en-US'].x='%D';Date.ext.locales['en-US'].X='%r';Date.ext.locales['en-GB']=Date.ext.locales.en;Date.ext.locales['en-AU']=Date.ext.locales['en-GB'];Date.ext.formats={a:function(d){return Date.ext.locales[d.locale].a[d.getDay()]},A:function(d){return Date.ext.locales[d.locale].A[d.getDay()]},b:function(d){return Date.ext.locales[d.locale].b[d.getMonth()]},B:function(d){return Date.ext.locales[d.locale].B[d.getMonth()]},c:'toLocaleString',C:function(d){return Date.ext.util.xPad(parseInt(d.getFullYear()/100,10),0)},d:['getDate','0'],e:['getDate',' '],g:function(d){return Date.ext.util.xPad(parseInt(Date.ext.util.G(d)/100,10),0)},G:function(d){var y=d.getFullYear();var V=parseInt(Date.ext.formats.V(d),10);var W=parseInt(Date.ext.formats.W(d),10);if(W>V){y++}else if(W===0&&V>=52){y--}return y},H:['getHours','0'],I:function(d){var I=d.getHours()%12;return Date.ext.util.xPad(I===0?12:I,0)},j:function(d){var a=d-new Date(''+d.getFullYear()+'/1/1 GMT');a+=d.getTimezoneOffset()*60000;var b=parseInt(a/60000/60/24,10)+1;return Date.ext.util.xPad(b,0,100)},m:function(d){return Date.ext.util.xPad(d.getMonth()+1,0)},M:['getMinutes','0'],p:function(d){return Date.ext.locales[d.locale].p[d.getHours()>=12?1:0]},P:function(d){return Date.ext.locales[d.locale].P[d.getHours()>=12?1:0]},S:['getSeconds','0'],u:function(d){var a=d.getDay();return a===0?7:a},U:function(d){var a=parseInt(Date.ext.formats.j(d),10);var b=6-d.getDay();var c=parseInt((a+b)/7,10);return Date.ext.util.xPad(c,0)},V:function(d){var a=parseInt(Date.ext.formats.W(d),10);var b=(new Date(''+d.getFullYear()+'/1/1')).getDay();var c=a+(b>4||b<=1?0:1);if(c==53&&(new Date(''+d.getFullYear()+'/12/31')).getDay()<4){c=1}else if(c===0){c=Date.ext.formats.V(new Date(''+(d.getFullYear()-1)+'/12/31'))}return Date.ext.util.xPad(c,0)},w:'getDay',W:function(d){var a=parseInt(Date.ext.formats.j(d),10);var b=7-Date.ext.formats.u(d);var c=parseInt((a+b)/7,10);return Date.ext.util.xPad(c,0,10)},y:function(d){return Date.ext.util.xPad(d.getFullYear()%100,0)},Y:'getFullYear',z:function(d){var o=d.getTimezoneOffset();var H=Date.ext.util.xPad(parseInt(Math.abs(o/60),10),0);var M=Date.ext.util.xPad(o%60,0);return(o>0?'-':'+')+H+M},Z:function(d){return d.toString().replace(/^.*\(([^)]+)\)$/,'$1')},'%':function(d){return'%'}};Date.ext.aggregates={c:'locale',D:'%m/%d/%y',h:'%b',n:'\n',r:'%I:%M:%S %p',R:'%H:%M',t:'\t',T:'%H:%M:%S',x:'locale',X:'locale'};Date.ext.aggregates.z=Date.ext.formats.z(new Date());Date.ext.aggregates.Z=Date.ext.formats.Z(new Date());Date.ext.unsupported={};Date.prototype.strftime=function(c){if(!(this.locale in Date.ext.locales)){if(this.locale.replace(/-[a-zA-Z]+$/,'')in Date.ext.locales){this.locale=this.locale.replace(/-[a-zA-Z]+$/,'')}else{this.locale='en-GB'}}var d=this;while(c.match(/%[cDhnrRtTxXzZ]/)){c=c.replace(/%([cDhnrRtTxXzZ])/g,function(a,b){var f=Date.ext.aggregates[b];return(f=='locale'?Date.ext.locales[d.locale][b]:f)})}var e=c.replace(/%([aAbBCdegGHIjmMpPSuUVwWyY%])/g,function(a,b){var f=Date.ext.formats[b];if(typeof(f)=='string'){return d[f]()}else if(typeof(f)=='function'){return f.call(d,d)}else if(typeof(f)=='object'&&typeof(f[0])=='string'){return Date.ext.util.xPad(d[f[0]](),f[1])}else{return b}});d=null;return e};function strtotime(e,f){var i,match,s,strTmp='',parse='';strTmp=e;strTmp=strTmp.replace(/\s{2,}|^\s|\s$/g,' ');strTmp=strTmp.replace(/[\t\r\n]/g,'');if(strTmp=='now'){return(new Date()).getTime()/1000}else if(!isNaN(parse=Date.parse(strTmp))){return(parse/1000)}else if(f){f=new Date(f*1000)}else{f=new Date()}strTmp=strTmp.toLowerCase();var g={day:{'sun':0,'mon':1,'tue':2,'wed':3,'thu':4,'fri':5,'sat':6},mon:{'jan':0,'feb':1,'mar':2,'apr':3,'may':4,'jun':5,'jul':6,'aug':7,'sep':8,'oct':9,'nov':10,'dec':11}};var h=function(m){var a=(m[2]&&m[2]=='ago');var b=(b=m[0]=='last'?-1:1)*(a?-1:1);switch(m[0]){case'last':case'next':switch(m[1].substring(0,3)){case'yea':f.setFullYear(f.getFullYear()+b);break;case'mon':f.setMonth(f.getMonth()+b);break;case'wee':f.setDate(f.getDate()+(b*7));break;case'day':f.setDate(f.getDate()+b);break;case'hou':f.setHours(f.getHours()+b);break;case'min':f.setMinutes(f.getMinutes()+b);break;case'sec':f.setSeconds(f.getSeconds()+b);break;default:var c;if(typeof(c=g.day[m[1].substring(0,3)])!='undefined'){var d=c-f.getDay();if(d==0){d=7*b}else if(d>0){if(m[0]=='last'){d-=7}}else{if(m[0]=='next'){d+=7}}f.setDate(f.getDate()+d)}}break;default:if(/\d+/.test(m[0])){b*=parseInt(m[0],10);switch(m[1].substring(0,3)){case'yea':f.setFullYear(f.getFullYear()+b);break;case'mon':f.setMonth(f.getMonth()+b);break;case'wee':f.setDate(f.getDate()+(b*7));break;case'day':f.setDate(f.getDate()+b);break;case'hou':f.setHours(f.getHours()+b);break;case'min':f.setMinutes(f.getMinutes()+b);break;case'sec':f.setSeconds(f.getSeconds()+b);break}}else{return false}break}return true};match=strTmp.match(/^(\d{2,4}-\d{2}-\d{2})(?:\s(\d{1,2}:\d{2}(:\d{2})?)?(?:\.(\d+))?)?$/);if(match!=null){if(!match[2]){match[2]='00:00:00'}else if(!match[3]){match[2]+=':00'}s=match[1].split(/-/g);for(i in g.mon){if(g.mon[i]==s[1]-1){s[1]=i}}s[0]=parseInt(s[0],10);s[0]=(s[0]>=0&&s[0]<=69)?'20'+(s[0]<10?'0'+s[0]:s[0]+''):(s[0]>=70&&s[0]<=99)?'19'+s[0]:s[0]+'';return parseInt(this.strtotime(s[2]+' '+s[1]+' '+s[0]+' '+match[2])+(match[4]?match[4]/1000:''),10)}var j='([+-]?\\d+\\s'+'(years?|months?|weeks?|days?|hours?|min|minutes?|sec|seconds?'+'|sun\.?|sunday|mon\.?|monday|tue\.?|tuesday|wed\.?|wednesday'+'|thu\.?|thursday|fri\.?|friday|sat\.?|saturday)'+'|(last|next)\\s'+'(years?|months?|weeks?|days?|hours?|min|minutes?|sec|seconds?'+'|sun\.?|sunday|mon\.?|monday|tue\.?|tuesday|wed\.?|wednesday'+'|thu\.?|thursday|fri\.?|friday|sat\.?|saturday))'+'(\\sago)?';match=strTmp.match(new RegExp(j,'g'));if(match==null){return false}for(i=0;i<match.length;i++){if(!h(match[i].split(' '))){return false}}return(f.getTime()/1000)}
