  
    
    
  function   fPopUpCalendarDlg(currentvalue,   minyear,   maxyear)   
  {   
          showx   =   event.screenX   -   event.offsetX;         //   +   deltaX;   
          showy   =   event.screenY   -   event.offsetY+18;   //   +   deltaY;   
          newWINwidth   =   210   +   4   +   18;   
          writeCookie("minyear",   minyear,   1);   
          writeCookie("maxyear",   maxyear,   1);   
          writeCookie("currentvalue",   currentvalue,   1);   
          retval   =   window.showModalDialog("calendar/calendar.htm",   "",   
                                                                          "dialogWidth:290px;   dialogHeight:180px;   dialogLeft:"+showx+   
                                                                          "px;   dialogTop:"+showy+   
                                                                          "px;   help:no;   status:no;   directories:yes;scrollbars:no;Resizable=no;   ");   
    
          if(   retval   !=   null   )   
          {   
                  return   retval;   
          }   
          else   
          {   
                  return   currentvalue;   
          }   
  }   
    
  function   writeCookie(name,   value,   hours)   
  {   
          var   expire   =   "";   
          if(hours   !=   null)   
          {   
                  expire   =   new   Date((new   Date()).getTime()   +   hours   *   3600000);   
                  expire   =   ";   expires="   +   expire.toGMTString();   
          }   
    
          document.cookie   =   name   +   "="   +   escape(value)   +   expire;   
  }   
    
  function   isDate(datestr)   
  {   
          if(datestr.length!=10)   
          {   
                  return   false;   
          }   
          else   
          {   
                  var   from_date=   new   Date(datestr.substr(5,2)   +   "/"   +   datestr.substr(8,2)   +"/"+   datestr.substr(0,4));   
                  if(isNaN(from_date)||from_date.getMonth()!=parseInt(datestr.substr(5,2))-1)   
                  {   
                          return   false;   
                  }   
          }   
          return   true;   
  }