//----------------------------------------------------------------
function GetContentPath()
{
    var strNext = "";
    //var strTempPath = "" + Common_Url_GetParamValue("next");             
    var strTempPath = getNextParam();
    if (strTempPath != null && strTempPath != "")
    {
        strNext = addPath(strPath, strTempPath);
    }

    return (strNext);
}

function GetContentPath_PID()
{
    var strNext = "";
    //var strTempPath = "" + Common_Url_GetParamValue("next");             
    var strTempPath = getNextParam_PID();
    if (strTempPath != null && strTempPath != "")
    {
        strNext = addPath(strPath, strTempPath);
    }

    return (strNext);
}



function GetContentPath_CM()
{
    var strNext = "";
    //var strTempPath = "" + Common_Url_GetParamValue("next");             
    var strTempPath = getNextParam();           
        strNext = strTempPath;
    
    return (strNext);
}



function addHtmlTag(strID, strSRC, nDefaultW, nDefaultH, bMaxW, bMaxH)
{
    var bIE = checkNavigatorInfo();
    if (bIE == false)
    {
        bMaxW = false;
        bMaxH = false;
    }

    var strTag = '<layer ID="%ID" width="%Width" height="%Height" SRC="%SRC">\n' +
                 '<nolayer>\n'+
                 '<iframe ID="%ID" width="%Width" height="%Height" FRAMEBORDER=0 SRC="%SRC"';
    if (strID == "content")
        strTag += ' onload="Content_Load()"';
    //add by Claire 2003.12.24
    /*

    if (strID != "")
        strTag += ' onload="Content_Load('+strID+')"';
    */
    
    strTag += '></iframe>\n</nolayer>\n</layer>\n';

    if (typeof(bMaxW) == 'undefined')
        bMaxW = false;
    if (typeof(bMaxH) == 'undefined')
        bMaxH = false;

    var nWidth = nDefaultW;
    var nHeight = nDefaultH;
    if (bIE)
    {
        if (bMaxW == true || typeof(nDefaultW) == 'undefined' || nDefaultW == '')
            nWidth = '100%';
        if (bMaxH == true || typeof(nDefaultH) == 'undefined' || nDefaultH == '')
            nHeight = '100%';
    }
    strTag = strTag.replace(/%ID/g, strID);
    strTag = strTag.replace(/%SRC/g, strSRC);
    strTag = strTag.replace(/%Width/g, nWidth);
    strTag = strTag.replace(/%Height/g, nHeight);

    document.write(strTag);
}

function Content_Load()
{
    var strContentID = "content";
    parent.document.body.scrollTop = 0;
    //alert(strContentID);
    
    if (checkNavigatorInfo())
        ResizeIframe(strContentID, "body");

    //alert(strContentID);
}

function ResizeIframe(strFrameName, strTagName)
{
    var nHeight, nWidth;
    if (document.frames[strFrameName] == null ||
        document.frames[strFrameName] == "")
        return;

    var oContentAll = document.frames[strFrameName].document.all;
    for(var i=0; i<oContentAll.length; i++)
    {
        if (oContentAll(i).tagName.toLowerCase() == strTagName.toLowerCase())
        {
            nHeight = oContentAll(i).scrollHeight;
            nWidth = oContentAll(i).scrollWidth;
        }
    }

   // alert(nHeight);
    if(nHeight == 0)
    {
        setTimeout("Content_Load()", 300);
    }

    var oContent = FindObject(strFrameName, "iframe");
    if (oContent == null || oContent == "")    return ;

    //if (nWidth != "")
    //    oContent.width = nWidth;

    if (nHeight != "")
    {
        var nMaxH = oContent.scrollHeight;
        if (nMaxH < nHeight)
            oContent.height = nHeight + 50;
        else
            oContent.height = nHeight + 50;
    }

}

function checkNavigatorInfo()
{
    var bReturn = false;
    var strAppName = navigator.appName;
    var strAppVersion = navigator.appVersion;
    var strIE = "MSIE ";
    var nIndex = strAppVersion.indexOf("MSIE ");
    //Microsoft Internet Explorer > 5.0 ─ true
    //Netscape or Microsoft Internet Explorer < 5.0 - false
    if (nIndex != -1)
    {
        var nEndIndex = strAppVersion.indexOf(";", nIndex);
        nIndex = nIndex + strIE.length;
        nVersion = strAppVersion.substring(nIndex);
        if (nEndIndex != -1)
        {
            nVersion = strAppVersion.substring(nIndex, nEndIndex);
        }
        if (nVersion >= "5.5")
            bReturn = true;
    }

    return (bReturn);
}

//----------------------------------------------------------------
//
// Common function
//
//----------------------------------------------------------------
function Common_String_Trim(strString)
{
    if (strString != null && strString.length > 0)
    {
        strString = strString.replace(/^\s*/,""); //strip leading
        strString = strString.replace(/\s+$/,""); //strip trailing
    }
    return (strString);
}

function Common_Url_GetParamValue(strParamName)
{
    var strLink = window.location.search;
    var nIndex = strLink.indexOf(strParamName);
    if (nIndex == -1)     return ("");

    var strLink = strLink.substr(nIndex+strParamName.length+1);
    nIndex = strLink.indexOf("&");
    if (nIndex != -1)
        strLink = strLink.substr(0, nIndex);
    return(strLink);
}

function FindObject(strName, strTagName, oParentObj)
{
    var oCurrObj = "";
    oParentObj = (oParentObj != null)? oParentObj.document : document;
    var oFoundObj = oParentObj.getElementsByTagName(strTagName);

    for (var i=0; i<oFoundObj.length; i++)
    {
        var oTempObj = oFoundObj.item(i);
        if (oTempObj.id == strName)
        {
            oCurrObj = oTempObj;
            break;
        }
    }
    return (oCurrObj);
}

