/* -*- mode: javascript -*- * * Selection semaine sur calendrier Absences * * E. Viennet, Oct 2006 */ var WEEKDAYCOLOR = "#EEEEEE"; var WEEKENDCOLOR = "#99CC99"; var DAYHIGHLIGHT = "red"; var CURRENTWEEKCOLOR = "yellow"; // get all tr elements from this class // (no getElementBuClassName) function getTRweek( week ) { var tablecal = document.getElementById('maincalendar'); var all = tablecal.getElementsByTagName('tr'); var res = [] ; for(var i=0; i < all.length; i++) { if (all[i].className == week) res[res.length] = all[i]; } return res; } var HIGHLIGHTEDCELLS = []; function deselectweeks() { for(var i=0; i < HIGHLIGHTEDCELLS.length; i++) { var row = rows[i]; if (row) { if (row.className.match('currentweek')) { row.style.backgroundColor = CURRENTWEEKCOLOR; } else { row.style.backgroundColor = WEEKDAYCOLOR; } rows[i] = null; } } } // highlight 5 days function highlightweek(el) { deselectweeks(); var week = el.className; if ((week == 'wkend') || (week.substring(0,2) != 'wk')) { return; /* does not hightlight weekends */ } rows = getTRweek(week); for (var i=0; i < rows.length; i++) { var row = rows[i]; row.style.backgroundColor = DAYHIGHLIGHT; HIGHLIGHTEDCELLS[HIGHLIGHTEDCELLS.length] = row; } } // click on a day function wclick(el) { monday = el.className; form = document.getElementById('formw'); form.datelundi.value = monday.substr(2).replace(/_/g,'/').split(' ')[0]; form.submit(); }