﻿function CheckAllValue()
{
    if(document.getElementById('txtCName').value == '')
    {
        alert('請填寫姓名');
        document.getElementById('txtCName').focus();
        return false;
    }
    
    if(chkPID_CHAR(document.getElementById('txtIDNum').value) == true)
    {
        if(vldid(document.getElementById('txtIDNum').value) == false)
        {
            alert('請填寫正確的身份證字號！');
            document.getElementById('txtIDNum').focus();
            return false;
        }
    }
    else
    {
            document.getElementById('txtIDNum').focus();
            return false;
    }
    
    if(CheckEmail(document.getElementById("txtEmail").value) == false)
    {
        alert("請填寫正確格式的E-mail！");
        document.getElementById('txtEmail').focus();
        return false;
    }
    
    if(CheckAddress() == false)
    {
        alert("請填寫完整的住址！");
        document.getElementById('postalOther').focus();
        return false;
    }
    
    if(document.getElementById('txtZipCode1').value == '' && document.getElementById('txtHomePhone').value == '' && document.getElementById('txtZipCode2').value == '' && document.getElementById('txtOfficePhone').value == '' && document.getElementById('txtCellPhone').value == '')
    {
        alert("住家電話或公司電話或行動電話請至少需填寫一種！");
        document.getElementById('txtZipCode1').focus();
        return false;
    }
    
    if(CheckAgeForChaPi() == false)
    {
        alert('未滿15歲恕不得申請ChaPi卡！');
        return false;
    }
    
    if(CheckChapi() == false)
    {
        alert('請選擇「是否願意收到卡友相關訊息」！');
        return false;
    }
    
    if(CheckAccno() == false)
    {
        return false;
    }
    
    if(PwdDoubleCheck() == false)
    {
        return false;
    }
    
    return true;
}

function vldid(iStr) {
    var tmp;
    var input = iStr.toUpperCase();
    var num=new Array(11); /*用來存轉換碼加九個數字 */
    var sum=0; /*計算經過公式後的加總*/
    var table=new Array(10,11,12,13,14,15,16,17,34,18,19,20,21,22,35,23,24,25,26,27,28,29,32,30,31,33); /*轉換的對照表*/
    num[1]=table[input.charCodeAt(0)-65]%10;
    num[0]=(table[input.charCodeAt(0)-65]-num[1])/10;
    for(p=1;p<10;p++)
        num[p+1]=input.charCodeAt(p)-48;
    for(p=1;p<9;p++)
        num[p]=num[p]*(10-p); /*套用公式*/
    for(p=0;p<11;p++)
        sum+=num[p];
    if(sum%10==0) /*檢查*/
        return true;
    else
        return false;
}

// 身分證字號檢查器 - 檢查合法字元
function chkPID_CHAR(sPID) {
    var ALP_STR = "ABCDEFGHJKLMNPQRSTUVXYWZIO";
    var NUM_STR = "0123456789";
    sPID = sPID.toUpperCase();
	var sMsg = "";
	//sPID = trim(sPID.toUpperCase());
	var iPIDLen = String(sPID).length;

	var sChk = ALP_STR + NUM_STR;
	for(i=0;i<iPIDLen;i++) {
		if (sChk.indexOf(sPID.substr(i,1)) < 0) {
			sMsg = "這個身分證字號含有不正確的字元！";
			break;
		}
	}

	if (sMsg.length == 0) {
		if (ALP_STR.indexOf(sPID.substr(0,1)) < 0) {
			sMsg = "身分證字號第 1 碼應為英文字母(A~Z)。";
		} else if ((sPID.substr(1,1) != "1") && (sPID.substr(1,1) != "2")) {
			sMsg = "身分證字號第 2 碼應為數字(1~2)。";
		} else {
			for(var i=2; i<iPIDLen; i++) {
				if (NUM_STR.indexOf(sPID.substr(i, 1)) < 0) {
					sMsg = "第 " + (i+1) + " 碼應為數字(0~9)。";
					break;
				}
			}
		}
	}

	if (sMsg.length != 0) {
		alert(sMsg);
		return false;
	} else {
		return true;
	}
}

function check_birthday(formname)
{
    var i=0;
    var y,m,d,o,diff;
    var dateStr;

    df = document.forms[formname];

    y=parseInt(df.all['ddlYear'].value);
    m=parseInt(df.all['ddlMonth'].value);
    d=parseInt(df.all['ddlDay'].value);
    dateStr = y+"/"+m+"/"+d
     
    var accDate = new Date(dateStr);
    var tempDate = accDate.getFullYear()+"/";
    tempDate += (accDate.getMonth()+1)+"/";
    tempDate += accDate.getDate();
    
    o=accDate.getDate()

    diff = parseInt(df.all['ddlDay'].value) - o;


     if (dateStr != tempDate) 
     {
       alert( df.all['ddlMonth'].value +"月 只有 " + diff+" 天.")
       df.all['ddlDay'].value=diff;
    } ;
     
    df.all['birthday'].value=y+"/"+m+"/"+d
}

function CheckAddress()
{
    var city = document.getElementById('postalCity').value;
    var county = document.getElementById('postalSubCity').value;
    var other = document.getElementById('postalOther').value;
    
    if(city == '0' || city == '' || county == '' || county == '0' || other == '')
    {
        return false;
    }
    else
    {
        return true;
    }
}

