<!DOCTYPE html>
<html lang="en" prefix="og:http://ogp.me/ns#" class="no-js">

<head>
    <meta charset="utf-8">
    <title>Login | happytick
</title>
    <!-- Viewport settings for responsive layout and fullscreen fit -->
            <meta name="viewport" content="initial-scale=1, viewport-fit=cover, user-scalable=yes">
    
    <!-- Enable fullscreen mode on Android Chrome -->
    <meta name="mobile-web-app-capable" content="yes">

    <!-- Enable fullscreen mode on iOS Safari -->
    <meta name="apple-mobile-web-app-capable" content="yes">

    <link rel="shortcun icon" href="https://www.happytick.com/assets/img/photo_6161071668210633917_m.jpg" type="image/x-icon" />
    <link href="https://www.happytick.com/login" rel="canonical">
    <meta name="csrf-token" content="mCDhHotGOu831nXaWPtm6oBM5qUvaFKcwwl3vY1B" />
    <link rel="alternate" href="https://www.happytick.com/login" hreflang="x-default" />

    <!-- Google Font: Source Sans Pro -->
    <link rel="stylesheet"
        href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,400i,700&display=fallback">
    <!-- Font Awesome -->
    <link rel="stylesheet" href="https://www.happytick.com/assets/plugins/fontawesome-free/css/all.min.css">
    <!-- icheck bootstrap -->
    <link rel="stylesheet" href="https://www.happytick.com/assets/plugins/icheck-bootstrap/icheck-bootstrap.min.css">
    <!-- SweetAlert2 -->
    <link rel="stylesheet" href="https://www.happytick.com/assets/plugins/sweetalert2/sweetalert2.css">
    <!-- Toastr -->
    <link rel="stylesheet" href="https://www.happytick.com/assets/plugins/toastr/toastr.min.css">
    <!-- overlayScrollbars -->
    <link rel="stylesheet" href="https://www.happytick.com/assets/plugins/overlayScrollbars/css/OverlayScrollbars.min.css">

    <!-- daterange picker -->
    <link rel="stylesheet" href="https://www.happytick.com/assets/plugins/daterangepicker/daterangepicker.css">
    <!-- Tempusdominus Bootstrap 4 -->
    <link rel="stylesheet"
        href="https://www.happytick.com/assets/plugins/tempusdominus-bootstrap-4/css/tempusdominus-bootstrap-4.min.css">

    <!-- Theme style -->
    <link rel="stylesheet" href="https://www.happytick.com/assets/css/adminlte.min.css">

    <link type="text/css" rel="stylesheet" href="https://www.happytick.com/assets/css/custom.css?v=20250928" />
    <link type="text/css" rel="stylesheet" href="https://www.happytick.com/assets/css/modal-loading.css" />
    <link type="text/css" rel="stylesheet" href="https://www.happytick.com/assets/css/modal-loading-animate.css" />

    <!-- Select2 -->
    <link rel="stylesheet" href="https://www.happytick.com/assets/plugins/select2/css/select2.min.css">
    <link rel="stylesheet" href="https://www.happytick.com/assets/plugins/select2-bootstrap4-theme/select2-bootstrap4.min.css">
    <!-- Tom Select CSS (Bootstrap 4 theme) -->
    <link href="https://cdn.jsdelivr.net/npm/tom-select@2.2.2/dist/css/tom-select.bootstrap4.min.css" rel="stylesheet">

    
    <style>
        .login-page {
            background: url("https://www.happytick.com/assets/img/tick_acc_bg_2.jpg") fixed center no-repeat !important;
            background-color: #033B51 !important;
            background-size: cover !important;
        }

        /* Show toasts fully opaque without needing to hover */
        #toast-container>div {
            opacity: 1;
            -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
            filter: alpha(opacity=100);
        }

        /* Enlarge toast box only for balance/transfer notifications */
        #toast-container>div:has(.noti-balance) {
            width: 460px;
            max-width: 90vw;
            padding: 20px 20px 20px 50px;
        }
    </style>
</head>


