; Installer script for GetPayed V1.1
;

(set #localized 0)

(if (= @language "dansk")
  (
    (set #localized 1)
    (set #msg_abort_kickver "GetPayed kræver minimum Kickstart V39 (OS3.0).")
    (set #msg_abort_muiver "GetPayed behøver MUI (Magic User Interface) V3.3 af Stefan Stuntz.")
    (set #msg_abort_reqvers "GetPayed behøver reqtools.library V38 af Magnus Homgren (Nico François).")
    (set #msg_askdir_program_prompt "Hvor skal GetPayed installeres??\nEn ny skuffe vil blive oprettet.")
    (set #msg_askdir_uninstall_prompt "Hvor skal afinstalleringsprogrammet placeres?")
    (set #msg_askbool_backup_prompt "Det lader til at GetPayed V%ld.%ld allerede er installeret.\nSkal den gamle version gemmes?")
    (set #msg_askbool_backup_help "Hvis du ikke ønsker at gemme den gamle GetPayed installation vil alle filer i den gamle skuffe blive slettet. Også de filer du selv har oprettet!\n\n")
    (set #msg_askbool_rexx_prompt "Ønsker du at installere de medfølgende ARexx scripts?")
    (set #msg_askbool_rexx_help "De medfølgende ARexx scripts giver nogle eksempler på hvordan ARexx porten i GetPayed kan bruges.\n")
    (set #msg_askbool_dev_prompt "Ønsker du at installere GetPayed udviklerfiler?")
    (set #msg_askbool_dev_help "Udviklerfilerne er kun nødvendige hvis du regner med at udvikle udviddelsesmoduler til GetPayed.\n\nDen almindelige bruger har absolut ikke brug for disse filer!")
    (set #msg_working_createdirs "Opretter program skuffer")
    (set #msg_copyfiles_docs_prompt "Hvilke manualer ønsker du at installere?")
    (set #msg_copyfiles_cats_prompt "Hvilke sprog ønsker du at installere?")
    (set #msg_copyfiles_cats_help "Afkryds de sprog du ønsker GetPayed kan benytte.\nHvis GetPayed ikke kan åbne i det sprog er valgt i din systemopsætning vil programmet benytte engelske tekster.")
    (set #msg_copyfiles_rules_prompt "Hvilke lønregelsæt ønsker du at installere?")
    (set #msg_copyfiles_rules_help "Afkryds alle de lønregelsæt du ønsker at installere.\n\nHvert lønregelsæt indeholder en række lønregel programmer. Disse benyttes af GetPayed til udarbejdelse af lønrapporter.")
    (set #msg_copyfiles_ext_prompt "Installerer GetPayed udviddelser")
    (set #msg_copyfiles_prg_prompt "Installerer programfiler")
    (set #msg_copyfiles_rexx_prompt "Installerer ARexx scripts")
    (set #msg_copylib_gpprj_prompt "Installerer support libraries")
    (set #msg_copylib_gpprj_help "Denne operation kopierer getpayed_prj.library til dit LIBS: drev.\nFilen er en nødvendighed for at få GetPayed til at køre.")
  )
) ;if


(if (= #localized 0)
  (
    (set #msg_abort_kickver "You need at least Kickstart V39 (OS3.0) to use GetPayed")
    (set #msg_abort_muiver "GetPayed needs MUI (Magic User Interface) V3.3 by Stefan Stuntz")
    (set #msg_abort_reqvers "GetPayed needs reqtools.library V38 by Magnus Homgren (Nico François)")
    (set #msg_askdir_program_prompt "Where should GetPayed be installed??\nA new drawer will be created.")
    (set #msg_askdir_uninstall_prompt "Where should the uninstall script be placed?")
    (set #msg_askbool_backup_prompt "GetPayed V%ld.%ld seems to be installed already.\nBackup old install?")
    (set #msg_askbool_backup_help "If you do not backup your old GetPayed installation all its files will be deleted. This includes your project files!\n\n")
    (set #msg_askbool_rexx_prompt "Do you whish to install the example ARexx scripts?")
    (set #msg_askbool_rexx_help "The example ARexx scripts are a set of scripts that shows some of the possibilities in the ARexx interface of GetPayed.")
    (set #msg_askbool_dev_prompt "Do you want to install developer files?")
    (set #msg_askbool_dev_help "The developer files needs only be copied if you intend to do some developing for GetPayed.\n\nThe casual user will not need these files!")
    (set #msg_working_createdirs "Creating program directories")
    (set #msg_copyfiles_docs_prompt "Select documentations to install:")
    (set #msg_copyfiles_cats_prompt "Which languages do you want to install?")
    (set #msg_copyfiles_cats_help "Put a checkmark at all languages you want GetPayed to be able to use.\nIf GetPayed cannot open in a language that matches your system settings, then it will show up in English.")
    (set #msg_copyfiles_rules_prompt "Select payment programs to install:")
    (set #msg_copyfiles_rules_help "Put a checkmark at all rule programs you wish to install.\n\nA rule program is a file describing a set of payment rules used by GetPayed for calculating a payment report.")
    (set #msg_copyfiles_ext_prompt "Installing GetPayed extensions")
    (set #msg_copyfiles_prg_prompt "Installing program files")
    (set #msg_copyfiles_rexx_prompt "Installing ARexx scripts")
    (set #msg_copylib_gpprj_prompt "Installing support libraries")
    (set #msg_copylib_gpprj_help "This operation will copy the getpayed_prj.library file to LIBS:.\nThis file is an absolute neccessity to get GetPayed up and running!")
  )
) ;if


(if (< (getversion) 2555904 )
    (abort #msg_abort_kickver)
)

(if (< (getversion "LIBS:muimaster.library") 917610 )
    (abort #msg_abort_muiver)
)

(if (< (getversion "LIBS:reqtools.library") 2490368 )
    (abort #msg_abort_reqvers)
)

; * Get place to install to *
(complete 5)
(set #destDir
    (askdir
        (prompt #msg_askdir_program_prompt)
        (help @askdir-help)
        (default @default-dest)
    )
)

(set @default-dest #destDir)

(if (> (exists (tackon #destDir "GetPayed")) 0)
  (
    (if (= @user-level 0)
      (
        ; * Always backup old version for novice users *
        (set #do_backup 1)
      )
      (
        ; * Let Average and Expert users decide to do backup *
        (set #versnum (getversion (tackon #destDir "GetPayed/GetPayed") ) )
        (set #vers (/ versnum 65536) )
        (set #rev (- versnum (* vers 65536 ) ) )
        (set #do_backup (askbool (prompt (#msg_askbool_backup_prompt vers rev ) )
                                 (help #msg_askbool_backup_help @askbool-help) ) )
      )
    ) ;if
  )
) ;if

; * Backup an old GetPayed installation *
(if (= #do_backup 1)
  (rename (tackon #destDir "GetPayed") (tackon #destDir "old_GetPayed") )
  (if (> (exists (tackon #destDir "GetPayed.info")) 0)
    (rename (tackon #destDir "GetPayed.info") (tackon #destDir "old_GetPayed.info") )
  )
)

; * Make destination directories *
(complete 10)
(working #msg_working_createdirs)
(makedir (tackon #destDir "GetPayed") (infos))
(makedir (tackon #destDir "GetPayed/docs") (infos))
(makedir (tackon #destDir "GetPayed/catalogs"))
(makedir (tackon #destDir "GetPayed/projects"))
(makedir (tackon #destDir "GetPayed/rules"))
(makedir (tackon #destDir "GetPayed/settings"))
(makedir (tackon #destDir "GetPayed/Extensions"))
(makedir (tackon #destDir "GetPayed/Extensions/project"))
(makedir (tackon #destDir "GetPayed/Extensions/report"))
(makedir (tackon #destDir "GetPayed/Extensions/rules"))
(makedir (tackon #destDir "GetPayed/ARexx"))

; * Copy documentation files *
(complete 15)
(copyfiles
    (source "docs/")
    (dest (tackon #destDir "GetPayed/docs/") )
    (all)
    (infos)
    (confirm)
    (prompt #msg_copyfiles_docs_prompt)
    (help @copyfiles-help)
)

; * Copy locale catalogs *
(complete 25)
(copyfiles
    (source "catalogs")
    (dest (tackon #destDir "GetPayed/catalogs/"))
    (all)
    (confirm)
    (prompt #msg_copyfiles_cats_prompt)
    (help #msg_copyfiles_cats_help)
)

; * Copy preset rule files *
(complete 30)
(copyfiles
    (source "rules/")
    (dest (tackon #destDir "GetPayed/rules/"))
    (all)
    (confirm)
    (prompt #msg_copyfiles_rules_prompt)
    (help #msg_copyfiles_rules_help)
)

; * Copy getpayed_prj.library *
(complete 55)
(copylib
    (source "libs/getpayed_prj.library" )
    (dest "LIBS:")
    (confirm)
    (prompt #msg_copylib_gpprj_prompt)
    (help #msg_copylib_gpprj_help)
)

; * Copy extension libraries *
(complete 60)
(copyfiles
    (source "extensions/")
    (dest (tackon #destDir "GetPayed/Extensions/"))
    (all)
    (infos)
    (prompt #msg_copyfiles_ext_prompt)
)

; * Copy needed files in main directory *
(complete 80)
(copyfiles
    (source "")
    (dest (tackon #destDir "GetPayed/"))
    (choices "GetPayed")
    (infos)
    (prompt #msg_copyfiles_prg_prompt)
)

; * Copy uninstal script (and icon) *
(complete 90)
(if (set #scriptDir (if (= @user-level 2)
                      (
                        ; * Expert users can select place for uninstall script *
                        (askdir
                            (default (tackon #destDir "GetPayed/") )
                            (prompt #msg_askdir_uninstall_prompt)
                            (help @askdir-help)
                        )
                      )
                      (
                        ; * Other users get uninstall script in GetPayed drawer *
                        (tackon #destDir "GetPayed/")
                      )
                    ))
  (
    (copyfiles
        (source "UnInstall-GetPayed")
        (dest #scriptDir)
    )
    (copyfiles
        (source "UnInstall-GetPayed._info")
        (dest #scriptDir)
        (newname "UnInstall-GetPayed.info")
    )
  )
) ;if

; * Copy ARexx scripts *
(complete 40)
(if (OR (= @user-level 0)
        (= (askbool
               (prompt #msg_askbool_rexx_prompt)
               (help #msg_askbool_rexx_help)
           ) 1) )
  (
    (copyfiles
        (source "ARexx/")
        (dest (tackon #destDir "GetPayed/ARexx/"))
        (all)
        (prompt #msg_copyfiles_rexx_prompt)
    )
  )
) ;if

; * Install developer info (not for novice users) *
(complete 95)
(if (= (askbool
           (prompt #msg_askbool_dev_prompt)
           (help #msg_askbool_dev_help)
       ) 1)
  (
    (copyfiles
        (source "developer")
        (dest (tackon #destDir "GetPayed/developer"))
        (all)
        (infos)
    )
  )
)

(complete 100)