function CheckChapi()
{
    var form_name = document.getElementById('mainform1');
    var isChaPi;
    var cardNews = 0;
//    var cardType = 0;
    for (var iu=0; iu<form_name.rblChapi.length; iu++)
    {
        if (form_name.rblChapi[iu].checked)
        {
            isChaPi = form_name.rblChapi[iu].value;
            break;
        }
    }
        
    if(isChaPi == '1')
    {
        for (var iu=0; iu<form_name.rblCardNews.length; iu++)
        {
            if (form_name.rblCardNews[iu].checked)
            {
                cardNews = 1;
                break;
            }
        }
//        
//        for (var iu=0; iu<form_name.CardType.length; iu++)
//        {
//            if (form_name.CardType[iu].checked)
//            {
//                cardType = 1;
//                break;
//            }
//        }
//        
//        if(cardNews == 0 || cardType == 0)
//        {
//            return false;
//        }
//        else
//        {
//            return true;
//        }
        
        if(cardNews == 0)
        {
            return false;
        }
        else
        {
            return true;
        }
    }
    else
    {
        return true;
    }
}

function CheckAgeForChaPi()
{
    var form_name = document.getElementById('mainform1');
    var isChaPi;
    for (var iu=0; iu<form_name.rblChapi.length; iu++)
    {
        if (form_name.rblChapi[iu].checked)
        {
            isChaPi = form_name.rblChapi[iu].value;
            break;
        }
    }
    if(isChaPi.toString() == '1')
    {
        var birthday = form_name.all['birthday'].value;
        var tDate = new Date(birthday);
        var nowDate = new Date();
        if(parseInt(nowDate.getFullYear(),10) - parseInt(tDate.getFullYear(),10) < 15)
            return false;
        else
            return true;
    }
    else
    {
        return true;
    }
}

function CheckEmail(e)
{
    if(e != "") {
        if(!/(\S)+[@]{1}(\S)+[.]{1}(\w)+/.test(e))
        {
            return false;
        }
        else
        {
            return true;
        }
    }
    else
    {
        return false;
    }
}

function CheckAccno()
{
    var t = 0;
    var tStr = document.getElementById('txtAccno').value;
    if(tStr.length >= 4 && tStr.length <= 16)
    { 
        for(p=0;p<tStr.length;p++)
        {
            if ((tStr.charCodeAt(p) > 32 && tStr.charCodeAt(p) < 48) || (tStr.charCodeAt(p) > 57 && tStr.charCodeAt(p) < 65) || (tStr.charCodeAt(p)> 90 && tStr.charCodeAt(p) < 95) || (tStr.charCodeAt(p) > 95 && tStr.charCodeAt(p) < 97) || (tStr.charCodeAt(p)> 122 && tStr.charCodeAt(p) < 127))
            {
                alert('「帳號」請輸入最少4碼、最多16碼的英文字母、數字或底線，請勿使用特殊字元！');
                t = 1;
                break;
            }
        }
        
        if(t == 1)
            return false;
        else
            return true;
    }
    else
    {
        alert('「帳號」請輸入最少4碼、最多16碼的英文字母、數字或底線，請勿使用特殊字元！');
        return false;
    }
}

function CheckAccnoDB()
{
    if(CheckAccno() == true)
    {
        var winPrintList;
        winPrintList = window.open('CheckAccno.aspx?accno=' + document.getElementById('txtAccno').value,'winPrintList','height=100,width=100,location=no,menubar=no,scrollbars=no,resizable=no,status=no,toolbar=no');
    }
}

function CheckPwd()
{
    var t = 0;
    var tStr = document.getElementById('txtPwd').value;
    if(tStr.length >= 4 && tStr.length <= 8)
    { 
        for(p=0;p<tStr.length;p++)
        {
            if ((tStr.charCodeAt(p) > 32 && tStr.charCodeAt(p) < 48) || (tStr.charCodeAt(p) > 57 && tStr.charCodeAt(p) < 65) || (tStr.charCodeAt(p)> 90 && tStr.charCodeAt(p) < 95) || (tStr.charCodeAt(p) > 95 && tStr.charCodeAt(p) < 97) || (tStr.charCodeAt(p)> 122 && tStr.charCodeAt(p) < 127))
            {
                alert('「密碼」請輸入最少4碼、最多8碼的英文字母、數字或底線，請勿使用特殊字元！');
                t = 1;
                break;
            }
        }
        
        if(t == 1)
            return false;
        else
            return true;
    }
    else
    {
        alert('「密碼」請輸入最少4碼、最多8碼的英文字母、數字或底線，請勿使用特殊字元！');
        return false;
    }
}

function PwdDoubleCheck()
{
    if(CheckPwd() == true)
    {
        var tStr = document.getElementById('txtPwd').value;
        var tStr2 = document.getElementById('txtCheckPwd').value;
        if(tStr != tStr2)
        {
            alert('「密碼」與「確認密碼」的值不同！');
            return false;
        }
        else
        {
            return true;
        }
    }
    else
    {
        return false;
    }
}
