/***************************************
 * クチコミ会員登録画面への遷移
 ***************************************/
function openMemberEntry(path, objForm, httpHost) {
    if (httpHost == "localhost") {
        if (path == "") {
            path = "../member/index.php";
        }
    } else {
        path = "https://ssl88.heteml.jp/toma/namara/member/index.php";    //TODO kanda 本番環境ではrenewを削除！
    }
    objForm.action = path;
    objForm.submit();
}


/***************************************
 * お店詳細画面
 * プロフィール紹介画面への遷移
 ***************************************/
function openMemberProfile(memberId, path, objForm) {
    if (path == "") {
        path = "../member/profile.php";
    }
    objForm.hdnMemberId.value = memberId;
    objForm.action = path + "?hdnMemberId=" + memberId;
    objForm.submit();
}


/***************************************
 * クチコミ会員登録画面
 * 確認ボタンの有効・無効制御
 ***************************************/
function chengConfirmBottunEnable() {
    var objChkRule = document.getElementById("chkRule");
    var objBtnConfirm = document.getElementById("btnConfirm");

    if (objChkRule.checked) {
        objBtnConfirm.disabled = false;     //有効
    } else {
        objBtnConfirm.disabled = true;      //無効
    }
}


/***************************************
 * クチコミ会員登録画面
 * 入力情報のチェック処理
 * 引数　：shoriKbn:'INSERT' or 'UPDATE'
 * 戻り値：true:チェックOK、false:チェックNG
 ***************************************/
