<?php
include_once('./_common.php');

check_device('both');

if( $is_guest ) {
    alert('로그인 후 이용가능합니다.', G5_BBS_URL.'/login.php?url='.urlencode(LOTTO_URL.'/number.php'.($_POST['item'] ? '?item='.$_POST['item'] : '')));
}

if( !$item ) {
    $item = $lotto_name[0];
}

if( $item == 'super lotto plus' ) {
    header("Location: https://ilottou.com/bbs/board.php?bo_table=notice&wr_id=18");
    exit;
}

$sql = "select * from {$lo['history_table']} where ht_name = '{$item}' and ht_base_datetime > '".G5_TIME_YMDHIS."' order by ht_draw_date asc limit 0, 1 ";
$lotto_info = sql_fetch($sql);

if( !$lotto_info['ht_id'] ) {
    alert("구매 가능한 ".$lotto_name_kr[$lotto_info['ht_name']]." 복권정보가 없습니다.");
}

$base_time = strtotime($lotto_info['ht_base_datetime']);
$draw_time = strtotime($lotto_info['ht_draw_date'].' '.$lotto_info['ht_draw_time']);

$action_url = LOTTO_URL.'/order.php';

$g5['title'] = $lotto_name_kr[$item];

$tmenu_ = '복권구매';

include_once(G5_PATH.'/_head.php');

// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
add_stylesheet('<link rel="stylesheet" href="'.LOTTO_CSS_URL.'/lotto.css">', 0);
add_stylesheet('<link rel="stylesheet" href="'.LOTTO_CSS_URL.'/order.css?t">', 0);
add_stylesheet('<link rel="stylesheet" href="'.LOTTO_PLUGIN_URL.'/magnific-popup/jquery.magnific-popup.css">', 0);
add_javascript('<script src="'.LOTTO_PLUGIN_URL.'/magnific-popup/jquery.magnific-popup.min.js"></script>', 0);
?>
<div class="lotto-wrapper">
    <form name="lottofrm" id="lottofrm" method="post" action="<?php echo $action_url ?>" onsubmit="return lotto_submit(this)">
    <input type="hidden" name="item" id="item" value="<?php echo $item ?>" />
    <input type="hidden" name="ht_id" id="ht_id" value="<?php echo $lotto_info['ht_id'] ?>" />
    <input type="hidden" name="lotto_drawtime" id="lotto_drawtime" value="<?php echo $draw_time ?>" />
    <input type="hidden" name="lotto_price" id="lotto_price" value="<?php echo $lotto_info['ht_price'] ?>" />
    <input type="hidden" name="lotto_numbers" id="lotto_numbers" value="" />
    <div style="height:198px">
        <div id="lotto-header">
            <div class="payinfo">
                <div class="logo">
                    <?php
                    if( $item == 'powerball' ) {
                        echo "<img src='". LOTTO_URL ."/img/logo_power.png' alt='파워볼' style='width:120px; height:auto;' />";
                    } else if( $item == 'super lotto plus' ) {
                        echo "<img src='". LOTTO_URL ."/img/logo_super.png' alt='슈퍼로또플러스' style='width:120px;  height:auto;' />";
                    } else {
                        echo "<img src='". LOTTO_URL ."/img/logo_mega.png' alt='메가밀리언' />";
                    }
                    ?>
                </div>
                <div class="header-info">
                    <select name="lotto_count" id="lotto_count" class="header_select" title="게임수 선택" onchange="lotto_change(this.value)">
                    <?php for( $i = $lotto_info['ht_min_limit']; $i <= $lotto_info['ht_max_limit']; $i++ ) { ?>
                        <option value="<?php echo $i ?>"><?php echo $i ?>게임 선택 </option>
                    <?php } ?>
                    </select>
                </div>
            </div>
            <div class="price">
                <p class="header-text">추첨일시 : <?php echo date('Y년 m월 d일 H:i', $draw_time) ?></p>
                <p class="price_text">결제금액 (<strong id="lotto_count_text">0</strong>게임)<span><em id="lotto_price_text">0</em> 캐시</span></p>
            </div>
            <div class="header-btn">
                <button type="submit" class="buy-btn">구매하기</button>
            </div>
        </div>
    </div>

    <!-- <div style="position:absolute;height:178px"></div> -->
    <div class="text">
        <p>수동구매는 <span class="white"></span>5개와 <span class="red"></span>1개를 선택하세요</p>
    </div>
    <div id="lottoArea"></div>
    </form>
