FUNCTION IGETFXY ( STR, CFXY )

C$$$  SUBPROGRAM DOCUMENTATION BLOCK
C
C SUBPROGRAM:    IGETFXY
C   PRGMMR: ATOR            ORG: NP12       DATE: 2007-01-19
C
C ABSTRACT:  THIS FUNCTION LOOKS FOR AND RETURNS A VALID FXY NUMBER
C   FROM WITHIN THE GIVEN INPUT STRING.  THE FXY NUMBER MAY BE IN
C   FORMAT OF EITHER FXXYYY OR F-XX-YYY WITHIN THE INPUT STRING, BUT
C   IT IS ALWAYS RETURNED IN FORMAT FXXYYY UPON OUTPUT.
C
C PROGRAM HISTORY LOG:
C 2007-01-19  J. ATOR    -- ORIGINAL AUTHOR
C
C USAGE:    IGETFXY ( STR, CFXY )
C   INPUT ARGUMENT LIST:
C     STR      - CHARACTER*(*): INPUT STRING
C
C   OUTPUT ARGUMENT LIST:
C     CFXY     - CHARACTER*6: FXY NUMBER IN FORMAT FXXYYY
C     IGETFXY  - INTEGER: RETURN CODE:
C                       0 = normal return
C                      -1 = could not find a valid FXY number in STR
C
C REMARKS:
C    THIS ROUTINE CALLS:        JSTCHR   NUMBCK
C    THIS ROUTINE IS CALLED BY: GETNTBE  SNTBDE
C                               Normally not called by any application
C                               programs.
C
C ATTRIBUTES:
C   LANGUAGE: FORTRAN 77
C   MACHINE:  PORTABLE TO ALL PLATFORMS
C
C$$$

	CHARACTER*(*)	STR
	CHARACTER*6	CFXY

	PARAMETER  ( LSTR2 = 120 )
	CHARACTER*(LSTR2)  STR2

C-----------------------------------------------------------------------
C-----------------------------------------------------------------------

	IGETFXY = -1

	LSTR = LEN ( STR )
	IF ( LSTR .LT. 6 ) RETURN

C	Left-justify a copy of the input string.

	IF ( LSTR .GT. LSTR2 ) THEN
	    STR2(1:LSTR2) = STR(1:LSTR2)
	ELSE
	    STR2 = STR
	ENDIF
	CALL JSTCHR ( STR2, IRET )
	IF ( IRET .NE. 0 ) RETURN

C	Look for an FXY number.

	IF ( INDEX ( STR2, '-' ) .NE. 0 ) THEN
C	    Format of field is F-XX-YYY.
	    CFXY(1:1) = STR2(1:1)
	    CFXY(2:3) = STR2(3:4)
	    CFXY(4:6) = STR2(6:8)
	ELSE
C	    Format of field is FXXYYY.
	    CFXY = STR2(1:6)
	ENDIF

C	Check that the FXY number is valid.

	IF ( NUMBCK ( CFXY ) .EQ. 0 ) IGETFXY = 0

	RETURN
	END