      subroutine intfac(filein)
      include 'screen.inc'
      character*(*) filein
      logical fexist
      logical yesno
      external yesno
c
c   set options for screen colors
c
      ibckgd=0
      icolor=14
      ivpage=0
      iblink=0
      iout=4
c   set up screen for text mode
      call screen(0,1,80,0,ierror)
      call setbrd(ibckgd,ierror)
c   set cursor to big block for moving around screen
      call curtyp(0,7)
c
c   presentation page
c
      call ttlpag
c
c   open up file to receive input
c
      filein='tran00.inp'
      nchar=0
 5    inquire(file=filein,exist=fexist)
      if (fexist) then
         nchar=nchar+1
         write(filein,'(a,i2.2,a)') 'tran',nchar,'.inp'
         go to 5
      endif
      open(unit=iout,status='new',file=filein)
c
c   get title of run
c
 10   call getitl
c
c   get distance and line length units
c
      call getdis
c
c   get line lengths and number of sightings for each line
c
      call getlls
c
c   get options for data analysis and input
c
      call getopt
c
c   get data status options if GRPD not set
c
      if (option(2).eq.0) call getsts
c
c   get descriptive output options if DESC set
c
      if (option(4).eq.1) call getdsc
c
c   get perpendicular distance estimators if PEST set
c
      if (option(5).eq.1) call getpst
c
c   get sighting distance estimators if SEST set
c
      if (option(6).eq.1) call getsst
c
c   get cutpoints if CUTP is set
c
      if (option(7).eq.1) call getcut
c
c   get data
c
      if (option(2).eq.1) then
         call getgrp
      else
         call getung
      endif
c
c   Determine if another problem is to be entered
c
      call cls
      irow=10
      icol=5
      line='Do you want to enter another TRANSECT problem?'
      if (yesno(1)) then
         write(iout,'(a)') 'END.'
         go to 10
      endif
c
c   close out
c
      close(unit=iout,status='keep')
      call curtyp(6,7)
      call cls
      return
      end
