;+
; PROJECT:
;           Solar-B EIS
;
; NAME:
;           eis_plot_rpev
;
; PURPOSE:
;           Plots any of given resource item on the resource row
;
; CATEGORY:
;           Planning, Science
;
; EXPLANATION:
;           This routine plots any of the resource items on the science
;           plan display. Currently, DSN contact times, commanding times
;           (throughput RCR), and delayed commanding times
;           (payload_reserved) should be plotted on the same row; Other
;           station events should be plotted on the other row.
;           Based on "/ssw/soho/gen/idl/science/plot_resource.pro"
;           retained backbone of procedure but changed resouse names etc for EIS
;           choice of row and subrow, now depends on resource type
;
; SYNTAX:
;           plot_resource, resource, startdis, row
;
; INPUTS:
;           RESOURCE -  Array of {eis_timeline_graphics_resource} structures
;                       that has at least the following tags:
;               RES_NAME   - Resource type (name of resource item)
;               START_TIME - The beginning times of the resource item, in TAI
;               end_time   - The end times of the resource item, in TAI
;
;           STARTDIS - Start time of the display, in any CDS time format
; KEYWORDS:
;           ROW       - row number in which the item is plotted (default: 0)
;
; RESTRICTIONS:
;           PLOT_FRAME must be called first.
;
; WRITTEN
;          John Rainnie Aug-2005 RAL
;
; HISTORY
;          v0.1 JAR 19-Sep-2007
;               Check "rpev" is a structure. If not, bail out!
;          v0.2 JAR 13-Jun-2008
;               Tidied up!
;
;-
;
;______________________________________________________________________________
PRO eis_plot_rpev, rpev , startdis , row = row

IF (N_TAGS(rpev) EQ 0) THEN RETURN

datastart      = anytim2utc(startdis)
datastart.time = 0
daystart       = utc2tai(datastart) ; start of STARTDIS in TAI

; Add 2 minute buffer before and after
start_time = rpev.date_time - (2. * 60)
stop_time  = rpev.date_time + (2. * 60)

; Get start and stop times in hours
t1 = (start_time - daystart) / 3600.D0
t2 = (stop_time  - daystart) / 3600.D0

;---------------------------------------------------------------------------
;  There are 3 types of EIS station events: PERTH, UCHINOURA contact
;  and SVALBARD contact ground based support.
;---------------------------------------------------------------------------
color = 1
CASE rpev.track OF
    0     : color   = 1     ; RED
    1     : color   = 2     ; GREEN
    2     : color   = 3     ; BLUE
    3     : color   = 4     ; CYAN
    4     : color   = 5     ; YELLOW
    ELSE  : color   = 1     ; RED
ENDCASE

;---------------------------------------------------------------------------
;  Match number of sub rows in the resource row
;---------------------------------------------------------------------------
num_rows = 1

;---------------------------------------------------------------------------
;  Sub-row width refelcts the fact that there is 5% of space reserved
;  in the bottom and top of the row
;---------------------------------------------------------------------------
sub_row = 0
srow_wid = 0.9/num_rows

y1 = row + 0.05 + (sub_row * srow_wid)
y2 = y1  + srow_wid
x1 = t1 > !x.crange(0)
x2 = t2 < !x.crange(1)
IF (x2 GT x1) THEN POLYFILL , [x1 , x2 , x2 , x1] ,                         $
                              [y1 , y1 , y2 , y2] , color = color


END
