; gets the user to select any valid region

function SelectReg, RegName, ModelBoxN

print, "  > Select region number (-1=list):"
ThisReg    = -2L
ExitDelete = 0
while (ExitDelete EQ 0) do begin
  if (ThisReg EQ -1) then begin						; list regions
    for XReg = 1L, ModelBoxN, 3L do begin
      if (RegName(XReg-1) NE "" OR RegName(XReg+0) NE "" OR RegName(XReg+1) NE "") then $
      	print, strtrim(RegName(XReg-1),2), ' =', (XReg-1), $
      	       strtrim(RegName(XReg+0),2), ' =', (XReg+0), $
      	       strtrim(RegName(XReg+1),2), ' =', (XReg+1), format="(3(a20,a2,i6))"
    endfor
  endif

  ExitCheck = 0
  while (ExitCheck EQ 0) do begin
    read, ThisReg
    
    if            (ThisReg EQ -1) then begin
      ExitCheck  = 1
    endif else if (ThisReg EQ -99) then begin
      ExitCheck  = 1
      ExitDelete = 1
    endif else if (ThisReg EQ -999) then begin
      ExitCheck  = 1
      ExitDelete = 1
    endif else if (ThisReg GE 0 AND ThisReg LT ModelBoxN) then begin
      if (RegName (ThisReg) NE "") then begin			; region not missing
        ExitDelete = 1						; exit variables set appropriately
    	ExitCheck  = 1
      endif
    endif
  endwhile
endwhile

return, ThisReg

end
