﻿//切換多視角圖片
function changeimage(type, file, bigProductImageURL) 
{
    var divshow = document.getElementById("pimainimage");
    if (type == "image")   //切換圖片
        divshow.innerHTML = "<img src='" + bigProductImageURL + file + "' alt='product image' /><img src=\"/Images/ajax-loader.gif\" alt=\"waiting\" />";
    else    //切換視頻文件
        divshow.innerHTML = "<embed wmode='transparent' quality='high' type='application/x-oleobject' hidefocus='hidefocus'"
 + " src='" + file + "'></embed><img src=\"/Images/ajax-loader.gif\" alt=\"waiting\" />";
}

//刪除 ShoppingCart 中的產品
function DeleteItem(obj, itemNo) 
{
    //如果objBtn等公共值不等於初始狀態，則放棄操作
    if (objBtn != null || strItemNo != "")
        return;

    //給公共屬性賦值
    objBtn = obj;
    
    //隱藏此行資料
    obj.parentNode.parentNode.style.display = "none";
    try
    {
        startRequest("/products/addtoservicelist.aspx?itemno=" + itemNo + "&type=3&sizeqty=");   //發送數據回服務器
    } catch (exception) {
        SetBtnState(obj, 0, 3, itemNo);
        alert("failure!");
    }
}

//添加刪除產品的公共變量
var objBtn = null;
var iType = 0;
var strItemNo = "";

//加入產品到List(type提交類型：AddToShoppingCart (1) or AddToWishList (2) )
function addToList(obj, type, itemNo, sellStock, minQty) 
{
    //如果objBtn等公共值不等於初始狀態，則放棄操作
    if (objBtn != null || strItemNo != "")
        return;
        
    //給公共屬性賦值
    objBtn = obj;
    iType = type;
    strItemNo = itemNo;
    
    //設置操作狀態
    SetBtnState(obj, 1, type, itemNo);
    try 
    {
        var sizeqty = "";
        if (type == 1) 
        {
            var totalqty = 0;     //購買總量
            var objDiv = document.getElementById("clss_" + itemNo).getElementsByTagName("input");
            for (var i = 0; i < objDiv.length; i++) 
            {
                if (objDiv[i].type.toLowerCase().replace(/ /g, '') == "text" && objDiv[i].className.toLowerCase().replace(/ /g, '') == "buyqty") 
                {
                    if (sellStock && Number(objDiv[i].value) > Number(objDiv[i].name))   //只賣庫存時，選購量大於庫存量
                    {
                        SetBtnState(obj, 0, type, itemNo);
                        alert("Qty you ordered exceed available inventory stock");
                        objDiv[i].select();
                        return;
                    }
                    if (Number(objDiv[i].value) > 0) 
                    {
                        sizeqty += objDiv[i].title.replace('#', 'h').replace('\"', 'i') + "-" + Number(objDiv[i].value) + "_";
                        totalqty += Number(objDiv[i].value);
                    }
                }
            }
            if (totalqty == 0 || totalqty < Number(minQty))  //選購量為0或者小於最小購買量時
            {
                SetBtnState(obj, 0, type, itemNo);
                alert("Please make a purchase with minimum quantity: " + minQty);
                return;
            }
        }
        startRequest("/products/addtoservicelist.aspx?itemno=" + itemNo + "&type=" + type + "&sizeqty=" + sizeqty);   //發送數據回服務器
    } catch (exception) {
        SetBtnState(obj, 0, type, itemNo);
        alert("failure!");
    }
}

//接收服務器端回應
function doInnerHTMLAddItem(text) 
{
    //取得操作值(公共屬性的值)
    var obj = objBtn;
    var type = iType;
    var itemNo = strItemNo;

    try {
            if (text == "-1")  //失敗
            {
                SetBtnState(obj, 0, type, itemNo);
                alert("unsuccessfully!");
                return;
            }
            var arr = text.split("_");
            if (arr.length != 2) {
                SetBtnState(obj, 0, type, itemNo);
                alert("unsuccessfully!");
                return;
            }
            var itotalcount = arr[0];     //cart qty
            var itotalcount2 = arr[1];    //list qty        
            //顯示提示及cart and list情況
            document.getElementById("divitemcount").getElementsByTagName("span")[1].innerHTML = itotalcount;    //顯示cart數量
            ShowAddProductNotice(0, itotalcount, itotalcount2);
            SetBtnState(obj, 0, type, itemNo);
    } catch (exception) {
        SetBtnState(obj, 0, type, itemNo);
        alert("unsuccessfully!");
    }
}

//設置等待狀態
function SetBtnState(obj, state, type, itemNo) 
{
    if (state == 0) 
    {
        //公共屬性設置為初始狀態
        objBtn = null;
        iType = 0;
        strItemNo = "";
    }
    if (obj == null || itemNo=="")
        return;
    //取得相對應的 Wait 圖片的 obj
    var objw = null;
    if (type == 1)
        objw = document.getElementById("clwait_" + itemNo);
    else
        objw = document.getElementById("clwait2_" + itemNo);
        
    //設置狀態
    if (state == 1) 
    {
        obj.style.cursor = "wait";
        obj.disabled = true;
        objw.style.visibility = 'visible';
    }
    else 
    {
        obj.style.cursor = "";
        obj.disabled = false;
        objw.style.visibility = 'hidden';
    }
}