</div>

<div id="original-page" class="d-none">
    <div class="lottoPage">
        <div class="lottoCount">
            <span class="lottoTitle"></span>
            <div class="choice_num">
                <span class="main"></span>
                <span class="main"></span>
                <span class="main"></span>
                <span class="main"></span>
                <span class="main"></span>
                <span class="bonus"></span>
            </div>
        </div>
        <div class="lottoNum num1">
        <?php for( $i = 1; $i <= $lotto_info['ht_main_number']; $i++ ) { ?>
            <span class="main-number number noselect" onclick="main_select(this, <?php echo $i ?>)"><span><?php echo $i ?></span></span>
        <?php } ?>
        </div>
        <div class="lottoNum num2">
        <?php for( $i = 1; $i <= $lotto_info['ht_bonus_number']; $i++ ) { ?>
            <span class="bonus-number number noselect" onclick="bonus_select(this, <?php echo $i ?>)"><span><?php echo $i ?></span></span>
        <?php } ?>
        </div>
        <div class="btn_list">
            <!-- <button type="button" class="btn_item manual">수동</button> -->
            <button type="button" class="btn_item manual" onclick="lotto_reset(this)">초기화</button>
            <button type="button" class="btn_item auto active" onclick="lotto_random(this)">자동</button>
        </div>
    </div>
</div>
<div id="jdata"></div>

<script>
var main_count = 5;
var min_limit = Number(<?php echo $lotto_info['ht_min_limit'] ?>);
var max_limit = Number(<?php echo $lotto_info['ht_max_limit'] ?>);
var main_range = Number(<?php echo $lotto_info['ht_main_number'] ?>);
var bonus_range = Number(<?php echo $lotto_info['ht_bonus_number'] ?>);

var select_background = '#fff';//'#f2f2f2';
var select_border = '#d1244f';

function number_format(num) {
    var regexp = /\B(?=(\d{3})+(?!\d))/g;
    return num.toString().replace(regexp, ',');
}

function update_info(curr_page) {
    var lotto_numbers = [];
    var lotto_count = 0;

    $('#lottoArea .lottoPage').each(function(index, page) {
        if( $(page).data('main').length == main_count && $(page).data('bonus') != '' ) {
            lotto_count++;
            lotto_numbers.push([$(page).data('main'), $(page).data('bonus')]);
        }
    });

    if( curr_page ) {
        if( $(curr_page).data('main').length == main_count && $(curr_page).data('bonus') != '' ) {
            $(curr_page).css('border-color', select_border).css('background-color', select_background);
        } else {
            $(curr_page).css('border-color', '').css('background-color', '');
        }
    }

    $('#lotto_count_text').text(lotto_count);
    $('#lotto_price_text').text(number_format(lotto_count * $('#lotto_price').val()));
    $('#lotto_numbers').val(JSON.stringify(lotto_numbers));
}

function number_sort(a, b) {
    return a - b;
}

function main_select(curr_page, num) {
    var $page_obj = $(curr_page).closest('.lottoPage');
    var main_number = $page_obj.data('main').slice() || [];

    if( $(curr_page).hasClass('select') ) { // 선택번호 삭제
        var main_number = main_number.filter((el) => el != num).sort(number_sort);
        $(curr_page).removeClass('select');
    } else { // 선택번호 추가
        if( main_number.length < 5 ) {
            main_number.push(num);
            main_number.sort(number_sort);
            $(curr_page).addClass('select');
        } else {
            return;
        }
    }

    $page_obj.find('.choice_num .main').each(function(index, item) {
        $(item).text(main_number[index] ? main_number[index] : '');
    });

    $page_obj.data('main', main_number);

    update_info($page_obj[0]);
}

