
;+ ***********************************************************************
; NAME:
;	COMP_DATE
;
; PURPOSE:
;	Cette fonction compare 2 chaines de caracteres contenant des dates.
;	Si la date 1 est posterieure a la date 2 elle retourne 1, sinon elle
;	retourne -1
;	Elle retourne 0 en cas d'erreur de format de date 
;
; CATEGORY:
;	Calculs
;
; CALLING SEQUENCE:
;	Resultat = COMP_DATE( Date1, Date2)
;
; INPUTS:
;	DATE1	Date sous forme 'AAAA/MM/JJ' ou 'JJ/MM/AA'
;	DATE2	Date sous forme 'AAAA/MM/JJ'.ou 'JJ/MM/AA'
;
; KEYWORD PARAMETERS:
;
;
; OUTPUTS:
;
; EXAMPLE:
;	RES = COMP_DATE (Date, '21/04/98')
;		Res = -1 si date anterieure au 21 Avril 1998 
;
; MODIFICATION HISTORY:
;	Ecrit par: J Bonmartin le 07/04/98 (bonmartin@obspm.fr)
;	Traitement de l'annee sur 4 chiffres le 09/06/98 (J B)
;-*******************************************************************

FUNCTION COMP_DATE, Date1, Date2

	D1 = STR_SEP(Date1, '-')
	D2 = STR_SEP(Date2, '-')

	IF (SIZE(d1))(1) NE 3  THEN BEGIN
		D1 = STR_SEP(Date1, '/')
			A=D1(2) & D1(2)=D1(0) & D1(0)=A
	END
	IF (SIZE(d2))(1) NE 3 THEN BEGIN
		D2 = STR_SEP(Date2, '/')
			A=D2(2) & D2(2)=D2(0) & D2(0)=A
	END
			;erreur de format de date
	IF (SIZE(d1))(1) NE 3 OR (SIZE(d2))(1) NE 3 THEN RETURN,0

	IF D1(0) GT D2(0) THEN RETURN, 1
	    IF D1(0) EQ D2(0) AND D1(1) GT D2(1) THEN RETURN, 1
		IF D1(1) EQ D2(1) AND D1(2) GT D2(2) THEN RETURN, 1
RETURN, -1
END

;+ ***********************************************************************
; NAME:
;	UPD_NRH2DFITS
;
; PURPOSE:
;	Cette procedure modifie les HEADER des fichiers FITS NRH2D, afin de
;	les rendre compatible avec les modifications du logiciel
;
; CATEGORY:
;	Fichiers FITS
;
; CALLING SEQUENCE:
;	UPD_NRH2DFITS, File
;
; INPUTS:
;	FILE 	Nom du fichier a modifier
;
; KEYWORD PARAMETERS:
;
; OUTPUTS:
;
; PROCEDURE:
;	Cette procedure devra etre adaptee chaque fois qu'une modification
;	des Headers aura des repercussions sur le traitement.
;	Elle modifie le contenu des KEYWORDS directement dans le fichier. Il
;	faut donc avoir un droit d'ecriture sur le fichier pour l'executer.
;
;	Cette procedure remet la date dans le keyword DATE du header primaire
;	dans le cas de modifications
;
;	Elle est appelee par CW_NRHFILE, dans le cas de fichiers 2D.
;
; LISTE DES MISES A JOUR:
;	AVRIL 98	Remplace STOKES I et STOKES V par STOKESI et STOKESV
;
; EXAMPLE:
;
; MODIFICATION HISTORY:
;	Ecrit par: J Bonmartin le 07/04/98
;-*******************************************************************


PRO UPD_NRH2DFITS, File

MODIF = 0
ERRMSG = ''

	HEADER = HEADFITS(File, EXTEN=0)
	Date= FXPAR (Header, 'DATE')

;	Modification de STOKESI, STOKESV avant avril 98
IF COMP_DATE(Date,'1998-05-01') EQ -1 THEN BEGIN
		HEADER = HEADFITS(File, EXTEN=1)
		VAL = FXPAR(Header, 'TTYPE3')
		IF !ERR NE -1 THEN BEGIN
			FXHMODIFY, File,'TTYPE3','STOKESI',EXTENSION=1
			MODIF = 1 &END
		VAL = FXPAR(Header, 'TTYPE4')
		IF !ERR NE -1 THEN BEGIN
			FXHMODIFY, File,'TTYPE4','STOKESV',EXTENSION=1
			MODIF = 1 &END 
ENDIF

IF MODIF EQ 1 THEN BEGIN
	DATE = BIN_DATE ( SYSTIME())
	str_date = FORM_DATE()
	FXHMODIFY, File,'DATE', Str_date
END

END