pro get_fileid, dir, fid_arr, menu_arr
;
;
;
if (n_elements(dir) eq 0) then dir = ' '
cmd = 'ls -1 ' + dir + ' | sort +0.3 > dum.dum'
print, 'Getting a list of FileIDs'
spawn, cmd
;
nbuff = 10
fid_arr = strarr(nbuff)
menu_arr = strarr(nbuff)
ifid = 0
;
menu_arr(0) = ' FileID           SPR SFR BDA HDA WDA ADA CBA'
last_fid = 'xx'
onoff = intarr(7)
;
get_lun, lun
openr, lun, 'dum.dum
while not eof(lun) do begin
    lin = ' '
    readf, lun, lin
    break_file, lin, dsk_log, dir0, filnam, ext
    fid = strmid(filnam, 3, 6) + ext
    ;
    prefix = strmid(filnam, 0, 3)
    case prefix of
	'spr': onoff(0) = 1
	'sfr': onoff(1) = 1
	'bda': onoff(2) = 1
	'hda': onoff(3) = 1
	'wda': onoff(4) = 1
	'ada': onoff(5) = 1
	'cba': onoff(6) = 1
	else:
    endcase
    ;
    if (((fid ne last_fid) and (last_fid ne 'xx')) or eof(lun)) then begin
	fid_arr(ifid) = last_fid
	menu_arr(ifid+1) = fid_arr(ifid) + string(onoff, format='(5x, 7(3x,i1))')
	onoff = intarr(7)
	ifid = ifid + 1
	if (n_elements(menu_arr) ge ifid+1) then begin
	    fid_arr = [fid_arr, strarr(nbuff)]
	    menu_arr = [menu_arr, strarr(nbuff)]
	end
    end
    ;
    last_fid = fid
end
;
;eof(lun) conditional above does not work - not eof yet - MESSY
fid_arr(ifid) = last_fid
menu_arr(ifid+1) = fid_arr(ifid) + string(onoff, format='(5x, 7(3x,i1))')
;
fid_arr  = fid_arr(0:ifid)
menu_arr = menu_arr(0:ifid)
;
free_lun, lun
spawn, 'rm dum.dum
;
end
