function cs_bDateSelectorNextPrevious(prefix,monthadd,firstDayWeek) { var dt=new Date(document.getElementById(prefix+"bDateSelectorTMCalendar").value*1000); var dstart=new Date(dt.getFullYear(),dt.getMonth()+monthadd,1); cs_bDateSelectorUpdate(prefix,dstart,firstDayWeek); } function cs_bDateSelectorBlank(prefix,firstDayWeek) { //document.getElementById(prefix+"bDateSelectorTMCalendar").value=""; document.getElementById(prefix).value=""; document.getElementById(prefix+"bDateSelectorYear").value=""; document.getElementById(prefix+"bDateSelectorMonth").value=""; document.getElementById(prefix+"bDateSelectorDay").value=""; if(document.getElementById(prefix+"bDateSelectorHour")){ document.getElementById(prefix+"bDateSelectorHour").value=""; } if(document.getElementById(prefix+"bDateSelectorMinute")){ document.getElementById(prefix+"bDateSelectorMinute").value=""; } cs_bDateSelectorSHCal(prefix,1); } function cs_bDateSelectorUpdate(prefix,dDate,firstDayWeek) { var today=new Date(); var todayDay=today.getDate(); var todayMonth=today.getMonth(); var todayYear=today.getYear(); var dstart=new Date(dDate.getFullYear(),dDate.getMonth(),1); var selectedDate= new Date(document.getElementById(prefix+"bDateSelectorTM").value*1000); var aSelectedTM=document.getElementById(prefix+"bDateaSelectedTM").value; var line; var col; var tmstart=Date.parse(dstart)/1000; document.getElementById(prefix+"bDateSelectorTMCalendar").value=tmstart; document.getElementById(prefix+"bDateSelectorHeadMonth").innerHTML=""+(dstart.getMonth()+1)+"/"+dstart.getFullYear()+""; //Recuperation des style var classTD=document.getElementById(prefix+"bDateSelectorTDClass").value; var classTDOut=document.getElementById(prefix+"bDateSelectorTDOutClass").value; var classTDSelected=document.getElementById(prefix+"bDateSelectorTDSelectedClass").value; var classTDToday=document.getElementById(prefix+"bDateSelectorTDTodayClass").value; var styleBorderTD=document.getElementById(prefix+"bDateSelectorTDStyleBorder").value; var styleBorderTDSelected=document.getElementById(prefix+"bDateSelectorTDSelectedStyleBorder").value; var styleBorderTDToday=document.getElementById(prefix+"bDateSelectorTDTodayStyleBorder").value; var styleBCKTD=document.getElementById(prefix+"bDateSelectorTDStyleBCK").value; var styleBCKTDOut=document.getElementById(prefix+"bDateSelectorTDOutStyleBCK").value; var styleBCKTDSelected=document.getElementById(prefix+"bDateSelectorTDSelectedStyleBCK").value; var styleBCKTDToday=document.getElementById(prefix+"bDateSelectorTDTodayStyleBCK").value; var month=dstart.getMonth(); var js; var tm=tmstart; var d=dstart; for(line=0;line<6;line++){ for(col=0;col<=6;col++){ js=col+firstDayWeek; if(js>6){ js=js-7; } cell=document.getElementById(prefix+"bDateSelectorTD"+line+"_"+col); if(d.getMonth()==month && d.getDay()==js){ cell.innerHTML=d.getDate(); try{ if(classTD==""){ cell.style.border=styleBorderTD; } if(styleBCKTD!="" || classTD==""){ cell.style.backgroundColor=styleBCKTD; } if(classTD!=""){ cell.className=classTD; } }catch(err){} if(todayDay==d.getDate() && todayMonth==d.getMonth() && todayYear==d.getYear()){ try{ if(styleBorderTDToday!="" || classTDToday==""){ cell.style.border=styleBorderTDToday; } if(styleBCKTDToday!="" || classTDToday==""){ cell.style.backgroundColor=styleBCKTDToday; } if(classTDToday!=""){ cell.className=classTDToday; } }catch(err){} } if(aSelectedTM.search((d.getTime()/1000))!=-1){ try{ if(styleBorderTDSelected!="" || classTDSelected==""){ cell.style.border+=" "+styleBorderTDSelected; } if(styleBCKTDSelected!="" || classTDSelected==""){ cell.style.backgroundColor+=" "+styleBCKTDSelected; } if(classTDSelected!=""){ cell.className=classTDSelected; } }catch(err){} } //incremente date d.setDate(d.getDate()+1); } else{ try{ cell.innerHTML=""; if(styleBorderTD!="" || classTDOut==""){ cell.style.border=styleBorderTD; } if(styleBCKTDOut!="" || classTDOut==""){ cell.style.backgroundColor=styleBCKTDOut; } if(classTDOut!=""){ cell.className=classTDOut; } }catch(err){} } } } } function cs_bDateSelectorSel(cell,prefix,firstDayWeek) { var tm=document.getElementById(prefix+"bDateSelectorTMCalendar").value; var d=new Date (tm*1000); if(!isNaN(cell.innerHTML)){ var mday=parseInt(cell.innerHTML); if(!isNaN(mday)){ d.setDate(mday); cs_bDateSelectorUpdateYMD(prefix,d); if(document.getElementById(prefix+"bDateSelectorHour")){ d.setHours(document.getElementById(prefix+"bDateSelectorHour").value); } if(document.getElementById(prefix+"bDateSelectorMinute")){ d.setMinutes(document.getElementById(prefix+"bDateSelectorMinute").value); } cs_bDateSelectorSetDateAndTM(prefix,d.getFullYear(),d.getMonth(),d.getDate(),d.getHours(),d.getMinutes()); cs_bDateSelectorUpdate(prefix,d,firstDayWeek); return true; } else{ return false; } } else{ return false; } } function cs_bDateSelectorSelMonth(prefix,firstDayWeek) { var tm=document.getElementById(prefix+"bDateSelectorTMCalendar").value; var d=new Date (tm*1000); cs_bDateSelectorUpdateYMD(prefix,d); if(document.getElementById(prefix+"bDateSelectorHour")){ d.setHours(document.getElementById(prefix+"bDateSelectorHour").value); } if(document.getElementById(prefix+"bDateSelectorMinute")){ d.setMinutes(document.getElementById(prefix+"bDateSelectorMinute").value); } cs_bDateSelectorSetDateAndTM(prefix,d.getFullYear(),d.getMonth(),d.getDate(),d.getHours(),d.getMinutes()); cs_bDateSelectorUpdate(prefix,d,firstDayWeek); return true; } function cs_bDateSelectorSetSelected(prefix,d,firstDayWeek) { cs_bDateSelectorSetDateAndTM(prefix,d.getFullYear(),d.getMonth(),d.getDate(),d.getHours(),d.getMinutes()); cs_bDateSelectorUpdate(prefix,d,firstDayWeek); cs_bDateSelectorUpdateYMD(prefix,d); if(document.getElementById(prefix+"bDateSelectorHour")){ var h=d.getHours(); if(h<10){h="0"+h;} document.getElementById(prefix+"bDateSelectorHour").value=h; } if(document.getElementById(prefix+"bDateSelectorMinute")){ var m=d.getMinutes(); if(m<10){m="0"+m;} document.getElementById(prefix+"bDateSelectorMinute").value=m; } } function cs_bDateSelectorUpdateYMD(prefix,d) { if(document.getElementById(prefix+"bDateSelectorYear")){ if(document.getElementById(prefix+"bDateSelectorYear").value!=d.getFullYear()){ document.getElementById(prefix+"bDateSelectorYear").value=d.getFullYear() } } if(document.getElementById(prefix+"bDateSelectorMonth")){ if(document.getElementById(prefix+"bDateSelectorMonth").value!=d.getMonth()+1){ document.getElementById(prefix+"bDateSelectorMonth").value=d.getMonth()+1; } } if(document.getElementById(prefix+"bDateSelectorDay")){ if(document.getElementById(prefix+"bDateSelectorDay").value!=d.getDate()){ document.getElementById(prefix+"bDateSelectorDay").value=d.getDate(); } } } function cs_bDateSelectorSetDateAndTM(prefix,y,m,md,h,min) { var d=new Date(y,m,md,h,min); document.getElementById(prefix+"bDateSelectorTM").value=Date.parse(d)/1000; var dday=new Date(y,m,md,0,0); if(document.getElementById(prefix+"bDateaSelectedTM")){ document.getElementById(prefix+"bDateaSelectedTM").value=Date.parse(dday)/1000+","; } var yyyy=d.getFullYear(); var mm=(d.getMonth()+1); if(mm<10){ mm="0"+mm;} var dd=d.getDate(); if(dd<10){ dd="0"+dd;} var hh=d.getHours(); if(hh<10){ hh="0"+hh;} var minmin=d.getMinutes(); if(minmin<10){ minmin="0"+minmin;} document.getElementById(prefix).value=yyyy+"-"+mm+"-"+dd+" "+hh+":"+minmin+":00"; } function cs_bDateSelectorUpdateYear(inp,prefix,firstDayWeek) { if(inp.value.toString().length>4){ inp.value=inp.value.toString().substr(0,4); } var y; if(inp.value.substr(0,1)=="0" && inp.value.toString().length>1){ y=parseInt(inp.value.substr(1,1));//a cause de 0 qui sont interpreté comme un signe hexa ou octal inp.value=y; } else{ y=parseInt(inp.value); } if(!isNaN(y)){ if(y.toString().length==4){ var tm=document.getElementById(prefix+"bDateSelectorTM").value; var d=new Date (tm*1000); d.setFullYear(y); cs_bDateSelectorSetDateAndTM(prefix,d.getFullYear(),d.getMonth(),d.getDate(),d.getHours(),d.getMinutes()); cs_bDateSelectorUpdate(prefix,d,firstDayWeek); cs_bDateSelectorUpdateYMD(prefix,d); return true; } else{ return false; } } else{ inp.value=""; return false; } } function cs_bDateSelectorUpdateMonth(inp,prefix,firstDayWeek) { if(inp.value.toString().length>2){ inp.value=inp.value.toString().substr(0,2); } var m; if(inp.value.substr(0,1)=="0" && inp.value.toString().length>1){ m=parseInt(inp.value.substr(1,1));//a cause de 0 qui sont interpreté comme un signe hexa ou octal } else{ m=parseInt(inp.value); } if(!isNaN(m)){ if(m>12){ inp.value=12; m=12; } if(m>0 && m<=12){ var tm=document.getElementById(prefix+"bDateSelectorTM").value; var d=new Date (tm*1000); d.setMonth(m-1); cs_bDateSelectorSetDateAndTM(prefix,d.getFullYear(),d.getMonth(),d.getDate(),d.getHours(),d.getMinutes()); cs_bDateSelectorUpdate(prefix,d,firstDayWeek); cs_bDateSelectorUpdateYMD(prefix,d); return true; } else{ return false; } } else{ inp.value=""; return false; } } function cs_bDateSelectorUpdateDay(inp,prefix,firstDayWeek) { if(inp.value.toString().length>2){ inp.value=inp.value.toString().substr(0,2); } var day; if(inp.value.substr(0,1)=="0" && inp.value.toString().length>1){ day=parseInt(inp.value.substr(1,1));//a cause de 0 qui sont interpreté comme un signe hexa ou octal } else{ day=parseInt(inp.value); } if(!isNaN(day)){ if(day>31){ inp.value=30; day=30; } if(day>0 && day<=31){ var tm=document.getElementById(prefix+"bDateSelectorTM").value; var d=new Date (tm*1000); d.setDate(day); cs_bDateSelectorSetDateAndTM(prefix,d.getFullYear(),d.getMonth(),d.getDate(),d.getHours(),d.getMinutes()); cs_bDateSelectorUpdate(prefix,d,firstDayWeek); cs_bDateSelectorUpdateYMD(prefix,d); return true; } else{ return false; } } else{ inp.value=""; return false; } } function cs_bDateSelectorUpdateHour(inp,prefix,firstDayWeek) { if(inp.value.toString().length>2){ inp.value=inp.value.toString().substr(0,2); } var h; if(inp.value.substr(0,1)=="0" && inp.value.toString().length>1){ h=parseInt(inp.value.substr(1,1));//a cause de 0 qui sont interpreté comme un signe hexa ou octal } else{ h=parseInt(inp.value); } if(!isNaN(h)){ var tm=document.getElementById(prefix+"bDateSelectorTM").value; var d=new Date (tm*1000); if(h>23){ inp.value=23; h=23; d.setMinutes(59); } if(h<0){ inp.value=0; h=0; } d.setHours(h); cs_bDateSelectorSetDateAndTM(prefix,d.getFullYear(),d.getMonth(),d.getDate(),d.getHours(),d.getMinutes()); return true; } else{ inp.value=""; return false; } } function cs_bDateSelectorUpdateMinute(inp,prefix,firstDayWeek) { if(inp.value.toString().length>2){ inp.value=inp.value.toString().substr(0,2); } var m; if(inp.value.substr(0,1)=="0" && inp.value.toString().length>1){ m=parseInt(inp.value.substr(1,1));//a cause de 0 qui sont interpreté comme un signe hexa ou octal } else{ m=parseInt(inp.value); } if(!isNaN(m)){ if(m>59){ m=59; inp.value=59; } if(m<0){ m=0; inp.value=0; } var tm=document.getElementById(prefix+"bDateSelectorTM").value; var d=new Date (tm*1000); d.setMinutes(m); cs_bDateSelectorSetDateAndTM(prefix,d.getFullYear(),d.getMonth(),d.getDate(),d.getHours(),d.getMinutes()); return true; } else{ inp.value=""; return false; } } function cs_bDateSelectorFK(e,prefix) { var k; try{ if(!e){e=window.event;} k = e.keyCode ? e.keyCode : (e.charCode ? e.charCode : (e.which ? e.which : void 0)); if((k>=48 && k<=57) || (k>=33 && k<=40) || (k>=8 && k<=13)){ //Valid key: 0-9, home,end, page up, del ... } else{ return false; } }catch(err){} } function cs_bDateSelectorDKYMD(e,prefix,firstDayWeek) { var k; try{ if(!e){e=window.event;} k = e.keyCode ? e.keyCode : (e.charCode ? e.charCode : (e.which ? e.which : void 0)); switch(k) { case 39: //fleche droite var cPos=cs_BDate_GetCaretPosition(e.srcElement); if(cPos==e.srcElement.value.length){ e.srcElement.nextSibling.nextSibling.focus(); } break; case 37: //fleche gauche var cPos=cs_BDate_GetCaretPosition(e.srcElement); if(cPos==0){ try{ e.srcElement.previousSibling.previousSibling.focus(); } catch(err){} } break; case 68: //d et D //set date to now var d=new Date (); cs_bDateSelectorSetSelected(prefix,d,firstDayWeek); break; case 109: //- var tm=document.getElementById(prefix+"bDateSelectorTM").value; var d=new Date (tm*1000); d.setDate(d.getDate()-1); cs_bDateSelectorSetSelected(prefix,d,firstDayWeek); break; case 107: //+ var tm=document.getElementById(prefix+"bDateSelectorTM").value; var d=new Date (tm*1000); d.setDate(d.getDate()+1); cs_bDateSelectorSetSelected(prefix,d,firstDayWeek); break; } }catch(err){} return true; } function cs_bDateSelectorDKHM(e,prefix,firstDayWeek) { var k; try{ if(!e){e=window.event;} k = e.keyCode ? e.keyCode : (e.charCode ? e.charCode : (e.which ? e.which : void 0)); switch(k) { case 68: //d et D //set date to now var d=new Date (); cs_bDateSelectorSetSelected(prefix,d,firstDayWeek); break; case 109: //- var tm=document.getElementById(prefix+"bDateSelectorTM").value; var d=new Date (tm*1000); d.setMinutes(d.getMinutes()-1); cs_bDateSelectorSetSelected(prefix,d,firstDayWeek); break; case 107: //+ var tm=document.getElementById(prefix+"bDateSelectorTM").value; var d=new Date (tm*1000); d.setMinutes(d.getMinutes()+1); cs_bDateSelectorSetSelected(prefix,d,firstDayWeek); break; } }catch(err){} return true; } function cs_bDateSelectorSHCal(prefix,fh) { if(fh!=1 && document.getElementById(prefix+"SHCal").style.display=="none"){ document.getElementById(prefix+"SHCal").style.display="block"; document.getElementById(prefix+"SHCal").focus(); cs_IEFWELT(document.getElementById(prefix+"SHCal"),1); } else{ document.getElementById(prefix+"SHCal").style.display="none"; cs_IEFWELT(document.getElementById(prefix+"SHCal"),0); } } function cs_bDateSelectorSHHM(prefix,fh) { var oSBHM=document.getElementById(prefix+"SHHM"); if(oSBHM.style.display=="none" && fh!=1){ oSBHM.style.display="block"; oSBHM.focus(); if(oSBHM.selectedIndex>=0){ var hhmm; if(document.getElementById(prefix+"bDateSelectorHour").value==""){ var cd= new Date(); hhmm=cd.getHours(); if(cd.getHours()<10){hhmm="0"+hhmm;} var m=cd.getMinutes(); if(m<10){m="0"+m;} hhmm+=" : "+m; } else{ hhmm=document.getElementById(prefix+"bDateSelectorHour").value+" : "+document.getElementById(prefix+"bDateSelectorMinute").value; } cs_bDateSelectorSHHM_set_closest(prefix,hhmm); } //oSBHM.options[0].focus(); } else{ oSBHM.style.display="none"; } } function cs_bDateSelectorSHHM_set_closest(prefix,hhmm) { try{ var oSBHM=document.getElementById(prefix+"SHHM"); var oOpts=oSBHM.options; if(oOpts.length>0){ t=0; var oO=oOpts[t]; while(t<(oOpts.length-1) && oO.value