//-----------------------------------------------------------------------
//var strPath = "./";
var strPath = "/";    // absolute path not relative

function addPath(strPath, strFilePath)
{
    var strRealPath = strFilePath;

    if (strPath != null && strPath.length > 0 && strPath != "" && (strFilePath.indexOf("http:") < 0))
        strRealPath = strPath + strFilePath;

    return (strRealPath);
}

function Common_Url_Assign(strUrl, oParentObj)
{
    oParentObj = (oParentObj != null)? oParentObj.document : document;
    strUrl = addPath(strPath, strUrl);
    oParentObj.location.assign(strUrl);
}
//-----------------------------------------------------------------------
function GetLoginStatus(oArray)
{
    var nLogin = 0;
    var strLink = "./Member/login_state.aspx";
    var strReturn = Common_XmlHttp_Post(strLink, "");
    if (strReturn != "")
    {
        var nIndex = strReturn.indexOf("&");
        if (nIndex >= 0)
        {
            oArray[0] = strReturn.substr(0, nIndex);   // IsLogin
            oArray[1] = strReturn.substr(nIndex+1);    // Nickname
            nLogin = oArray[0];
        }
    }
    if (nLogin == 0)
    {
        oArray[0] = 0;
        oArray[1] = LoginState_txtGuestname.innerText;
    }
    return (oArray[0]);
}

//-----------------------------------------------------------------------
function RefreshLoginStatus()
{
    var oArray = new Array;
    GetLoginStatus(oArray);
    _LoginState_Login = oArray[0];
    _LoginState_Nickname = oArray[1];
    // show login/logout div
    LoginState_txtNickname.innerText = _LoginState_Nickname;
    if (_LoginState_Login == 0)
    {
        divLogin.style.display = "";
        divLogout.style.display = "none";
    }
    else
    {
        divLogin.style.display = "none";
        divLogout.style.display = "";
    }

    // call logout-counter to refresh logout time
    //strLink = "/member/logout_counter.aspx";
    //Common_XmlHttp_Post(strLink, "");
}

function getNextUrl()
{
    var strFrameName = "content";
    var strNext = document.location;

    if (document.frames[strFrameName] != null &&
        document.frames[strFrameName] != "")
    {
        var docContent = document.frames[strFrameName].document;
        if (docContent != null)
            strNext = "content.asp?next=" + docContent.location.pathname.substring(1);
    }

    return (strNext);

}

function getNextParam()
{
    var strParamName = "next"
    var strLink = window.location.search;
    strLink = strLink.toLowerCase();
    var nIndex = strLink.indexOf(strParamName);
    if (nIndex == -1)     return ("");

    var strLink = strLink.substr(nIndex+strParamName.length+1);
    return(strLink);
}

function getNextParam_PID()
{
    var strParamName = "product_id"
    var strLink = window.location.search;
    strLink = strLink.toLowerCase();
    var nIndex = strLink.indexOf(strParamName);
    if (nIndex == -1)     return ("");

    var strLink = strLink.substr(nIndex+strParamName.length+1);
    return(strLink);
}


//-----------------------------------------------------------------------
function Logout()
{
    var strLink = "./Member/member_login.aspx?mode=logout";
    Common_XmlHttp_Post(strLink, "");
    RefreshLoginStatus();
    
    window.location.reload();
}

function checkLoginForm()
{
    var objForm = document.forms["FormLogin"];
    if (checkForm(objForm) == false)    return (false);

    var objAccount = getFormItem(objForm, "userid", 1);
    var objPass = getFormItem(objForm, "password", 1);
    var strTargetASP = "./Member/member_login.aspx?userid=" + objAccount.value +
                       "&password=" + objPass.value;

    var nReturn = 300;   // login fail !!
    var strReturn = Common_XmlHttp_Post(strTargetASP, "");
    if (strReturn != "")
        nReturn = Math.floor(strReturn);
    if (strReturn != 0)
    {
        var strMessage;
        if (strReturn == 302)
        {
            strMessage = "尚未確認會員資料信, 請先確認後再登入 !\n要重發確認信嗎?";
            //Peter 12/27
            if (confirm(strMessage) == true)
            {
                Common_Url_Assign('content.asp?next=member/member_mailopener.aspx');
            }

        }
        else
        {
            strMessage = "登入失敗 !";
            alert(strMessage);
        }
        return (false);
    }

    var strNext = document.location;
    var strFrameName = "content";
    var frmContent = document.frames[strFrameName];
    if (frmContent != null && typeof(frmContent) != "undefined")
    {
        var strNext = frmContent.document.location.pathname.substring(1);
        strNext = strNext.toLowerCase();
        if (strNext.indexOf("member") >= 0 || strNext.indexOf("account") >= 0 ||
            strNext.indexOf("billing") >= 0 || strNext.indexOf("paymentUI") >= 0)
        {
            frmContent.history.back();
            return;
        }
        strNext = "index.asp";
    }

    window.open(strNext, "_parent");
}

//-----------------------------------------------------------------------
function Common_XmlHttp_Post(strTargetASP, strData)
{
    var strReturn = "";
    var oXmlHttp = new ActiveXObject("MICROSOFT.XMLHTTP");
    oXmlHttp.open("POST", strTargetASP, false);  // un-async.
    oXmlHttp.send(strData);    
    if (oXmlHttp.status != "200")
    {
        //alert("Error : " + oXmlHttp.status + " = " + oXmlHttp.statusText);
    }
    else
    {   
       try
       {
           strReturn = oXmlHttp.responseText;
       }
       catch(e)
       {
       }
    }
    return (strReturn);
}