//添加產品成功以後的提示
function ShowAddProductNotice(isclose, cartqty, listqty) 
{
    //首先檢查此物件是否存在
    if (document.getElementById('divaddproductnotice') == null)
        ResetCartListValue();
    else  //ProductInfo_XX.html (提示框)
    {
        if (isclose == 1)
            document.getElementById('divaddproductnotice').style.display = "none";
        else 
        {
            document.getElementById('divaddproductnotice').style.display = "block";
            document.getElementById("divaddproductnotice").getElementsByTagName("span")[0].innerHTML = cartqty;
            document.getElementById("divaddproductnotice").getElementsByTagName("span")[1].innerHTML = listqty;
        }
    }
}

//ShoppingCart頁修改資料以後，重新統計數字
function ResetCartListValue() 
{
    var tmpBtn = objBtn;
    if (tmpBtn != null) 
    {
        var TDQty = null;  //顯示數量的td
        var TDAmount = null;  //顯示價格的td
        var TDSoldPrice = null; //價格 td
        var TDDiscount = null; //折扣 td
        var TDSizeStock = null; //選購量 td
        var table = null; //整個List的table
        //取得各值對應的TD
        for (var i = 0; i < 12; i++) 
        {
            if (tmpBtn.parentNode.nodeName == "TR") 
            {
                TDSizeStock = tmpBtn.parentNode.cells[2];
                TDQty = tmpBtn.parentNode.cells[3];
                TDSoldPrice = tmpBtn.parentNode.cells[4];
                TDDiscount = tmpBtn.parentNode.cells[5];
                TDAmount = tmpBtn.parentNode.cells[6];
                table = tmpBtn.parentNode.parentNode;
                break;
            }
            else
                tmpBtn = tmpBtn.parentNode;
        }

        if (strItemNo != "") 
        {
            //計算新選購量
            var totalqty = 0;     //購買總量
            var objDiv = TDSizeStock.getElementsByTagName("input");
            for (var i = 0; i < objDiv.length; i++) {
                if (objDiv[i].type.toLowerCase().replace(/ /g, '') == "text" && objDiv[i].className.toLowerCase().replace(/ /g, '') == "buyqty") {
                    if (Number(objDiv[i].value) > 0)
                        totalqty += Number(objDiv[i].value);
                }
            }
            TDQty.innerHTML = totalqty;

            //計算單筆產品總金額
            var soldPrice = TDSoldPrice.innerHTML.split("/")[0].replace('$', '').replace(/ /g, '');
            var discount = Number(TDDiscount.innerHTML.replace('%', '').replace(/ /g, '')) / 100;

            var amount = soldPrice * (1 - discount) * totalqty;
            TDAmount.innerHTML = "$" + amount.toFixed(2);
        }   //if (strItemNo != "") 
        
        //計算整個List的總計
        var lastTotalQty = 0;   //區塊產品總數量
        var lastAmount = 0.00;   //區塊總金額
        var lastItemCount = 0;  //Item數
        for (var j = 2; j < table.rows.length - 1; j++)   //除掉最上兩行標題，和最後一行統計
        {
            if (table.rows[j].style.display.replace(/ /g, '') == "none")  //已隱藏的行(既已刪除的產品)不計算在內
                continue;
            lastTotalQty += Number(table.rows[j].cells[3].innerHTML.replace(/ /g, ''));
            lastAmount += Number(table.rows[j].cells[6].innerHTML.replace('$', '').replace(/ /g, ''));
            lastItemCount++;
        }
        
        //取得List區塊最後統計信息的Table
        var tmpListSummaryTable = null;
        var tmpListLastSummary = table.rows[table.rows.length - 1].cells[0].childNodes;
        for (var i = 0; i < 12; i++) 
        {
            if (tmpListLastSummary[0].nodeName == "TR") 
            {
                tmpListSummaryTable = tmpListLastSummary;
                break;
            }
            else
                tmpListLastSummary = tmpListLastSummary[0].childNodes;
        }
        tmpListSummaryTable[0].cells[1].innerHTML = lastItemCount;
        tmpListSummaryTable[1].cells[1].innerHTML = lastTotalQty;
        tmpListSummaryTable[2].cells[1].innerHTML = "$" + lastAmount.toFixed(2);
    } //if (tmpBtn != null)

    if (document.getElementById('cartlistsummary') != null)
        startRequest("/order/updatecartlist.aspx");   //請求服務器的統計資料
}

//重新設置ShoppingCart統計信息
function ResetSummaryTable(text) {
    var obj = document.getElementById('cartlistsummary')
    if (obj == null)
        return;

    obj.parentNode.innerHTML = text;

    var discs1 = document.getElementById('clsummarydiscount');
    var discl1 = document.getElementById('clsumlistdiscount');
    
    if (discl1 != null) 
    {
        var discs2 = document.getElementById('clsummarydiscountvalue');
        var discl2 = document.getElementById('clsumlistdiscountvalue');

        if (discs1 != null) {
            discl1.innerHTML = discs1.innerHTML;
            discl2.innerHTML = discs2.innerHTML;
        }
        else {
            discl1.innerHTML = "0%";
            discl2.innerHTML = "$0";
        }
    }
    CheckMinAmount();
}

