(procedure SetEnglish (
(set STROui                 "Yes")
(set STRNon                 "No")
(set STRAideNon             "If you choose No, you will be ask for a directory.")
(set STRVersionInf (cat "An inferior version of Blitzbank\n is already installed.\n"
                             "Do you want to install this version %ld.%ld\n at its place ?"))
(set STRVersionInfConnue   (cat  "Blitzbank V%ld.%ld is already installed.\n"
                             "Do you want to install this version %ld.%ld\n at its place ?"))
(set STRMemeVersion        (cat  "The same version of Blitzbank (V%ld.%ld)\n is already installed.\n"
                             "Do you want to reinstall it\n in the same directory ?"))
(set STRVersionSup      (cat "Blitzbank V%ld.%ld is already installed.\n"
                             "Do you want to install this old version %ld.%ld\n at its place ?"))
(set STRQuelRep             "In which Directory Would you like\n to install %s %ld.%ld ?\n(a new directory will be created.)")
(set STRAideQuelRep         "A new directory named \"BlitzBank\" will be created.")
(set STRCopie               "Copying Files To %s")
(set STRCopieLocale         "Copying Files To \"locale:catalogs/%s\"")
(set STRCopieFont           "Copying Fonts")
(set STRAjouteStartup       "I am going to update your User-Startup...")
(set STRAideStartup         "Select PROCEED to insert the Assign command in your User-Startup.")
(set STRFin                 "BlitzBank is in the directory %s.")
(set STRBLogos              "Choose the bank logos you want to install.")
(set STRALogos              "Choose the account logos you want to install.")
(set STRNotreg              "Enjoy with this limited version and please register!")
(set STRReg                 "Thank you for your registration.")
))

(procedure SetFrancais (

(set STROui "Oui")
(set STRNon "Non")
(set STRAideNon "Si vous choisissez NON, on vous demandera un répertoire.")
(set STRVersionInf (cat "Une version inférieure de Blitzbank\n est déjà installée.\n"
                        "Souhaitez-vous installer la nouvelle version %ld.%ld\n à sa place ?"))
(set STRVersionInfConnue (cat "Blitzbank V%ld.%ld est déjà installée.\n"
                              "Souhaitez-vous installer la nouvelle version %ld.%ld\n à sa place ?"))
(set STRMemeVersion (cat "La même version de Blitzbank (V%ld.%ld)\n est déjà installée.\n"
                         "Souhaitez-vous la réinstaller\n dans le même répertoire ?"))
(set STRVersionSup  (cat "Blitzbank V%ld.%ld est déjà installée.\n"
                         "Souhaitez-vous installer cette ancienne version %ld.%ld\n à sa place ?"))
(set STRQuelRep "Dans quel répertoire Voulez-vous \ninstaller %s %ld.%ld ? \n(un répertoire BlitzBank sera créé.)")
(set STRAideQuelRep (cat "Un nouveau répertoire nommé \"BlitzBank\" sera créé à l'endroit que vous indiquerez. "
                         "Tous les fichiers seront copiés dans ce nouveau répertoire."))
(set STRCopie "Copie Des Fichiers vers %s.")
(set STRCopieLocale "Copie Des Fichiers vers \"locale:catalogs/%s\"")
(set STRCopieFont "Copie Des Fonts.")
(set STRAjouteStartup (cat "Souhaitez-Vous que j'ajoute les commandes "
                           "nécessaires à votre User-Startup ?"))
(set STRAideStartup (cat "Sélectionnez le bouton PROCEED si vous autorisez l'écriture"
                         " sur votre User-Startup ."))
(set STRFin "BlitzBank est installé dans le répertoire %s.")
(set STRBLogos               "Choisissez les logos de banque que vous voulez installer.")
(set STRALogos               "Choisissez les logos de compte que vous voulez installer.")
(set STRNotreg              "J'espère que cette version limitée de BlitzBank vous\ndonnera envie de vous enregistrer!")
(set STRReg                 "Merci pour votre enregistrement.\nJe vous souuhaite de réussir dans vos affaires.")
))

