function initcal() {
  var files = new Array( 'AnchorPosition.js','CalendarPopup.js','PopupWindow.js','date.js' );

  var head = document.getElementsByTagName('head')[0];
  var calBase;
  if ( ! calBase ) {
    var ar = head.getElementsByTagName( 'script' );
    var reg = /^(.+\/)initcal.js$/;
    for ( var i=0; i<ar.length; i++ ) {
      var cap = reg.exec( ar[i].src );
      if ( cap != null ) {
        calBase = cap[1];
        break;
      }
    }
  }
  for ( var i=0; i<files.length; i++ ) {
    var scr = head.appendChild( document.createElement( 'script' ) );
    scr.type = 'text/javascript';
    scr.src = calBase + files[i];
  }
}

function createCalendar( id, prefix, element ) {
  var div = document.body.appendChild( document.createElement( 'div' ) );
  div.id = 'jscaldiv_' + id;
  div.className = prefix + 'calDiv';
  div.style.position = 'absolute';
  div.style.visibility = 'hidden';
  div.style.zIndex = 10;

  var link = document.getElementById( 'anchor_' + id );
  link.calendar = new CalendarPopup( div.id );
  link.calendar.showNavigationDropdowns();
  link.calendar.setYearSelectStartOffset(13);
  link.calendar.setCssPrefix( prefix );
  link.onclick = calendarLinkOnClick;
  link.element = element;
}

function calendarLinkOnClick() {
  this.calendar.select( this.element, this.id, 'yyyy-MM-dd' );
  return false;
}

