// Revised from http://www.dynarch.com/demos/jscalendar/
var _dynarch_popupCalendar = null;

function closeHandler(cal) {
  cal.hide();                        // hide the calendar
  _dynarch_popupCalendar = null;
}

function selected(cal, date) {
  _dynarch_popupCalendar.sel[0].value = cal.date.getFullYear();
  _dynarch_popupCalendar.sel[1].value = cal.date.getMonth()+1;
  _dynarch_popupCalendar.sel[2].value = cal.date.getDate();
//  cal.callCloseHandler();
}

function showCalendar(id, format, sel) {
  var el = $(id);
  if (_dynarch_popupCalendar != null) {
    _dynarch_popupCalendar.hide();   
  } else {
    var cal = new Calendar(1, null, selected, closeHandler);
    cal.showsTime = false;
    cal.showsOtherMonths = true;
    _dynarch_popupCalendar = cal;
    cal.setRange(1900, 2070); 
    cal.create();
  }
  _dynarch_popupCalendar.setDateFormat(format); // set the specified date format
  _dynarch_popupCalendar.parseDate(sel[0].value+"-"+sel[1].value+"-"+sel[2].value);   // try to parse the text in field
  _dynarch_popupCalendar.sel = sel;
  _dynarch_popupCalendar.showAtElement(el, "Br"); // show the calendar
  _dynarch_popupCalendar.show();    // set display to block
  _dynarch_popupCalendar.setzIndex(300);    // set high z-index ensure it is on the top

  return false;
}