(procedure SetDeutsch (

(set STROui "Ja")
(set STRNon "Nein")
(set STRAideNon "Wenn Sie mit NEIN antworten, wird Ihnen nach ein Verzeichniß gefragt.")
(set STRVersionInf (cat "Eine frühere Version von BlitzBank\n ist schon installiert.\n"
                        "Wollen Sie die neue Version %ld installieren ?"))
(set STRVersionInfConnue (cat "Blitzbank V%ld.%ld ist schon installiert.\n"
                              "Wollen Sie die neue Version %ld installieren ?"))
(set STRMemeVersion (cat "Die gleiche Version von Blitzbank (V%ld.%ld)\n ist schon installiert.\n"
                         "Wollen Sie es im gleichen Verzeichniß\nwieder installieren ?"))
(set STRVersionSup  (cat "Blitzbank V%ld.%ld ist schon installiert.\n"
                         "Wollen Sie diese ältere Version %ld.%ld\n installieren ?"))
(set STRQuelRep "In welchem Verzeichniß wollen Sie\n%s %ld.%ld installieren ? \n(Ein BlitzBank Verzeichniß wird erstellt.)")
(set STRAideQuelRep (cat "Ein neues Verzeichniß namens \"BlitzBank\"\nwird am von Ihnen bestimmten Ort erstellt. "
                         "Alle Dateien werden in dieses neues Verzeichniß kopiert."))
(set STRCopie "Kopieren der Dateien nach %s.")
(set STRCopieLocale "Kopieren der Dateien nach \"locale:catalogs/%s\"")
(set STRCopieFont "Kopieren der Fonts.")
(set STRAjouteStartup (cat "Möchten Sie daß ich für Sie die notwendigen"
                           "Befehle in der User-Startup schreibe ?"))
(set STRAideStartup (cat "Betätigen Sie den PROCEED Knopf um das Schreiben Ihrer"
                         "User-Startup zu erlauben."))
(set STRFin "BlitzBank befindet sich im Verzeichniß\n%s")
(set STRBLogos "Choose the bank logos you want to install.")
(set STRALogos "Choose the account logos you want to install.")
(set STRNotreg "Enjoy with this limited version and please register!")
(set STRReg "Thank you for your registration.")
))

(if (= @language "français") (SetFrancais))
(if (= @language "italiano") (SetEnglish))
(if (= @language "english") (SetEnglish))
(if (= @language "deutsch") (SetDeutsch))

(welcome)
(complete 5)

(set PROGNAME "BlitzBank")

(set version (getversion "/blitzbank"))
(set vers (/ version 65536))
(set revis (- version (* vers 65536) ) )

(if (<> (getassign "blitzbank") "")
(if (exists "blitzbank:blitzbank")
(      (set vernum (getversion "blitzbank:blitzbank"))
       (if (= vernum 0)
         (
           (set reponse (askbool
            (prompt (STRVersionInf vers revis))
            (choices STROui STRNon)
            (help STRAideNon))
           )
         )
         ( (set ver (/ vernum 65536))
           (set rev (- vernum (* ver 65536) ) )
           (if (> version vernum)
             ( (set reponse (askbool
                (prompt (STRVersionInfConnue ver rev vers revis))
                (choices STROui STRNon)
                (help STRAideNon))
               )
             )
           )
           (if (< version vernum)
             ((set reponse (askbool
               (prompt (STRVersionSup ver rev vers revis))
               (choices STROui STRNon)
               (help STRAideNon))
              )
             )
           )
           (if (= version vernum)
             ((set reponse (askbool
               (prompt (STRMemeVersion ver rev))
               (choices STROui STRNon)
               (help STRAideNon))
              )
             )
           )
         )
       )
     )
)
)

(if (not reponse) (set destination
       (tackon (askdir
         (prompt (STRQuelRep PROGNAME vers revis) )
         (help STRAideQuelRep)
         (default "dh0:")
       ) "BlitzBank")
     )
     ( set destination "BlitzBank:" )
)

