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_bDateSelectorUpdate(prefix,dDate,firstDayWeek) { 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 styleBorderTD=document.getElementById(prefix+"bDateSelectorTDStyleBorder").value; var styleBorderTDSelected=document.getElementById(prefix+"bDateSelectorTDSelectedStyleBorder").value; var styleBCKTD=document.getElementById(prefix+"bDateSelectorTDStyleBCK").value; var styleBCKTDOut=document.getElementById(prefix+"bDateSelectorTDOutStyleBCK").value; var styleBCKTDSelected=document.getElementById(prefix+"bDateSelectorTDSelectedStyleBCK").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(); //if(selectedDate.getDate()==d.getDate() && selectedDate.getMonth()==d.getMonth() && selectedDate.getYear()==d.getYear()){ 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){} } else{ try{ if(styleBorderTD!="" || classTD==""){ cell.style.border=styleBorderTD; } if(styleBCKTD!="" || classTD==""){ cell.style.backgroundColor=styleBCKTD; } if(classTD!=""){ cell.className=classTD; } }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)){ if(h>23){ inp.value=23; h=23; } if(h<0){ inp.value=0; h=0; } var tm=document.getElementById(prefix+"bDateSelectorTM").value; var d=new Date (tm*1000); 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) { 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_bDateSelectorSHCal(prefix,forcehide) { if(document.getElementById(prefix+"SHCal").style.display=="none" && forcehide!=1){ 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,forcehide) { if(document.getElementById(prefix+"SHHM").style.display=="none" && forcehide!=1){ document.getElementById(prefix+"SHHM").style.display="block"; document.getElementById(prefix+"SHHM").focus(); document.getElementById(prefix+"SHHM").options[0].focus(); } else{ document.getElementById(prefix+"SHHM").style.display="none"; } } function cs_bDateSelectorSHHMSel(prefix,sb,firstDayWeek) { var s=sb.value; var aS=s.split(" : "); document.getElementById(prefix+"bDateSelectorHour").value=aS[0]; document.getElementById(prefix+"bDateSelectorMinute").value=aS[1]; cs_bDateSelectorUpdateMinute(document.getElementById(prefix+"bDateSelectorMinute"),prefix,firstDayWeek); cs_bDateSelectorUpdateHour(document.getElementById(prefix+"bDateSelectorHour"),prefix,firstDayWeek); cs_bDateSelectorSHHM(prefix,1); return true; }