;+
; Project     : SOHO - LASCO/EIT
;
; Name        : SELECTD
;
; Purpose     : Select images on date
;
; Category    : Utils
;
; Explanation : From a list of FITS files header is read and a keyword DATE-OBS
;		  is checked .
;
; Syntax      : result = selectd ( files, start_date, end_date )
;
; Examples    :
;
; Inputs      : STRARR files : list with FITS files to be checked
;		  STRING start_date, end_date in form : "95-MAR-8" 
;
; Opt. Inputs : None.
;
; Outputs     : STRARR result with a list of FITS files found.
;
; Opt. Outputs: None.
;
; Keywords    : None. 
;
; Common      : None.
;
; Restrictions: None.
;
; Side effects: None.
;
; History     : 22 mar 1995,Borut Podlipnik,MPAe,Written
;
; Contact     : BP, borut@lasco1.mpae.gwdg.de
; 
;
; Calls       : anytim2utc(), grep(), headfits()
;-


FUNCTION selectd,files,begin_date,end_date

IF N_ELEMENTS(files) EQ 0 THEN BEGIN
	sfiles = strarr(1) 
	sfiles(0) = ''
	RETURN,sfiles
ENDIF

b_date = anytim2utc(begin_date)
e_date = anytim2utc(end_date)

b_date = b_date.(0)
e_date = e_date.(0)

IF b_date GT e_date THEN BEGIN
	tmp_date = b_date
	b_date = e_date
	e_date = tmp_date
ENDIF
	
n = N_ELEMENTS(files)
sfiles=''
FOR i=0,n-1 DO BEGIN
   tmp = STRCOMPRESS(files(i),/REMOVE_ALL)
   head = headfits(tmp)
   IF N_ELEMENTS(head) EQ 1  THEN GOTO,nexth
   date_obs = GREP('DATE-OBS',head)       ; YOHKOH

   IF STRLEN(date_obs) EQ 0 THEN BEGIN
    date_obs = GREP('DATE_OBS',head)      ; LASCO

   ENDIF
   
   IF STRLEN(date_obs) EQ 0 THEN GOTO,nexth

   ;date_obs = STRCOMPRESS(grep('DATE-OBS',head),/REMOVE_ALL)
   date_obs = STRCOMPRESS(date_obs,/REMOVE_ALL)
 
   fc = STRPOS(date_obs,"'")

   IF fc GT 0 THEN BEGIN 	 ; format :  DATE-OBS= '21/01/95'           /        
                                 ;     or :  DATE_OBS= '1996/01/31'                                 
	lc = RSTRPOS(date_obs,"'")
	d_obs = STRMID(date_obs,fc+1,lc-fc-1)
   ENDIF ELSE BEGIN		 ; format :  DATE-OBS=           28-MAR-95 /
	fc = STRPOS(date_obs,'=') + 1
	lc = RSTRPOS(date_obs,'/') 
	date_obs = STRMID(date_obs,fc,lc-fc)
	fc = STRPOS(date_obs,"-") 
	lc = RSTRPOS(date_obs,"-") 
	d_obs = STRMID(date_obs,lc+1,2) + STRMID(date_obs,fc,lc-fc+1) + STRMID(date_obs,0,fc)
   ENDELSE

   d_obs = anytim2utc(d_obs)
   stime = d_obs.(0)	
   IF (stime GE b_date) AND $
      (stime LE e_date) THEN sfiles = [sfiles,tmp]
nexth:
ENDFOR

RETURN,sfiles
END
