;**
;**  $VER: Install 1.2 (17.11.96)
;**  Copyright © 1995-1996 Flavio Stanchina
;**

(set #cat-source "Locale/Catalogs")
(set #cat-dest   "LOCALE:Catalogs")

(procedure P_copylang
 (foreach (tackon #cat-source #lang) "#?.catalog"
  (copylib (source (tackon (tackon #cat-source #lang) @each-name))
           (dest (tackon #cat-dest #lang))
           (prompt #inst-cat)
  )
 )
)

;**
;**  English strings
;**

(if (= @language "english") (
  (set #bad-kick "This program requires kickstart V39 (3.0) or higher.")
  (set #bad-mui "You must install MUI 3.3 or higher before installing BackMan!")
  (set #inst-bin "Installing binaries")
  (set #inst-key "Installing keyfile")
  (set #inst-cat "Installing catalog files")
  (set #inst-doc "Installing documentation")
  (set #inst-hlp "Installing online help")
  (set #inst-xpk "Installing XPK libraries:\n")
  (set #choose-dest "Choose where BackMan's drawer will be created")
  (set #choose-doclang "Choose the documentation's language")
  (set #choose-catlang "Choose which catalogs you want to install")
  (set #ask-doc "Do you want to install the documentation?")
  (set #welcome "Welcome registered user! Thanks for your support!")
  (set #language "English") ;Default doc language
  (set #langnum 0)
))

;**
;**  Italian strings
;**

(if (= @language "italiano") (
  (set #bad-kick "Questo programma richiede il kickstart V39 (3.0) o superiore.")
  (set #bad-mui "Devi installare MUI 3.3 o superiore prima di installare BackMan!")
  (set #inst-bin "Installazione dei programmi")
  (set #inst-key "Installazione della chiave")
  (set #inst-cat "Installazione dei cataloghi")
  (set #inst-doc "Installazione della documentazione")
  (set #inst-hlp "Installazione dell'help in linea")
  (set #inst-xpk "Installazione delle librerie XPK:\n")
  (set #choose-dest "Scegli dove verrà creato il cassetto di BackMan")
  (set #choose-doclang "Scegli la lingua della documentazione")
  (set #choose-catlang "Scegli quali cataloghi vuoi installare")
  (set #ask-doc "Vuoi installare la documentazione?")
  (set #welcome "Benvenuto utente registrato! Grazie per il tuo supporto!")
  (set #language "Italiano") ;Default doc language
  (set #langnum 1)
))

;**
;**  German strings
;**

(if (= @language "deutsch") (
  (set #bad-kick "BackMan benötigt Kickstart V39 oder höher")
  (set #bad-mui "Mui 3.3 oder höher MUSS INSTALLIERT SEIN bevor BackMan installiert wird!!")
  (set #inst-bin "Installiere BackMan binar daten")
  (set #inst-key "Installiere BackMan Keyfile")
  (set #inst-cat "Installiere BackMan catalog")
  (set #inst-doc "Installiere BackMan Dokumente")
  (set #inst-hlp "Installiere BackMan online hilfe")
  (set #inst-xpk "Installiere XPK Librarys")
  (set #choose-dest "Wähle bitte wo das BackMan Verzeichnis erstellt werden soll")
  (set #choose-doclang "Wähle bitte die Sprache für die Dokumente")
  (set #choose-catlang "Wähle bitte welche Cataloge installiert werden sollen")
  (set #ask-doc "Soll die Dokumentation mit installiert werden?")
  (set #welcome "Willkommen registrierte Benutzer! Danke für eure Unterstützung!")
  (set #language "Deutsch") ;Default doc language
  (set #langnum 2)
))

;**
;**  Startup checks
;**

(if (< (/ (getversion) 65536) 39) (
  (abort #bad-kick)
))

;** This is tricky: try and find out MUI version.
;** Commented out 'cause it doesn't seem to work at all.
;(if (exists "MUI:Libs/muimaster.library")
; (set #mui-version (getversion "MUI:Libs/muimaster.library"))
; (if (exists "LIBS:muimaster.library")
;  (set #mui-version (getversion "LIBS:muimaster.library"))
;  (set #mui-version (getversion "muimaster.library" (resident)))
; )
;)
;
;(if (< (/ #mui-version 65536) 14) (
;  (abort #bad-mui)
;))

;**
;**  Installing BackMan!
;**

(welcome)

(set @default-dest
  (askdir
    (prompt #choose-dest)
    (help @askdir-help)
    (default @default-dest)
  )
)

(set @default-dest (tackon @default-dest "BackMan"))

;**
;**  Copy binaries
;**

(complete 0)

(copyfiles
  (prompt #inst-bin)
  (source "BackMan")
  (dest @default-dest)
)

(complete 10)

(copyfiles
  (prompt #inst-bin)
  (source "BackManMUI")
  (dest @default-dest)
  (infos)
)

(complete 20)

(if (exists "BackMan.Key") (
  (message #welcome)
  (copyfiles
    (prompt #inst-key)
    (source "BackMan.Key")
    (dest @default-dest)
  )
))

;**
;**  Copy catalogs
;**

(complete 30)

(if (exists "LOCALE:" (noreq)) (
  (if (> @user-level 0) (
    (set #cat-lang
      (askoptions
        (prompt #choose-catlang)
        (help @askoptions-help)
        (choices "Italiano" "Deutsch")
      )
    )
  )(
    (set #cat-lang -1)
  ))

  (if (not (exists #cat-dest)) (makedir #cat-dest))

  (if (bitand #cat-lang 1) ((set #lang "italiano") (P_copylang)))
  (if (bitand #cat-lang 2) ((set #lang "deutsch" ) (P_copylang)))
))

;**
;**  Copy docs
;**

(complete 40)

(if (OR (< @user-level 2) (askbool (prompt #ask-doc) (help @askbool-help))) (
  (if (> @user-level 0) (
    (set #language
      (select
        (askchoice
          (prompt #choose-doclang)
          (help @askchoice-help)
          (choices "English" "Italiano")
          (default #langnum)
        )
        "English" "Italiano"
      )
    )
  ))

  (complete 50)

  (copyfiles
    (prompt #inst-doc)
    (source "Docs")
    (dest @default-dest)
    (choices "RegistrationForm" "History")
    (files)
    (infos)
  )

  (complete 60)

  (copyfiles
    (prompt #inst-doc)
    (source (tackon "Docs" #language))
    (dest @default-dest)
    (all)
    (infos)
  )

  (complete 70)

  (copyfiles
    (prompt #inst-hlp)
    (source (tackon "Help" #language))
    (dest @default-dest)
    (all)
    (infos)
  )
))

;**
;**  Copy XPK libraries
;**

(if (exists "Libs/xpkmaster.library") (
  (complete 80)
  (copylib
    (prompt #inst-xpk "xpkmaster.library")
    (help @copylib-help)
    (source "Libs/xpkmaster.library")
    (dest "LIBS:")
    (optional nofail force)
  )

  (complete 90)
  (foreach "Libs/Compressors" "xpk????.library" (
    (copylib
      (prompt #inst-xpk @each-name)
      (help @copylib-help)
      (source (tackon "Libs/Compressors" @each-name))
      (dest "LIBS:Compressors")
      (optional nofail force)
    )
  ))
))

;**
;**  Installation complete!
;**

(complete 100)

(exit)

;*** EOF ***
