
Type.registerNamespace("AjaxControlToolkit");AjaxControlToolkit.TimeSpan=function(){
if(arguments.length==0)this._ctor$0.apply(this,arguments);else if(arguments.length==1)this._ctor$1.apply(this,arguments);else if(arguments.length==3)this._ctor$2.apply(this,arguments);else if(arguments.length==4)this._ctor$3.apply(this,arguments);else if(arguments.length==5)this._ctor$4.apply(this,arguments);else throw Error.parameterCount();}
AjaxControlToolkit.TimeSpan.prototype={
_ctor$0:function(){
this._ticks=0;},
_ctor$1:function(ticks){
this._ctor$0();this._ticks=ticks;},
_ctor$2:function(hours,minutes,seconds){
this._ctor$0();this._ticks=
(hours*AjaxControlToolkit.TimeSpan.TicksPerHour)+
(minutes*AjaxControlToolkit.TimeSpan.TicksPerMinute)+
(seconds*AjaxControlToolkit.TimeSpan.TicksPerSecond);},
_ctor$3:function(days,hours,minutes,seconds){
this._ctor$0();this._ticks=
(days*AjaxControlToolkit.TimeSpan.TicksPerDay)+
(hours*AjaxControlToolkit.TimeSpan.TicksPerHour)+
(minutes*AjaxControlToolkit.TimeSpan.TicksPerMinute)+
(seconds*AjaxControlToolkit.TimeSpan.TicksPerSecond);},
_ctor$4:function(days,hours,minutes,seconds,milliseconds){
this._ctor$0();this._ticks=
(days*AjaxControlToolkit.TimeSpan.TicksPerDay)+
(hours*AjaxControlToolkit.TimeSpan.TicksPerHour)+
(minutes*AjaxControlToolkit.TimeSpan.TicksPerMinute)+
(seconds*AjaxControlToolkit.TimeSpan.TicksPerSecond)+
(milliseconds*AjaxControlToolkit.TimeSpan.TicksPerMillisecond);},
getDays:function(){
return Math.floor(this._ticks/AjaxControlToolkit.TimeSpan.TicksPerDay);},
getHours:function(){
return Math.floor(this._ticks/AjaxControlToolkit.TimeSpan.TicksPerHour)%24;},
getMinutes:function(){
return Math.floor(this._ticks/AjaxControlToolkit.TimeSpan.TicksPerMinute)%60;},
getSeconds:function(){
return Math.floor(this._ticks/AjaxControlToolkit.TimeSpan.TicksPerSecond)%60;},
getMilliseconds:function(){
return Math.floor(this._ticks/AjaxControlToolkit.TimeSpan.TicksPerMillisecond)%1000;},
getDuration:function(){
return new AjaxControlToolkit.TimeSpan(Math.abs(this._ticks));},
getTicks:function(){
return this._ticks;},
getTotalDays:function(){
Math.floor(this._ticks/AjaxControlToolkit.TimeSpan.TicksPerDay);},
getTotalHours:function(){
return Math.floor(this._ticks/AjaxControlToolkit.TimeSpan.TicksPerHour);},
getTotalMinutes:function(){
return Math.floor(this._ticks/AjaxControlToolkit.TimeSpan.TicksPerMinute);},
getTotalSeconds:function(){
return Math.floor(this._ticks/AjaxControlToolkit.TimeSpan.TicksPerSecond);},
getTotalMilliseconds:function(){
return Math.floor(this._ticks/AjaxControlToolkit.TimeSpan.TicksPerMillisecond);},
add:function(value){
return new AjaxControlToolkit.TimeSpan(this._ticks + value.getTicks());},
subtract:function(value){
return new AjaxControlToolkit.TimeSpan(this._ticks - value.getTicks());},
negate:function(){
return new AjaxControlToolkit.TimeSpan(-this._ticks);},
equals:function(value){
return this._ticks==value.getTicks();},
compareTo:function(value){
if(this._ticks>value.getTicks())
return 1;else if(this._ticks<value.getTicks())
return -1;else
return 0;},
toString:function(){
return this.format("F");},
format:function(format){
if(!format){
format="F";}
if(format.length==1){
switch(format){
case"t":format=AjaxControlToolkit.TimeSpan.ShortTimeSpanPattern;break;case"T":format=AjaxControlToolkit.TimeSpan.LongTimeSpanPattern;break;case"F":format=AjaxControlToolkit.TimeSpan.FullTimeSpanPattern;break;default:throw Error.createError(String.format(AjaxControlToolkit.Resources.Common_DateTime_InvalidTimeSpan,format));}}
var regex=/dd|d|hh|h|mm|m|ss|s|nnnn|nnn|nn|n/g;var builder=new Sys.StringBuilder();var ticks=this._ticks;if(ticks<0){
builder.append("-");ticks=-ticks;}
for(;;){
var index=regex.lastIndex;var ar=regex.exec(format);builder.append(format.slice(index,ar?ar.index:format.length));if(!ar)break;switch(ar[0]){
case"dd":
case"d":
builder.append($common.padLeft(Math.floor(ticks/AjaxControlToolkit.TimeSpan.TicksPerDay,ar[0].length,'0')));break;case"hh":
case"h":
builder.append($common.padLeft(Math.floor(ticks/AjaxControlToolkit.TimeSpan.TicksPerHour)%24,ar[0].length,'0'));break;case"mm":
case"m":
builder.append($common.padLeft(Math.floor(ticks/AjaxControlToolkit.TimeSpan.TicksPerMinute)%60,ar[0].length,'0'));break;case"ss":
case"s":
builder.append($common.padLeft(Math.floor(ticks/AjaxControlToolkit.TimeSpan.TicksPerSecond)%60,ar[0].length,'0'));break;case"nnnn":
case"nnn":
case"nn":
case"n":
builder.append($common.padRight(Math.floor(ticks/AjaxControlToolkit.TimeSpan.TicksPerMillisecond)%1000,ar[0].length,'0',true));break;default:
Sys.Debug.assert(false);}}
return builder.toString();}}
AjaxControlToolkit.TimeSpan.parse=function(text){
var parts=text.split(":");var d=0;var h=0;var m=0;var s=0;var n=0;var ticks=0;switch(parts.length){
case 1:
if(parts[0].indexOf(".")!=-1){
var parts2=parts[0].split(".");s=parseInt(parts2[0]);n=parseInt(parts2[1]);}else{
ticks=parseInt(parts[0]);}
break;case 2:
h=parseInt(parts[0]);m=parseInt(parts[1]);break;case 3:
h=parseInt(parts[0]);m=parseInt(parts[1]);if(parts[2].indexOf(".")!=-1){
var parts2=parts[2].split(".");s=parseInt(parts2[0]);n=parseInt(parts2[1]);}else{
s=parseInt(parts[2]);}
break;case 4:
d=parseInt(parts[0]);h=parseInt(parts[1]);m=parseInt(parts[2]);if(parts[3].indexOf(".")!=-1){
var parts2=parts[3].split(".");s=parseInt(parts2[0]);n=parseInt(parts2[1]);}else{
s=parseInt(parts[3]);}
break;}
ticks +=(d*AjaxControlToolkit.TimeSpan.TicksPerDay)+
(h*AjaxControlToolkit.TimeSpan.TicksPerHour)+
(m*AjaxControlToolkit.TimeSpan.TicksPerMinute)+
(s*AjaxControlToolkit.TimeSpan.TicksPerSecond)+
(n*AjaxControlToolkit.TimeSpan.TicksPerMillisecond);if(!isNaN(ticks)){
return new AjaxControlToolkit.TimeSpan(ticks);}
throw Error.create(AjaxControlToolkit.Resources.Common_DateTime_InvalidFormat);}
AjaxControlToolkit.TimeSpan.fromTicks=function(ticks){
return new AjaxControlToolkit.TimeSpan(ticks);}
AjaxControlToolkit.TimeSpan.fromDays=function(days){
return new AjaxControlToolkit.TimeSpan(days*AjaxControlToolkit.TimeSpan.TicksPerDay);}
AjaxControlToolkit.TimeSpan.fromHours=function(hours){
return new AjaxControlToolkit.TimeSpan(hours*AjaxControlToolkit.TimeSpan.TicksPerHour);}
AjaxControlToolkit.TimeSpan.fromMinutes=function(minutes){
return new AjaxControlToolkit.TimeSpan(minutes*AjaxControlToolkit.TimeSpan.TicksPerMinute);}
AjaxControlToolkit.TimeSpan.fromSeconds=function(seconds){
return new AjaxControlToolkit.TimeSpan(minutes*AjaxControlToolkit.TimeSpan.TicksPerSecond);}
AjaxControlToolkit.TimeSpan.fromMilliseconds=function(milliseconds){
return new AjaxControlToolkit.TimeSpan(minutes*AjaxControlToolkit.TimeSpan.TicksPerMillisecond);}
AjaxControlToolkit.TimeSpan.TicksPerDay=864000000000;AjaxControlToolkit.TimeSpan.TicksPerHour=36000000000;AjaxControlToolkit.TimeSpan.TicksPerMinute=600000000;AjaxControlToolkit.TimeSpan.TicksPerSecond=10000000;AjaxControlToolkit.TimeSpan.TicksPerMillisecond=10000;AjaxControlToolkit.TimeSpan.FullTimeSpanPattern="dd:hh:mm:ss.nnnn";AjaxControlToolkit.TimeSpan.ShortTimeSpanPattern="hh:mm";AjaxControlToolkit.TimeSpan.LongTimeSpanPattern="hh:mm:ss";Date.prototype.getTimeOfDay=function Date$getTimeOfDay(){
return new AjaxControlToolkit.TimeSpan(
0,
this.getHours(),
this.getMinutes(),
this.getSeconds(),
this.getMilliseconds());}
Date.prototype.getDateOnly=function Date$getDateOnly(){
return new Date(this.getFullYear(),this.getMonth(),this.getDate());}
Date.prototype.add=function Date$add(span){
return new Date(this.getTime()+ span.getTotalMilliseconds());}
Date.prototype.subtract=function Date$subtract(span){
return this.add(span.negate());}
Date.prototype.getTicks=function Date$getTicks(){
return this.getTime()*AjaxControlToolkit.TimeSpan.TicksPerMillisecond;}
AjaxControlToolkit.FirstDayOfWeek=function(){}
AjaxControlToolkit.FirstDayOfWeek.prototype={
Sunday:0,
Monday:1,
Tuesday:2,
Wednesday:3,
Thursday:4,
Friday:5,
Saturday:6,
Default:7}
AjaxControlToolkit.FirstDayOfWeek.registerEnum("AjaxControlToolkit.FirstDayOfWeek");