(if (not reponse) (makedir destination (infos)) )

(if (= (getassign (substr destination 0 (- (strlen destination) 1))) "")
  (set @default-dest destination)
  (set @default-dest (getassign (substr destination 0 (- (strlen destination) 1))))
)

; Install main program files

(set path.source (pathonly @icon) )
(complete 20)

(copyfiles
   (prompt (STRCopie @default-dest))
   (help   "")
   (choices
   "/BlitzBank"
   "/BlitzBank.im"
   "/BlitzBank.info"
   "/Exemple.cpt"
   "/Exemple.cpt.info"
   "/Doc.info"
   (if (<> destination "BlitzBank:") "/BlitzBank.prefs" "/Exemple.cpt.info"))
   (source path.source)
   (dest @default-dest)
)

(complete 45)

(makedir (tackon @default-dest "datas"))

(copyfiles
   (prompt (STRCopie @default-dest))
   (help   "")
   (pattern "#?")
   (files)
   (source (tackon path.source "/datas"))
   (dest (tackon @default-dest "datas"))
)

(complete 53)

(set destalogos (tackon @default-dest "datas/useraccountlogos"))
(set destblogos (tackon @default-dest "datas/userbanklogos"))

(makedir destalogos)
(makedir destblogos)

(complete 55)

(copyfiles
   (prompt (STRCopie destalogos))
   (help STRALogos)
   (source (tackon path.source "/datas/useraccountlogos"))
   (dest destalogos)
   (all)
   (confirm)
)

(complete 65)

(copyfiles
   (prompt (STRCopie destblogos))
   (help STRBLogos)
   (source (tackon path.source "/datas/userbanklogos"))
   (dest destblogos)
   (all)
   (confirm)
)

(makedir (tackon @default-dest "Doc"))

(complete 85)

(if (exists ("/Doc/%s/BlitzBank.guide" @language)) (copyfiles
   (prompt (STRCopie @default-dest))
   (help   "")
   (choices
      ("/Doc/%s/BlitzBank.guide" @language)
      ("/Doc/%s/BlitzBank.guide.info" @language)
   )
   (optional "nofail")
   (source path.source)
   (dest (tackon @default-dest "Doc"))
))

(if (exists ("/catalogs/%s" @language)) (copyfiles
   (prompt (STRCopieLocale @language))
   (help   "")
   (choices ("/catalogs/%s" @language))
   (optional "nofail")
   (source path.source)
   (dest "locale:catalogs")
))

(complete 90)

(copyfiles
   (prompt STRCopieFont)
   (help ""
   )
   (choices "BlitzBank" "BlitzBank.font" )
   (source "/fonts")
   (dest "FONTS:")
   (infos)
   (optional "nofail")
)

(complete 94)

(if (exists "blitzbank_arc:blitzbank.key" (noreq))
    (copyfiles
        (prompt "")
        (help "")
        (choices "blitzbank.key")
        (source "blitzbank_arc:")
        (dest @default-dest)
    )
)

(if (exists "/blitzbank.key" (noreq))
    (copyfiles
        (prompt "")
        (help "")
        (choices "/blitzbank.key")
        (source path.source)
        (dest @default-dest)
    )
)

(makeassign "BlitzBank" @default-dest)

(complete 95)

(copylib
   (prompt (STRCopie "LIBS:"))
   (help "")
   (source "/libs/reqtools.library")
   (dest "LIBS:")
   (optional "nofail")
)

(if (<> destination "BlitzBank:")
 (startup
   PROGNAME
   (prompt STRAjouteStartup)
   (help STRAideStartup)
   (command ("assign blitzbank: \"%s\"" @default-dest))
 )
)

(complete 100)

(if (exists "blitzbank:blitzbank.key" (noreq))
    (exit (STRFin @default-dest) "\n\n" STRReg)
    (exit (STRFin @default-dest) "\n\n" STRNotreg)
)
