  var calendarWin;
  var objDateFieldForm = null;
  var objDateFieldDisp = null;
  var intCalendarUniqueNum = Math.round(Math.random() * 10000000.);
  var strCalendarUniqueArg = intCalendarUniqueNum.toString();
  var intCalendarUniqueArgNum = 1;

  function viewCalendar (DFF, DFD) {
    var isIE = (navigator.appName.indexOf("Microsoft") != -1);
    if (isIE) {
      unloadCalendarWindow();
      objDateFieldForm = document.all[DFF];
      objDateFieldDisp = document.all[DFD];
      }
    else {
      var i = 0;
      while (objDateFieldForm == null && document.forms[i] != null) {
        objDateFieldForm = document.forms[i].elements[DFF];
        objDateFieldDisp = document.forms[i].elements[DFD];
        i += 1;
        }
      }
    intCalendarUniqueArgNum += 1;
    var href = "/_css/ViewCalendar.htm";
   
    //var href = "../_Jsp/" + "ViewCalendar.htm";

    //var href = strDocumentPath + "ViewCalendar.htm";
    href += "?Uarg=" + strCalendarUniqueArg + intCalendarUniqueArgNum.toString();
    var xpos;
    var ypos;

    if (isIE) {     // in IE, put calendar near mouse click
      xpos = event.screenX - 230;
      ypos = event.screenY - 270;
      if (xpos < 10) xpos += 250;
      if (ypos < 10) ypos += 290;
      }
    else {        // in Netscape, put calendar in screen center
      xpos = screen.width / 2 - 130;
      ypos = screen.height / 2 - 140;
      }
    var config = "height=225,width=210,resizable=yes,toolbar=no";
    config += ",menubar=no,location=no,directories=no,status=no";
    config += ",left=" + xpos.toString();
    config += ",top=" + ypos.toString();
    calendarWin = window.open (href,"viewcalendar",config);
    return false;
    }

  function unloadCalendarWindow () {
    if (calendarWin) {
      calendarWin.close();
      }
    return true;
    }