//是否使用優惠返還的積值
function ifUseRebate(obj, useRebate, lastAmount) 
{
    objRebate = document.getElementById(useRebate);
    objAmount = document.getElementById(lastAmount);
    if (objRebate != null && obj.checked)   //使用
    {
        objRebate.innerHTML = objRebate.innerHTML.replace('(', '').replace(')', '');

        objAmount.innerHTML = "$" + (Number(objAmount.innerHTML.replace('$', '')) - Number(objRebate.innerHTML.replace('(', '').replace(')', '').replace('$', ''))).toFixed(2);
    }
    else if (objRebate!=null && !obj.checked)   //不使用
    {
        objRebate.innerHTML = "(" + objRebate.innerHTML + ")";

        objAmount.innerHTML = "$" + (Number(objAmount.innerHTML.replace('$', '')) + Number(objRebate.innerHTML.replace('(', '').replace(')', '').replace('$', ''))).toFixed(2);
    }
}

//提交ShoppingCart，進入下一步
function submitShoppingCart() {
    var obj = document.getElementById("submitcart");
    if (obj != null) {
        if (CheckMinAmount())
            obj.submit();
        else
            alert("You need $200.00 more to checkout");
    }
}

//檢查ShoppingCart最小購買產品總金額是否符合要求
function CheckMinAmount() 
{
    var obj =document.getElementById("minamounttocheck");
    if (obj == null)
        return false;

    var objmin = obj.getElementsByTagName("span")[0]; 
    var objnondis = document.getElementById("cartlistamoutnondis");
    var objdis = document.getElementById("cartlistamoutdis");
    
    var nowAmount = 0.00;
    if (objnondis != null)
        nowAmount += Number(objnondis.innerHTML.replace('$', ''));
    if (objdis != null)
        nowAmount += Number(objdis.innerHTML.replace('$', ''));

    var minAmount = Number(objmin.innerHTML.replace('$', ''));

    if (nowAmount >= minAmount) {
        obj.style.display = "none";
        return true;
    }
    else {
        obj.style.display = "block";
        return false;
    }
}

//有貨通知我
function notifyMeReStockedShow()
{
    startRequest("/member/getmemberemail.aspx");
    //顯示輸入框
    document.getElementById("divnotifymerestocked").style.display = "block";
}
function notifyMeReStocked(itemNo) 
{
    var obj = document.getElementById("txbnotifymerestocked");
    if (!isEmail(obj) || !CheckNull(obj,'please enter your email'))
        return;

    startRequest("/products/addtoservicelist.aspx?itemno=" + itemNo + "&type=5&sizeqty=" + obj.value);   //發送數據回服務器

    //隱藏輸入框
    document.getElementById("divnotifymerestocked").style.display = "none";
}
function notifyMeReStockedEmail(email) {
    if (email != "")
        document.getElementById("txbnotifymerestocked").value = email;
}

//批量添加產品到Cart
function addSelectedItemsToCart(type,divName,objBtn) 
{
    var objtmp = document.getElementById(divName);
    if (objtmp == null)
        return;
    var obj = objtmp.getElementsByTagName("input");
    if (obj == null)
        return;

    document.body.style.cursor = "wait";
    objBtn.disabled = true;
    var objAjax = document.getElementById("ajaxproductslist");
    if (objAjax != null)
        objAjax.style.visibility = "visible";
    
    var itemNos = ",";
    for (var i = 0; i < obj.length; i++) 
    {
        if (obj[i].type.toLowerCase().replace(/ /g, '') == "checkbox" && obj[i].checked) 
        {
            itemNos += obj[i].value + ",";
        }
    }

    if (itemNos.replace(/ /g, '') == ",") {
        document.body.style.cursor = "";
        objBtn.disabled = false;
        if (objAjax != null)
            objAjax.style.visibility = "hidden";
    }
    else 
    {
        if (type == 3) //批量添加產品
            startRequest("/products/addtoservicelist.aspx?type=6&itemno=" + itemNos + "&sizeqty=");     //發送數據回服務器
        else //1:批量刪除ShoppingCart產品; 2:批量刪除Wishlist產品; 4:批量刪除Customized產品; 5:批量刪除Monopoly產品
            startRequest("/products/addtoservicelist.aspx?type=4&sizeqty=" + type + "&itemno=" + itemNos + "");     //發送數據回服務器
    }
}
function addSelectedItemsToCartOK(text) 
{
    if (text.toLowerCase().replace(/ /g, '') == "apm-ok")
        document.location.href = "/order/incompletecart.aspx";
    else {
        document.body.style.cursor = "";
        var objAjax = document.getElementById("ajaxproductslist");
        if (objAjax != null)
            objAjax.style.visibility = "hidden";
        alert('Items are already in your Shopping Cart');
    }
}