;+
; NAME:
;       USE_SEC_DIRECT
; PURPOSE:
;       Formulates query to SEC for specified time range
;       Allows user to select list Executes the specified SQL query against the SEC
;
; CALLING SEQUENCE:
;       times = use_sec_direct(timerange=timerange  [/event]
;
; KEYWORD INPUT:
;       time_range  2 element array to use for search of SEC
; OUTPUTS:
;       times       2 element array containing selected event start and stop times
;
; KEYWORDS:
;       event       <<<< returns default times if not set ??????
;       select      if set, select the type of SEC list to use
;                    (note: default list is 'goes_xray_flare') 
;
; RESTRICTIONS:
;       Must be connected to Internet to work correctly
;       JAVA version 1.4 or later required
;
; PROJECT:
;       EGSO
; HISTORY:
;          Jul-2005  Written by Bob Bentley (MSSL/UCL)
;
;-

function  use_sec_direct, timerange=timerange, event=event, select=select, $
	verbose=verbose, debug=debug

times = '2002/07/15 ' + ['00:00:00', '23:59:59']
;times = '2002/02/20 ' + ['10:45', '11:45']

if keyword_set(timerange) then times = anytim(timerange,/ecs)

;    select a window within overall define time interval using SEC 
if keyword_set(event) then begin

;    select list type, or default to GOES flare list
  if keyword_set(select) then begin
    lists = get_sec_listnames(/quiet)
    if keyword_set(verbose) then $
      print,fmt_stc_table(lists,subset=[0,1,2],/name),format='(a,x)'

;    pick out the lists that are recognized...
    dlists = ['goes_xray_flare', 'halpha_flares_event', 'hessi_flare', $
              'noaa_proton_event', 'lasco_cme_cat']
    plists = intarr(n_elements(dlists))
    for j=0,n_elements(dlists)-1 do plists(j) = where(lists.name eq dlists(j))
    if keyword_set(verbose) then print,plists

    lists = lists(plists)
    qlist = wmenu_sel(fmt_stc_table(lists,subset=[0,1,2]),/one)
    if qlist(0) lt 0 then begin
      message,'No Event List Selected',/cont
      return,-1
    endif
    listname = lists(qlist).name
  endif else listname = 'goes_xray_flare'

  if keyword_set(verbose) then begin
    params = get_sec_listparams(listname,/quiet)
;    help,params
    print,fmt_stc_table(params),format='(a,x)'
  endif

;    get list elements covering defined time interval
  cmd = form_sec_query(listname=listname, timerange=times)
  if keyword_set(verbose) then print,cmd
  struct = decode_votable(egso_query_sec(cmd), /quiet)

  if datatype(struct) ne 'STC' then begin
    print,cmd
    help, struct
    message,'NO results returned',/cont
    return,-1
  endif
;;  if keyword_set(verbose) then help, struct,/st

;    select one entry and refine times...
  times = refine_sec_times(listname, struct, coordinates=coordinates, verb=verbose)

endif

fmt_timer, times
return, times

end