<body class="hold-transition  login-page ">
    
    
    
    
    
    
    

        <div class="container">
        <div class="row">
            <div class="col-md-4 col-12 float-start">
                <!-- /.login-logo -->
                <div class="card card-primary">
                                        <div class="card-header text-center login-box-background">
                        <span class="desktop-only">
                            <font class="stitle text-light">TICK</font><font class="w14 text-light">  ACCOUNT MANAGEMENT</font>
                        </span>
                        <span class="mobile-only">
                            <img src="https://www.happytick.com/assets/img/banner_logo.png" style="width: -webkit-fill-available;">
                        </span>
                    </div>
                                        <div class="card-body">
                        <div class="input-group mb-3">
                            <label class="w-100">Username</label>
                            <input type="text" class="form-control check" id="email" name="email" required="">
                            <div class="input-group-append">
                                <div class="input-group-text">
                                    <span class="fas fa-envelope"></span>
                                </div>
                            </div>
                        </div>
                        <div class="input-group mb-3">
                            <label class="w-100">Password</label>
                            <input type="password" class="form-control check" id="password" name="password" required="">
                            <div class="input-group-append">
                                <div class="input-group-text">
                                    <span class="fas fa-lock"></span>
                                </div>
                            </div>
                        </div>
                        <div class="input-group mb-3" hidden>
                            <label class="w-100">Captcha</label>
                            <input type="text" class="form-control mr-1 check" name="captcha" id="captcha" required="">
                            <div><img src="https://www.happytick.com/captcha/flat?AXtGZl32" class="b_r_20" style="cursor: pointer; width: 100%" onclick="this.src='https://www.happytick.com/captcha/flat?tvTLd92T'+Math.random()" id="captchaCode"></div>
                        </div>
                        <div class="row">
                            <!-- /.col -->
                            <div class="col-12">
                                <button id="loginForm" type="button" class="btn btn-primary btn-block">Login <i class="fa fa-sign-in"></i></button>
                            </div>
                            <!-- <div class="col-6">
                        <a href="https://www.happytick.com/forgot_password" class="btn btn-warning btn-block">Forgot Password</a>
                    </div> -->
                            <!-- /.col -->
                        </div>
                        <!-- /.social-auth-links -->
                    </div>
                    <!-- /.card-body -->
                </div>
                <!-- /.card -->
            </div>
        </div>
    </div>
    <div class="login-box">

    </div>
    <!-- /.login-box -->


    
    <!-- jQuery -->
    <script src="https://www.happytick.com/assets/plugins/jquery/jquery.min.js"></script>
    <!-- SweetAlert2 -->
    <script src="https://www.happytick.com/assets/plugins/sweetalert2/sweetalert2.min.js"></script>
    <!-- Bootstrap 4 -->
    <script src="https://www.happytick.com/assets/plugins/bootstrap/js/bootstrap.bundle.min.js"></script>
    <!-- Toastr -->
    <script src="https://www.happytick.com/assets/plugins/toastr/toastr.min.js"></script>
    <!-- InputMask -->
    <script src="https://www.happytick.com/assets/plugins/moment/moment.min.js"></script>
    <script src="https://www.happytick.com/assets/plugins/inputmask/jquery.inputmask.min.js"></script>
    <!-- bs-custom-file-input -->
    <script src="https://www.happytick.com/assets/plugins/bs-custom-file-input/bs-custom-file-input.min.js"></script>
    <!-- Tempusdominus Bootstrap 4 -->
    <script src="https://www.happytick.com/assets/plugins/tempusdominus-bootstrap-4/js/tempusdominus-bootstrap-4.min.js"></script>
    <!-- AdminLTE App -->
    <script src="https://www.happytick.com/assets/js/adminlte.min.js"></script>

    <!-- Select2 -->
    <script src="https://www.happytick.com/assets/plugins/select2/js/select2.full.min.js"></script>

    <script type="text/javascript" src="https://www.happytick.com/assets/js/general.js"></script>
    <script type="text/javascript" src="https://www.happytick.com/assets/js/modal-loading.js"></script>

    <!-- Tom Select JS -->
    <script src="https://cdn.jsdelivr.net/npm/tom-select@2.2.2/dist/js/tom-select.complete.min.js"></script>

    <!--Datatables js-->
    <script type="text/javascript">
        $('.setNumberOnly').on('change', function() {
            var get_price = $(this).val();
            var set_price = parseInt(get_price);
            $(this).val(set_price);
        })
        $('.setTwoNumberDecimalOnly').on('change', function() {
            var get_price = $(this).val();
            var set_price = parseFloat(get_price).toFixed(2);
            $(this).val(set_price);
        })
        
        $('.select2').select2({
            theme: 'bootstrap4',
            dropdownAutoWidth: true,
            dropdownPosition: 'below',
            width: 'auto'
        });

        $('.tom-select').each(function() {
            var tsPlugins = ['dropdown_input'];
            if ($(this).data('remove-button')) {
                tsPlugins.push('remove_button');
            }
            new TomSelect(this, {
                maxOptions: 9999,
                plugins: tsPlugins,
                sortField: [{
                        field: '$score',
                        direction: 'desc'
                    },
                    {
                        field: '$order',
                        direction: 'asc'
                    }
                ],
                score: function(search) {
                    const normalizedSearch = (search || '').trim().toLowerCase();

                    if (!normalizedSearch.length) {
                        return function() {
                            return 1;
                        };
                    }

                    return function(item) {
                        const text = (item.text || '').toLowerCase();

                        if (text.startsWith(normalizedSearch)) {
                            return 1;
                        }

                        if (text.indexOf(normalizedSearch) > -1) {
                            return 0.5;
                        }

                        return 0;
                    };
                }
            });
        });

        function callDatatables(tableId, dataUrl, columnIds, disableSearchIndex, search = true, lengthChange = false,
            paging = true, pageLength = 20, searchObj = []) {
            $('#' + tableId).DataTable({
                "dom": '<"tableContentWidth"<"lengthPos"l><"searchPos"f>r<"tablePos"ti>p>',
                "processing": true,
                "serverSide": true,
                "ordering": false,
                "responsive": true,
                "lengthChange": lengthChange,
                "pageLength": pageLength,
                "searching": search,
                "language": {
                    "search": 'Search',
                },
                "info": true,
                "autoWidth": false,
                "paging": paging,
                "ajax": ({
                    url: dataUrl,
                    data: searchObj
                }),
                "columnDefs": [{
                    "searchable": false,
                    "targets": disableSearchIndex
                }],
                "columns": columnIds,
            });
        }

        function reportCallDatatables(tableId, dataUrl, columnIds, disableSearchIndex, searchObj = false) {
            $('#' + tableId).DataTable({
                "dom": '<"tableContentWidth"<"lengthPos"l><"searchPos"f>r<"tablePos"ti>p>',
                "processing": true,
                "serverSide": true,
                "ordering": false,
                "searching": true,
                "language": {
                    "search": 'Search',
                },
                "paging": false,

                "ajax": ({
                    url: dataUrl,
                    data: searchObj
                }),
                "columnDefs": [{
                    "searchable": false,
                    "targets": disableSearchIndex
                }],
                "columns": columnIds,
                "footerCallback": function(row, data, start, end, display) {
                    let api = this.api();

                    var total_bal_b_f = 0;
                    var total_game = 0;
                    var total_transaction = 0;
                    var total_balance = 0;

                    for (const element of data) {
                        total_bal_b_f = total_bal_b_f + parseFloat(element['bal_b_f_amt']);
                        total_game = total_game + parseFloat(element['game_amt']);
                        total_transaction = total_transaction + parseFloat(element['transaction_amt']);
                        total_balance = total_balance + parseFloat(element['balance_amt']);
                    }

                    api.column(1).footer().innerHTML = total_bal_b_f.toLocaleString(undefined, {
                        minimumFractionDigits: 2,
                        maximumFractionDigits: 2
                    });
                    api.column(2).footer().innerHTML = total_game.toLocaleString(undefined, {
                        minimumFractionDigits: 2,
                        maximumFractionDigits: 2
                    });
                    api.column(3).footer().innerHTML = total_transaction.toLocaleString(undefined, {
                        minimumFractionDigits: 2,
                        maximumFractionDigits: 2
                    });
                    api.column(4).footer().innerHTML = total_balance.toLocaleString(undefined, {
                        minimumFractionDigits: 2,
                        maximumFractionDigits: 2
                    });

                }
            });
        }

        function reportCallDatatables2(tableId, dataUrl, columnIds, disableSearchIndex, searchObj = false) {
            $('#' + tableId).DataTable({
                "dom": 'Bfrtip',
                "buttons": [{
                        extend: 'excel',
                        text: 'Excel (.xlsx)',
                        filename: 'Report'
                    },
                    {
                        extend: 'csv',
                        text: 'Excel (.csv)',
                        filename: 'Report',
                        charset: 'utf-8',
                        bom: true
                    },
                    {
                        extend: 'print',
                        text: 'Print',
                        customize: function(win) {
                            const $body = $(win.document.body);
                            const $table = $body.find('table');

                            // Clone and append the original footer
                            $table.append($('#' + tableId + ' tfoot').clone());

                            // Copy inline styles from each cell
                            $('#' + tableId + ' td').each(function(i) {
                                const bg = $(this).css('background-color');
                                const color = $(this).find('p').css('color');
                                const font = $(this).css('font-family');
                                const weight = $(this).css('font-weight');
                                const align = $(this).css('text-align');

                                $table.find('td').eq(i).css({
                                    'background-color': bg,
                                    'color': color,
                                    'font-family': font,
                                    'font-weight': weight,
                                    'text-align': align
                                });
                            });
                        }
                    }
                ],
                "processing": true,
                "serverSide": true,
                "ordering": false,
                "searching": true,
                "language": {
                    "search": 'Search',
                },
                "paging": false,
                "ajax": ({
                    url: dataUrl,
                    data: searchObj
                }),
                "columnDefs": [{
                    "searchable": false,
                    "targets": disableSearchIndex
                }],
                "columns": columnIds,
                "footerCallback": function(row, data, start, end, display) {
                    let api = this.api();

                    var total_credit = 0;
                    var total_debit = 0;
                    var total_balance = 0;

                    for (const element of data) {
                        total_credit = total_credit + parseFloat(element['credit_raw'].replace(/,/g, ""));
                        total_debit = total_debit + parseFloat(element['debit_raw'].replace(/,/g, ""));
                        total_balance = element['balance_raw'];
                    }

                    const total_credit_show = total_credit.toLocaleString('en-US', {
                        minimumFractionDigits: 2,
                        maximumFractionDigits: 2
                    });
                    const total_debit_show = total_debit.toLocaleString('en-US', {
                        minimumFractionDigits: 2,
                        maximumFractionDigits: 2
                    });
                    const total_balance_show = total_balance;

                    if (total_credit < 0) {
                        api.column(2).footer().innerHTML = '<p class="text-danger">' + total_credit_show +
                            '</p>';
                    } else {
                        api.column(2).footer().innerHTML = total_credit_show;
                    }

                    if (total_debit < 0) {
                        api.column(3).footer().innerHTML = '<p class="text-danger">' + total_debit_show +
                            '</p>';
                    } else {
                        api.column(3).footer().innerHTML = total_debit_show;
                    }

                    if (parseFloat(total_balance.replace(/,/g, "")) < 0) {
                        api.column(4).footer().innerHTML = '<p class="text-danger">' + total_balance_show +
                            '</p>';
                    } else {
                        api.column(4).footer().innerHTML = '<p class="text-primary">' + total_balance_show +
                            '</p>';
                    }
                }
            }).buttons().container().appendTo('#custReport_wrapper .col-md-6:eq(0)');
        }

        function reportCallDatatables3(tableId, dataUrl, columnIds, disableSearchIndex, searchObj = false, name = '') {
            $('#' + tableId).DataTable({
                "dom": 'Bfrtip',
                "buttons": [{
                        extend: 'excel',
                        text: 'Excel (.xlsx)',
                        title: "Login | happytick" + ' - ' + name,
                        filename: "Login | happytick" + ' - ' + name
                    },
                    {
                        extend: 'csv',
                        text: 'Excel (.csv)',
                        title: "Login | happytick" + ' - ' + name,
                        filename: "Login | happytick" + ' - ' + name,
                        charset: 'utf-8',
                        bom: true
                    },
                    {
                        extend: 'print',
                        text: 'Print',
                        title: "Login | happytick" + ' - ' + name,
                        customize: function(win) {
                            const $body = $(win.document.body);
                            const $table = $body.find('table');

                            // Clone and append the original footer
                            $table.append($('#' + tableId + ' tfoot').clone());

                            // Copy inline styles from each cell
                            $('#' + tableId + ' td').each(function(i) {
                                const bg = $(this).css('background-color');
                                const color = $(this).find('span').css('color');
                                const font = $(this).css('font-family');
                                const weight = $(this).css('font-weight');
                                const align = $(this).css('text-align');

                                $table.find('td').eq(i).css({
                                    'background-color': bg,
                                    'color': color,
                                    'font-family': font,
                                    'font-weight': weight,
                                    'text-align': align
                                });
                            });
                        }
                    }
                ],
                "processing": true,
                "serverSide": true,
                "ordering": false,
                "searching": false,
                "language": {
                    "search": 'Search',
                },
                "paging": false,

                "ajax": ({
                    url: dataUrl,
                    data: searchObj
                }),
                "columnDefs": [{
                    "searchable": false,
                    "targets": disableSearchIndex
                }],
                "columns": columnIds,
                "footerCallback": function(row, data, start, end, display) {
                    let api = this.api();

                    let total_credit = 0;
                    let total_debit = 0;
                    let total_balance = 0;

                    for (const element of data) {
                        total_credit = total_credit + parseFloat(element['credit_raw'].replace(/,/g, ""));
                        total_debit = total_debit + parseFloat(element['debit_raw'].replace(/,/g, ""));
                        total_balance = element['balance_raw'];
                    }

                    const total_credit_show = total_credit.toLocaleString('en-US', {
                        minimumFractionDigits: 2,
                        maximumFractionDigits: 2
                    });
                    const total_debit_show = total_debit.toLocaleString('en-US', {
                        minimumFractionDigits: 2,
                        maximumFractionDigits: 2
                    });
                    const total_balance_show = total_balance;

                    if (total_credit < 0) {
                        api.column(2).footer().innerHTML = '<span class="text-danger">' + total_credit_show +
                            '</span>';
                    } else {
                        api.column(2).footer().innerHTML = total_credit_show;
                    }

                    if (total_debit < 0) {
                        api.column(3).footer().innerHTML = '<span class="text-danger">' + total_debit_show +
                            '</span>';
                    } else {
                        api.column(3).footer().innerHTML = total_debit_show;
                    }

                    if (parseFloat(total_balance.replace(/,/g, "")) < 0) {
                        api.column(4).footer().innerHTML = '<span class="text-danger">' + total_balance_show +
                            '</span>';
                    } else {
                        api.column(4).footer().innerHTML = '<span class="text-primary">' + total_balance_show +
                            '</span>';
                    }
                }
            }).buttons().container().appendTo('#custReport_wrapper .col-md-6:eq(0)');
        }

        function reportCallDatatables4(tableId, dataUrl, columnIds, disableSearchIndex, searchObj = false) {
            $('#' + tableId).DataTable({
                "destroy": true,
                "dom": 'Blfrtip',
                "buttons": [{
                        extend: 'excel',
                        text: 'Excel (.xlsx)',
                        filename: 'Report (Detail)',
                        exportOptions: {
                            format: {
                                body: function(data, row, column, node) {
                                    if (column === 0) {
                                        return $('<div>').html(data).find('span:first a').text().trim();
                                    }
                                    if (typeof data === 'string' && data.indexOf('<') !== -1) {
                                        return $('<div>').html(data).text().trim();
                                    }
                                    return data;
                                }
                            }
                        }
                    },
                    {
                        extend: 'csv',
                        text: 'Excel (.csv)',
                        filename: 'Report (Detail)',
                        charset: 'utf-8',
                        bom: true,
                        exportOptions: {
                            format: {
                                body: function(data, row, column, node) {
                                    if (column === 0) {
                                        return $('<div>').html(data).find('span:first a').text().trim();
                                    }
                                    if (typeof data === 'string' && data.indexOf('<') !== -1) {
                                        return $('<div>').html(data).text().trim();
                                    }
                                    return data;
                                }
                            }
                        }
                    },
                    {
                        extend: 'print',
                        text: 'Print',
                        exportOptions: {
                            modifier: {
                                page: 'current',
                                search: 'applied',
                                order: 'applied'
                            }
                        },
                        customize: function(win) {
                            const $body = $(win.document.body);
                            const $table = $body.find('table');

                            // Clone and append the original footer
                            $table.append($('#' + tableId + ' tfoot').clone());

                            // Apply lightweight print styling; avoid per-cell loops on large datasets.
                            $body.css('font-size', '10pt');
                            $table.addClass('compact').css('font-size', 'inherit');
                            $table.find('a').css({
                                'text-decoration': 'none',
                                'color': 'inherit'
                            });
                            $table.find('.text-danger').css('color', '#dc3545');
                            $table.find('.text-primary').css('color', '#007bff');

                            // Keep the whole table cell color in print output, not only inner links/spans.
                            $table.find('td').each(function() {
                                const $td = $(this);
                                if ($td.find('.text-danger, a.text-danger').length) {
                                    $td.css('color', '#dc3545');
                                    return;
                                }
                                if ($td.find('.text-primary, a.text-primary').length) {
                                    $td.css('color', '#007bff');
                                }
                            });

                            // Fallback for stripped HTML/classes in print: color negative numbers red.
                            $table.find('tbody tr').each(function() {
                                $(this).find('td').each(function(cellIndex) {
                                    if (cellIndex === 0 || cellIndex > 11) {
                                        return;
                                    }

                                    const raw = $(this).text().replace(/,/g, '').trim();
                                    const numeric = parseFloat(raw.replace(/[^0-9.-]/g,
                                        ''));

                                    if (!Number.isNaN(numeric) && numeric < 0) {
                                        $(this).css('color', '#dc3545');
                                    }
                                });
                            });
                        }
                    }
                ],
                "processing": true,
                "serverSide": true,
                "ordering": true,
                "searching": true,
                "language": {
                    "search": 'Search',
                },
                "paging": true,
                "lengthMenu": [
                    [10, 25, 50, -1],
                    [10, 25, 50, "All"]
                ],
                "pageLength": 20,
                "ajax": ({
                    url: dataUrl,
                    data: searchObj
                }),
                "columnDefs": [{
                        "searchable": false,
                        "targets": disableSearchIndex
                    },
                    {
                        "targets": 12,
                        "orderable": false
                    }
                ],
                "columns": columnIds,
                "footerCallback": function(row, data, start, end, display) {
                    let api = this.api();

                    let bal_b_f = 0;
                    let four_d = 0;
                    let toto = 0;
                    let cas = 0;
                    let racing = 0;
                    let sports = 0;
                    let others = 0;
                    let win_lose = 0;
                    let game = 0;
                    let transaction = 0;
                    let bank_in_out = 0;
                    let balance = 0;

                    for (const element of data) {
                        bal_b_f = bal_b_f + element['bal_b_f'];
                        four_d = four_d + element['four_d'];
                        toto = toto + element['toto'];
                        cas = cas + element['cas'];
                        racing = racing + element['racing'];
                        sports = sports + element['sports'];
                        others = others + element['others'];
                        win_lose = win_lose + element['win_lose'];
                        game = game + element['game'];
                        transaction = transaction + element['transaction'];
                        //bank_in_out = bank_in_out + element['bank_in_out'];
                        balance = balance + element['balance'];
                    }

                    const bal_b_f_show = bal_b_f.toLocaleString('en-US', {
                        minimumFractionDigits: 2,
                        maximumFractionDigits: 2
                    });
                    const four_d_show = four_d.toLocaleString('en-US', {
                        minimumFractionDigits: 2,
                        maximumFractionDigits: 2
                    });
                    const toto_show = toto.toLocaleString('en-US', {
                        minimumFractionDigits: 2,
                        maximumFractionDigits: 2
                    });
                    const cas_show = cas.toLocaleString('en-US', {
                        minimumFractionDigits: 2,
                        maximumFractionDigits: 2
                    });
                    const racing_show = racing.toLocaleString('en-US', {
                        minimumFractionDigits: 2,
                        maximumFractionDigits: 2
                    });
                    const sports_show = sports.toLocaleString('en-US', {
                        minimumFractionDigits: 2,
                        maximumFractionDigits: 2
                    });
                    const others_show = others.toLocaleString('en-US', {
                        minimumFractionDigits: 2,
                        maximumFractionDigits: 2
                    });
                    const win_lose_show = win_lose.toLocaleString('en-US', {
                        minimumFractionDigits: 2,
                        maximumFractionDigits: 2
                    });
                    const game_show = game.toLocaleString('en-US', {
                        minimumFractionDigits: 2,
                        maximumFractionDigits: 2
                    });
                    const transaction_show = transaction.toLocaleString('en-US', {
                        minimumFractionDigits: 2,
                        maximumFractionDigits: 2
                    });
                    //const bank_in_out_show = bank_in_out.toLocaleString('en-US', { minimumFractionDigits: 2, maximumFractionDigits: 2 });
                    const balance_show = balance.toLocaleString('en-US', {
                        minimumFractionDigits: 2,
                        maximumFractionDigits: 2
                    });

                    api.column(1).footer().innerHTML =
                        `<p class="${bal_b_f < 0 ? 'text-danger' : 'text-primary'}">${bal_b_f_show}</p>`;
                    api.column(2).footer().innerHTML =
                        `<p class="${four_d < 0 ? 'text-danger' : 'text-primary'}">${four_d_show}</p>`;
                    api.column(3).footer().innerHTML =
                        `<p class="${toto < 0 ? 'text-danger' : 'text-primary'}">${toto_show}</p>`;
                    api.column(4).footer().innerHTML =
                        `<p class="${cas < 0 ? 'text-danger' : 'text-primary'}">${cas_show}</p>`;
                    api.column(5).footer().innerHTML =
                        `<p class="${racing < 0 ? 'text-danger' : 'text-primary'}">${racing_show}</p>`;
                    api.column(6).footer().innerHTML =
                        `<p class="${sports < 0 ? 'text-danger' : 'text-primary'}">${sports_show}</p>`;
                    api.column(7).footer().innerHTML =
                        `<p class="${others < 0 ? 'text-danger' : 'text-primary'}">${others_show}</p>`;
                    api.column(8).footer().innerHTML =
                        `<p class="${win_lose < 0 ? 'text-danger' : 'text-primary'}">${win_lose_show}</p>`;
                    api.column(9).footer().innerHTML =
                        `<p class="${game < 0 ? 'text-danger' : 'text-primary'}">${game_show}</p>`;
                    api.column(10).footer().innerHTML =
                        `<p class="${transaction < 0 ? 'text-danger' : 'text-primary'}">${transaction_show}</p>`;
                    //api.column(11).footer().innerHTML = `<p class="${bank_in_out < 0 ? 'text-danger' : 'text-primary'}">${bank_in_out_show}</p>`;
                    api.column(11).footer().innerHTML =
                        `<p class="${balance < 0 ? 'text-danger' : 'text-primary'}">${balance_show}</p>`;
                }
            }).buttons().container().appendTo('#custReport_wrapper .col-md-6:eq(0)');
        }
    </script>
    <!--End of datatables js-->

    
