﻿//***Start 設定隨機亂碼***//
function GetRandomLuckNumbers() {
    //清除已選擇號碼;
    for (i = 1; i <= 49; i++) {
        $("#LottoNumber" + i).css("background", "url(../images/index/number_off_" + paddingLeft(i.toString(), 2) + ".jpg)");
    };

    selectNums = new Array(0, 0, 0, 0, 0, 0, 0);
    var i = 0;
    while (i < selectNums.length) {
        n = Math.floor(Math.random() * (49 - 1 + 1) + 1);
        for (j = 0; j < i; j++) {
            if (selectNums[j] == n) {
                n = 0;
                break;
            }
        }
        if (n > 0 && n <= 49) {
            $("#LottoNumber" + n).css("background", "url(../images/index/number_on_" + paddingLeft(n.toString(), 2) + ".jpg)");
            selectNums[i] = n;
            i++;
        }
    }
    setNum = maxNum;
    showSelectedNumber(selectNums.sort(function(a, b) { return a - b }), setNum);
    $("#" + hfSelectedNumberID).get(0).value = selectNums.sort(function(a, b) { return a - b });
}
//***End 設定隨機亂碼***//

//***Start 補上零***//
function paddingLeft(str, lenght) {
    if (str.length >= lenght)
        return str;
    else
        return paddingLeft("0" + str, lenght);
}
//***End 補上零***//
var maxNum = 7;                                                 //最多可選號碼數目

$(document).ready(function() {
    //頭獎獎金顯示
    showBonusNum();
    intervalId = setInterval("run()", 500);
    //剩餘時間顯示
    preLoadClockPic();
    retroClock();
    setInterval(retroClock, 60000);
    //確認視窗_關閉功能
    $("#btnCancel").closeDOMWindow({ eventType: 'click' });
    //獎號點選
    $("#content_right_random_number div").click(function() {
        if ($(this).css("background").match("on") != null) {
            //取消號碼球
            $(this).css("background", "url(../images/index/number_off_" + paddingLeft(this.title, 2) + ".jpg)")
            for (i = 0; i < selectNums.length; i++) {
                if (selectNums[i] == this.title) {
                    selectNums[i] = 0;
                    setNum--;
                    break;
                }
            }
        } else if (setNum >= 7) {
            alert("只能選擇" + maxNum + "個號碼");
            return;
        } else {
            //點選號碼球
            $(this).css("background", "url(../images/index/number_on_" + paddingLeft(this.title, 2) + ".jpg)")
            for (i = 0; i < selectNums.length; i++) {
                if (selectNums[i] == 0) {
                    selectNums[i] = parseInt(this.title);
                    setNum++;
                    break;
                }
            }
        }
        //顯示圖片於selectNumber
        showSelectedNumber(selectNums.sort(function(a, b) { return a - b }), setNum);
        $("#" + hfSelectedNumberID).get(0).value = selectNums.sort(function(a, b) { return a - b });
    });
    //設定號碼球圖片屬性
    var i;
    for (i = 1; i <= 49; i++) {
        //預先載入圖片，需配合plugin/preload
        $.preload("../images/index/number_on_" + paddingLeft(i.toString(), 2) + ".jpg");
        $("#LottoNumber" + i).addClass("ran_number").css("background", "url(../images/index/number_off_" + paddingLeft(i.toString(), 2) + ".jpg)");
    };
    //顯示圖片於selectNumber
    showSelectedNumber(selectNums.sort(function(a, b) { return a - b }), setNum);
    setNumberSelected(selectNums.sort(function(a, b) { return a - b }));
    $("#" + hfSelectedNumberID).get(0).value = selectNums.sort(function(a, b) { return a - b });
});
//顯示圖片於selectNumber
function showSelectedNumber(mySelectedArray, mySetNum) {
    //圖片陣列
    for (i = 0; i < mySelectedArray.length; i++) {
        $("#sel_num" + i).removeClass();
        if (mySelectedArray[i] != 0)
            $("#sel_num" + i).addClass("ran_sel ran_sel_" + paddingLeft(mySelectedArray[i].toString(), 2));
    }
    //選擇數目提醒
    $("#font_color_red").css("display", "block");
    $("#SelectedNumbers").html(mySetNum);
};
//號碼選擇改變圖片
function setNumberSelected(mySelectArray) {
       var i;
       for (i = 1; i <= 49; i++) {
           $("#LottoNumber" + i).css("background", "url(../images/index/number_off_" + paddingLeft(i.toString(), 2) + ".jpg)");
       }
       for (i = 0; i < mySelectArray.length; i++) {
           $("#LottoNumber" + mySelectArray[i]).css("background", "url(../images/index/number_on_" + paddingLeft(mySelectArray[i].toString(), 2) + ".jpg)");
       }
}
//***Start 頭獎獎金顯示***//
var heighFigure = 92;                           //每一個數字的圖片高度

var bonusDecrease = 3;                         //獎金起跳的差額( 80000 - 3000 = 77000 即啟跳金額)
var intervalId;                                 //迴圈執行id(停止迴圈用)

var bonusNow = bonusTarget - bonusDecrease;     //目前顯示獎金
var setBonus = new Array(0, 0, 0, 0, 0, 0, 0);        //目前獎金的矩陣
setBonusArray(bonusNow);

