Date.dayNames=["Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi"];
Date.abbrDayNames=["Dim","Lun","Mar","Mer","Jeu","Ven","Sam"];
Date.monthNames=["Janvier","F\351vrier","Mars","Avril","Mai","Juin","Juillet","Ao\373t","Septembre","Octobre","Novembre","D\351cembre"];
Date.abbrMonthNames=["Jan","F\351v","Mar","Avr","Mai","Juin","Juil","Ao\373t","Sept","Oct","Nov","D\351c"];
Date.firstDayOfWeek=1;
Date.format="dd/mm/yyyy";
Date.fullYearStart="20";
(function(){function B(C,D){if(!Date.prototype[C]){Date.prototype[C]=D
}}B("isLeapYear",function(){var C=this.getFullYear();
return(C%4==0&&C%100!=0)||C%400==0
});
B("isWeekend",function(){return this.getDay()==0||this.getDay()==6
});
B("isWeekDay",function(){return !this.isWeekend()
});
B("getDaysInMonth",function(){return[31,(this.isLeapYear()?29:28),31,30,31,30,31,31,30,31,30,31][this.getMonth()]
});
B("getDayName",function(C){return C?Date.abbrDayNames[this.getDay()]:Date.dayNames[this.getDay()]
});
B("getMonthName",function(C){return C?Date.abbrMonthNames[this.getMonth()]:Date.monthNames[this.getMonth()]
});
B("getDayOfYear",function(){var C=new Date("1/1/"+this.getFullYear());
return Math.floor((this.getTime()-C.getTime())/86400000)
});
B("getWeekOfYear",function(){return Math.ceil(this.getDayOfYear()/7)
});
B("setDayOfYear",function(C){this.setMonth(0);
this.setDate(C);
return this
});
B("addYears",function(C){this.setFullYear(this.getFullYear()+C);
return this
});
B("addMonths",function(D){var C=this.getDate();
this.setMonth(this.getMonth()+D);
if(C>this.getDate()){this.addDays(-this.getDate())
}return this
});
B("addDays",function(C){this.setTime(this.getTime()+(C*86400000));
return this
});
B("addHours",function(C){this.setHours(this.getHours()+C);
return this
});
B("addMinutes",function(C){this.setMinutes(this.getMinutes()+C);
return this
});
B("addSeconds",function(C){this.setSeconds(this.getSeconds()+C);
return this
});
B("zeroTime",function(){this.setMilliseconds(0);
this.setSeconds(0);
this.setMinutes(0);
this.setHours(0);
return this
});
B("asString",function(D){var C=D||Date.format;
return C.split("yyyy").join(this.getFullYear()).split("yy").join((this.getFullYear()+"").substring(2)).split("mmmm").join(this.getMonthName(false)).split("mmm").join(this.getMonthName(true)).split("mm").join(A(this.getMonth()+1)).split("dd").join(A(this.getDate())).split("hh").join(A(this.getHours())).split("min").join(A(this.getMinutes())).split("ss").join(A(this.getSeconds()))
});
Date.fromString=function(L,K){var G=K||Date.format;
var J=new Date("01/01/1977");
var H=0;
var C=G.indexOf("mmmm");
if(C>-1){for(var E=0;
E<Date.monthNames.length;
E++){var D=L.substr(C,Date.monthNames[E].length);
if(Date.monthNames[E]==D){H=Date.monthNames[E].length-4;
break
}}J.setMonth(E)
}else{C=G.indexOf("mmm");
if(C>-1){var D=L.substr(C,3);
for(var E=0;
E<Date.abbrMonthNames.length;
E++){if(Date.abbrMonthNames[E]==D){break
}}J.setMonth(E)
}else{J.setMonth(Number(L.substr(G.indexOf("mm"),2))-1)
}}var I=G.indexOf("yyyy");
if(I>-1){if(C<I){I+=H
}J.setFullYear(Number(L.substr(I,4)))
}else{if(C<I){I+=H
}J.setFullYear(Number(Date.fullYearStart+L.substr(G.indexOf("yy"),2)))
}var F=G.indexOf("dd");
if(C<F){F+=H
}J.setDate(Number(L.substr(F,2)));
if(isNaN(J.getTime())){return false
}return J
};
var A=function(C){var D="0"+C;
return D.substring(D.length-2)
}
})();
