﻿/* DATE 1.0.6.4 */

var _d_=Date;var _dp_=_d_.prototype;_dp_.addDays=function(n){if(isNaN(n)||n==null||n.length==0){return;}var mil=(n*86400000)+this.valueOf();this.setTime(mil);return mil;};_dp_.addHours=function(n){if(isNaN(n)||n==null||n.length==0){return;}var mil=(n*3600000)+this.getTime();this.setTime(mil);return mil;};_dp_.addMinutes=function(n){if(isNaN(n)||n==null||n.length==0){return;}var mil=(n*60000)+this.getTime();this.setTime(mil);return mil;};_dp_.addSeconds=function(n){if(isNaN(n)||n==null||n.length==0){return;}var mil=(n*1000)+this.getTime();this.setTime(mil);return mil;};_dp_.formatDate=function(){var arStr=[this.getMonth()+1];arStr.push(this.getDate());if(arStr[1].length==1){arStr[1]=+'0';}arStr.push(this.getFullYear());return arStr.join('/');};_dp_.format=function(template){return this.formatDateTime(template);};_dp_.formatDateTime=function(template){var tpl=template;if(typeof(tpl)!='string'||tpl==''){tpl=_d_.DEFAULT_DATETIME_TEMPLATE;}var tplItems={d:this.getDate()+'',D:this.getWeekday(),DA:this.getWeekday(true),m:this.getMonth()+1,M:this.getMonthName(),MA:this.getMonthName(true),y:this.getYear()+'',Y:this.getFullYear()+'',hh:this.getHours()+'',mm:this.getMinutes()+'',ss:this.getSeconds()+'',ms:this.getMilliseconds()+'',ampm:(tpl.indexOf('ampm')!=-1?true:false),tz:this.getTimezone()};if(tplItems.ampm){tplItems.ampm='AM';if(tplItems.hh>12){tplItems.hh-=12;tplItems.ampm='PM';}else if(tplItems.hh==12){tplItems.ampm='PM';}else if(tplItems.hh==0){tplItems.hh=12;}}var regexp=/ampm|DA|D|d|hh|MA|M|mm|ms|m|ss|tz|y|Y/g;var s='';var result;var lastIndex=0;while((result=regexp.exec(tpl))!=null){s+=tpl.substring(lastIndex,result.index);switch(result[0]){case'hh':if(tpl.search(/\shh|^hh/)>-1){s+=tplItems[result[0]];}else{s+=(tplItems[result[0]].length<2?'0'+tplItems[result[0]]:tplItems[result[0]]);}break;case'd':if(tpl.search(/\sd/)>-1){s+=tplItems[result[0]];}else{s+=(tplItems[result[0]].length<2?'0'+tplItems[result[0]]:tplItems[result[0]]);}break;case'm':case'mm':case'ss':s+=(tplItems[result[0]].length<2?'0'+tplItems[result[0]]:tplItems[result[0]]);break;case'ms':while(tplItems.ms.length<3){tplItems.ms='0'+tplItems.ms;}s+=tplItems.ms;break;default:s+=tplItems[result[0]];break;}lastIndex=result.index+result[0].length;}s+=tpl.substr(lastIndex);return s;};_dp_.formatTime=function(isMilitary,useSeconds){var arTime=[];arTime[0]=this.getHours();arTime[1]=((this.getMinutes()+'').length<2?'0':'')+this.getMinutes();if(useSeconds){arTime[2]=((this.getSeconds()+'').length<2?'0':'')+this.getSeconds();}var ampm='';if(!isMilitary){ampm=(arTime[0]<12?' am':' pm');if(arTime[0]>12){arTime[0]-=12;}else if(arTime[0]==0){arTime[0]=12;}}return arTime.join(':')+ampm;};_dp_.daysPerMonth=function(){return _d_.daysPerMonth(this.getMonth(),this.getFullYear());};_dp_.getDifference=function(comparisonDate,interval,rounding){return _d_.getDifference(this,comparisonDate,interval,rounding);};_dp_.getMonthName=function(isAbbr){return _d_.getMonthName(this.getMonth(),isAbbr);};_dp_.getTimezone=function(){return _d_.getTimezone(0-(this.getTimezoneOffset()/60));};_dp_.getWeekday=function(isAbbr){return _d_.getWeekday(this.getDay(),isAbbr);};_dp_.isLeapYear=function(){return _d_.isLeapYear(this.getFullYear());};_d_.parseDateString=function(dateStr){if(_d_.isValid(dateStr)){return dateStr;}if(!this.arRegex){this.arRegex=[];this.arRegex[0]=/^(\d{4})/;this.arRegex[1]=/^(\d{1,2}:)/;this.arRegex[2]=/^(\w{3},\s)/;}dateStr=dateStr+'';if(dateStr.search(this.arRegex[0])!=-1){var d=dateStr.split(' ');var t=(d[1]?' '+d[1]:'');d=d[0].split('-');return d[1]+'/'+(d[2].length==1?'0':'')+d[2]+'/'+d[0]+t;}if(dateStr.search(this.arRegex[1])!=-1){var d=dateStr.replace(/,/gi,'').split(' ');var t=' '+d[0];return _d_.getMonthNumber(d[1])+'/'+(d[2].length==1?'0':'')+d[2]+'/'+d[3]+t;}if(dateStr.search(this.arRegex[2])!=-1){var d=dateStr.split(' ');var t=(d[3]?' '+d[3]:'');return _d_.getMonthNumber(d[2])+'/'+(d[1].length==1?'0':'')+d[1]+'/'+d[3]+t;}return(!_d_.isValid(dateStr)?_d_.DEFAULT_NaD:dateStr);};_d_.DEFAULT_DATE_TEMPLATE='m/d/Y';_d_.DEFAULT_DATETIME_TEMPLATE='m/d/Y hh:mm ampm';_d_.DEFAULT_NaD='NaD';_d_.addDays=function(startDate,n){return this.addHours(startDate,n*24);};_d_.addHours=function(startDate,n){return this.addMinutes(startDate,n*60);};_d_.addMinutes=function(startDate,n){return this.addSeconds(startDate,n*60);};_d_.addSeconds=function(startDate,n){if(_d_.isValid(startDate)){var d=new Date(_d_.parse(startDate));return new Date(d.getTime()+(n*1000));}return _d_.DEFAULT_NaD;};_d_.ago=function(dstr,ndstr,tpl){if(!_d_.isValid(dstr)){return _d_.DEFAULT_NaD;}var periods=['second','minute','hour','day','week','month','year','decade'];var lengths=['60','60','24','7','4.35','12','10'];var now=(!_d_.isValid(ndstr)?new Date():new Date(ndstr)).valueOf();var diff=now-new Date(dstr).valueOf();diff=diff/1000;var tense=diff>=0?' ago':' from now';diff=Math.abs(diff);if(diff>3024000){return _d_.formatDateTime(dstr,tpl);}for(var j=0;diff>=lengths[j]&&j<lengths.length-1;j++){diff/=lengths[j];}diff=Math.round(diff);if(diff!=1){periods[j]+='s';}return diff+' '+periods[j]+tense;};_d_.fromNow=function(dstr,tpl){return _d_.ago(dstr,tpl);};_d_.formatDate=function(dateString){if(_d_.isValid(dateString)){var d=new Date(_d_.parse(dateString));return d.formatDate();}return _d_.DEFAULT_NaD;};_d_.formatDateTime=function(dateString,template){if(_d_.isValid(dateString)){var d=new Date(_d_.parse(dateString));return d.formatDateTime(template);}return _d_.DEFAULT_NaD;};_d_.format=_d_.formatDateTime;_d_.formatTime=function(n,interval,template){var tpl=(typeof(template)!='string'||template==''?'hh:mm':template);var num=n;var s='';var isClock=(tpl.indexOf('mil')!=-1?'mil':false);isClock=(tpl.indexOf('ampm')!=-1?'ampm':isClock);var iSign=(n<0?'-':'');num=Math.abs(Math.round(num));var usesDays=(tpl.indexOf('dd')!=-1);var usesHours=(tpl.indexOf('hh')!=-1);var usesMinutes=(tpl.indexOf('mm')!=-1);var usesSeconds=(tpl.indexOf('ss')!=-1);var usesMilliseconds=(tpl.indexOf('ms')!=-1);if(isClock){tpl=tpl.replace(/dd/,'');if(usesHours){num=Math.floor(this.parseTime(num,interval,'h'));num=(num>24?23:num);num=(num<0?0:num);if(isClock=='ampm'){if(num<12){tpl=tpl.replace(/ampm/,'AM');}else{tpl=tpl.replace(/ampm/,'PM');}num=(num==0?12:num);num=(num>12?num-12:num);}else{tpl=tpl.replace(/mil/,'');}tpl=tpl.replace(/hh/,num);num=this.parseTime(n,interval,'h');num=this.parseTime(num-Math.floor(num),'h',interval);}}else{if(usesDays){num=this.parseTime(num,interval,'d');str=Math.floor(num)+'';str=(str.length==1?'0'+str:str);tpl=tpl.replace(/dd/,str);num=this.parseTime(num-Math.floor(num),'d',interval);}if(usesHours){num=this.parseTime(num,interval,'h');str=Math.floor(num)+'';if(usesDays){str=(str.length==1?'0'+str:str);}tpl=tpl.replace(/hh/,str);num=this.parseTime(num-Math.floor(num),'h',interval);}}if(usesMinutes){num=this.parseTime(num,interval,'m');str=Math.round(num)+'';str=(str.length==1?'0'+str:str);tpl=tpl.replace(/mm/,str);num=this.parseTime(num-Math.round(num),'m',interval);}if(usesSeconds){num=this.parseTime(num,interval,'s');str=Math.round(num)+'';str=(str.length==1?'0'+str:str);tpl=tpl.replace(/ss/,str);num=this.parseTime(num-Math.round(num),'s',interval);}if(usesMilliseconds){num=this.parseTime(num,interval,'')+'';while(num.length<3){num='0'+num;}tpl=tpl.replace(/ms/,Math.round(num));}tpl=tpl.replace(/\s{2,}/gi,' ');return iSign+tpl;};_d_.daysPerMonth=function(month,year){switch(month){case 3:case 5:case 8:case 10:return 30;case 0:case 2:case 4:case 6:case 7:case 9:case 11:return 31;case 1:return(isNaN(year)||(year%4)!=0?28:29);default:return'isNaN';}};_d_.getDifference=function(startDate,endDate,interval,rounding){var iOut=0;var bufferA=_d_.parse(startDate);var bufferB=_d_.parse(endDate);if(isNaN(bufferB)){return null;}var number=bufferB-bufferA;switch(interval){case'd':case'D':iOut=parseInt(number/86400000);if(rounding)iOut+=parseInt((number%86400000)/43200001);break;case'h':case'H':iOut=parseInt(number/3600000);if(rounding)iOut+=parseInt((number%3600000)/1800001);break;case'm':case'M':iOut=parseInt(number/60000);if(rounding)iOut+=parseInt((number%60000)/30001);break;case's':case'S':iOut=parseInt(number/1000);if(rounding)iOut+=parseInt((number%1000)/501);break;default:iOut=parseInt(number);}return iOut;};_d_.getMonthName=function(month,isAbbr){switch(month+''){case'0':return(isAbbr?'Jan':'January');case'1':return(isAbbr?'Feb':'February');case'2':return(isAbbr?'Mar':'March');case'3':return(isAbbr?'Apr':'April');case'4':return(isAbbr?'May':'May');case'5':return(isAbbr?'Jun':'June');case'6':return(isAbbr?'Jul':'July');case'7':return(isAbbr?'Aug':'August');case'8':return(isAbbr?'Sep':'September');case'9':return(isAbbr?'Oct':'October');case'10':return(isAbbr?'Nov':'November');case'11':return(isAbbr?'Dec':'December');default:return null;}};_d_.getMonthNumber=function(monthName){monthName=(monthName+'').substring(0,3).toLowerCase();switch(monthName){case'jan':return 0;case'feb':return 1;case'mar':return 2;case'apr':return 3;case'may':return 4;case'jun':return 5;case'jul':return 6;case'aug':return 7;case'sep':return 8;case'oct':return 9;case'nov':return 10;case'dec':return 11;default:return-1;}};_d_.getWeekday=function(dayNum,isAbbr){switch(dayNum){case 0:return(isAbbr?'Sun':'Sunday');case 1:return(isAbbr?'Mon':'Monday');case 2:return(isAbbr?'Tue':'Tuesday');case 3:return(isAbbr?'Wed':'Wednesday');case 4:return(isAbbr?'Thu':'Thursday');case 5:return(isAbbr?'Fri':'Friday');case 6:return(isAbbr?'Sat':'Saturday');default:return null;}};_d_.getTimezone=function(offsetHours){if(!_d_.observesDST()){offsetHours-=1;}switch(offsetHours){case-8:return'PST';case-7:return'MST';case-6:return'CST';case-5:return'EST';case-9:return'Alaska';case-10:return'Hawaii';case-11:return'Somoa';case-4:return'Atlantic, Canada';case-3:return'Brazilia, Buenos Aries';case-2:return'Mid-Atlantic';case-1:return'Cape Verdes';case 0:return'Greenwich Mean Time, Dublin';case 1:return'Berlin, Rome';case 2:return'Israel, Cairo';case 3:return'Moscow, Kuwait';case 4:return'Abu Dhabi, Muscat';case 5:return'Islamabad, Karachi';case 6:return'Almaty, Dhaka';case 7:return'Bangkok, Jakarta';case 8:return'Hong Kong, Beijing';case 9:return'Tokyo, Osaka';case 10:return'Sydney, Melbourne, Guam';case 11:return'Magadan, Soloman Is.';case 12:return'Fiji, Wellington, Auckland';default:return'';}};_d_.isLeapYear=function(year){return(year%4==0&&(year%100!=0||year%400==0));};_d_.isValid=function(dateString,requireFullYear){switch(typeof(dateString)){case'string':break;case'object':try{var dn=dateString.getDate();return true;}catch(e){return false;}default:return false;}var dateString=dateString+'';switch(requireFullYear){case true:var datePat=/^(\d{1,2})(\/|-)(\d{1,2})\2(\d{4})/;break;default:var datePat=/^(\d{1,2})(\/|-)(\d{1,2})\2(\d{2}|\d{4})/;break;}var matchArray=dateString.match(datePat);if(matchArray==null){return false;}var month=matchArray[1];var day=matchArray[3];var year=matchArray[4];if(month<1||month>12){return false;}if(day<1||day>31){return false;}switch(month){case 4:case 6:case 9:case 11:if(day==31){return false;}}if(month==2){var isleap=_d_.isLeapYear(year);if(day>29||(day==29&&!isleap)){return false;}}return true;};_d_.observesDST=function(){var rightNow=new Date();var date1=new Date(rightNow.getFullYear(),0,1,0,0,0,0);var date2=new Date(rightNow.getFullYear(),6,1,0,0,0,0);var temp=date1.toGMTString();var date3=new Date(temp.substring(0,temp.lastIndexOf(' ')-1));temp=date2.toGMTString();var date4=new Date(temp.substring(0,temp.lastIndexOf(' ')-1));if((date1-date3)==(date2-date4)){return false;}return true;};_d_.parseTime=function(n,interval,intervalTo){if(isNaN(n)||n==null||n==''){return 0;}switch(interval){case'h':n=(n*3600000);break;case'm':n=(n*60000);break;case'd':n=(n*86400000);break;case's':n=(n*1000);break;default:n=n-0;}switch(intervalTo){case'm':return(n/60000);case'h':return(n/3600000);case'd':return(n/86400000);case's':return(n/1000);default:return n;}};_d_.timestamp=function(){var d=new Date();return d.valueOf();};function d2dFormat(sDate,eDate){sDate=new Date(sDate);eDate=new Date(eDate);if(sDate.getFullYear()==eDate.getFullYear()){if(sDate.getMonth()==eDate.getMonth()){if(sDate.getDate()!=eDate.getDate()){return sDate.formatDateTime('MA d')+' -'+eDate.formatDateTime(' d, Y');}else{return sDate.formatDateTime('MA d, Y');}}if(sDate.getDate()!=eDate.getDate()){return sDate.formatDateTime('MA d')+' - '+eDate.formatDateTime('MA d, Y');}else{return sDate.formatDateTime('MA d, Y');}}else{return sDate.formatDateTime('MA d, Y')+' - '+eDate.formatDateTime('MA d, Y');}};function timeToMinutes(timeString){var tStr=timeString+'';if(tStr.indexOf(':')==-1){return-1;}tStr=tStr.split(':');tStr[1]=tStr[1].replace(/\D/gi,'');if(isNaN(tStr[0])||tStr[0]==''||isNaN(tStr[1])||tStr[1]==''){return-1;}var hh=Math.abs(tStr[0]);var mm=Math.abs(tStr[1]);if(hh>23||mm>59){return-1;}var ampm=(timeString+'').match(/am|pm/i);if(ampm!=null){if(hh>12){return-1;}switch((ampm[0]+'').toLowerCase()){case'am':if(hh==12){hh=0;}break;case'pm':if(hh<12){hh+=12;}}}hh*=60;return hh+mm;};function timeToPhrase(n,interval){var t=_d_.formatTime(n,interval,'dd:hh:mm');t=t.split(':');var s='';if(t[0]-0!=0){s+=t[0]-0+' day'+(t[0]>1||t[0]<-1?'s, ':', ');}if(t[1]-0>0){s+=t[1]-0+' hour'+(t[1]>1?'s, ':', ');}if(t[2]-0>0){s+=t[2]-0+' min'+(t[2]>1?'s, ':', ');}s=s.substr(0,s.length-2);return s;};
