/*=====================================================================================================   mise à jour :=== COPYRIGHT ==> 2000-2003 (c) Archives Webmemoria - www.WEBMEMORIA.com <== TOUS DROITS RÉSERVÉS ===   Martin Richard=====================================================================================================   15-05-2003 20:22:03-- fncDates.js --*/  var dteToday = new Date();var dteCreaWM = new Date(2000,11,8);var aiMoNbJr = new Array(31,28,31,30,31,30,31,31,30,31,30,31);var asJrCmp = new Array();var asJrAbv = new Array();var asMoCmp = new Array();var asMoAbv = new Array();var asDteUnit = new Array();asJrCmp[0] = new Array("Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi");asJrCmp[1] = new Array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday");asJrAbv[0] = new Array("Dim.","Lun.","Mar.","Mer.","Jeu.","Ven.","Sam.");asJrAbv[1] = new Array("Sun","Mon","Tue","Wed","Thu","Fri","Sat");asMoCmp[0] = new Array("Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre", "Novembre","Décembre");asMoCmp[1] = new Array("January","February","March","April","May","June","July","August","September","October", "November","December");asMoAbv[0] = new Array("Jan.","Fév.","Mars","Avr.","Mai","Juin","Juil.","Août","Sept.","Oct.","Nov.","Déc.");asMoAbv[1] = new Array("Jan","Feb","Mar","Apr","May","Jun","July","Aug","Sep","Oct","Nov","Dec");asDteUnit[0] = [["An", "Ans"],["Mois", "Mois"],["Jour", "Jours"]];asDteUnit[1] = [["Year", "Years"],["Month", "Months"],["Day", "Days"]];Date.prototype.ecrite   = date_ecrite;Date.prototype.periode  = date_periode;Date.prototype.estBissextile = date_estBissextile;function cnvDateToUTC(sDateIn,iLangue,bEphemeride){var sDin = sDateIn.toLowerCase().allReplace("fev","fév");sDin = sDin.allReplace("aou","aoû");var iLng =(iLangue)?iLangue : 0;iLng =(iLng>1)?1 : iLng;iNbLng = 2;var bEph =(bEphemeride)?bEphemeride : 0;var iTxt = iAn = iMo = -1;var sTyp = sPrc = sErr = "";var asP = new Array("","","");var iJr = 1;var iP = iBix = 0;for(var i=0;i<sDin.length;i++){var sChar = sDin.charAt(i);var iChar = sDin.charCodeAt(i);if(iChar>=48&&iChar<=57){if(sTyp!="num"&&asP[iP].length>0)iP++;sTyp="num";}else if((iChar>=97&&iChar<=122)||iChar==233||iChar==251){if(sTyp!="txt"&&asP[iP].length>0)iP++;sTyp="txt";}else{sTyp="cut";if(asP[iP].length>0)iP++;}if(iP>=3)break;asP[iP]+=(sTyp!="cut")?sChar : "";}if(asP[iP]=="00")asP[iP]="2000";for(var i=0;i<iNbLng;i++){for(var j=0;j<=iP;j++){for(var k=0;k<12;k++){if((asMoCmp[i][k].toLowerCase()).search(asP[j])==0){iTxt = j;iMo = k;break;}}if(iTxt>=0)break;}if(iTxt>=0)break;}switch(iP){case 0:   sPrc = "a";if(iMo<0){iAn = cnvInt(asP[0]);iMo = 0;}else{iAn =(iMo<=dteToday.getMonth())?dteToday.getFullYear(): dteToday.getFullYear()-1;sPrc = "Ma";}break;case 1:   sPrc = "Ma";if(iMo<0){iAn =(cnvInt(asP[0])>12)?cnvInt(asP[0]): cnvInt(asP[1]);for(var i=0;i<=iP;i++){if(asP[i].length==4&&cnvInt(asP[i])!=0)iAn = cnvInt(asP[i]);}iMo =(iAn==cnvInt(asP[0]))?cnvInt(asP[1])-1 : cnvInt(asP[0])-1;}else{if(iTxt==0){iAn = cnvInt(asP[1]);}else{iAn =(iMo<=dteToday.getMonth())?dteToday.getFullYear(): dteToday.getFullYear()-1;iJr = cnvInt(asP[0]);if(iJr>31){iAn=iJr;iJr=1;}sPrc =(iLng==1)?"Mja" : "jma";sPrc =(bEph)?sPrc.substr(0,2): sPrc;}}break;case 2:       sPrc =(iLng==1)?"Mja" : "jma";var iIdMoLng =(iLng==0)?1 : 0;var iIdMo =(iMo<0)?iIdMoLng : iTxt;var iIdA =(iIdMo==0)?1 : 0;var iIdB =(iIdMo==1)?2 : 1;iAn =(cnvInt(asP[iIdA])>31)?cnvInt(asP[iIdA]): cnvInt(asP[iIdB]);for(var i=0;i<=iP;i++){if(asP[i].length==4&&cnvInt(asP[i])!=0)iAn = asP[i];}iMo =(iMo<0)?cnvInt(asP[iIdMo])-1 : iMo;iJr =(iAn==asP[iIdA])?cnvInt(asP[iIdB]): cnvInt(asP[iIdA]);}if(iAn<1||iAn>9999)sErr="_err_An="+iAn;if(date_estBissextile(iAn))iBix=1;if(iMo<0||iMo>11){sErr+="_err_Mo="+(iMo+1);iMo=0;}if(iJr<1||iJr>aiMoNbJr[iMo]+iBix)sErr+="_err_Jr="+iJr;if(sDateIn==sMsgF[33]||sDateIn==""){sErr="x";sPrc="";}if(sDateIn==sMsgF[34]){sErr="x";sPrc="amj";}var dteUTC =(sErr!="")?new Date(): new Date(iAn,iMo,iJr);var dteCHK = new Date();dteUTC.iAn = iAn;dteUTC.iMo = iMo;dteUTC.iJr = iJr;dteUTC.sError =(sErr=="x")?"" : sErr;dteUTC.sPrecis = sPrc;dteUTC.iPrecis = sPrc.length;dteUTC.bFuture =(cnvInt(iAn)>dteToday.getFullYear()||dteUTC>dteCHK);dteUTC.bEphemeride = bEph;return(dteUTC);}function dateConfirm(objTxtField,iLangue,sPrecis,bEphemeride,bAcceptFuture){var objF = objTxtField;var iLng =(iLangue)?iLangue : 0;iLng =(iLng>1)?1 : iLng;var sPrc =(sPrecis)?sPrecis : "jma";var bEph =(bEphemeride)?bEphemeride : 0;var bAcF =(bAcceptFuture)?bAcceptFuture : 0;if(objF.value==""||objF.value.toLowerCase().search("x")==0||objF.value.toLowerCase().search(" x")>=0){var sNewVal =(objF.name.toLowerCase().search("deces")>=0)?sMsgF[34] : sMsgF[33];objF.value =(confirm(sNewVal))?sNewVal : "";}if(objF.value==""||objF.value==sMsgF[33]||objF.value==sMsgF[34])return;var dteF = cnvDateToUTC(objF.value,iLng,bEph);dteF.sError+=(dteF.bFuture&&!bAcF)?"_err_Futur" : "";if(dteF.sError){promptDateError(objF,dteF,iLangue);objF.value="";objF.focus();return;}var bLow =(dteF.sPrecis.search("M")<0)?1 : 0;var bChkVal = objF.value.toLowerCase().allReplace(" ", "")== dteF.ecrite(iLng,dteF.sPrecis,0,1,'',1);if(dteF.iPrecis==3&&bChkVal){objF.value = dteF.ecrite(iLng,dteF.sPrecis,0,bLow);return;}var sDtl =(dteF.iPrecis==1)?sMsgF[35] :(dteF.iPrecis==2)?sMsgF[36] : "";objF.value =(confirm(dteF.ecrite(iLng,dteF.sPrecis,0,bLow)+"\n"+sDtl))?dteF.ecrite(iLng,dteF.sPrecis,0,bLow): "";}function chkPeriode(objDateA,objDateB,bShow){var sValA = objDateA.value;var sValB = objDateB.value;var dteA = cnvDateToUTC(sValA);var dteB =(sValB==sMsgF[34])?dteToday : cnvDateToUTC(sValB);if(dteB==dteToday){dteB.iPrecis=3;dteB.sError="";}if(dteA.sError+dteB.sError!="")return;var sInfo =(dteB==dteToday)?sMsgF[27] : sMsgF[26];var bShow =(bShow)?bShow : false;var iPrc =(dteA.iPrecis<dteB.iPrecis)?dteA.iPrecis : dteB.iPrecis;var sPrc = "amj".substr(0,iPrc);var sMes = sMsgF[28];var sLine = "-".doLine(50);sLine ="\n"+sLine+"\n";var sAnachro =(sMsgF[24]+dteA.ecrite(iLangue,dteA.sPrecis)).allReplace("[xdate]",dteB.ecrite(iLangue,dteB.sPrecis));if(iPrc>0){var sPer = dteA.periode(iLangue,sPrc,dteB);var sEnv =(iPrc<3)?sMsg[15]+" " : "";sMes = sMsgF[25]+sInfo+"\n\n => "+objDateA.value+"\n => "+objDateB.value+sLine+"    "+sEnv+sPer+sLine;sMes =(sPer=="")?"----\n &nbsp;0&nbsp;\n----" : sMes;if(dteA>dteB){alert(sAnachro);objDateB.value="";return;}if(dteA.dureeJr<365||dteA.dureeJr>36525){if(!confirm(sMsg[1]+"\n"+sMsgF[29].allReplace("[xduree]",sPer)))objDateB.value="";return;}}if(bShow)alert(sMes);}function promptDateError(objTxtField,objDate,iLangue){var sErr = objDate.sError;var iLng =(iLangue)?iLangue : 0;var sLine = "-".doLine(75);sLine ="\n"+sLine+"\n\n";var sMes = sMsg[0]+" - "+sMsgF[19];var sDeces =(objTxtField.name.toLowerCase().search("deces")>=0)?"\n\n"+sMsgF[32] : "";var iErr = 0;if(sErr.search("Jr")>=0)sMes+= sLine+sMsgF[22];if(sErr.search("Mo")>=0)sMes+= sLine+sMsgF[21];if(sErr.search("An")>=0||sErr.search("_err_Futur")>=0)sMes+= sLine+sMsgF[20];if(sErr.search("_err_Futur")==0)sMes = sMsgF[23]+sDeces;var sMoAn = asMoCmp[iLangue][objDate.iMo];var iBix =(date_estBissextile(objDate.iAn))?1 : 0;if(objDate.iMo==1)sMoAn+= " "+objDate.iAn;sMes = sMes.allReplace("[indate]",objTxtField.value);sMes = sMes.allReplace("[mois]", sMoAn);sMes = sMes.allReplace("[jr]", aiMoNbJr[objDate.iMo]+iBix);sMes+= sLine+sMsgF[30];alert(sMes);}function date_ecrite(iLangue,sPrecisUpLow,bDteAbv,sSeparat,bNoSpace){var iLng =(iLangue)?iLangue : 0;iLng =(iLng>1)?1 : iLng;var sPrc =(sPrecisUpLow)?sPrecisUpLow : "jma";var sPrcL = sPrc.toLowerCase();var iAbv =(bDteAbv)?1 : 0;var sSpc =(bNoSpace)?"" : " ";var sSep =(sSeparat)?sSeparat : ","+sSpc;var asJour = [ [asJrCmp[0],asJrAbv[0]], [asJrCmp[1],asJrAbv[1]] ];var asMois = [ [asMoCmp[0],asMoAbv[0]], [asMoCmp[1],asMoAbv[1]] ];var sJrSem =(sPrcL.search("jj")>=0)?asJour[iLng][iAbv][this.getDay()]+sSep : "";var sJr =(sPrcL.search("j")>=0)?this.getDate(): "";var sMo =(sPrcL.search("m")>=0)?asMois[iLng][iAbv][this.getMonth()] : "";var sAn =(sPrcL.search("a")>=0)?this.getFullYear(): "";if(sPrc.search("jj")>=0)sJrSem = sJrSem.toLowerCase();if(sPrc.search("m")>=0)sMo = sMo.toLowerCase();var sJMA = sJrSem+sJr;sJMA+=(sJMA&&sMo)?sSpc : "";sJMA+= sMo;sJMA+=(sJMA&&sAn)?sSpc : "";sJMA+= sAn;var sDteEcrite =(sJMA)?sJMA : "-------";return(sDteEcrite);}function date_periode(iLangue,sPrecisUpLow,dteX,sSeparat){var iLng =(iLangue)?iLangue : 0;iLng =(iLng>1)?1 : iLng;var sPrc =(sPrecisUpLow)?sPrecisUpLow : "amj";var dteX =(dteX!=null&&dteX.getDate()>0)?dteX : dteToday;var sSep =(sSeparat)?sSeparat : " ";var sPrcL = sPrc.toLowerCase();var bXaft = this.xAfter = this<dteX;var dteA =(bXaft)?this : dteX;var dteB =(bXaft)?dteX : this;var iAnA = dteA.getFullYear();var iAnB = dteB.getFullYear();var iMoA = dteA.getMonth();var iMoB = dteB.getMonth();var iJrA = dteA.getDate();var iJrB = dteB.getDate();var iNbAn = iNbMo = iNbJr = 0;iNbAn = iAnB-iAnA;iNbMo = iMoB-iMoA;iNbJr = iJrB-iJrA;if(iNbJr<0){var iAnX =(iMoB==0)?iAnB-1 : iAnB;var iMoX =(iMoB==0)?11 : iMoB-1;iNbJr = iJrB;iNbJr+=(iMoX==1&&date_estBissextile(iAnX))?29-iJrA : aiMoNbJr[iMoX]-iJrA;iNbMo--;}if(iNbMo<0){iNbMo+=12;iNbAn--;}var bInA = iNbAn>0&&(sPrcL.search("a")>=0);var bInM = iNbMo>0&&(sPrcL.search("m")>=0);var bInJ = iNbJr>0&&(sPrcL.search("j")>=0);var sAn =(!bInA)?"" : iNbAn+" "+((iNbAn<2)?asDteUnit[iLng][0][0] : asDteUnit[iLng][0][1]);var sMo =(!bInM)?"" : iNbMo+" "+((iNbMo<2)?asDteUnit[iLng][1][0] : asDteUnit[iLng][1][1]);var sJr =(!bInJ)?"" : iNbJr+" "+((iNbJr<2)?asDteUnit[iLng][2][0] : asDteUnit[iLng][2][1]);if(sPrc.search("a")>=0)sAn = sAn.toLowerCase();if(sPrc.search("m")>=0)sMo = sMo.toLowerCase();if(sPrc.search("j")>=0)sJr = sJr.toLowerCase();var sDuree =(sAn!=""&&sMo+sJr!="")?sAn+sSep : sAn;sDuree+=(sMo!=""&&sJr!="")?sMo+sSep : sMo;sDuree+= sJr;if(sPrc.search("-")>=0){this.dureeJr = "-------";return("-------");}else{this.dureeAMJ = sDuree;this.dureeJr = Math.round((dteB.getTime()-dteA.getTime())/(24*60*60*1000));return(sDuree);}}function date_estBissextile(iAn){var bThisIsDate =(this>0);var iAn =(iAn)?iAn :(bThisIsDate)?this.getFullYear(): 0;var bBix = false;if(iAn&&iAn%4==0){if(iAn%100==0){bBix =(iAn%400==0)?true : false;}else{bBix = true;}}return(bBix);}