/* -*- 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();
}
