﻿/* ----------------Account----------------- */
//Copy Email 用作帳號
function miCopyEmailTxb() 
{
    document.getElementById("miUserName").value = document.getElementById("miEmail").value;
}

//檢查資料是否輸入完整及正確
function checkAccountInfo() 
{
    var id = document.getElementById("miUserName");
    var em = document.getElementById("miEmail");
    var pw = document.getElementById("miPassword");
    var pw2 = document.getElementById("miPassword2");

    if (!CheckNull(em, 'Please enter your Email!')) { return false; }
    if (!CheckNull(id, 'Please enter your UserName(ID)!')) { return false; }
    if (!CheckNull(pw, 'Please enter your Password!')) { return false; }

    if (!isEmail(em)) { return false; }

    if (!isNumberOrCharOrLetter(em)) { return false; }
    if (!isNumberOrCharOrLetter(id)) { return false; }
    if (!isNumberOrCharOrLetter(pw)) { return false; }

    if (!ABmatch(pw, pw2)) { return false; }

    return true;
}

//檢查帳戶、Email是否已經被使用
function checkEmailExist() 
{
    //檢測資料輸入是否正確
    var id = document.getElementById("miUserName");
    var em = document.getElementById("miEmail");
    
    if (!CheckNull(em, 'Please enter your Email!')) { return false; }
    if (!CheckNull(id, 'Please enter your UserName(ID)!')) { return false; }
    if (!isEmail(em)) { return false; }
    if (!isNumberOrCharOrLetter(em)) { return false; }
    if (!isNumberOrCharOrLetter(id)) { return false; }

    document.getElementById("miCheckEmailWait").style.visibility = 'visible';
    document.getElementById("miCheckEmail").disabled = true;
    
    //數據發往服務器
    startRequest("/member/checkusername.aspx?id=" + id.value + "&email=" + em.value);
}

//檢查帳戶、Email是否已經被使用，處理返回的數據
function doInnerHTMLvip(text) 
{
    if (text == "vip-1")
        document.getElementById("miemailexist").innerHTML = "<img alt='yes' src='/Images/right.gif' />Email and ID available for registration";
    else
        document.getElementById("miemailexist").innerHTML = "<img alt='no' src='/Images/wrong.gif' />This Email or UserName already used, please enter other one.";

    document.getElementById("miCheckEmail").disabled = false;
    document.getElementById("miCheckEmailWait").style.visibility = 'hidden';
}
/* end Account */

/* ------------------------------Address Info------------------------------ */
//複製Business Address的值到Shipping Address
function copyAddressInfo() 
{
    //會員資料沒有Name, 訂單貨運有Name
    if (document.getElementById("miSAFirstName") != null) 
    {
        document.getElementById("miSAFirstName").value = document.getElementById("miBAFirstName").value;
        document.getElementById("miSALastName").value = document.getElementById("miBALastName").value;
    }
    document.getElementById("miSAStreet").value = document.getElementById("miBAStreet").value;
    document.getElementById("miSACity").value = document.getElementById("miBACity").value;
    document.getElementById("miSAState").value = document.getElementById("miBAState").value;
    document.getElementById("miSACountry").selectedIndex = document.getElementById("miBACountry").selectedIndex;
    document.getElementById("miSAZipCode").value = document.getElementById("miBAZipCode").value;
    document.getElementById("miSATel").value = document.getElementById("miBATel").value;
    document.getElementById("miSAFax").value = document.getElementById("miBAFax").value;
}
/* end Address Info */

/* -----------------------------Check DIV Inputs------------------------------ */
//檢查整個DIV中所有資料
function checkInputValues(divName) 
{
    //取得最外層DIV
    var objDiv = document.getElementById(divName);
    //取得DIV中所有的Input控件
    var objInputs = objDiv.getElementsByTagName("input");
    //驗證每一個控件
    for (var i = 0; i < objInputs.length; i++) 
    {
        //如果是Text
        if (objInputs[i].type.toLowerCase().replace(/ /g, '') == "text") 
        {
            if (!isNumberOrCharOrLetter(objInputs[i]))
                return false;
            if (objInputs[i].title.replace(/ /g, '') == "*") //必填項
            {
                    if (!CheckNull(objInputs[i], 'Please enter this information!'))
                        return false;
            }
        }
        else if (objInputs[i].type.toLowerCase().replace(/ /g, '') == "radio")  //radio
        {
            if (objInputs[i].title.replace(/ /g, '') == "*") //必填項
            {
                var isOK = false;
                //取得整個radio
                var objRadio = document.getElementsByName(objInputs[i].name);
                //判斷是否有選擇
                for (var j = 0; j < objRadio.length; j++) 
                {
                    if (objRadio[j].checked) 
                    {
                        isOK = true;
                        break;
                    }
                }
                if (!isOK) {
                    objInputs[i].focus();
                    objInputs[i].style.backgroundColor = '#FFEEEE';
                    alert("Please choose " + (objRadio.length >= 2 ? objRadio[1].title : "this"));
                    return false;
                }
            }
        }
    } //for
    //取得DIV中所有的textarea控件
    var objTextarea = objDiv.getElementsByTagName("textarea");
    for (var i = 0; i < objTextarea.length; i++) 
    {
        if (!isNumberOrCharOrLetter(objTextarea[i]))   //if (!isNumberOrCharNOTSomeChar(objTextarea[i]))
            return false;
        if (objTextarea[i].title.replace(/ /g, '') == "*") //必填項
        {
            if (!CheckNull(objTextarea[i], 'Please enter this information!'))
                return false;
        }
    } //for
    return true;
}

