/* Objet Calendrier Pour utiliser, inclure les lignes suivantes dans le fichier Au début de la page : Sur body (pour traduire): language_code = fr ou en À la fin de la page: */ var jscal_div_name = "div_calendar"; var jscal_d = new Date(); var jscal_currDay = jscal_d.getDate(); var jscal_currMonth = jscal_d.getMonth() + 1; var jscal_currYear = jscal_d.getFullYear(); var jscal_date_return = ""; var jscal_language = "fr"; var jscal_oldDay = jscal_d.getDate(); var jscal_oldMonth = jscal_d.getMonth() + 1; var jscal_oldYear = jscal_d.getFullYear(); var jscal_can_close = true; var jscal_show_today = false; var jscal_special_function = ""; var jscal_input_format = "yyyy-mm-dd"; //var jscal_input_format = "mm-dd-yyyy"; //var jscal_input_format = "dd-mm-yyyy"; var jscal_output_format = "yyyy-mm-dd"; //var jscal_output_format = "mm-dd-yyyy"; //var jscal_output_format = "dd-mm-yyyy"; //Indique si doit appeler la fonction 'js_hide_select' permettant de masquer les SELECT var jscal_hide_select = false; var jscal_months_fr = new Array("Jan. ", "Fév. ", "Mars ", "Avril ", "Mai ", "Juin ", "Juil. ", "Août ", "Sept. ", "Oct. ", "Nov. ", "Déc. "); var jscal_months_en = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"); var jscal_days_fr = new Array("D", "L", "M", "M", "J", "V", "S"); var jscal_days_en = new Array("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"); function jscal_set_language(var_lang) { switch (var_lang) { case "en": jscal_language = "en"; break; default: jscal_language = "fr"; break; } } function jscal_close() { if (document.getElementById(jscal_div_name).style.visibility == "visible") { if (jscal_can_close) { document.getElementById(jscal_div_name).style.visibility = "hidden"; if (jscal_hide_select){ js_hide_select_cal(false); } } } } function jscal_show_calendar(obj_name, topOff, leftOff) { var obj_value = document.getElementById(obj_name).value; var obj = document.getElementById(obj_name); var y = findPosY(obj) + topOff; var x = findPosX(obj) + leftOff; jscal_set_return_object(obj_name); jscal_set_date(obj_value); jscal_draw_calendar(x, y); } function jscal_set_return_object(obj_name) { jscal_date_return = obj_name; } function jscal_set_date(obj_date) { var d1 = ""; var m1 = ""; var d; var m; var y; var x; if (obj_date != ""){ switch (jscal_input_format){ case "mm-dd-yyyy": y = obj_date.substring(6, 10); m1 = obj_date.substring(0, 2); x = m1.substring(0, 1); if (x == "0") { m = m1.substring(1, 2); } else { m = m1;} d1 = obj_date.substring(3, 5); x = d1.substring(0, 1); if (x == "0") { d = d1.substring(1, 2); } else { d = d1;} break; case "dd-mm-yyyy": y = obj_date.substring(6, 10); m1 = obj_date.substring(3, 5); x = m1.substring(0, 1); if (x == "0") { m = m1.substring(1, 2); } else { m = m1;} d1 = obj_date.substring(0, 2); x = d1.substring(0, 1); if (x == "0") { d = d1.substring(1, 2); } else { d = d1;} break; case "yyyy-mm-dd": default: y = obj_date.substring(0, 4); m1 = obj_date.substring(5, 7); x = m1.substring(0, 1); if (x == "0") { m = m1.substring(1, 2); } else { m = m1;} d1 = obj_date.substring(8, 10); x = d1.substring(0, 1); if (x == "0") { d = d1.substring(1, 2); } else { d = d1;} break; } }else{ var new_d = new Date(); d = new_d.getDate(); m = new_d.getMonth() + 1; y = new_d.getFullYear(); jscal_oldYear = y; jscal_oldMonth = m; jscal_oldDay = d; } m = m - 1; jscal_set_date_all(d, m, y); /* var d1 = ""; var m1 = ""; var d; var m; var y; var x; var new_d; if (obj_date != "") { y = obj_date.substring(0, 4); m1 = obj_date.substring(5, 7); x = m1.substring(0, 1); if (x == "0") { m = m1.substring(1, 2); } else { m = m1;} d1 = obj_date.substring(8, 10); x = d1.substring(0, 1); if (x == "0") { d = d1.substring(1, 2); } else { d = d1;} } else { new_d = new Date(); d = new_d.getDate(); m = new_d.getMonth() + 1; y = new_d.getFullYear(); //d = jscal_d.getDate(); //m = jscal_d.getMonth() + 1; //y = jscal_d.getFullYear(); jscal_oldYear = y; jscal_oldMonth = m; jscal_oldDay = d; } m = m - 1; jscal_set_date_all(d, m, y); */ } function jscal_set_date_all(d, m, y) { jscal_currDay = d; jscal_currMonth = m; jscal_currYear = y; jscal_d.setDate(d); jscal_d.setMonth(m); if (y < 1000) { y = y + 1900; } jscal_d.setYear(y); jscal_oldYear = jscal_d.getFullYear(); jscal_oldMonth = jscal_d.getMonth() + 1; jscal_oldDay = jscal_d.getDate(); } function jscal_draw_calendar(x, y) { var div_content = ""; if (document.getElementById(jscal_div_name).style.visibility == "visible" && jscal_can_close) { document.getElementById(jscal_div_name).style.visibility = "hidden"; if (jscal_hide_select){ js_hide_select_cal(false); } } else { if (jscal_hide_select){ js_hide_select_cal(true); } div_content = jscal_build_calendar_content(); document.getElementById(jscal_div_name).innerHTML = div_content; //document.getElementById(jscal_div_name).style.top = y + "px"; //document.getElementById(jscal_div_name).style.left = x + "px"; document.getElementById(jscal_div_name).style.visibility = "visible"; } } function jscal_get_month_text() { var d_month; var m = jscal_d.getMonth(); d_month = eval("jscal_months_" + jscal_language + "[m]"); if (d_month == null) d_month = jscal_months_en[m]; return d_month; } function jscal_get_month_text2(month) { var d_month; //var m = jscal_d.getMonth(); d_month = eval("jscal_months_" + jscal_language + "[month]"); if (d_month == null) d_month = jscal_months_en[month]; return d_month; } function jscal_build_calendar_content() { var cal_content = ""; var d_month; var d_year; var t_month; var cpt = 0; var l = 0; var d_color = "jscal_normal"; var x = jscal_d.getDate(); jscal_d.setDate(1); var wday = jscal_d.getDay(); jscal_d.setDate(x); var last_day = jscal_last_day_of_month(); var i; var myfunc; var var_days; switch (jscal_language) { case "en": var_days = jscal_days_en; wrd_close = "Close"; wrd_today = "Today"; wrd_tip_1 = "Previous year"; wrd_tip_2 = "Next year"; wrd_tip_3 = "Previous month"; wrd_tip_4 = "Next month"; break; default: var_days = jscal_days_fr; wrd_close = "Fermer"; wrd_today = "Aujourd'hui"; wrd_tip_1 = "Année précédente"; wrd_tip_2 = "Année suivante"; wrd_tip_3 = "Mois précédent"; wrd_tip_4 = "Mois suivant"; break; } d_month = jscal_get_month_text(); /* d_month = "\n"; */ d_year = jscal_d.getFullYear(); /* d_year = ""; */ if (d_year < 1000) { d_year = d_year + 1900; } cal_content = ""; // ENTETE cal_content = cal_content + ""; cal_content = cal_content + ""; cal_content = cal_content + ""; cal_content = cal_content + ""; cal_content = cal_content + ""; // LIGNE JOURS cal_content = cal_content + ""; for (var n=0;n<=6;n++) { cal_content = cal_content + ""; } cal_content = cal_content + ""; // CALENDRIER cal_content = cal_content + ""; for(var k=0;k "; } for(var i=1;i<=last_day;i++) { d_color = "jscal_normal"; //if (jscal_currMonth == jscal_oldMonth) // { if ((i == jscal_oldDay) && ((jscal_d.getMonth() + 1) == jscal_oldMonth)) { d_color = "jscal_today"; } // } if (cpt >= 7) { cal_content = cal_content + ""; cal_content = cal_content + ""; cpt = 0; } cpt++; myfunc = "jscal_select_date('" + i + "');"; cal_content = cal_content + ""; l = cpt; } for (j=l+1;j<=7;j++) { cal_content = cal_content + ""; } cal_content = cal_content + ""; cal_content = cal_content + ""; if (jscal_show_today || jscal_can_close) { cal_content = cal_content + ""; cal_content = cal_content + ""; cal_content = cal_content + ""; cal_content = cal_content + ""; cal_content = cal_content + ""; cal_content = cal_content + ""; } cal_content = cal_content + "
"; cal_content = cal_content + "\""+wrd_tip_1+"\""; cal_content = cal_content + "\""+wrd_tip_3+"\""; cal_content = cal_content + ""; cal_content = cal_content + d_month + d_year; cal_content = cal_content + ""; cal_content = cal_content + "\""+wrd_tip_4+"\""; cal_content = cal_content + "\""+wrd_tip_2+"\""; cal_content = cal_content + "
" + var_days[n] + "
" + i + " 

