{"version":3,"file":"js/8193.9b9f1d7ede67642f.js","mappings":"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","sources":["webpack://@sazka/web/./js/app/lotteries/composables/bet-success/use-bet-success.ts","webpack://@sazka/web/./js/app/lotteries/ds-online/game-configs/mini-renta-config.ts","webpack://@sazka/web/./js/app/lotteries/online/shared/board.ts","webpack://@sazka/web/./js/app/lotteries/online/shared/cookie.ts","webpack://@sazka/web/./js/app/lotteries/online/shared/dialog.ts","webpack://@sazka/web/./js/app/lotteries/online/shared/online-lotteries.ts","webpack://@sazka/web/./js/app/lotteries/online/shared/subscription-analytics.ts","webpack://@sazka/web/./js/app/lotteries/online/shared/wager.ts","webpack://@sazka/web/../../libs/utils/debounce.ts"],"sourcesContent":["import { useNgSession } from \"@sazka/ng/ng-session\";\r\nimport { ref } from \"vue\";\r\n\r\nconst showSuccess = ref(false);\r\nconst multibetbetPage = ref(false);\r\nconst betPrice = ref(-1);\r\nconst betWagerId = ref(-1);\r\nconst isSubscription = ref(false);\r\nconst subscriptionId = ref(-1);\r\nconst balanceAfterBet = ref<number>();\r\n\r\nconst { balanceNumeric } = useNgSession();\r\n\r\nexport default function useBetSuccess() {\r\n    const toggleShowSuccess = (\r\n        price = -1,\r\n        wagerId = -1,\r\n        multibetbet = false,\r\n        isSubscriptionBet = false,\r\n        subscriptionIdBet = -1\r\n    ) => {\r\n        showSuccess.value = !showSuccess.value;\r\n        betPrice.value = price;\r\n        betWagerId.value = wagerId;\r\n        multibetbetPage.value = multibetbet;\r\n        isSubscription.value = isSubscriptionBet;\r\n        subscriptionId.value = subscriptionIdBet;\r\n        balanceAfterBet.value = balanceNumeric.value / 100 - price;\r\n    };\r\n\r\n    return {\r\n        toggleShowSuccess,\r\n        showSuccess,\r\n        betPrice,\r\n        betWagerId,\r\n        multibetbetPage,\r\n        isSubscription,\r\n        subscriptionId,\r\n        balanceAfterBet,\r\n    };\r\n}\r\n","import { WagerConfiguration } from \"../model/wager-configuration\";\r\nimport { Lottery } from \"../../model/lottery\";\r\n\r\nexport const miniRentaConfig: WagerConfiguration = {\r\n    lottery: Lottery.miniRenta,\r\n    boardCount: 16,\r\n    primaryBoardSize: 7,\r\n    defaultStake: 10,\r\n    primaryNumbers: 24,\r\n    boardLabel: \"Sloupec\",\r\n    hasDurationComponent: true,\r\n    hasDrawOptions: true,\r\n    hasMultidrawNotification: true,\r\n    hasAllOrOneMultidrawOptions: true,\r\n    hasSubscription: true,\r\n    isDrawnEveryDay: true,\r\n    durationTitle: \"Mini renta se losuje každý den.\",\r\n    maxDuration: 91,\r\n    // Is filled from wager duration for this lottery\r\n    multidrawDurationOptions: [],\r\n    inlineBoardsMaxCount: 4,\r\n};\r\n","import { Lottery } from \"@/lotteries/model/lottery\";\r\nimport { Cookie } from \"./cookie\";\r\nimport { GameConfig } from \"./game-config\";\r\nimport { onlineLotteries } from \"./online-lotteries\";\r\n\r\nexport class Board {\r\n    /** Game Name */\r\n    GameName: string;\r\n\r\n    /** Index of board - starting with 0 */\r\n    Index: number;\r\n\r\n    /** List of primary numbers */\r\n    Primary: Array<number> = new Array<number>();\r\n    /** Target count of primary numbers */\r\n    PrimaryCount: number;\r\n\r\n    /** List of secondary numbers */\r\n    Additional: Array<number>;\r\n    /** Target count of secondary numebers */\r\n    AdditionalCount: number;\r\n\r\n    /** Stake for board */\r\n    Stake = 0;\r\n    /** Flag if Kralovska hra is played for Stastnych 10*/\r\n    KralovskaHra = false;\r\n\r\n    /** jQuery element - board */\r\n    $board: JQuery;\r\n\r\n    /** Flag if board numbers is valid for wager */\r\n    IsValid = false;\r\n\r\n    /** Special fields for R6 */\r\n    SystemBetType: string;\r\n\r\n    /** Constructor inits all arrays and properties */\r\n    constructor(index: number, board?: JQuery, systemBetType?: string) {\r\n        this.Index = index;\r\n        this.SystemBetType = systemBetType;\r\n        this.Primary = new Array<number>();\r\n        this.Additional = new Array<number>();\r\n\r\n        if (onlineLotteries?.game?.config) {\r\n            const config: GameConfig = onlineLotteries.game.config;\r\n            this.PrimaryCount = config.PrimaryCount;\r\n            this.AdditionalCount = config.AdditionalCount;\r\n            this.Stake = config.DefaultStake;\r\n            this.KralovskaHra = config.DefaultKralovskaHra || false;\r\n        }\r\n\r\n        if (board) {\r\n            this.$board = board;\r\n            if (this.$board != null) {\r\n                this.$board.data(\"index\", index);\r\n            }\r\n        }\r\n    }\r\n\r\n    /** Copy-constructor */\r\n    clone(board: Board = this): Board {\r\n        const cloned: Board = new Board(board.Index, board.$board);\r\n\r\n        cloned.PrimaryCount = board.PrimaryCount;\r\n        for (let i = 0; i < board.Primary.length; i++) {\r\n            cloned.Primary.push(board.Primary[i]);\r\n        }\r\n\r\n        cloned.AdditionalCount = board.AdditionalCount;\r\n        if (board.Additional) {\r\n            for (let i = 0; i < board.Additional.length; i++) {\r\n                cloned.Additional.push(board.Additional[i]);\r\n            }\r\n        }\r\n\r\n        cloned.Stake = board.Stake;\r\n        cloned.KralovskaHra = board.KralovskaHra;\r\n        cloned.GameName = board.GameName;\r\n        cloned.Index = board.Index;\r\n        cloned.Stake = board.Stake;\r\n        cloned.IsValid = board.IsValid;\r\n        cloned.SystemBetType = board.SystemBetType;\r\n\r\n        return cloned;\r\n    }\r\n\r\n    /** Tryes to add number into array of primary numbers. Returns true if successful, false otherwise */\r\n    addPrimary(num: number): boolean {\r\n        // nothing happed - we dont need to revalidate\r\n        if (\r\n            (!onlineLotteries.game.config.PrimaryCountUnlimited && this.Primary.length >= this.PrimaryCount) ||\r\n            num < onlineLotteries.game.config.PrimaryMinValue ||\r\n            num > onlineLotteries.game.config.PrimaryMaxValue ||\r\n            this.Primary.indexOf(num) >= 0\r\n        ) {\r\n            return false;\r\n        }\r\n\r\n        // something happend - lets revalidate\r\n        this.Primary.push(num);\r\n        this.Primary.sort(function (a: number, b: number) {\r\n            return a - b;\r\n        });\r\n\r\n        if (onlineLotteries.game.config.PrimaryCountUnlimited) {\r\n            this.PrimaryCount = this.Primary.length;\r\n        }\r\n        this.revalidate(onlineLotteries.game.config);\r\n\r\n        return true;\r\n    }\r\n\r\n    /** Tryes to remove primary number pick from board. Returns true if successful, false otherwise */\r\n    removePrimary(num: number): boolean {\r\n        // nothing happed - we dont need to revalidate\r\n        const index = this.Primary.indexOf(num);\r\n        if (index < 0) {\r\n            return false;\r\n        }\r\n\r\n        // something happend - lets revalidate\r\n        this.Primary.splice(index, 1);\r\n        if (onlineLotteries.game.config.PrimaryCountUnlimited) {\r\n            this.PrimaryCount = Math.max(this.Primary.length, 1);\r\n        }\r\n        this.revalidate(onlineLotteries.game.config);\r\n\r\n        return true;\r\n    }\r\n\r\n    /** Toggles primary pick's checkbox. Returns new value of checkbox */\r\n    togglePrimary(num: number): boolean {\r\n        if (this.Primary.indexOf(num) >= 0) {\r\n            this.removePrimary(num);\r\n            return false;\r\n        } else {\r\n            return this.addPrimary(num);\r\n        }\r\n    }\r\n\r\n    /**\r\n     * Tryes to add number into array of additional numbers\r\n     * Returns true if successful, false otherwise\r\n     */\r\n    addAdditional(num: number): boolean {\r\n        // nothing happed - we dont need to revalidate\r\n        if (this.Additional.length >= this.AdditionalCount) {\r\n            return false;\r\n        }\r\n\r\n        // something happend - lets revalidate\r\n        this.Additional.push(num);\r\n        this.Additional.sort(function (a: number, b: number) {\r\n            return a - b;\r\n        });\r\n        this.revalidate(onlineLotteries.game.config);\r\n\r\n        return true;\r\n    }\r\n\r\n    /**\r\n     * tryes to remove additional number pick from board\r\n     * Returns true if successful, false otherwise\r\n     */\r\n    removeAdditional(num: number): boolean {\r\n        // nothing happed - we dont need to revalidate\r\n        const index = this.Additional.indexOf(num);\r\n        if (index < 0) {\r\n            return false;\r\n        }\r\n\r\n        // something happend - lets revalidate\r\n        this.Additional.splice(index, 1);\r\n        this.revalidate(onlineLotteries.game.config);\r\n\r\n        return true;\r\n    }\r\n\r\n    /**\r\n     * Toggles additional pick's checkbox\r\n     * Returns new value of checkbox\r\n     */\r\n    toggleAdditional(num: number): boolean {\r\n        if (this.Additional.indexOf(num) >= 0) {\r\n            this.removeAdditional(num);\r\n            return false;\r\n        } else {\r\n            return this.addAdditional(num);\r\n        }\r\n    }\r\n\r\n    /** Generates random board using specified rules */\r\n    random(): Board {\r\n        const config: GameConfig = onlineLotteries.game.config;\r\n\r\n        // regenerate all numbers, if its already full\r\n        const regenerate =\r\n            this.PrimaryCount === this.Primary.length &&\r\n            (config.AdditionalEnabled ? this.AdditionalCount === this.Additional.length : true);\r\n\r\n        //random primary numbers\r\n        this.Primary = Board.randomGenerator(\r\n            config.PrimaryMinValue,\r\n            config.PrimaryMaxValue,\r\n            this.PrimaryCount,\r\n            config.PrimaryUnique,\r\n            regenerate ? [] : this.Primary\r\n        );\r\n\r\n        //random additional numbers\r\n        if (config.AdditionalEnabled) {\r\n            this.Additional = Board.randomGenerator(\r\n                config.AdditionalMinValue,\r\n                config.AdditionalMaxValue,\r\n                this.AdditionalCount,\r\n                config.AdditionalUnique,\r\n                regenerate ? [] : this.Additional\r\n            );\r\n        }\r\n\r\n        this.IsValid = true;\r\n\r\n        return this;\r\n    }\r\n\r\n    /**\r\n     * Generates random array using specified rules\r\n     * @param minValue minimal possible value\r\n     * @param maxValue maximal possible value\r\n     * @param count total count of numbers in array\r\n     * @param unique flag, if numbers has to be unique\r\n     * @param result preset values (by picking - if you want to add rest)\r\n     */\r\n    private static randomGenerator(\r\n        minValue: number,\r\n        maxValue: number,\r\n        count: number,\r\n        unique = true,\r\n        result: Array<number>\r\n    ) {\r\n        while (result.length > count) {\r\n            result.pop();\r\n        }\r\n\r\n        const sourceArray: number[] = [];\r\n        for (let i = minValue; i <= maxValue; i++) {\r\n            if (result.indexOf(i) < 0 || !unique) {\r\n                sourceArray.push(i);\r\n            }\r\n        }\r\n\r\n        for (let i = result.length; i < count; i++) {\r\n            // generate random number from selection\r\n            const index = Math.floor(Math.random() * sourceArray.length);\r\n\r\n            const value: number = unique ? sourceArray.splice(index, 1)[0] : sourceArray[index];\r\n\r\n            result.push(value);\r\n        }\r\n\r\n        // sort generated array\r\n        result.sort(function (a: number, b: number) {\r\n            return a - b;\r\n        });\r\n        return result;\r\n    }\r\n\r\n    revalidate(config: GameConfig): boolean {\r\n        let valid = false;\r\n        try {\r\n            // primary numbers validation\r\n            valid = this.Primary.length == this.PrimaryCount && this.Primary.length > 0;\r\n            this.Primary.forEach(function (value: number) {\r\n                valid = valid && value <= config.PrimaryMaxValue;\r\n                valid = valid && value >= config.PrimaryMinValue;\r\n            });\r\n\r\n            // additional numbers validation\r\n            if (config.AdditionalEnabled) {\r\n                valid = valid && this.AdditionalCount == this.Additional.length;\r\n                this.Additional.forEach(function (value) {\r\n                    valid = valid && value <= config.AdditionalMaxValue;\r\n                    valid = valid && value >= config.AdditionalMinValue;\r\n                });\r\n            }\r\n            // validation for additional games R6\r\n            if (config.Name === Lottery.rychla6) {\r\n                const additionalPrimaryNums = [1, 2, 3];\r\n\r\n                if (this.SystemBetType == \"1\" || this.SystemBetType == \"2\") {\r\n                    valid = this.Primary.length === 1 && additionalPrimaryNums.includes(this.Primary[0]);\r\n                }\r\n            }\r\n        } catch (e) {\r\n            this.IsValid = false;\r\n            return false;\r\n        }\r\n\r\n        this.IsValid = valid;\r\n        return valid;\r\n    }\r\n\r\n    /** Reinitializes object to default (empty) state */\r\n    destroy(): Board {\r\n        const config: GameConfig = onlineLotteries.game.config;\r\n        this.Primary = new Array<number>();\r\n        this.PrimaryCount = config.PrimaryCount;\r\n\r\n        this.Additional = new Array<number>();\r\n        this.AdditionalCount = config.AdditionalCount;\r\n\r\n        this.Stake = config.DefaultStake;\r\n\r\n        this.KralovskaHra = config.DefaultKralovskaHra;\r\n\r\n        this.revalidate(config);\r\n\r\n        Cookie.saveWager();\r\n\r\n        onlineLotteries.game.updateBoardHtml(this, true);\r\n\r\n        return this;\r\n    }\r\n}\r\n","import { Lottery } from \"@/lotteries/model/lottery\";\r\nimport { useSessionStorage } from \"@sazka/utils/use-storage\";\r\nimport { Board } from \"./board\";\r\nimport { DurationState } from \"./duration-state\";\r\nimport { onlineLotteries } from \"./online-lotteries\";\r\nimport { Wager } from \"./wager\";\r\n\r\n/** Class with static methods for storing and restoring wager from cookie */\r\nexport class Cookie {\r\n    static store = useSessionStorage();\r\n\r\n    /** Saves wager to cookie */\r\n    static saveWager(data?: Wager, cookieName?: string, expiration?: number): void {\r\n        if (!data) {\r\n            data = onlineLotteries.game.wager;\r\n        }\r\n        if (!expiration) {\r\n            expiration = onlineLotteries.game.config.CookieExpiration;\r\n        }\r\n        //special cookie name for R6 additional games\r\n        if (!cookieName) {\r\n            cookieName = onlineLotteries.game.config.CookieName;\r\n        }\r\n\r\n        this.store.setItem(cookieName, data.stringify(), \"essential\");\r\n    }\r\n\r\n    /** Removes cookie with wager */\r\n    static remove(cookieName?: string): void {\r\n        if (!cookieName) {\r\n            cookieName = onlineLotteries.game.config.CookieName;\r\n        }\r\n        this.store.removeItem(cookieName);\r\n    }\r\n\r\n    /** Reads wager from cookie and returns it */\r\n    static read(cookieName: string = onlineLotteries.game.config.CookieName, onlyFirstColumn = false): Wager {\r\n        try {\r\n            const data = this.store.getJson(cookieName);\r\n            //data = JSON.parse(data);\r\n            if (data == undefined) {\r\n                return;\r\n            }\r\n\r\n            const wager =\r\n                (onlineLotteries.game.GameName == Lottery.rychla6 ? data.wager : onlineLotteries.game.wager) ||\r\n                new Wager(false);\r\n            wager.AddonNumbers = data.AddonNumbers;\r\n            wager.Duration = data.Duration;\r\n            wager.AddonPlayed = data.AddonPlayed;\r\n            wager.IsSystem = data.IsSystem;\r\n            wager.Special = data.Special;\r\n            wager.Multiplier = data.Multiplier;\r\n            wager.Stake = data.Stake;\r\n            wager.Notification = data.Notification;\r\n            if (data.Numbers) {\r\n                for (let i = 0; i < data.Numbers.length; i++) {\r\n                    const element: Board = data.Numbers[i];\r\n                    let board = null;\r\n                    const index = element.Index || i;\r\n                    if (onlyFirstColumn) {\r\n                        board = new Board(\r\n                            index,\r\n                            $(onlineLotteries.game.config.ColumnsWrapperId).find(\r\n                                \"[data-columnindex=\" + (element.PrimaryCount - 3) + \"]\"\r\n                            )\r\n                        );\r\n                    } else {\r\n                        board = new Board(\r\n                            index,\r\n                            $(onlineLotteries.game.config.ColumnsWrapperId).find(\"[data-columnindex=\" + index + \"]\")\r\n                        );\r\n                    }\r\n                    board.Primary = element.Primary;\r\n                    for (let x = 0; x < board.Primary.length; x++) {\r\n                        board.Primary[x] = Number(board.Primary[x]);\r\n                    }\r\n                    board.PrimaryCount = element.PrimaryCount || board.Primary.length;\r\n                    board.IsValid = element.IsValid == void 0 ? true : element.IsValid;\r\n\r\n                    board.Additional = element.Additional;\r\n                    if (board.Additional) {\r\n                        for (let x = 0; x < board.Additional.length; x++) {\r\n                            board.Additional[x] = Number(board.Additional[x]);\r\n                        }\r\n                    }\r\n                    board.AdditionalCount = element.AdditionalCount;\r\n                    if (element.Primary.length == 0) {\r\n                        board.Stake = onlineLotteries.game.config.DefaultStake;\r\n                    } else {\r\n                        board.Stake = element.Stake;\r\n                    }\r\n                    board.KralovskaHra = element.KralovskaHra;\r\n                    board.Index = index;\r\n                    board.SystemBetType = element.SystemBetType;\r\n                    const numbersIndex = onlyFirstColumn ? 0 : board.Index;\r\n                    wager.Numbers[numbersIndex] = board;\r\n                    onlineLotteries.game.updateBoardHtml(wager.Numbers[numbersIndex]);\r\n                }\r\n            }\r\n\r\n            wager.ShowCompleteState = data.ShowCompleteState;\r\n\r\n            if (!data.ShowCompleteState || data.DurationChoice === DurationState.Subscription) {\r\n                wager.DurationChoice = data.DurationChoice;\r\n                wager.Afternoon = data.Afternoon;\r\n                wager.Evening = data.Evening;\r\n                wager.Mon = data.Mon;\r\n                wager.Thu = data.Thu;\r\n            }\r\n\r\n            wager.IsValidNumbers = data.IsValidNumbers;\r\n            wager.revalidate(onlineLotteries.game.config);\r\n            return wager;\r\n        } catch (e) {\r\n            console.error(\"vyjimka pri cteni cookie se sazkou\", e);\r\n            return null;\r\n        }\r\n    }\r\n}\r\n","import { sazkaAlert } from \"@sazka/utils/sazka-alert\";\r\nimport { useSessionStorage } from \"@sazka/utils/use-storage\";\r\nimport { Board } from \"./board\";\r\nimport { Cookie } from \"./cookie\";\r\nimport { GameConfig } from \"./game-config\";\r\nimport { onlineLotteries } from \"./online-lotteries\";\r\nimport { ResponsiveUtils } from \"@sazka/utils/responsive-utils\";\r\nimport { debounce } from \"@sazka/utils/debounce\";\r\nimport { Analytics } from \"@/shared/utils/analytics/analytics\";\r\n\r\nexport class Dialog {\r\n    board: Board;\r\n    $dialog: JQuery;\r\n    config: GameConfig;\r\n    $bottomDialogControls: JQuery;\r\n\r\n    private readonly HoroscopesWrapperSelector = \".horoscopes-generate__wrapper\";\r\n    private readonly HoroscopesBtnSelector = \".horoscopes-generate__toggle-btn\";\r\n    private readonly HoroscopesImagesWrapperSelector = \".horoscopes-generate__horoscopes-wrapper\";\r\n\r\n    constructor(selector: string) {\r\n        if (selector) {\r\n            this.$dialog = $(selector);\r\n        } else {\r\n            this.$dialog = $(\"#dialog-column\");\r\n        }\r\n        this.$bottomDialogControls = $(\"#bottom-dialog-controls\");\r\n        this.loadHandlers();\r\n    }\r\n\r\n    setGameConfig(config: GameConfig) {\r\n        this.config = config;\r\n    }\r\n\r\n    /** opens dialog */\r\n    open(board?: Board) {\r\n        onlineLotteries.game.removeAddButton();\r\n        if (!board) {\r\n            this.board = new Board(onlineLotteries.game.wager.Numbers.length);\r\n            $(\"#btnRemoveBoard\").hide();\r\n        } else {\r\n            this.board = board.clone();\r\n            this.board.$board = null;\r\n            $(\"#btnRemoveBoard\").show();\r\n        }\r\n\r\n        const showRemoveButton = onlineLotteries.game.wager.Numbers.length == this.board.Index + 1;\r\n\r\n        if (showRemoveButton) {\r\n            this.$dialog.find(\"#btn-dialog-column-delete\").removeClass(\"d-none\");\r\n            this.$bottomDialogControls.find(\"#btn-dialog-column-delete-bottom\").removeClass(\"d-none\");\r\n            this.$dialog.addClass(\"last-column\");\r\n        } else {\r\n            this.$dialog.find(\"#btn-dialog-column-delete\").addClass(\"d-none\");\r\n            this.$bottomDialogControls.find(\"#btn-dialog-column-delete-bottom\").addClass(\"d-none\");\r\n            this.$dialog.removeClass(\"last-column\");\r\n        }\r\n\r\n        // reset and set \"save and next\" btn event handler\r\n        this.$dialog.off(\"click\", \"#dialog-column-save-and-next\");\r\n        this.$bottomDialogControls.off(\"click\", \"#dialog-column-save-and-next-bottom\");\r\n        if (this.board && this.board.Index != onlineLotteries.game.config.BoardMaxCount - 1) {\r\n            this.$dialog.on(\"click\", \"#dialog-column-save-and-next\", () => this.clickSaveAndNext());\r\n            this.$dialog.find(\"#dialog-column-save-and-next\").removeClass(\"d-none\");\r\n\r\n            this.$bottomDialogControls.on(\"click\", \"#dialog-column-save-and-next-bottom\", () =>\r\n                this.clickSaveAndNext()\r\n            );\r\n            this.$bottomDialogControls.find(\"#dialog-column-save-and-next-bottom\").removeClass(\"d-none\");\r\n        } else {\r\n            this.$dialog.find(\"#dialog-column-save-and-next\").addClass(\"d-none\");\r\n            this.$bottomDialogControls.find(\"#dialog-column-save-and-next-bottom\").addClass(\"d-none\");\r\n        }\r\n\r\n        onlineLotteries.game.updateDialogHtml(true);\r\n\r\n        this.clearHoroscopes();\r\n        this.$dialog.modal(\"show\");\r\n    }\r\n\r\n    /** Sets up handlers for dialog */\r\n    loadHandlers() {\r\n        // Dialog events\r\n        this.$dialog.on(\r\n            \"change\",\r\n            \"#dialog-column-checkboxes .checkbox, #dialog-column-figures input[type=checkbox]\",\r\n            (e) => this.changeCheckboxPrimary(e)\r\n        );\r\n        this.$dialog.on(\"change\", \"#dialog-column-checkboxes-additional .checkbox\", (e) =>\r\n            this.changeCheckboxAdditional(e)\r\n        );\r\n        this.$dialog.on(\"change\", \"#drpInputCount\", (e) => this.changeNumberCount(e));\r\n        this.$dialog.on(\"change\", \"#drpInputCountMobile\", (e) => this.changeNumberCount(e));\r\n        this.$dialog.on(\"change\", \"#drpDeposit\", (e) => this.changeStake(e));\r\n        this.$dialog.on(\"change\", \"#drpDepositMobile\", (e) => this.changeStake(e));\r\n        this.$dialog.on(\"change\", \"#dialog-check-king-game\", (e) => this.changeKingsGame(e));\r\n        this.$dialog.on(\"change\", \"#dialog-check-king-game-mobile\", (e) => this.changeKingsGame(e));\r\n        this.$dialog.on(\"change\", \"#dialog-column-inputs input\", (e) => this.changeQuickInput(e));\r\n        this.$dialog.on(\"change\", \"#drpBetAmount\", (e) => this.changeStake(e));\r\n        this.$dialog.on(\"change\", \".keno-wager-count input\", (e) => this.wagerCountHandler(e));\r\n\r\n        this.$dialog.on(\"click\", \"#dialog-column-close\", () => this.clickClose());\r\n        this.$dialog.on(\"click\", \"#dialog-column-save\", () => this.clickSave());\r\n        this.$dialog.on(\"click\", \"#dialog-column-generate, #btn-dialog-column-generate-mobile\", () =>\r\n            this.clickRandom()\r\n        );\r\n        this.$dialog.on(\"click\", \".gen-horoscope\", (e) => this.clickHoroscopeRandom(e));\r\n        this.$dialog.on(\"click\", this.HoroscopesBtnSelector, () => this.toggleHoroscopes());\r\n        this.$dialog.on(\"click\", \"#btn-dialog-column-delete\", () => this.clickDestroy());\r\n        this.$dialog.on(\"hide.bs.modal\", () => {\r\n            onlineLotteries.game.initAddButton();\r\n        });\r\n\r\n        this.$dialog.on(\"change\", \".statistics-settings__box #often-checkbox\", (e) =>\r\n            this.toggleMostFrequentNumbers(e)\r\n        );\r\n        this.$dialog.on(\"change\", \".statistics-settings__box #least-checkbox\", (e) =>\r\n            this.toogleLeastFrequenciesNumbers(e)\r\n        );\r\n\r\n        this.$dialog.on(\"click\", \".statistics-settings__box #least-checkbox\", (e) =>\r\n            this.toogleLeastFrequenciesNumbers(e)\r\n        );\r\n\r\n        this.$dialog.on(\"click\", \".statistics-settings__box #btn-help-open\", () => this.openHelpPopup());\r\n        this.$dialog.on(\"click\", \".content-wrapper__help #btn-help-close\", () => this.closeHelpPopup());\r\n\r\n        this.$bottomDialogControls.on(\"click\", \"#dialog-column-save-bottom\", () => this.clickSave());\r\n        this.$bottomDialogControls.on(\"click\", \"#btn-dialog-column-delete-bottom\", () => this.clickDestroy());\r\n\r\n        if (this.$dialog.find(\".content-wrapper__help\")) {\r\n            window.addEventListener(\r\n                \"resize\",\r\n                debounce(() => {\r\n                    if (\r\n                        this.$dialog.find(\"#betting-modal-window\").hasClass(\"help-popup-open\") &&\r\n                        ResponsiveUtils.breakpointUp(\"sm\")\r\n                    ) {\r\n                        this.closeHelpPopup();\r\n                    }\r\n                }, 300)\r\n            );\r\n        }\r\n    }\r\n\r\n    /** Event handler - change of primary checkbox */\r\n    changeCheckboxPrimary(e: JQuery.ChangeEvent) {\r\n        const val = this.board.togglePrimary(Number($(e.currentTarget).val()));\r\n        this.changeCheckbox(e, val, $(e.currentTarget).prop(\"checked\"));\r\n        onlineLotteries.game.updateDialogHtml();\r\n    }\r\n\r\n    /** Event handler - change of additinal checkbox */\r\n    changeCheckboxAdditional(e: JQuery.ChangeEvent) {\r\n        const val = this.board.toggleAdditional(Number($(e.currentTarget).val()));\r\n        this.changeCheckbox(e, val, $(e.currentTarget).prop(\"checked\"));\r\n        onlineLotteries.game.updateDialogHtml();\r\n    }\r\n\r\n    /** Event handler - change of primary number count */\r\n    changeNumberCount(e: JQuery.ChangeEvent) {\r\n        if (this.board) {\r\n            this.board.PrimaryCount = Number($(e.currentTarget).val());\r\n\r\n            // remove extra numbers\r\n            while (this.board.Primary.length > this.board.PrimaryCount) {\r\n                this.board.Primary.pop();\r\n            }\r\n\r\n            onlineLotteries.game.updateDialogHtml();\r\n            this.board.revalidate(onlineLotteries.game.config);\r\n            this.reinitButtons();\r\n            this.clearHoroscopes();\r\n        }\r\n    }\r\n\r\n    // pocet cisel\r\n    wagerCountHandler(e: JQuery.ChangeEvent): void {\r\n        if (!this.board) {\r\n            return;\r\n        }\r\n        this.board.PrimaryCount = Number($(e.currentTarget).val());\r\n\r\n        const $inputs = $(\".keno-wager-count input\");\r\n        if ($inputs.filter((i, el) => $(el).prop(\"checked\")).length === 1) return;\r\n\r\n        $inputs.prop(\"checked\", false).removeAttr(\"data-test\");\r\n        $inputs\r\n            .filter(`[value=${$(e.currentTarget).val()}]`)\r\n            .prop(\"checked\", true)\r\n            .attr(\"data-test\", \"selected\");\r\n\r\n        // remove extra numbers\r\n        while (this.board.Primary.length > this.board.PrimaryCount) {\r\n            this.board.Primary.pop();\r\n        }\r\n\r\n        onlineLotteries.game.updateDialogHtml();\r\n        this.board.revalidate(onlineLotteries.game.config);\r\n        this.reinitButtons();\r\n    }\r\n\r\n    /** Event handler - change of prefered stae for board */\r\n    changeStake(e: JQuery.ChangeEvent) {\r\n        // is stored in hallers\r\n        if (this.board) {\r\n            this.board.Stake = Number($(e.currentTarget).val()) * 100;\r\n        }\r\n    }\r\n\r\n    /** Event handler - change of Kralovska hra checkbox */\r\n    changeKingsGame(e: JQuery.ChangeEvent) {\r\n        if (this.board) {\r\n            this.board.KralovskaHra = $(e.currentTarget).prop(\"checked\");\r\n        }\r\n    }\r\n\r\n    /** Event handler - close dialog */\r\n    clickClose() {\r\n        this.close();\r\n    }\r\n\r\n    clickSave() {\r\n        this.save();\r\n        this.close();\r\n    }\r\n\r\n    clickSaveAndNext() {\r\n        const index = this.board.Index;\r\n        this.save();\r\n\r\n        if (index >= onlineLotteries.game.config.BoardMaxCount - 1) {\r\n            this.close();\r\n            return;\r\n        }\r\n\r\n        this.open(onlineLotteries.game.wager.Numbers[index + 1]);\r\n    }\r\n\r\n    clickRandom() {\r\n        this.addFillingToSession(\"randomColumn\");\r\n        this.genRandom();\r\n        Analytics.actionTouchpointLotteryPath(environment.game, \"game-\", \"-random\");\r\n    }\r\n\r\n    clickDestroy() {\r\n        this.destroy();\r\n        onlineLotteries.game.updateWagerHtml();\r\n        this.reinitButtons();\r\n        this.clearHoroscopes();\r\n        onlineLotteries.game.initAddButton();\r\n    }\r\n\r\n    /** Event handler - open dialog by clicking on board */\r\n    clickOpen(event: JQuery.ClickEvent) {\r\n        $(event.currentTarget).closest(\".mini-ticket-box\").data(\"columnindex\");\r\n        this.open();\r\n    }\r\n\r\n    genRandom() {\r\n        this.board.random();\r\n        this.reinitButtons();\r\n        this.clearHoroscopes();\r\n        onlineLotteries.game.updateDialogHtml();\r\n\r\n        // remove focus\r\n        $(\"#dialog-column-generate, .gen-random\").blur();\r\n        $(\"#btn-dialog-column-generate-mobile\").blur();\r\n    }\r\n\r\n    reinitButtons() {\r\n        if (this.board && this.board.IsValid) {\r\n            this.$dialog.find(this.HoroscopesWrapperSelector).filter(\".desktop\").css(\"padding-bottom\", \"136px\");\r\n            this.$dialog.find(\"#dialog-buttons-save\").removeClass(\"d-none\");\r\n            this.$dialog.addClass(\"bottom-controls\");\r\n            this.$dialog.find(\"#random-keno\").addClass(\"d-none\");\r\n            this.$dialog.addClass(\"full\");\r\n\r\n            this.$bottomDialogControls.removeClass(\"d-none\");\r\n        } else {\r\n            this.$dialog.find(this.HoroscopesWrapperSelector).filter(\".desktop\").css(\"padding-bottom\", \"\");\r\n            this.$dialog.find(\"#dialog-buttons-save\").addClass(\"d-none\");\r\n            this.$dialog.removeClass(\"bottom-controls\");\r\n            this.$dialog.find(\"#random-keno\").removeClass(\"d-none\");\r\n            this.$dialog.removeClass(\"full\");\r\n\r\n            this.$bottomDialogControls.addClass(\"d-none\");\r\n        }\r\n    }\r\n\r\n    save() {\r\n        if (!this.board.IsValid) {\r\n            return false;\r\n        }\r\n\r\n        if (onlineLotteries.game.wager.Numbers.length > this.board.Index && this.board.Index >= 0) {\r\n            // editing board\r\n\r\n            this.board.$board = onlineLotteries.game.wager.Numbers[this.board.Index].$board;\r\n            onlineLotteries.game.wager.Numbers[this.board.Index] = this.board;\r\n        } else {\r\n            // adding new board\r\n            this.board.$board = $(onlineLotteries.game.config.ColumnsWrapperId).find(\r\n                \"[data-columnindex=\" + this.board.Index + \"]\"\r\n            );\r\n            onlineLotteries.game.wager.Numbers.push(this.board);\r\n        }\r\n\r\n        onlineLotteries.game.wager.revalidate(onlineLotteries.game.config);\r\n\r\n        onlineLotteries.game.updateBoardHtml(this.board);\r\n\r\n        onlineLotteries.game.recalculateTotalPrice();\r\n\r\n        Cookie.saveWager();\r\n        onlineLotteries.game.initAddButton();\r\n    }\r\n\r\n    saveAndClose() {\r\n        this.save();\r\n        this.close();\r\n    }\r\n\r\n    /** Closes the editing dialog */\r\n    close() {\r\n        this.board = null;\r\n        this.$dialog.modal(\"hide\");\r\n        onlineLotteries.game.initButton();\r\n        onlineLotteries.game.initAddButton();\r\n        onlineLotteries.game.updateDialogHtml(true);\r\n    }\r\n\r\n    changeCheckbox(e: JQuery.ChangeEvent, val: boolean, valBeforeCorection: boolean) {\r\n        $(e.currentTarget).prop(\"checked\", val);\r\n\r\n        if (val) {\r\n            $(e.currentTarget).addClass(\"checked\");\r\n            this.addFillingToSession(\"manual\");\r\n            Analytics.actionTouchpointLotteryPath(environment.game, \"game-\", \"-manual\");\r\n        } else {\r\n            $(e.currentTarget).removeClass(\"checked\");\r\n        }\r\n\r\n        if ((valBeforeCorection == val) == false) {\r\n            sazkaAlert(onlineLotteries.game.messages[\"spo_sance\"]);\r\n        } else {\r\n            this.reinitButtons();\r\n            this.clearHoroscopes();\r\n        }\r\n    }\r\n\r\n    destroy() {\r\n        const board = onlineLotteries.game.wager.Numbers.splice(this.board.Index, 1);\r\n        if (this.board.Index == 0) {\r\n            onlineLotteries.game.wager.IsValidNumbers = false;\r\n        }\r\n        board[0].destroy();\r\n        onlineLotteries.game.recalculateTotalPrice();\r\n        this.close();\r\n    }\r\n\r\n    changeQuickInput(e: JQuery.ChangeEvent) {\r\n        const input = $(e.currentTarget);\r\n        const val = (input.val() as string).trim();\r\n        const numVal = Number(val);\r\n\r\n        this.readQuickInputs();\r\n\r\n        if (\r\n            !val ||\r\n            (Number.isInteger(numVal) &&\r\n                numVal >= onlineLotteries.game.config.PrimaryMinValue &&\r\n                numVal <= onlineLotteries.game.config.PrimaryMaxValue)\r\n        ) {\r\n            onlineLotteries.game.updateDialogHtml();\r\n            this.addFillingToSession(\"manual\");\r\n            Analytics.actionTouchpointLotteryPath(environment.game, \"game-\", \"-manual\");\r\n            this.clearHoroscopes();\r\n        } else {\r\n            onlineLotteries.game.updateDialogChechboxes();\r\n            this.reinitButtons();\r\n\r\n            // TODO: Replace Tooltip with DsTooltip (propably will be replaced by redesigned product pages)\r\n            input\r\n                .addClass(\"error\")\r\n                .removeClass(\"full\")\r\n                .tooltip({\r\n                    title: `Vložte číslo od ${onlineLotteries.game.config.PrimaryMinValue} do ${onlineLotteries.game.config.PrimaryMaxValue}`,\r\n                    trigger: \"manual\",\r\n                })\r\n                .tooltip(\"show\");\r\n        }\r\n    }\r\n\r\n    readQuickInputs(): void {\r\n        const quickInputs = this.$dialog.find(\"#dialog-column-inputs input\");\r\n        this.board.Primary = [];\r\n        for (let i = 0; i < quickInputs.length; i++) {\r\n            const val = Number(quickInputs.eq(i).val() as string);\r\n            if (Number.isInteger(val)) {\r\n                this.board.addPrimary(val);\r\n            }\r\n        }\r\n    }\r\n\r\n    addFillingToSession(value: string) {\r\n        const storage = useSessionStorage();\r\n        const storedValues = storage.getItem(this.config.CookieFillingName)?.split(\",\") ?? [];\r\n        if (storedValues.indexOf(value) >= 0) {\r\n            return;\r\n        }\r\n\r\n        storedValues.push(value);\r\n        storage.setItem(this.config.CookieFillingName, storedValues.join(\",\"), \"analytics\");\r\n    }\r\n\r\n    clearHoroscopes() {\r\n        $(this.HoroscopesImagesWrapperSelector).find(\".active\").removeClass(\"active\");\r\n    }\r\n\r\n    toggleHoroscopes() {\r\n        $(this.HoroscopesBtnSelector).toggleClass(\"active\");\r\n\r\n        $(this.HoroscopesImagesWrapperSelector).slideToggle();\r\n        $(this.HoroscopesImagesWrapperSelector).toggleClass(\"active\");\r\n    }\r\n\r\n    clickHoroscopeRandom(e) {\r\n        e.preventDefault();\r\n        this.addFillingToSession(\"horoskop\");\r\n        this.genRandom();\r\n        $(e.currentTarget).addClass(\"active\");\r\n    }\r\n\r\n    toggleMostFrequentNumbers(e) {\r\n        if ($(e.currentTarget).is(\":checked\")) {\r\n            this.$dialog.find(\"#betting-modal-window\").addClass(\"most-active\");\r\n        } else {\r\n            this.$dialog.find(\"#betting-modal-window\").removeClass(\"most-active\");\r\n        }\r\n    }\r\n\r\n    toogleLeastFrequenciesNumbers(e) {\r\n        if ($(e.currentTarget).is(\":checked\")) {\r\n            this.$dialog.find(\"#betting-modal-window\").addClass(\"least-active\");\r\n        } else {\r\n            this.$dialog.find(\"#betting-modal-window\").removeClass(\"least-active\");\r\n        }\r\n    }\r\n\r\n    openHelpPopup() {\r\n        if (ResponsiveUtils.breakpointDown(\"sm\")) {\r\n            this.$dialog.find(\"#betting-modal-window\").addClass(\"help-popup-open\");\r\n        }\r\n    }\r\n    closeHelpPopup() {\r\n        this.$dialog.find(\"#betting-modal-window\").removeClass(\"help-popup-open\");\r\n    }\r\n}\r\n","import { LotteryUtils } from \"@sazka/lotteries/js/utils/lottery-utils\";\r\nimport { useSessionStorage } from \"@sazka/utils/use-storage\";\r\nimport { AnalyticsHelper } from \"./analytics/analytics-helper\";\r\nimport { AnalyticsProduct } from \"./analytics/analytics-product\";\r\nimport { Dialog } from \"./dialog\";\r\nimport { DurationState } from \"./duration-state\";\r\nimport { Game } from \"./game\";\r\nimport { LotteryCheckout } from \"./lottery-checkout/lottery-checkout\";\r\nimport { useWagerDurationStore } from \"../shared/composables/use-wager-duration\";\r\nimport { SubscriptionAnalytics } from \"@/lotteries/online/shared/subscription-analytics\";\r\n\r\nconst durationStore = useWagerDurationStore();\r\n\r\nclass Online {\r\n    game: Game;\r\n    dialog: Dialog;\r\n    config: any;\r\n    wagerInConfirmProgress = false;\r\n    store: ReturnType<typeof useSessionStorage>;\r\n    checkout: LotteryCheckout;\r\n\r\n    messages: any;\r\n\r\n    weekday = [\"Neděle\", \"Pondělí\", \"Úterý\", \"Středa\", \"Čtvrtek\", \"Pátek\", \"Sobota\"];\r\n\r\n    constructor() {\r\n        this.config = {\r\n            dialogAlertId: \"#alertModal\",\r\n            debug: false,\r\n            cookieExpire: 0.014,\r\n            wrapperAllId: \"#game-wrapper-all\",\r\n            dialogID: \"\",\r\n        };\r\n\r\n        $(\".btn-hide-alert\").click(function () {\r\n            $(this).closest(\".modal\").modal(\"hide\");\r\n        });\r\n\r\n        this.dialog = new Dialog(this.config.DialogFormId);\r\n        this.store = useSessionStorage();\r\n    }\r\n\r\n    setGame(game: Game) {\r\n        this.game = game;\r\n        this.checkout = new LotteryCheckout({\r\n            key: this.game.GameName,\r\n            useDefaultAnalytics: true,\r\n            betServiceUrl: `/${this.game.GameName}`,\r\n            getCost: () => this.game.wager.Cost,\r\n            getData: () => JSON.parse(this.game.wager.stringify(true)),\r\n            isSubscriptionInternal: () => {\r\n                return this.checkout.storedData != null\r\n                    ? this.checkout.storedData.DurationChoice === DurationState.Subscription\r\n                    : this.game.wager.DurationChoice === DurationState.Subscription;\r\n            },\r\n            restartFlow: () => {\r\n                this.game.wager.send(true);\r\n            },\r\n        });\r\n    }\r\n\r\n    clickWager() {\r\n        if (this.wagerInConfirmProgress) {\r\n            return;\r\n        }\r\n        this.wagerInConfirmProgress = true;\r\n        const isSubscription = this.game.wager.DurationChoice == DurationState.Subscription;\r\n\r\n        const $confirmDialog = $(\"#dialog-confirm\");\r\n        $confirmDialog.off(\"hidden.bs.modal\");\r\n        $confirmDialog.on(\"hidden.bs.modal\", () => {\r\n            this.wagerInConfirmProgress = false;\r\n        });\r\n        const totalPrice = this.game.wager.Cost / 100;\r\n        const question = isSubscription ? \"Opravdu vsadit</br>a založit trvalý příkaz?\" : \"Opravdu vsadit?\";\r\n        const gameName = isSubscription\r\n            ? LotteryUtils.lotteryDisplayName(this.game.GameName)\r\n            : LotteryUtils.lotteryDisplayName4thFall(this.game.GameName);\r\n\r\n        $confirmDialog.find(\"#dialog-confirm-price\").text($(\"#total-price\").parent().text().trim());\r\n        $confirmDialog.find(\"#dialog-confirm-question\").html(question);\r\n        $confirmDialog.find(\"#dialog-confirm-game-name\").text(gameName);\r\n        $confirmDialog.modal(\"show\").addClass(\"active\");\r\n\r\n        $(\"#btn-confirm-yes\").unbind(\"click\");\r\n        $(\"#btn-confirm-yes\").click(() => {\r\n            $(\"#btn-confirm-yes\").unbind(\"click\");\r\n\r\n            AnalyticsHelper.pushClickButton(\"betYes\", this.getFillingFromSession(), totalPrice);\r\n            if (isSubscription) SubscriptionAnalytics.confirmStandingOrder();\r\n            this.clickWagerConfirm();\r\n        });\r\n\r\n        $(\"#btn-confirm-no\").unbind(\"click\");\r\n        $(\"#btn-confirm-no\").click(() => {\r\n            $confirmDialog.removeClass(\"active\").modal(\"hide\");\r\n\r\n            // analytics\r\n            AnalyticsHelper.pushGamePage();\r\n            AnalyticsHelper.measureEvent();\r\n            AnalyticsHelper.pushClickButton(\"betNo\", this.getFillingFromSession(), totalPrice);\r\n            if (isSubscription) SubscriptionAnalytics.refuseStandingOrder();\r\n        });\r\n\r\n        // analytics\r\n        let drawdays = \"\";\r\n        if (this.game.config.HasDurationComponent && durationStore.durationType == DurationState.Once) {\r\n            drawdays = AnalyticsHelper.getDrawDay(\r\n                $(\".duration-option--once-draws .duration-selector input:checked\").parent().data(\"dayofweek\")\r\n            );\r\n        } else {\r\n            $(\".duration-option--multi-draws .duration-selector input:checked\").each(function () {\r\n                drawdays += AnalyticsHelper.getDrawDay($(this).parent().data(\"dayofweek\"));\r\n            });\r\n        }\r\n\r\n        let drawtimes: \"evn\" | \"aft\" | \"aftevn\" | \"\" = \"\";\r\n        if (this.game.wager.Evening) {\r\n            drawtimes = \"evn\";\r\n            if (this.game.wager.Afternoon) {\r\n                drawtimes = \"aftevn\";\r\n            }\r\n        } else if (this.game.wager.Afternoon) {\r\n            drawtimes = \"aft\";\r\n        }\r\n\r\n        let ticketKind = \"\";\r\n        if (this.game.config.HasDurationComponent) {\r\n            ticketKind = durationStore.getBettingMode;\r\n        } else {\r\n            ticketKind = this.game.wager.Duration > 1 ? \"multiDraw\" : \"singleDraw\";\r\n        }\r\n\r\n        const multiplier = this.game.wager.Multiplier > 1 ? \"multiplier\" : \"\";\r\n        const product = new AnalyticsProduct(\r\n            this.game.wager.Cost / 100,\r\n            this.game.wager.Numbers.length,\r\n            this.game.wager.Duration,\r\n            drawdays,\r\n            LotteryUtils.analyticsCodeName(this.game.GameName) as any,\r\n            multiplier,\r\n            ticketKind,\r\n            drawtimes,\r\n            durationStore.getRepetitionEndDate,\r\n            this.game.isQuickWager\r\n        );\r\n        if (AnalyticsHelper.cart.products.length > 0) {\r\n            AnalyticsHelper.removeProduct(AnalyticsHelper.cart.products[0]);\r\n        }\r\n        setTimeout(() => {\r\n            AnalyticsHelper.pushProductsNull();\r\n            AnalyticsHelper.addProduct(product);\r\n            AnalyticsHelper.pushCart();\r\n            AnalyticsHelper.pushOrder(1);\r\n            AnalyticsHelper.pushCheckout();\r\n            AnalyticsHelper.measureEvent();\r\n        }, 0);\r\n    }\r\n\r\n    clickWagerConfirm() {\r\n        if (this.game.wager.DurationChoice == DurationState.Once) {\r\n            this.game.wager.Notification = false;\r\n        }\r\n        this.game.wager.send();\r\n    }\r\n\r\n    markLatestColumn() {\r\n        const $columns = $(\"#game-columns\");\r\n        $columns.find(\".mini-ticket-box.last\").removeClass(\"last\");\r\n        $columns.find(\".mini-ticket-box.active\").last().addClass(\"last\");\r\n    }\r\n\r\n    /** Sends a request to API */\r\n    sendAPIRequest(url: string, data: string, success, error?): void {\r\n        $.ajax({\r\n            type: \"POST\",\r\n            url: url,\r\n            data: data,\r\n            contentType: \"application/json; charset=utf-8\",\r\n            dataType: \"json\",\r\n            success: success,\r\n            error: error,\r\n        });\r\n    }\r\n\r\n    getFillingFromSession(): string {\r\n        let fillingString = this.store.getItem(this.game.config.CookieFillingName);\r\n        if (!fillingString) {\r\n            fillingString = \"randomColumn\";\r\n        }\r\n\r\n        return fillingString;\r\n    }\r\n}\r\n\r\nexport const onlineLotteries = new Online();\r\n","import { Lottery } from \"@/lotteries/model/lottery\";\r\nimport { DateTimeUtils } from \"@sazka/utils/date-time-utils\";\r\nimport { SubscriptionEndType } from \"./subscription-end-type\";\r\n\r\nexport namespace SubscriptionAnalytics {\r\n    const HALLERS = 100;\r\n\r\n    const stringDateConversion = (date: string): string =>\r\n        date ? DateTimeUtils.formatDate(new Date(date)).replace(/\\s/g, \"\") : \"infinity\";\r\n\r\n    // DL1.10\r\n    export const selectStandingOrder = () => {\r\n        window.dataLayer.push({ event: \"action.select.standingOrder\" });\r\n    };\r\n\r\n    // DL1.20\r\n    export const changeSetupStandingOrder = (endType: SubscriptionEndType, end: Date, drawDays: string[]) => {\r\n        const repetitionEndDate =\r\n            endType === SubscriptionEndType.Unlimited ? \"infinity\" : DateTimeUtils.formatDate(end).replace(/\\s/g, \"\");\r\n\r\n        window.dataLayer.push({\r\n            event: \"action.changeSetup.standingOrder\",\r\n            action: {\r\n                changeSetup: {\r\n                    repetitionEndDate: repetitionEndDate, // inifinty or exact date\r\n                    drawDays: drawDays\r\n                        ?.map((s) => s.substring(0, 2))\r\n                        ?.join(\",\")\r\n                        .toString(), // selected days (mo - monday, we - wednesday, etc...) separated by comma\r\n                },\r\n            },\r\n        });\r\n    };\r\n\r\n    // DL1.50\r\n    export const confirmStandingOrder = () => {\r\n        window.dataLayer.push({ event: \"action.confirm.standingOrder\" });\r\n    };\r\n\r\n    // DL1.60\r\n    export const refuseStandingOrder = () => {\r\n        window.dataLayer.push({ event: \"action.refuse.standingOrder\" });\r\n    };\r\n\r\n    // DL1.70\r\n    export const restoreStandingOrder = (gameCode: Lottery, totalBetValue: number, date: string) => {\r\n        window.dataLayer.push({\r\n            event: \"action.restore.standingOrder\",\r\n            action: {\r\n                restore: {\r\n                    gameCode: gameCode, // game that player restored\r\n                    value: totalBetValue / HALLERS, // total bet value\r\n                    bettingMode: \"standingOrder\",\r\n                    repetitionEndDate: stringDateConversion(date), // inifinty or exact date\r\n                },\r\n            },\r\n        });\r\n    };\r\n\r\n    // DL1.80\r\n    export const cancelStandingOrder = (gameCode: Lottery, totalBetValue: number, date: string) => {\r\n        window.dataLayer.push({\r\n            event: \"action.cancel.standingOrder\",\r\n            action: {\r\n                cancel: {\r\n                    gameCode: gameCode, // game that player restored\r\n                    value: totalBetValue / HALLERS, // total bet value\r\n                    bettingMode: \"standingOrder\",\r\n                    repetitionEndDate: stringDateConversion(date), // inifinty or exact date\r\n                },\r\n            },\r\n        });\r\n    };\r\n\r\n    // DL1.90\r\n    export const editStandingOrder = (gameCode: Lottery, totalBetValue: number, date: string) => {\r\n        window.dataLayer.push({\r\n            event: \"action.edit.standingOrder\",\r\n            action: {\r\n                edit: {\r\n                    gameCode: gameCode, // game that player restored\r\n                    value: totalBetValue / HALLERS, // total bet value\r\n                    bettingMode: \"standingOrder\",\r\n                    repetitionEndDate: stringDateConversion(date), // inifinty or exact date\r\n                },\r\n            },\r\n        });\r\n    };\r\n}\r\n","import { Lottery } from \"@/lotteries/model/lottery\";\r\nimport useBetSuccess from \"../../composables/bet-success/use-bet-success\";\r\nimport { Board } from \"./board\";\r\nimport { Cookie } from \"./cookie\";\r\nimport { DurationState } from \"./duration-state\";\r\nimport { GameConfig } from \"./game-config\";\r\nimport { onlineLotteries } from \"./online-lotteries\";\r\nimport { DateTimeUtils } from \"@sazka/utils/date-time-utils\";\r\n\r\n/** Represens single wager*/\r\nexport class Wager {\r\n    /** Name for favorite wager or subscription */\r\n    Name = \"\";\r\n    /** Game name, that wager is for*/\r\n    GameName: Lottery;\r\n    /** Flag if wager is system*/\r\n    IsSystem = false;\r\n    /** Favorite ID - if wager is favorite*/\r\n    FavoriteID: number = null;\r\n    /** Wagers can be multiplied to wager and earn more */\r\n    Multiplier = 1;\r\n    /** Cost of wager*/\r\n    Cost = 0;\r\n    /** Used when stake is the same for all boards (Extra renta) */\r\n    Stake = 0;\r\n\r\n    /** Primary and secondary numbers - list of boards */\r\n    Numbers: Board[] = [];\r\n\r\n    /** List of numbers for addon game */\r\n    AddonNumbers: Array<number> = new Array<number>();\r\n    /** Flag if addon game is played (sance,extra6 etc.) */\r\n    AddonPlayed: boolean;\r\n\r\n    /** Duration of wager */\r\n    Duration = 1;\r\n    /** State of duration picker - which means is wager subscription, or simple wager */\r\n    DurationChoice: DurationState = DurationState.Once;\r\n    /** Date when subscription of this wager should end */\r\n    SubscriptionEnd: Date = null;\r\n    /** Name of subscription */\r\n    SubscriptionName = null;\r\n\r\n    /** Flag if wager is played at afternoon draw */\r\n    Afternoon = false;\r\n    /** Flag if wager is played at evening draw */\r\n    Evening = false;\r\n    /** Flag if wager is played at monday draw */\r\n    Mon = false;\r\n    /** Flag if wager is played at tuesday draw */\r\n    Tue = false;\r\n    /** Flag if wager is played at wednesday draw */\r\n    Wen = false;\r\n    /** Flag if wager is played at thursday draw */\r\n    Thu = false;\r\n    /** Flag if wager is played at friday draw */\r\n    Fri = false;\r\n    /** Flag if wager is played at sunday draw */\r\n    Sun = false;\r\n    /** Flag is wager is played in special draw*/\r\n    Special = false;\r\n\r\n    /** Wager has valid numbers */\r\n    IsValidNumbers = false;\r\n    /** Wager has valid duration */\r\n    IsValidDuration = false;\r\n\r\n    /** Flag if we want to send/wager this wager for example we was wainting for autorization*/\r\n    WantToSend = false;\r\n    /** Flag if editing should be opened right after loading page */\r\n    ShowCompleteState = false;\r\n\r\n    /** Flag if subscription end notification should be sent */\r\n    Notification = false;\r\n\r\n    Token: string = null;\r\n\r\n    get IsValid(): boolean {\r\n        return this.IsValidDuration && this.IsValidNumbers;\r\n    }\r\n\r\n    /** Constructs Wager object and initializes arrays and other properties */\r\n    constructor(addonEnabled: boolean) {\r\n        this.AddonPlayed = addonEnabled;\r\n    }\r\n\r\n    /** Method bets wager - sends request to API */\r\n    send(isRestarted = false) {\r\n        // hides modal dialog\r\n        $(\"#dialog-confirm\").removeClass(\"active\").modal(\"hide\");\r\n        onlineLotteries.checkout.start({ isRestarted: isRestarted }).then((data) => {\r\n            this.responseSuccess(data);\r\n        });\r\n    }\r\n\r\n    /** Method handles successful response from server */\r\n    responseSuccess(data) {\r\n        const price = Math.round(Number(onlineLotteries.game.wager.Cost / 100));\r\n        const wagerId = data.Payload.WagerIds ?? data.Payload.WagerID;\r\n\r\n        Cookie.remove();\r\n        Cookie.remove(onlineLotteries.game.config.CookieFillingName);\r\n        Cookie.remove(onlineLotteries.game.config.EvenOddCookieName);\r\n        Cookie.remove(onlineLotteries.game.config.LowHighCookieName);\r\n\r\n        const { toggleShowSuccess } = useBetSuccess();\r\n        toggleShowSuccess(\r\n            price,\r\n            wagerId,\r\n            false,\r\n            this.DurationChoice == DurationState.Subscription,\r\n            data.subscriptionId\r\n        );\r\n    }\r\n\r\n    /** Generates random wager (random boards and addon game) */\r\n    random(\r\n        numberOfBoards = 1,\r\n        kralovskaHra = false,\r\n        primaryNumbers: number = onlineLotteries.game.config.PrimaryCount,\r\n        // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n        additionalNumbers: number = onlineLotteries.game.config.AdditionalCount,\r\n        addon = true,\r\n        stake: number = null\r\n    ) {\r\n        this.Numbers = [];\r\n        for (let i = 0; i < numberOfBoards; i++) {\r\n            const board = new Board(\r\n                i,\r\n                $(onlineLotteries.game.config.ColumnsWrapperId).find(\"[data-columnindex=\" + i + \"]\")\r\n            );\r\n            if (i < numberOfBoards) {\r\n                board.PrimaryCount = primaryNumbers;\r\n                board.random();\r\n                board.KralovskaHra = kralovskaHra;\r\n                if (stake) board.Stake = stake;\r\n            }\r\n            this.Numbers.push(board);\r\n        }\r\n\r\n        this.AddonNumbers = onlineLotteries.game.addonRegenerate();\r\n        this.AddonPlayed = addon;\r\n        this.revalidate(onlineLotteries.game.config);\r\n        onlineLotteries.game.initButton();\r\n    }\r\n\r\n    addRandomColumns(wager: Wager = this): Wager {\r\n        const config = onlineLotteries.game.config;\r\n        const missingColumns =\r\n            wager && wager.Numbers ? config.BoardMaxCount - wager.Numbers.length : config.BoardMaxCount;\r\n\r\n        for (let i = config.BoardMaxCount - missingColumns; i <= config.BoardMaxCount - 1; i++) {\r\n            const board = new Board(i, $(config.ColumnsWrapperId).find(`[data-columnindex=${i}]`)).random();\r\n            wager.Numbers.push(board);\r\n        }\r\n        return wager;\r\n    }\r\n\r\n    /** resets wager to initial state */\r\n    reset() {\r\n        this.Numbers = [];\r\n\r\n        this.Duration = 1;\r\n        this.Multiplier = 1;\r\n        this.Name = \"\";\r\n        this.AddonNumbers = [];\r\n\r\n        this.Afternoon = this.Evening = this.Tue = this.Wen = this.Fri = this.Sun = false;\r\n\r\n        this.IsValidDuration = false;\r\n        this.IsValidNumbers = false;\r\n    }\r\n\r\n    /** Stringifyes wager so it can be send to API or stored as cookie */\r\n    stringify(resetAddon = false) {\r\n        const backup = [];\r\n        for (let i = 0; i < this.Numbers.length; i++) {\r\n            if (this.Numbers[i] != null) {\r\n                backup.push(this.Numbers[i].$board);\r\n                this.Numbers[i].$board = null;\r\n            }\r\n        }\r\n        const addonNumbers = this.AddonNumbers;\r\n        if (!this.AddonPlayed && resetAddon) {\r\n            this.AddonNumbers = new Array<number>();\r\n        }\r\n\r\n        this.Token = $(\"#__CMSCsrfToken\").val()?.toString() || \"\";\r\n\r\n        // serialize date to local time to keep correct date from calendar input\r\n        const dateReplacer = (key: string, value: any) => {\r\n            if (this[key] instanceof Date && this[key]) {\r\n                return DateTimeUtils.getLocalIsoString(this[key]);\r\n            }\r\n\r\n            return value;\r\n        };\r\n\r\n        const str = JSON.stringify(this, dateReplacer);\r\n\r\n        if (!this.AddonPlayed && resetAddon) {\r\n            this.AddonNumbers = addonNumbers;\r\n        }\r\n\r\n        for (let i = 0; i < this.Numbers.length; i++) {\r\n            if (this.Numbers[i] != null) {\r\n                this.Numbers[i].$board = backup[i];\r\n            }\r\n        }\r\n\r\n        return str;\r\n    }\r\n\r\n    /** Copy-constructor */\r\n    clone(wager: Wager = this): Wager {\r\n        const cloned: Wager = new Wager(wager.AddonPlayed);\r\n\r\n        wager.Numbers.forEach((obj) => {\r\n            cloned.Numbers.push(new Board(0, null).clone(obj));\r\n        });\r\n\r\n        cloned.Duration = wager.Duration;\r\n        cloned.Name = wager.Name;\r\n\r\n        wager.AddonNumbers.forEach((obj) => {\r\n            cloned.AddonNumbers.push(obj);\r\n        });\r\n\r\n        cloned.AddonPlayed = wager.AddonPlayed;\r\n        cloned.Afternoon = wager.Afternoon;\r\n        cloned.Evening = wager.Evening;\r\n        cloned.Tue = wager.Tue;\r\n        cloned.Wen = wager.Wen;\r\n        cloned.Fri = wager.Fri;\r\n        cloned.Sun = wager.Sun;\r\n        cloned.Multiplier = wager.Multiplier;\r\n        cloned.IsSystem = wager.IsSystem;\r\n        cloned.Special = wager.Special;\r\n        cloned.WantToSend = wager.WantToSend;\r\n        cloned.Cost = wager.Cost;\r\n        cloned.FavoriteID = wager.FavoriteID;\r\n        cloned.GameName = wager.GameName;\r\n        cloned.ShowCompleteState = wager.ShowCompleteState;\r\n        cloned.SubscriptionEnd = wager.SubscriptionEnd;\r\n        cloned.SubscriptionName = wager.SubscriptionName;\r\n        cloned.DurationChoice = wager.DurationChoice;\r\n        cloned.IsValidNumbers = wager.IsValidNumbers;\r\n        cloned.IsValidDuration = wager.IsValidDuration;\r\n        cloned.DurationChoice = wager.DurationChoice;\r\n        return cloned;\r\n    }\r\n\r\n    /** Revalidates whole wager */\r\n    revalidate(config: GameConfig): boolean {\r\n        let valid = this.Numbers.length > 0;\r\n        for (let i = 0; i < this.Numbers.length; i++) {\r\n            valid = valid && this.Numbers[i].revalidate(config);\r\n        }\r\n        this.IsValidNumbers = valid;\r\n\r\n        this.IsValidDuration = onlineLotteries.game.isDurationValid();\r\n\r\n        if (onlineLotteries.game.wager) {\r\n            onlineLotteries.game.initButton();\r\n        }\r\n\r\n        return this.IsValid;\r\n    }\r\n\r\n    revalidateRychla6(): boolean {\r\n        const valid = this.Numbers.length > 0;\r\n        this.IsValidNumbers = valid;\r\n        this.IsValidDuration = onlineLotteries.game.isDurationValid();\r\n\r\n        if (onlineLotteries.game.wager) {\r\n            onlineLotteries.game.initButton();\r\n        }\r\n\r\n        return this.IsValid;\r\n    }\r\n}\r\n","/**\r\n * Debounce function - use like this:\r\n * var handler = debounce(function(){ do the work}, 100);\r\n * $(window).scroll(handler);\r\n * @param func callback function\r\n * @param wait time in milliseconds to wait\r\n * @param immediate\r\n */\r\n\r\ntype CallbackFunction = (...args: any[]) => any;\r\n\r\nexport function debounce<T extends CallbackFunction>(func: T, wait: number, immediate = false) {\r\n    let timeout: number | null;\r\n\r\n    return function (this: ThisParameterType<T>, ...args: Parameters<T>) {\r\n        /* eslint-disable @typescript-eslint/no-this-alias */\r\n        const context = this;\r\n        const later = function () {\r\n            timeout = null;\r\n            if (!immediate) func.apply(context, args);\r\n        };\r\n        const callNow = immediate && !timeout;\r\n        clearTimeout(timeout as number);\r\n        timeout = window.setTimeout(later, wait);\r\n        if (callNow) func.apply(context, args);\r\n    };\r\n}\r\n"],"names":["showSuccess","ref","multibetbetPage","betPrice","betWagerId","isSubscription","subscriptionId","balanceAfterBet","balanceNumeric","useNgSession","useBetSuccess","toggleShowSuccess","price","wagerId","multibetbet","isSubscriptionBet","subscriptionIdBet","value","miniRentaConfig","lottery","Lottery","miniRenta","boardCount","primaryBoardSize","defaultStake","primaryNumbers","boardLabel","hasDurationComponent","hasDrawOptions","hasMultidrawNotification","hasAllOrOneMultidrawOptions","hasSubscription","isDrawnEveryDay","durationTitle","maxDuration","multidrawDurationOptions","inlineBoardsMaxCount","Board","constructor","index","board","systemBetType","_onlineLotteries$game","_defineProperty","Array","this","Index","SystemBetType","Primary","Additional","onlineLotteries","game","config","PrimaryCount","AdditionalCount","Stake","DefaultStake","KralovskaHra","DefaultKralovskaHra","$board","data","clone","cloned","i","length","push","GameName","IsValid","addPrimary","num","PrimaryCountUnlimited","PrimaryMinValue","PrimaryMaxValue","indexOf","sort","a","b","revalidate","removePrimary","splice","Math","max","togglePrimary","addAdditional","removeAdditional","toggleAdditional","random","regenerate","AdditionalEnabled","randomGenerator","PrimaryUnique","AdditionalMinValue","AdditionalMaxValue","AdditionalUnique","minValue","maxValue","count","unique","result","pop","sourceArray","floor","valid","forEach","Name","rychla6","additionalPrimaryNums","includes","e","destroy","Cookie","saveWager","updateBoardHtml","cookieName","expiration","wager","CookieExpiration","CookieName","store","setItem","stringify","remove","removeItem","read","onlyFirstColumn","getJson","undefined","Wager","AddonNumbers","Duration","AddonPlayed","IsSystem","Special","Multiplier","Notification","Numbers","element","$","ColumnsWrapperId","find","x","Number","numbersIndex","ShowCompleteState","DurationChoice","DurationState","Subscription","Afternoon","Evening","Mon","Thu","IsValidNumbers","console","error","useSessionStorage","Dialog","selector","$dialog","$bottomDialogControls","loadHandlers","setGameConfig","open","removeAddButton","show","hide","showRemoveButton","removeClass","addClass","off","BoardMaxCount","on","clickSaveAndNext","updateDialogHtml","clearHoroscopes","modal","changeCheckboxPrimary","changeCheckboxAdditional","changeNumberCount","changeStake","changeKingsGame","changeQuickInput","wagerCountHandler","clickClose","clickSave","clickRandom","clickHoroscopeRandom","HoroscopesBtnSelector","toggleHoroscopes","clickDestroy","initAddButton","toggleMostFrequentNumbers","toogleLeastFrequenciesNumbers","openHelpPopup","closeHelpPopup","window","addEventListener","debounce","hasClass","ResponsiveUtils","breakpointUp","val","currentTarget","changeCheckbox","prop","reinitButtons","$inputs","filter","el","removeAttr","attr","close","save","addFillingToSession","genRandom","Analytics","actionTouchpointLotteryPath","environment","updateWagerHtml","clickOpen","event","closest","blur","HoroscopesWrapperSelector","css","recalculateTotalPrice","saveAndClose","initButton","valBeforeCorection","sazkaAlert","messages","input","trim","numVal","readQuickInputs","isInteger","updateDialogChechboxes","tooltip","title","trigger","quickInputs","eq","_storage$getItem$spli","_storage$getItem","storage","storedValues","getItem","CookieFillingName","split","join","HoroscopesImagesWrapperSelector","toggleClass","slideToggle","preventDefault","is","breakpointDown","durationStore","useWagerDurationStore","Online","dialogAlertId","debug","cookieExpire","wrapperAllId","dialogID","click","dialog","DialogFormId","setGame","checkout","LotteryCheckout","key","useDefaultAnalytics","betServiceUrl","getCost","Cost","getData","JSON","parse","isSubscriptionInternal","storedData","restartFlow","send","clickWager","wagerInConfirmProgress","$confirmDialog","totalPrice","question","gameName","LotteryUtils","lotteryDisplayName","lotteryDisplayName4thFall","text","parent","html","unbind","AnalyticsHelper","pushClickButton","getFillingFromSession","SubscriptionAnalytics","confirmStandingOrder","clickWagerConfirm","pushGamePage","measureEvent","refuseStandingOrder","drawdays","HasDurationComponent","durationType","Once","getDrawDay","each","drawtimes","ticketKind","getBettingMode","multiplier","product","AnalyticsProduct","analyticsCodeName","getRepetitionEndDate","isQuickWager","cart","products","removeProduct","setTimeout","pushProductsNull","addProduct","pushCart","pushOrder","pushCheckout","markLatestColumn","$columns","last","sendAPIRequest","url","success","ajax","type","contentType","dataType","fillingString","HALLERS","stringDateConversion","date","DateTimeUtils","formatDate","Date","replace","selectStandingOrder","dataLayer","changeSetupStandingOrder","endType","end","drawDays","_drawDays$map","repetitionEndDate","SubscriptionEndType","Unlimited","action","changeSetup","map","s","substring","toString","restoreStandingOrder","gameCode","totalBetValue","restore","bettingMode","cancelStandingOrder","cancel","editStandingOrder","edit","IsValidDuration","addonEnabled","isRestarted","start","then","responseSuccess","_data$Payload$WagerId","round","Payload","WagerIds","WagerID","EvenOddCookieName","LowHighCookieName","numberOfBoards","kralovskaHra","additionalNumbers","addon","stake","addonRegenerate","addRandomColumns","missingColumns","reset","Tue","Wen","Fri","Sun","resetAddon","_$$val","backup","addonNumbers","Token","dateReplacer","getLocalIsoString","str","obj","WantToSend","FavoriteID","SubscriptionEnd","SubscriptionName","isDurationValid","revalidateRychla6","func","wait","immediate","timeout","args","context","later","apply","callNow","clearTimeout"],"sourceRoot":""}