var calendar = null;
var oldLink = null;
function setActiveStyleSheet(link, 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;
    }
  }
  if (oldLink) oldLink.style.fontWeight = 'normal';
  oldLink = link;
  link.style.fontWeight = 'bold';
  return false;
}

function selected(cal, date) {
  cal.sel.value = date; 
  if (cal.sel.id == 'sel1' || cal.sel.id == 'sel3')
    cal.callCloseHandler();
}

function closeHandler(cal) {
  cal.hide();                     
  Calendar.removeEvent(document, 'mousedown', checkCalendar);
}

function checkCalendar(ev) {
  var el = Calendar.is_ie ? Calendar.getElement(ev) : Calendar.getTargetElement(ev);
  for (; el != null; el = el.parentNode)
 
    if (el == calendar.element || el.tagName == 'A') break;
  if (el == null) {
    calendar.callCloseHandler();
    Calendar.stopEvent(ev);
  }
}
function showCalendar(id, format) {
  var el = document.getElementById(id);
  if (calendar != null) {

    calendar.hide();                
  } else {
    // first-time call, create the calendar.
    var cal = new Calendar(true, null, selected, closeHandler);
    calendar = cal;                 
    cal.setRange(1900, 2070);    
    cal.create();
  }
  calendar.setDateFormat(format);  
  calendar.parseDate(el.value);    
  calendar.sel = el;                
  calendar.showAtElement(el);      
  Calendar.addEvent(document, 'mousedown', checkCalendar);
  return false;
}

var MINUTE = 60 * 1000;
var HOUR = 60 * MINUTE;
var DAY = 24 * HOUR;
var WEEK = 7 * DAY;

function isDisabled(date) {
  var today = new Date();
  return (Math.abs(date.getTime() - today.getTime()) / DAY) > 10;
}

function flatSelected(cal, date) {
  var el = document.getElementById('preview');
  el.innerHTML = date;
}

function showFlatCalendar() {
  var parent = document.getElementById('display');

  var cal = new Calendar(true, null, flatSelected);
  cal.setDisabledHandler(isDisabled);
  cal.setDateFormat('DD, M d');
  cal.create(parent);
  cal.show();
}
