var calendar = null;

function setActiveStyleSheet(title) {
  var i, a, main;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) {
      a.disabled = true;
      if(a.getAttribute("title") == title) a.disabled = false;
    }
  }
  document.getElementById("style").innerHTML = title;
  return false;
}

function selected(cal, date) {
  cal.sel.value = date;
}

function closeHandler(cal) {
  cal.hide();
  cal.sel.date = new Date(cal.date);

  removeEvent(document, "mousedown", checkCalendar);
}

function checkCalendar(ev) {
  var el = is_ie ? getElement(ev) : getTargetElement(ev);
  for (; el != null; el = el.parentNode)
    if (el == calendar.element || el.tagName == "A") break;
  if (el == null) {
    calendar.callCloseHandler();
  }
}

function showCalendar(id) {
  var el = document.getElementById(id);
  if (calendar != null) {
    calendar.hide();
    if (el.date)
      calendar.setDate(el.date);
  } else {
    var cal = new Calendar(true, null, selected, closeHandler);
    calendar = cal;
    cal.setRange(1900, 2070);
  }
  calendar.sel = el;
  calendar.showAtElement(el);
  addEvent(document, "mousedown", checkCalendar);

  return false;
}