function bonus_select(curr_page, num) {
    var $page_obj = $(curr_page).closest('.lottoPage');
    var bonus_number = $page_obj.data('bonus');

    if( $(curr_page).hasClass('select') ) { // 선택번호 삭제
        bonus_number = '';
        $(curr_page).removeClass('select');
    } else { // 선택번호 추가
        bonus_number = num;
        $(curr_page).addClass('select');
    }

    $page_obj.find('.choice_num .bonus').text(bonus_number);
    $page_obj.data('bonus', bonus_number);

    update_info($page_obj[0]);
}

function lotto_change(count) {
    var page_count = $('#lottoArea .lottoPage').length;

    if( count > page_count ) {
        for( var i = page_count; i < count; i++ ) {
            $('#original-page .lottoPage').clone().data('main', '').data('bonus', '').appendTo('#lottoArea').find('.lottoTitle').text((i+1)+'게임');
        }
    } else if( count < page_count ) {
        $('#lottoArea .lottoPage').slice(count, page_count).remove();
    }

    update_info(null);
}

function lotto_reset(curr_page) {
    var $page_obj = $(curr_page).closest('.lottoPage');
    $page_obj.find('.choice_num .main').text('');
    $page_obj.find('.num1 .main-number').removeClass('select');
    $page_obj.find('.choice_num .bonus').text('');
    $page_obj.find('.num2 .bonus-number').removeClass('select');
    $page_obj.data('main', '').data('bonus', '');

    update_info($page_obj[0]);
}

function lotto_random(curr_page) {
    var $page_obj = $(curr_page).closest('.lottoPage');
    var main_number = $page_obj.data('main').slice() || [];

    var $main_numbers_obj = $page_obj.find('.num1 .main-number');
    while( main_number.length < main_count ) {
        var new_main = Math.floor(Math.random() * main_range) + 1;
        if( main_number.indexOf(new_main) == -1 ) {
            main_number.push(new_main);
            $main_numbers_obj.eq(new_main - 1).click();
        }
    }

    var new_bonus = Math.floor(Math.random() * bonus_range) + 1;
    var bonus_number = $page_obj.find('.choice_num .bonus').text();
    if( bonus_number == '' ) {
        $page_obj.find('.num2 .bonus-number').eq(new_bonus - 1).click();
    }
}

function lotto_submit(form) {
    var numbers = JSON.parse(form.lotto_numbers.value);
    for( var i=0; i < numbers.length; i++ ) {
        var temp = numbers[i][0].filter((item, index) => numbers[i][0].indexOf(item) == index);
        if( temp.length != main_count && numbers[i][1] ) {
            alert('복권번호에 오류가 있습니다.\n새로고침한 후 다시 이용해주세요.');
            return false;
        }
    }

    if( numbers.length < 1 ) {
        alert('복권번호를 선택하세요.');
        return false;
    }

    if( numbers.length < min_limit ) {
        alert('복권은 최소 ' + min_limit +'게임부터 구매 가능합니다.');
        return false;
    }

    if( numbers.length > max_limit ) {
        alert('복권은 최대 ' + max_limit +'게임까지 구매 가능합니다.');
        return false;
    }
}

function header_fix(obj) {
    var scrollTop = $(obj).scrollTop();
    var offsetTop = $('.lotto-wrapper').offset().top;
    if( offsetTop < scrollTop ) {
        $('#lotto-header').css('position','fixed').css('bottom', 0).css('width', $('#lotto-header').parent().width() + 'px');
//        $('.lotto-wrapper .text').css('marginTop', $('#lotto-header').height() + 2 + 'px');
//        console.log($('#lotto-header').height());
    } else {
        $('#lotto-header').css('position','').css('top', '').css('width', '');
//        $('.lotto-wrapper .text').css('marginTop', '');
    }
}

$(function() {
    $('#lotto_count').val(<?php echo (int)$lotto_info['ht_max_limit'] ?>);
    lotto_change($('#lotto_count').val());

    $(window).scroll(function() {
        header_fix(this);
    }).resize(function() {
        header_fix(this);
    });
});

</script>
<?php
include_once(G5_PATH.'/_tail.php');