;+
; NAME
;          EIS_CHECK_PLANNING_DB
;
; PURPOSE
;          This function checks the CMDPLN directory is valid
;
; INPUTS
;          None
;
; WRITTEN
;          John A Rainnie, RAL, 16-Jul-2008
;
; HISTORY
;          v0.2 JAR 21-Aug-2008
;               Changed $HOME/cmdpln to $HOME/remote_planning/cp/cmdpln
;          v0.3 JAR 6-May-2009
;               In the interests of MS users, make directory checking
;               case-insensitive!
;
;-
;______________________________________________________________________________
FUNCTION eis_check_planning_db , textID , wait_t

valid = 1B
mText = "Checking PLANNING_DB................................."
WIDGET_CONTROL , textID , set_value = STRING(format="(A-50)",mText) , /APPEND


CASE IS_BLANK( GETENV('ZDBASE_USER') ) OF
   1  :    BEGIN
               valid = 0B
               mText = "The ZDBASE_USER environment variable is NOT set."
           END
   ELSE :  mText = "ZDBASE_USER environment variable is set"
ENDCASE
WIDGET_CONTROL , textID , set_value = STRING(format="(A-4,A-50)","",mText) , /APPEND
WAIT , wait_t
IF (valid EQ 0) THEN RETURN , 0

; Remove "+" suffix from environment variable
zdbase_user = STRMID(GETENV('ZDBASE_USER') , 1)

; Should be $HOME/planning_db. Check!
should_be = STRJOIN([GETENV('HOME'),'planning_db'],PATH_SEP(),/SINGLE)
; JAR 6-May-2009 - make directory checking case-insensitive
CASE ( STRLOWCASE(zdbase_user) NE STRLOWCASE(should_be) ) OF
   1    :  BEGIN
               valid    = 0B
               mText = "The planning_db folder must be in your $HOME folder."
           END
   ELSE :  mText = "ZDBASE_USER environment variable is OK"
ENDCASE
WIDGET_CONTROL , textID , set_value = STRING(format="(A-4,A-50)","",mText) , /APPEND
WAIT , wait_t
IF (valid EQ 0) THEN RETURN , 0

CASE FILE_TEST( zdbase_user , /DIRECTORY) OF
   0    :  BEGIN
               valid    = 0B
               mText = "There is no $HOME/planning_db folder."
           END
   ELSE :  mText = "$HOME/planning_db directory exists OK"
ENDCASE
WIDGET_CONTROL , textID , set_value = STRING(format="(A-4,A-50)","",mText) , /APPEND
WAIT , wait_t
IF (valid EQ 0) THEN RETURN , 0

;
; Check planning_db/subfolders; latest, today and tomorrow folders exist
;
dir_name      = ["EIS_CPT_input","study_descriptions","technical_db","timeline_db"]
FOR i = 0, N_ELEMENTS(dir_name) - 1 DO BEGIN

   dir = STRJOIN([zdbase_user,dir_name[i]] , /SINGLE , PATH_SEP())
   IF (FILE_TEST(dir) EQ 1) THEN BEGIN
       value = STRJOIN(['$ZDBASE_USER/',dir_name[i], ' folder is OK'],/SINGLE)
       mText = STRING(format="(A-4,A-50)","",value)
       WIDGET_CONTROL , textID , set_value = mText , /APPEND
       WAIT , wait_t
   ENDIF ELSE BEGIN
       valid = 0B
       value = STRJOIN(['$ZDBASE_USER/',dir_name[i], " folder doesn't exist!"],/SINGLE)
       mText = STRING(format="(A-4,A-50)","",value)
       WIDGET_CONTROL , textID , set_value = mText , /APPEND
       WAIT , wait_t
       RETURN , 0
   ENDELSE
ENDFOR


RETURN , valid

END