var freeSelectItemUnitPrice = 0;
var orderMoney = 0;
var selectedCardMoney = 0;
var combineMode1Id = "combineMode1"
var combineMode2Id = "combineMode2"

function onModeSelect() {
    //先清空显示的金额
    $("transMoneyTag").innerHTML = "";

    var productCardIdItems = document.getElementsByName("productCardId");
    var productCombIdItems = document.getElementsByName("productCombId");
    var productCardStatus;
    var productCombStatus;
    var productSelect = false;

    if ($(combineMode1Id).checked) {
        //选中1
        productCardStatus = false;
        productCombStatus = true;
    } else {
        //选中2
        productCardStatus = true;
        productCombStatus = false;
    }

    for (var i = 0; i < productCombIdItems.length; i++)
    {
        productCombIdItems[i].disabled = !productCombStatus;

        //根据模式，检查是否有选中的产品，更新金额
        if (productCombStatus && productCombIdItems[i].checked) {
            productSelect = true;
            productCombIdItems[i].fireEvent("onclick");
        }
    }
    for (var j = 0; j < productCardIdItems.length; j++)
    {
        productCardIdItems[j].disabled = !productCardStatus;

        //根据模式，检查是否有选中的产品，更新金额
        if (productCardStatus && productCardIdItems[j].checked) {
            productSelect = true;
            productCardIdItems[j].fireEvent("onclick");
        }
    }

    $("quantity").disabled = !productCardStatus;


    if (productSelect) {

    } else {
        //控制交易金额文字显示
        $("transMoney").value = "";
        $("transMoneyTag").innerHTML = "";
    }
    //控制充值卡选择
    onTransMoneyChange()

}
function onCombSelect(selectMoney) {
    $("transMoney").value = selectMoney;
    $("transMoneyTag").innerHTML = selectMoney + "元";
    orderMoney = selectMoney;

    //控制充值卡选择
    onTransMoneyChange()
}

function onFreeSelect(selectMoney) {
    freeSelectItemUnitPrice = selectMoney;
    var totalSelectMoney = freeSelectItemUnitPrice * $("quantity").value;
    orderMoney = totalSelectMoney;
    $("transMoney").value = totalSelectMoney;
    $("transMoneyTag").innerHTML = totalSelectMoney + "元";
    //控制充值卡选择
    onTransMoneyChange()
}

function onFreeSelectNumChange(selectObjcet) {
    if (freeSelectItemUnitPrice != 0) {
        var totalSelectMoney = freeSelectItemUnitPrice * $(selectObjcet).value;
        $("transMoney").value = totalSelectMoney;
        orderMoney = totalSelectMoney;
        $("transMoneyTag").innerHTML = totalSelectMoney + "元";
        //控制充值卡选择
        onTransMoneyChange()
    }
}

function onCardMoneySelect(cardMoney) {
    selectedCardMoney = cardMoney;

    showCardBalance();
}

function showCardBalance() {
    /*    if (selectedCardMoney > 0 && orderMoney > 0) {
     $("cardMoneyBalanceTag").innerHTML = "该额度类型的神州行充值卡将剩余："
     + (selectedCardMoney - orderMoney)
     + " 元。<a href=\"javascript:\" onclick=\"showBalanceMsg();\">这是什么意思？</a>";
     } else {
     $("cardMoneyBalanceTag").innerHTML = "";
     }*/
}

function showBalanceMsg() {
    confirm("余额使用帮助\n\n尊敬的用户：\n" +
            "您本次支付过程中，所使用的充值卡如产生余额，请您妥善保存好次充值卡。卡内" +
            "余额将以次卡序列号和密码为凭据，保存在系统内。日后，如需购买其他未超过卡" +
            "内余额价值的同类商品时，可继续使用次卡。欢迎再次使用。")
}

//begin form validate
function formValidate(form)
{
    //validate selected (determit by transMoney)
    if (form.transMoney.value == "" || form.transMoney.value == 0) {
        alert("请先选择需要购买的产品！");
        return false
    }

    //validate selected (determit by cardMoney)
    var cardMoneySelect = false;
    var cardMoneys = document.getElementsByName("cardMoney");
    for (var i = 0; i < cardMoneys.length; i++)
    {
        if (cardMoneys[i].checked)
        {
            cardMoneySelect = true;
            break;
        }
    }

    if (!cardMoneySelect) {
        alert("请先选择神州行充值卡面额！");
        return false
    }

    //validate input (determit by sn)
    if (form.sn.value == "") {
        form.sn.focus();
        alert("请先输入充值卡序列号！");
        return false
    }

    //validate input (determit by password)
    if (form.password.value == "") {
        form.password.focus();
        alert("请先输入充值卡密码！");
        return false
    }

    var numPattern = /[^ \d]/g;
    //validate input (determit by password)
    if (numPattern.test(form.sn.value) || numPattern.test(form.password.value)) {
        form.password.focus();
        alert("充值卡序列号或者充值卡密码不是数字，请检查更正！");
        return false
    }

    //validate input (determit by email)
    var emailPattern = /\b(^(\S+@).+((\.com)|(\.net)|(\.org)|(\.info)|(\.edu)|(\.mil)|(\.gov)|(\.biz)|(\.ws)|(\.us)|(\.tv)|(\.cc)|(\..{2,2}))$)\b/;
    if (form.email.value == "") {
        form.email.focus();
        alert("请先输入接收卡密邮箱！");
        return false
    } else if (!emailPattern.test(form.email.value)) {
        form.email.focus();
        alert("您输入接收卡密邮箱格式不正确，请重新输入！");
        return false
    }

    if (form.reEmail.value == "") {
        form.reEmail.focus();
        alert("请重复输入接收卡密的邮箱，以确认您的邮箱输入无误！");
        return false;
    } else if (form.reEmail.value != form.email.value) {
        form.reEmail.focus();
        alert("两次输入的接收卡密的邮箱不一致，请重新输入！");
        return false
    }

    //validate input (determit by validateImage)
    if (form.validateImage.value == "") {
        form.validateImage.focus();
        alert("请先输入图片验证码！");
        return false
    }
    return confirm("您选择的金额与充值卡面额必须一致，否则将可能导致支付不成功、或支付金额丢失。我们无法给您退还差额部分。");
}

//当交金额发生变化，判断如何禁用某些支付卡金额
function onTransMoneyChange() {
    var transMoneyStringValue = $F("transMoney");
    var transMoney = 0;
    if (!isNaN(parseInt(transMoneyStringValue))) {
        transMoney = parseInt(transMoneyStringValue);
    }
    var cardMoneys = document.getElementsByName("cardMoney");
    for (var i = 0; i < cardMoneys.length; i++)
    {
        var cardIntMoney = parseInt(cardMoneys[i].value);

        if (cardIntMoney < transMoney)
        {
            cardMoneys[i].checked = false;
            cardMoneys[i].disabled = true;
        } else if (cardIntMoney == transMoney) {
            cardMoneys[i].disabled = false;
            cardMoneys[i].checked = true;
        } else {
            cardMoneys[i].disabled = false;
        }
    }

    showCardBalance();
}