<script>
    $(document).ready(function () {
        var check = 0;
        $('.check').keypress(function (e) {
            if(e.which == 13 && check == 0) $("#loginForm").click();
        });
        $("#loginForm").click(function(event){
            check = 1;
            //var obj = {captcha:"captcha",password: "password", email:"email"};
            var obj = {password: "password", email:"email"};
            var final = { Id : obj};
            var Id = JSON.stringify(final);
            var ans = checkValue(Id);

            if(ans!=0){
                return false;
            }
            var url = "https://www.happytick.com/post_login";
            var form = new FormData();
            //form.append('captcha', $('#captcha').val());
            form.append('password', $('#password').val());
            form.append('email', $('#email').val());
            var disable = loadingDisable();

            $.ajax({
                url     :   url,
                data    :   form,
                cache   : false,
                contentType: false,
                processData: false,
                type: 'POST',
                headers :   {'X-CSRF-TOKEN' : $('meta[name="csrf-token"]').attr('content')},
                success : function(response){
                    disable.out();
                    check = 0;
                    //$('#captchaCode').click();
                    if (response.status == 1) {
                        document.location.href = response.returnUrl;
                    } else {
                        Swal.fire({
                            title: response.message,
                            text: response.msgtext,
                            icon: "error",
                            buttonsStyling: false,
                            customClass: {
                                confirmButton: "btn btn-danger mr-3",
                                cancelButton: "btn btn-secondary",
                            },
                        }).then(function () {
                            if (response.returnUrl)
                                document.location.href = response.returnUrl;
                            if (response.onPageReload) document.location.reload();
                        });
                    }
                    //swalReturn(response);
                }
            });
        });
    });
</script>
</body>

</html>
