function cdrom_files, t0, t1, weeks=weeks, directories=directories,  $
         day=day, mag_disk=mag_disk, dir_command=dir_command, $
         jb_name=jb_name, jb_directory=jb_directory, $
         sfd=sfd, flare=flare, _extra=_extra, debug=debug, refresh=refresh

common cdrom_files_blk, cddir
common cdrom_files_blk2, jbenvc

if n_params() eq 1 and n_elements(day) eq 0 then $
   day=gt_day(t0,/string)

if data_chk(_extra,/struct) then $
   pre=strlowcase(tag_names(_extra)) else pre='' 

refresh=keyword_set(refresh)
if n_elements(jbenvc) eq 0 then jbenvc=''

jbenv=(get_logenv('jb_name'))(0)

case 1 of 
   data_chk(jb_name,/string): jb_command='showmount -e ' + $
      str_replace(strlowcase(strcompress(jb_name)),'showmount -e','')   
   data_chk(jb_command,/string):
   jbenv ne '': begin
      if jbenvc ne jbenv then begin  
         box_message,'Using JukeBox environmental: ' + jbenv(0)
         jbenvc = jbenv
      endif
      jbarr=str2arr(jbenv,' ')
      if n_elements(jbarr) gt 1 then jb_command=jbenv else $
          jb_command='showmount -e ' + jbenv(0) 
   endcase
   else: jb_command='showmount -e solserv'             ; default cmd/name
endcase     

case 1 of
   data_chk(mag_disk,/string): begin
       cddir=file_list(mag_disk,'??_??a',/quiet)
       if cddir(0) eq '' then cddir=file_list(mag_disk,'????_??')
   endcase
   n_elements(mag_disk) eq 1: begin
      cddir=file_list('$DIR_SITE_ONLINE_WEEKS','??_??a')
      if cddir(0) eq '' then cddir=file_list('$DIR_SITE_ONLINE_WEEKS','????_??')
   endcase
   refresh or (n_elements(cddir) eq 0):begin
      jb_command=strtrim(jb_command,2)
      if strpos(jb_command,'showmount') ne -1 then begin 
         smdirs=str2arr('/usr/sbin,/bin,/usr/local/bin')
         smpath=concat_dir(smdirs,'showmount')
         chk=where(file_exist(smpath),smcnt)
         if smcnt gt 0 then jb_command=str_replace(jb_command,'showmount',$
               smpath(chk(0))) 
      endif 
      spawn,str2arr(jb_command,' '),/noshell,cddir   ; directory (multi colum?)
      cols=str2cols(cddir,' ')                       ; 1D->2D
      strtab2vect,cols,cddir                         ; 2D->1D
    endcase
   else:
endcase   

debug=keyword_set(debug)
break_file,cddir,ll,pp,ff,vv,ee

dirs=cddir
;if keyword_set(mag_disk) then dirs=cddir $
;  else dirs=strsplit(cddir,/head)
if keyword_set(day) then  weeks=anytim2weekinfo(day,/year2)

case 1 of
   keyword_set(sfd):   fss=wc_where(dirs,'*/sfd*',sscnt)
   keyword_set(flare): fss=wc_where(dirs,'*/fdat*',sscnt)
   keyword_set(weeks): begin
      fss=-1
      for i=0,n_elements(weeks)-1 do begin
           if keyword_set(mag_disk) then $
           fss=[fss,where(strpos(cddir,weeks(i)) ne -1)] else $ 
       fss=[fss,wc_where(dirs,'*/'+weeks(i)+'*')]
           chk=where(fss ne -1, sscnt)
       if sscnt gt 0 then fss=fss(chk) else $
            box_message,'Week ' + weeks(i) + ' not '+ $
            (['in CD Jukebox',' online '])(keyword_set(mag_disk))
         endfor 
   endcase
   else: begin
     fss=lindgen(n_elements(dirs))
     sscnt=n_elements(dirs)
   endcase
endcase  
if debug then stop
if sscnt  eq 0 then begin
   box_message,'No files found ...'
   return,-1
endif

dirs=dirs(fss)

if keyword_set(directories) then retval=dirs else $
    retval=file_list(dirs,pre+'*',/cd)
if retval(0) eq '' then begin 
   ndir=concat_dir(dirs,weeks+'A')
   if file_exist(ndir) then begin     ; nested 
      box_message,'Nested directory....'
      dirs=ndir
      retval=file_list(dirs,pre+'*',/cd)
   endif
endif
if n_params() eq 2 then begin
   times=file2time(retval,out_sty='ints')
   ss=sel_timrange(times,t0,t1,/betw)
   if ss(0) ne -1 then retval=retval(ss) else retval=''
endif

if keyword_set(day) then begin
   fid=time2file(day,delim='.',/year2,/date_only)
   ss=where(strpos(retval,fid(0)) ne -1, sscnt)
   if sscnt gt 0 then retval=retval(ss) else retval=''
endif

if debug then stop
return,retval
end