function ClearIfDefaultText(defaultText, e)
{
    var input = GetElementTriggerEvent(e);
    if (input.value == defaultText)
    {
        input.value = "";
    }
}

function GetElementTriggerEvent(e)
{
    var targ;
    if (!e)
    {
        e = window.event;
    }
    if (e.target)
    {
        targ = e.target;
    }
    else if (e.srcElement)
    {
        targ = e.srcElement;
    }
    if (targ.nodeType==3) // defeat Safari bug
    {
        targ = targ.parentNode;
    }
    return targ;
}

//=============================================================================
//=   功能說明: 編審身份證字號是否正確
//=   傳入參數: pUserID : 要編審的號碼(身份證字號:10位文數字)
//=   傳回參數: 物件    : eErr           表編審成功/失敗
//=                       eErrDesc       編審失敗錯誤訊息
//=============================================================================
function gfcChkIdCard(pUserID)
{
    var tobjRtn = new Object();  //-傳回Object
    var ixI;
    var tAreaNo;
    var tSum;
    var tAreaCode;
    var tSecondID;         //身份證第二碼

    if (pUserID == "" || pUserID == null)
    {
        tobjRtn.eErr = false;
        return tobjRtn;
    }
    tobjRtn.eErr = true;
    pUserID = pUserID.toUpperCase(); 
    if (pUserID.length != 10)//確定身份證字號有10碼
    {   
        tobjRtn.eErrDesc = "輸入無效的身份證字號 (ex:資料長度錯誤) !";
        return tobjRtn;             
    }       
    tAreaCode = pUserID.substr(0,1);
    if (tAreaCode.valueOf() < "A" || tAreaCode.valueOf() > "Z")//確定首碼在A-Z之間
    {   
        tobjRtn.eErrDesc = "輸入無效的身份證字號 (ex:首碼應介於A-Z之間) !";
        return tobjRtn;
    }  
    if (isNaN(parseInt(pUserID.substring(1,10),10)) == true) //確定2-10碼是數字
    {   
        tobjRtn.eErrDesc = "輸入無效的身份證字號 (ex:第2-10碼須是數字) !";
        return tobjRtn;
    }   
    //身份證號碼第 2 碼必須為 1 或 2
    tSecondID = pUserID.substr(1,1);
    if (tSecondID != "1" && tSecondID != "2")
    {   
        tobjRtn.eErrDesc = "輸入無效的身份證字號 !";
        return tobjRtn;
    }
    //取得首碼對應的區域碼，A ->10, B->11, ..H->17,I->34, J->18...
    tAreaNo = "ABCDEFGHJKLMNPQRSTUVXYWZIO".search(tAreaCode) + 10;
    pUserID = tAreaNo.toString(10) + pUserID.substring(1,10);   
   
    //  取得CheckSum的值
    //  核對身份證號碼是否正確
    //  A  = 身份證號碼區域碼第 1碼
    //  A0 = 身份證號碼區域碼第 2碼 * (10 - 1)
    //  A1 = 身份證號碼第 2碼 * (10 - 2)
    //  A2 = 身份證號碼第 3碼 * (10 - 3)
    //  A3 = 身份證號碼第 4碼 * (10 - 4)
    //  A4 = 身份證號碼第 5碼 * (10 - 5)
    //  A5 = 身份證號碼第 6碼 * (10 - 6)
    //  A6 = 身份證號碼第 7碼 * (10 - 7)
    //  A7 = 身份證號碼第 8碼 * (10 - 8)
    //  A8 = 身份證號碼第 9碼 * (10 - 9)
    //  CheckSum = A + A0 + A1 + A2 + ........ + A7 + A8

    tSum = parseInt(pUserID.substr(0,1),10) + parseInt(pUserID.substr(10,1),10);   

    for(ixI=1;ixI<=9;ixI++)
    {   
		
        tSum = tSum + parseInt(pUserID.substr(ixI,1),10)*(10-ixI);

    }  
	
    if ((tSum % 10) != 0)
    {
        tobjRtn.eErrDesc = "輸入無效的身份證字號 !";
        return tobjRtn;
    }
    tobjRtn.eErr = false;
    return tobjRtn;
}

function MM_swapImgRestore() { //v3.0
    var i, x, a = document.MM_sr; for (i = 0; a && i < a.length && (x = a[i]) && x.oSrc; i++) x.src = x.oSrc;
}

function MM_preloadImages() { //v3.0
    var d = document; if (d.images) {
        if (!d.MM_p) d.MM_p = new Array();
        var i, j = d.MM_p.length, a = MM_preloadImages.arguments; for (i = 0; i < a.length; i++)
            if (a[i].indexOf("#") != 0) { d.MM_p[j] = new Image; d.MM_p[j++].src = a[i]; }
    }
}

function MM_findObj(n, d) { //v4.01
    var p, i, x; if (!d) d = document; if ((p = n.indexOf("?")) > 0 && parent.frames.length) {
        d = parent.frames[n.substring(p + 1)].document; n = n.substring(0, p);
    }
    if (!(x = d[n]) && d.all) x = d.all[n]; for (i = 0; !x && i < d.forms.length; i++) x = d.forms[i][n];
    for (i = 0; !x && d.layers && i < d.layers.length; i++) x = MM_findObj(n, d.layers[i].document);
    if (!x && d.getElementById) x = d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
    var i, j = 0, x, a = MM_swapImage.arguments; document.MM_sr = new Array; for (i = 0; i < (a.length - 2); i += 3)
        if ((x = MM_findObj(a[i])) != null) { document.MM_sr[j++] = x; if (!x.oSrc) x.oSrc = x.src; x.src = a[i + 2]; }
}