"; cal_content = cal_content + "
"; if (jscal_show_today) { cal_content = cal_content + "" + wrd_today + ""; } cal_content = cal_content + ""; if (jscal_can_close) { cal_content = cal_content + "" + wrd_close + ""; } cal_content = cal_content + "
"; return cal_content; } function jscal_set_month(obj) { jscal_d.setMonth(obj.value); jscal_currMonth = jscal_d.getMonth() + 1; var div_content = jscal_build_calendar_content(); document.getElementById(jscal_div_name).innerHTML = div_content; } function jscal_set_year(obj) { jscal_d.setYear(obj.value); jscal_currYear = jscal_d.getFullYear(); var div_content = jscal_build_calendar_content(); document.getElementById(jscal_div_name).innerHTML = div_content; } function jscal_goto_today() { var d = new Date(); jscal_d = d; var div_content = jscal_build_calendar_content(); document.getElementById(jscal_div_name).innerHTML = div_content; } function jscal_next_month() { var m = jscal_d.getMonth(); var y = jscal_d.getFullYear(); if (m == 11) { jscal_d.setMonth(0); jscal_currMonth = jscal_d.getMonth() + 1; y = y + 1; jscal_d.setYear(y); jscal_currYear = jscal_d.getFullYear(); } else { m = m + 1; jscal_d.setMonth(m); jscal_currMonth = jscal_d.getMonth() + 1; } var div_content = jscal_build_calendar_content(); document.getElementById(jscal_div_name).innerHTML = div_content; } function jscal_prev_month() { var m = jscal_d.getMonth(); var y = jscal_d.getFullYear(); if (m == 0) { jscal_d.setMonth(11); jscal_currMonth = jscal_d.getMonth() + 1; y = y - 1; jscal_d.setYear(y); jscal_currYear = jscal_d.getFullYear(); } else { m = m - 1; jscal_d.setMonth(m); jscal_currMonth = jscal_d.getMonth() + 1; } var div_content = jscal_build_calendar_content(); document.getElementById(jscal_div_name).innerHTML = div_content; } function jscal_next_year() { var y = jscal_d.getFullYear(); y = y + 1; jscal_d.setYear(y); jscal_currYear = jscal_d.getFullYear(); var div_content = jscal_build_calendar_content(); document.getElementById(jscal_div_name).innerHTML = div_content; } function jscal_prev_year() { var y = jscal_d.getFullYear(); y = y - 1; jscal_d.setYear(y); jscal_currYear = jscal_d.getFullYear(); var div_content = jscal_build_calendar_content(); document.getElementById(jscal_div_name).innerHTML = div_content; } function jscal_close_calendar() { document.getElementById(jscal_div_name).style.visibility = "hidden"; if (jscal_hide_select){ js_hide_select_cal(false); } } function jscal_select_date(d_day) { var s_month; var s_day; var s_year var full_date; jscal_currDay = d_day; s_month = jscal_currMonth; s_day = jscal_currDay; s_year = jscal_currYear; jscal_d.setDate(jscal_currDay); var my_t = parseInt(parseFloat(jscal_d.getMonth() + 1)); if (my_t < 10){ s_month = "0" + (my_t); }else{ s_month= my_t; } if (jscal_d.getDate() < 10){ s_day = "0" + jscal_currDay; } if (jscal_d.getFullYear() < 1000){ s_year = jscal_d.getFullYear() + 1900; } switch (jscal_output_format){ case "yyyy-mm-dd": full_date = s_year + "-" + s_month + "-" + s_day; break; case "mm-dd-yyyy": full_date = s_month + "-" + s_day + "-" + s_year; break; case "dd-mm-yyyy": full_date = s_day + "-" + s_month + "-" + s_year; break; default: full_date = s_year + "-" + s_month + "-" + s_day; break; } //document.getElementById(jscal_date_return).value = full_date; window.open('/blogue.php?d='+full_date, '_top'); if (jscal_special_function != "") { eval(jscal_special_function + "('" + full_date + "');"); } if (jscal_can_close){ document.getElementById(jscal_div_name).style.visibility = "hidden"; if (jscal_hide_select){ js_hide_select_cal(false); } } /* var s_month; var s_day; var s_year var full_date; jscal_currDay = d_day; s_month = jscal_currMonth; s_day = jscal_currDay; s_year = jscal_currYear; jscal_d.setDate(jscal_currDay); if (jscal_d.getMonth() < 9) { s_month = "0" + (jscal_d.getMonth() + 1); }else{ s_month = (jscal_d.getMonth() + 1); } if (jscal_d.getDate() < 10) { s_day = "0" + jscal_currDay; } if (jscal_d.getFullYear() < 1000) { s_year = jscal_d.getFullYear() + 1900; } full_date = s_year + "-" + s_month + "-" + s_day; document.getElementById(jscal_date_return).value = full_date; if (jscal_special_function != "") { eval(jscal_special_function + "('" + full_date + "');"); } if (jscal_can_close) { document.getElementById(jscal_div_name).style.visibility = "hidden"; if (jscal_hide_select){ js_hide_select_cal(false); } } */ } function jscal_last_day_of_month() { var rep = 31; var d = new Date(); var y = jscal_d.getFullYear(); var m = jscal_d.getMonth(); d.setYear(y); d.setMonth(m); d.setDate(1); for (var i=28;i<=31;i++) { d.setDate(i); if (d.getMonth() > m) { rep = i - 1; break; } } return rep; } function findPosX(obj) { var curleft = 0; if (obj.offsetParent) { while (obj.offsetParent) { curleft += obj.offsetLeft; obj = obj.offsetParent; } } else if (obj.x) { curleft += obj.x; } return curleft; } function findPosY(obj) { var curtop = 0; if (obj.offsetParent) { while (obj.offsetParent) { curtop += obj.offsetTop; obj = obj.offsetParent; } } else if (obj.y) { curtop += obj.y; } return curtop; }