function showBonusNum() {
    var length = setBonus.length;
    for (i = 0; i < length; i++) {
        $("#number" + i).animate({ backgroundPosition: "0px -" + setBonus[i] * heighFigure + "px" }, 500);
    }
};
function run() {
    //停止執行轉動效果
    if (bonusNow >= bonusTarget) {
        clearInterval(intervalId);
        return false;
    }
    bonusNow++;                     //用來記錄目前獎金金額(獨立記錄可減少，由矩陣轉成數字的運算)
    NumRecursion(setBonus, 0)
}
///將目前獎金填入獎金矩陣
function setBonusArray(x) {
    var i = x.toString().length - 1;
    for (j = 0; i >= 0; j++, i--) {
        setBonus[j] = x.toString().charAt(i);
    }
}
///利用遞迴實作轉動效果
function NumRecursion(myArray, index) {
    //避免超過最大值
    if (index > myArray.length)
        return;
    myArray[index]++;   //數目加 1
    var speed = index == 0 ? 150 : 500;
    $("#number" + index).animate({ backgroundPosition: "0px -" + myArray[index] * heighFigure + "px" }, speed);
    //當發生進位時
    if (myArray[index] >= 10) {
        myArray[index] = 0;
        //將圖片重置原點、避免出現圖片下拉的動作
        $("#number" + index).animate({ backgroundPosition: "0px -" + myArray[index] * heighFigure + "px" }, 0);
        NumRecursion(myArray, index + 1);
    }
}
//***End 頭獎獎金顯示***//

//***Start  剩餘時間***//
function preLoadClockPic() {
    for (i = 0; i < 10; i++) {
        $.preload('../images/default/DateNumber/Left/up/' + i + '.png');
        $.preload('../images/default/DateNumber/Left/down/' + i + '.png');
        $.preload('../images/default/DateNumber/Right/up/' + i + '.png');
        $.preload('../images/default/DateNumber/Right/down/' + i + '.png');
    }
}
var DateLeftPicDir = "images/Default/DateNumber/Left/";                                //左半部圖片位置
var DateRightPicDir = "images/Default/DateNumber/Right/";                              //右半部圖片位置
///實作翻動圖片動畫
function slideDownNum(NumberID, Number, DirPath) {
    ///取整數
    Number = parseInt(Number);
    ///利用重疊的影像製造翻動的效果。
    ///step1：預備下一個顯示數字  step2：進行翻動效果呈現，並回復顯示狀態。
    //step1
    $(NumberID + "Up").attr("src", $(NumberID + "UpBack").attr("src"));
    $(NumberID + "Up").css({ height: "19px", width: "20px", top: "0px", display: "block" });
    $(NumberID + "UpBack").attr("src", DirPath + "up/" + Number + ".png");
    $(NumberID + "Down").attr("src", DirPath + "down/" + Number + ".png");
    //step2
    $(NumberID + "Up").animate({ height: "0px", width: "20px", top: "19px" }, 'slow',
                                function() {
                                    $(NumberID + "Down").slideDown('slow',
                                       function() {
                                           $(NumberID + "DownBack").attr("src", DirPath + "down/" + Number + ".png");
                                           $(NumberID + "Down").css("display", "none");
                                       });
                                });
}

var dTen_current = -1;
var dOne_current = -1;
var hTen_current = -1;
var hOne_current = -1;
var mTen_current = -1;
var mOne_current = -1;
var sTen_current = -1;
var sOne_current = -1;
var tick = 50;
function retroClock() {
    //取得剩餘時間
    subMilliseconds -= 60000;
    var thesub = new Date(subMilliseconds);
    dTen = (thesub.getUTCDate() - 1) / 10;
    dOne = (thesub.getUTCDate() - 1) % 10;
    hTen = thesub.getUTCHours() / 10;
    hOne = thesub.getUTCHours() % 10;
    mTen = thesub.getUTCMinutes() / 10;
    mOne = thesub.getUTCMinutes() % 10;
    sTen = thesub.getSeconds() / 10;
    sOne = thesub.getSeconds() % 10;
    if (dTen != dTen_current) {
        slideDownNum("#DayLeft", dTen, DateLeftPicDir);
        dTen_current = dTen;
    }
    if (dOne != dOne_current) {
        slideDownNum("#DayRight", dOne, DateRightPicDir);
        dOne_current = dOne;
    }

    if (hTen != hTen_current) {
        slideDownNum("#HourLeft", hTen, DateLeftPicDir);
        hTen_current = hTen;
    }
    if (hOne != hOne_current) {
        slideDownNum("#HourRight", hOne, DateRightPicDir);
        hOne_current = hOne;
    }

    if (mTen != mTen_current) {
        slideDownNum("#MinLeft", mTen, DateLeftPicDir);
        mTen_current = mTen;
    }
    if (mOne != mOne_current) {
        slideDownNum("#MinRight", mOne, DateRightPicDir);
        mOne_current = mOne;
    }
}

//***End    剩餘時間***//

//***Start  參加幸運對獎***//
function checkSelectedNumbers() {
    //序號判斷
    if ($("#" + txtSNID).val() == "") {
        $("#content_right_snMessage").css("display", "block");
        $("#" + txtSNID).focus();
        return false;
    }
    //號碼選擇判斷
    if (setNum < maxNum) {
        alert("請選擇" + maxNum + "個號碼。還剩下" + (maxNum - setNum) + "個號碼。");
        return false;
    }

    //開啟確認
    $("#domWindows_Confirm_SelectedNumber").html($(".content_right_lucky_number").html());
    $.openDOMWindow({
        loader: 1,
        loaderImagePath: 'images/default/ajax-loader.gif',
        loaderHeight: 15,
        loaderWidth: 16,
        height: 280,
        width: 330,
        windowSourceID: '#domWindows_ConfirmLottoNumber'
    });
    return false;
}
//***End    參加幸運對獎***//