/* --------------------Check Forgot or Update Password----------------------- */
//找回密碼框的資料驗證
function CheckTxbForgotPassword() 
{
    var obj = document.getElementById('txbforgotpassword');

    if (!CheckNull(obj, 'Please enter your Email!')) { return false; }
    if (!isEmail(obj)) { return false; }

    return true;
}

//修改密碼資料驗證
function CheckUpdatePassword() {
    var obj1 = document.getElementById('updatepasswordold');
    var obj2 = document.getElementById('updatepasswordnew');
    var obj3 = document.getElementById('updatepasswordnew2');

    if (!CheckNull(obj1, 'Please enter your old Password!')) { return false; }
    if (!CheckNull(obj2, 'Please enter your new Password!')) { return false; }

    if (!isNumberOrCharOrLetter(obj1)) { return false; }
    if (!isNumberOrCharOrLetter(obj2)) { return false; }

    if (!ABmatch(obj2, obj3)) { return false; }

    return true;
}
//修改Email資料驗證
function CheckUpdateEmail() {
    var obj1 = document.getElementById('updatepassword');
    var obj2 = document.getElementById('updateoldemail');
    var obj3 = document.getElementById('updatenewemail');

    if (!CheckNull(obj1, 'Please enter your Password!')) { return false; }
    if (!CheckNull(obj2, 'Please enter your old Email!')) { return false; }
    if (!CheckNull(obj3, 'Please enter your new Email!')) { return false; }

    if (!isNumberOrCharOrLetter(obj1)) { return false; }
    if (!isEmail(obj2)) { return false; }
    if (!isEmail(obj3)) { return false; }

    return true;
}

/* --------信用卡-------- */
//編號信用卡種類
function ChangeCardType(obj) 
{
    var obj1 = document.getElementById('oicreditcardno1');
    var obj2 = document.getElementById('oicreditcardno2');
    var obj3 = document.getElementById('oicreditcardno3');
    var obj4 = document.getElementById('oicreditcardno4');
    var obj5 = document.getElementById('oicreditcardcvv');
    switch (obj.value) 
    {
        case "2":
            obj2.maxLength = 4;
            obj2.value = obj2.value.substring(0, 4);
            obj3.maxLength = 4;
            obj3.value = obj3.value.substring(0, 4);
            obj4.style.visibility = "visible";
            obj5.maxLength = 3;
            obj5.value = obj5.value.substring(0, 3);
            break;
        case "3":
            obj2.maxLength = 6;
            obj2.value = obj2.value.substring(0, 6);
            obj3.maxLength = 5;
            obj3.value = obj3.value.substring(0, 5);
            obj4.value = "";
            obj4.style.visibility = "hidden";
            obj5.maxLength = 4;
            obj5.value = obj5.value.substring(0, 4);
            break;
        default:
            obj2.maxLength = 4;
            obj2.value = obj2.value.substring(0, 4);
            obj3.maxLength = 4;
            obj3.value = obj3.value.substring(0, 4);
            obj4.style.visibility = "visible";
            obj5.maxLength = 3;
            obj5.value = obj5.value.substring(0, 3);
            break;
    }
}

//檢查卡的開始幾個數字是否符合要求
function CheckCardStartNum() 
{
    if(document.getElementById('divcreditcardinfo').style.display != "block")   //沒有選creditcard付款方式的不檢查
        return true;
        
    var obj1 = document.getElementById('oicreditcardno1');
    var obj2 = document.getElementById('oicreditcardno2');
    var obj3 = document.getElementById('oicreditcardno3');
    var obj4 = document.getElementById('oicreditcardno4');
    var objc = document.getElementById('oicreditcardcvv');
    var objt = document.getElementById('oicreditcardtype');

    var isOK = false;
    var iMLength = 0;
    var iMCVV = 0;
    switch (objt.value) 
    {
        case "2":
            if (Number(obj1.value.substring(0, 2)) >= 51 && Number(obj1.value.substring(0, 2)) <= 55)
                isOK = true;
            iMLength = 16;
            iMCVV = 3;
            break;
        case "3":
            if (obj1.value.substring(0, 2) == "34" || obj1.value.substring(0, 2) == "37")
                isOK = true;
            iMLength = 15;
            iMCVV = 4;
            break;
        default:
            if (obj1.value.substring(0, 1) == "4")
                isOK = true;
            iMLength = 16;
            iMCVV = 3;
            break;
    }
    var iLength = obj1.value.length + obj2.value.length + obj3.value.length + obj4.value.length;
    if (iMLength != iLength || iMCVV != objc.value.length)
        isOK = false;

    if (document.getElementById('oicreditcardname').value.replace(/ /g, '') == ''
         || (document.getElementById('oicreditcardexpy').value == "2009" && document.getElementById('oicreditcardexpm').value == "1"))
        isOK = false;

    if (!isOK)
        alert("Card info not valid");

    return isOK;
}

//顯示信用卡輸入框
function ShowCreditCardInfo() 
{ 
    var isOK = false;
    var objRadio = document.getElementsByName("oipaymentmethod");
    if (objRadio == null || document.getElementById('divcreditcardinfo') == null)
        return isOK;
    //判斷是否有選擇
    for (var j = 0; j < objRadio.length; j++) 
    {
        if (objRadio[j].checked && objRadio[j].value=="1") 
        {
            isOK = true;
            break;
        }
    }
    if (isOK) 
    {
        document.getElementById('divcreditcardinfo').style.display = "block";
        ChangeCardType(document.getElementById('oicreditcardtype'));
    }
    else
        document.getElementById('divcreditcardinfo').style.display = "none";
}

//光標切到下一控件
function toNext(obj) {
    objtmp = obj.nextSibling.nextSibling;
    if (objtmp != null && obj.value.length == obj.maxLength && objtmp.type == "text" && objtmp.style.display != "none")
        objtmp.select();
}