function checkMemberInput(shoriKbn) {

    var errorMessage = "";
    var objError = document.getElementById("idError");

    var objTxtLoginId = document.getElementById("txtLoginId");
    var objTxtPassword = document.getElementById("txtPassword");
    var objTxtPassword1 = document.getElementById("txtPassword1");
    var objTxtPassword2 = document.getElementById("txtPassword2");
    var objTxtNickName = document.getElementById("txtNickName");
    var objTxtMail = document.getElementById("txtMail");

    /*************************
     * ログインID
     *************************/
    //必須チェック
    if (objTxtLoginId.value == "") {
        errorMessage += "ログインIDを入力して下さい。<br />";
    }
    
    //半角英数字チェック
    var loginID = objTxtLoginId.value;
    if (loginID != "" && loginID.match(/[^a-zA-Z0-9\s]+/)) {
        errorMessage += "ログインIDは半角英数字で入力して下さい。<br />";
    }
    
    //6～12文字チェック
    if (loginID != "" && (loginID.length < 6 || loginID.length > 12)) {
        errorMessage += "ログインIDは6～12文字で入力して下さい。<br />";
    }
    
    /*************************
     * パスワード
     *************************/
    //新規登録：必ずチェックする
    //修正時　：パスワードを変更する場合のみチェックする（現在のパスワードを入力したら変更するとみなす）
    if ((shoriKbn == "INSERT") || (shoriKbn == "UPDATE" && objTxtPassword.value != "")) {
        //必須チェック
        if (objTxtPassword1.value == "") {
            errorMessage += "パスワードを入力して下さい。<br />";
        }
        
        //パスワード（半角英数字）
        var password1 = objTxtPassword1.value;
        if (password1 != "" && password1.match(/[^a-zA-Z0-9\s]+/)) {
            errorMessage += "パスワードは半角英数字で入力して下さい。<br />";
        }
        
        //6～16文字チェック
        if (password1 != "" && (password1.length < 6 || password1.length > 16)) {
            errorMessage += "パスワードは6～16文字で入力して下さい。<br />";
        }
        
        //再入力と一致
        var password2 = objTxtPassword2.value;
        if (password1 != password2) {
            errorMessage += "パスワードが（再入力）と異なります。<br />";
        }

        //パスワード（再入力）
        if (objTxtPassword2.value == "") {
            errorMessage += "パスワード（再入力）を入力して下さい。<br />";
        }
    }
    
    /*************************
     * ニックネーム
     *************************/
    //必須チェック
    if (objTxtNickName.value == "") {
        errorMessage += "ニックネームを入力して下さい。<br />";
    }
    
    //15文字以内チェック
    if (objTxtNickName.value != "" && objTxtNickName.value.length > 15) {
        errorMessage += "ニックネームは15文字以内で入力して下さい。<br />";
    }
    
    /*************************
     * 登録メールアドレス
     *************************/
    //必須チェック、メール形式チェック）
    if (objTxtMail.value == "") {
        errorMessage += "登録メールアドレスを入力して下さい。<br />";
    }
    
    //メール形式チェック
    if (objTxtMail.value != "" && !objTxtMail.value.match(/[!#-9A-~]+@+[a-z0-9]+.+[^.]$/i)) {
        errorMessage += "登録メールアドレスの形式が不正です。<br />";
    }
    
    //文字数チェック
    if (objTxtMail.value != "" && objTxtMail.value.length > 100) {
        errorMessage += "登録メールアドレスは100文字以内で入力して下さい。<br />";
    }
    
    /*************************
     * Webサイト
     *************************/
    var objTxtUrl = document.getElementById("txtUrl");
    
    //URLチェック
    if ((objTxtUrl.value != "") && (!objTxtUrl.value.match(/^(https?|ftp)(:\/\/[-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)$/))) {
        errorMessage += "URLを正しく入力して下さい。<br />";
    }
    /* 簡易チェック用：if ((objTxtUrl.value != "") && (!objTxtUrl.value.match(/^(http|ftp):\/\/.+$/))) { */
    
    //文字数チェック
    if (objTxtUrl.value != "" && objTxtUrl.value.length > 200) {
        errorMessage += "URLは200文字以内で入力して下さい。<br />";
    }
    
    /*************************
     * 自己紹介
     *************************/
    var objTxaComment = document.getElementById("txaComment");
    
    //1000文字以内チェック
    if (objTxaComment.value != "" && objTxaComment.value.length > 1000) {
        errorMessage += "自己紹介は1000文字以内で入力して下さい。<br />";
    }
    
    if (errorMessage != "") {
        objError.innerHTML = "<div class='error'>" + errorMessage + "</div>";
        objError.style.display = "inline";
        scrollTo(0,0);
        return false;
    }
    
    
    /*************************
     * 利用規約の同意確認
     *************************/
    if (!document.frmMemberInput.chkRule.checked) {
        alert("利用規約とメンバー規約に同意頂けない場合は、登録することが出来ません。\n同意頂ける場合は、「利用規約に同意する」をチェックして下さい。");
        return false;
    }
    
    
    //新規登録
    if (shoriKbn == "INSERT") {
        document.frmMemberInput.action = "mem_prev.php";
    //修正
    } else if (shoriKbn == "UPDATE") {
        document.frmMemberInput.action = "m_profile_prev.php";
    }
    document.frmMemberInput.submit();
}


/***************************************
 * クチコミ会員登録確認画面
 * 「上記の内容で登録する」ボタン押下処理
 ***************************************/
function entryMember() {
    if (!confirm("本当に登録してもよろしいですか？\n　[OK] 登録する。\n　[ｷｬﾝｾﾙ] もう一度見直す。")) {
        return false;
    }
    
    var objBtnConfirm = document.getElementById("btnConfirm");
    objBtnConfirm.disabled = true;
    
    document.frmMemberConfirm.action = "mem_complete.php";
    document.frmMemberConfirm.submit();
}


/***************************************
 * クチコミ会員修正確認画面
 * 「上記の内容で修正する」ボタン押下処理
 ***************************************/
function updateMember() {
    if (!confirm("本当に修正してもよろしいですか？\n　[OK] 修正する。\n　[ｷｬﾝｾﾙ] もう一度見直す。")) {
        return false;
    }
    document.frmMemberConfirm.action = "m_profile_complete.php";
    document.frmMemberConfirm.submit();
}


/***************************************
 * クチコミ会員管理画面
 * 「プレゼント応募」リンク押下処理
 ***************************************/
function openPrezent() {
    document.frmCommon.action = "m_prezent.php";
    document.frmCommon.submit();
}


/***************************************
 * クチコミ会員管理画面
 * 「ポイント交換」リンク押下処理
 ***************************************/
function openChange() {
    document.frmCommon.action = "m_change.php";
    document.frmCommon.submit();
}


/***************************************
 * クチコミ会員管理画面
 * 「ポイント獲得履歴」リンク押下処理
 ***************************************/
function openPointHistory() {
    document.frmCommon.action = "m_point_history.php";
    document.frmCommon.submit();
}


/***************************************
 * クチコミ会員管理画面
 * 「クチコミ履歴」リンク押下処理
 ***************************************/
function openKuchikomi() {
    document.frmCommon.action = "m_kuchikomi.php";
    document.frmCommon.submit();
}


/***************************************
 * クチコミ履歴画面
 * 「修正」ボタン押下処理
 ***************************************/
function editKuchikomi(seqNo) {
    document.frmKuchikomiHistoryList.hdnEditKuchikomSeqNo.value = seqNo;
    document.frmKuchikomiHistoryList.action = "m_kuchikomi_edit.php";
    document.frmKuchikomiHistoryList.submit();
}


/***************************************
 * クチコミ履歴修正画面
 * 「更新する」ボタン押下処理
 ***************************************/
function updateKuchikomi() {
    if (!confirm("本当に更新してもよろしいですか？\n　[OK] 更新する。\n　[ｷｬﾝｾﾙ] もう一度見直す。")) {
        return false;
    }
    document.frmKuchikomiHistoryEdit.submit();
}


/***************************************
 * クチコミ会員管理画面
 * 「会員登録修正」リンク押下処理
 ***************************************/
function openProfile() {
    document.frmCommon.action = "m_profile.php";
    document.frmCommon.submit();
}


/***************************************
 * クチコミ会員管理画面
 * 「退会」リンク押下処理
 ***************************************/
function openSecession() {
    document.frmCommon.action = "m_secession.php";
    document.frmCommon.submit();
}


/***************************************
 * プレゼント応募画面
 * 「希望商品」コンボ選択処理
 ***************************************/
function changeHopeItem() {
    var objHopeItemComment = document.getElementById("hopeItemComment");
    var objHopeItem = document.getElementById("sltHopeItem");
    var selectValue = objHopeItem.options[objHopeItem.selectedIndex].value;
    var selectText = objHopeItem.options[objHopeItem.selectedIndex].text;
    
    var values = selectValue.split(":");
    objHopeItemComment.innerHTML = values[1] + "：" + values[2];
}


/***************************************
 * プレゼント応募画面
 * 「プレゼントに応募する」ボタン押下処理
 ***************************************/
function present() {
    if (!confirm("本当にプレゼントに応募してもよろしいですか？\n　[OK] 応募する。\n　[ｷｬﾝｾﾙ] もう一度見直す。")) {
        return false;
    }
    
    var objHopeItem = document.getElementById("sltHopeItem");
    var selectValue = objHopeItem.options[objHopeItem.selectedIndex].value;
    var selectText = objHopeItem.options[objHopeItem.selectedIndex].text;
    var values = selectValue.split(":");
    
    document.frmPresentInput.hdnHopeItemCode.value = values[0];
    document.frmPresentInput.hdnHopeItemName.value = selectText;
    document.frmPresentInput.hdnComment.value = values[2];
    document.frmPresentInput.hdnShopName.value = values[1];
    
    document.frmPresentInput.action = "m_prezent_complete.php";
    document.frmPresentInput.submit();
}


/***************************************
 * ポイント交換 申請画面
 * 「交換商品とポイントを確認する」ボタン押下処理
 ***************************************/
function confirmChangeItem() {
    
    var errorMessage = "";
    var objError = document.getElementById("idError");
    
    /*************************
     * 交換商品
     *************************/
    //1つ以上チェック済みであること
    var count = 0;
    var changeNumFlg = false;
    for (var i=0; i<document.frmChangeItemList.elements['chkItems[]'].length; i++){
        if (document.frmChangeItemList.elements['chkItems[]'][i].checked) {
            count ++;
            if (document.frmChangeItemList.elements['sltChangeCnt[]'][i].value > 0) {
                changeNumFlg = true;
            }
        }
    }
    if (count <= 0) {
        errorMessage = "交換商品を1つ以上チェックして下さい。<br />";
    }
    
    
    /*************************
     * 交換数
     *************************/
     //チェック済みの交換商品のうち、いずれかで交換数が指定されていること。
    if ((count >= 1) && (!changeNumFlg)) {
        errorMessage += "交換数を指定して下さい。<br />";
    }
    
    if (errorMessage != "") {
        objError.innerHTML = "<div class='error'>" + errorMessage + "</div>";
        objError.style.display = "inline";
        return false;
    }
    
    document.frmChangeItemList.action = "m_change_prev.php";
    document.frmChangeItemList.submit();
}


/***************************************
 * ポイント交換 申請確認画面
 * 「上記商品で申請する」ボタン押下処理
 ***************************************/
function completeChangeItem() {
    document.frmChangeItemList.action = "m_change_complete.php";
    document.frmChangeItemList.submit();
}


/***************************************
 * 退会画面
 * 「退会する」ボタン押下処理
 ***************************************/
function secession() {
    var checkFlg = false;
    for (var i=0; i<document.frmSecessionInput.radReason.length; i++) {
        if(document.frmSecessionInput.radReason[i].checked) {
            checkFlg = true;
        }
    }

    if (!checkFlg) {
        alert("退会理由を選択して下さい。");
        return;
    }

    /*************************
     * 退会理由
     *************************/
    var objTxaSecessionReason = document.getElementById("txaSecessionReason");
    
    //1000文字以内チェック
    if (objTxaSecessionReason.value != "" && objTxaSecessionReason.value.length > 1000) {
        alert("退会理由は1000文字以内で入力して下さい。");
        return;
    }

    if (!confirm("本当に退会してもよろしいですか？\n　[OK] 退会する。\n　[ｷｬﾝｾﾙ] もう一度見直す。")) {
        return false;
    }
    
    document.frmSecessionInput.action = "m_secession_complete.php";
    document.frmSecessionInput.submit();
}

