;+
; PROJECT
;           SolarB EIS
;
; NAME
;           eis_create_jside_filenames
;
; PURPOSE
;           Function to generate a list of filenames
;
; CATEGORY
;           EIS Timeline Planning
;
; INPUTS
;           None
;
; WRITTEN
;           V0.0 Written by John Rainnie (RAL) 23 Aug 2006
;
; VERSION
;           v0.1 JAR 27-Nov-2007
;              The cmdpln folder contains a bunch of daily folders;
;              eg: $HOME/cmdpln/20071116. These contain the J-Side
;              input files; eg: re-pointing, station events, etc.
;              However, these files are subsequently moved to a sub-
;              directory $HOME/cmdpln/20071116/auxiliary (for some
;              unknown reason). So, modified this routine to first search
;              the top-level directory for the files, and if it can't find
;              them then also search the auxiliary directory. Over and out
;
;-
;______________________________________________________________________________
FUNCTION eis_create_jside_filenames , ds                 ,                  $
                                      stev    = stev     ,                  $
                                      obev    = obev     ,                  $
                                      dr      = dr       ,                  $
                                      op      = op       ,                  $
                                      repoint = repoint

IF (STRLEN(GETENV('CMDPLN')) EQ 0) THEN RETURN , ''

; Get prefix
prefix = ''
IF KEYWORD_SET(stev)    THEN prefix = 'stev_'
IF KEYWORD_SET(obev)    THEN prefix = 'obev_'
IF KEYWORD_SET(dr)      THEN prefix = 'dr_'
IF KEYWORD_SET(op)      THEN prefix = 'op_period_'
IF KEYWORD_SET(repoint) THEN prefix = 're-point_'
IF (STRLEN(STRTRIM(prefix,2)) EQ 0) THEN RETURN , ''

; Get extension
extension = '.*'
;IF KEYWORD_SET(stev) THEN extension = '.evt'
;IF KEYWORD_SET(obev) THEN extension = '.evt'
;IF KEYWORD_SET(dr)   THEN extension = '.evt' ; bloody changed again!!!
;IF KEYWORD_SET(op)   THEN extension = '.evt'

; PassID
passID = '*'


; Get pathName
;pathName = '$HOME/cmdpln/latest'
;fileName = STRARR(N_ELEMENTS(ds))
fileName = ''

FOR i = 0 , N_ELEMENTS(ds) -1 DO BEGIN

    pathName     = STRJOIN([GETENV('CMDPLN') , ds[i]] , PATH_SEP() , /SINGLE)
    pathName_aux = STRJOIN([pathName ,'auxiliary']    , PATH_SEP() , /SINGLE)
    ; Eg:   pathName     = $HOME/cmdpln/20071116
    ;       pathName_aux = $HOME/cmdpln/20071116/auxiliary

    ; Generate baseName
    baseName = STRJOIN([prefix,ds[i],passID,extension],/SINGLE)
    new_fileName     = CONCAT_DIR(pathName     , baseName)
    new_fileName_aux = CONCAT_DIR(pathName_aux , baseName)

    ; Check for the file in the main directory
    exists = FILE_TEST(new_fileName)

    ; If file NOT found, then search in the auxiliary folder
    IF (exists EQ 0) THEN BEGIN
       new_fileName = CONCAT_DIR(pathName_aux , baseName)
       exists = FILE_TEST(new_fileName_aux)
    ENDIF

    ; Generate a fileName
    CASE fileName[0] OF
       ''   : fileName = new_fileName
       ELSE : fileName = [fileName,new_fileName]
    ENDCASE


ENDFOR

IF (STRLEN(fileName[0]) EQ 0) THEN RETURN , ''

; Obviously, we only want files that really, really exist!
valid_file = FILE_SEARCH(fileName , /FOLD_CASE , count = count)

RETURN , valid_file

END
