// サーバURL var SERVER_URL = "https://chiba-volunteer.com"; // ボランティア一覧画面URL var WP_VOL_LIST_PAGE_URL = "https://chiba-volunteer.com/volunteer-join"; // メニュークラス var MENU_CLASS_M_LOGIN = "menu-item-login"; var MENU_CLASS_M_MYPAGE = "menu-item-mypage"; var MENU_CLASS_M_NEW_REG = "menu-item-new-reg"; var MENU_CLASS_G_LOGIN = "menu-item-grp-login"; var MENU_CLASS_G_VOL_LIST = "menu-item-grp-vol-list"; //////////////////////////////////////////////////////////// // 共通処理 ///////////////////////////////////////////////////////////// /** * 確認ダイアログ設定 */ function initConfirmMsgDialog(msgTitle, msgBody) { // タイトル jQuery('#confirmModalTitle').text(msgTitle); // メッセージ jQuery('#confirmModalBody').text(msgBody); jQuery('#confirmModal').modal('show'); jQuery('#confirmOkBtn').off('click'); } //////////////////////////////////////////////////////////// // ボランティア募集情報登録編集(団体) ///////////////////////////////////////////////////////////// /** * 詳細画面:戻る */ function grp_vol_rcrt_detail_cancel() { // document.forms[0].action = "/mediator/wp/grp_vol_rcrt_detail/cancel"; // document.forms[0].submit(); requestAjaxForm("/mediator/wp/grp_vol_rcrt_detail/cancel"); } /** * 仮保存 */ function grp_vol_rcrt_detail_temp_save() { // チェック処理呼び出し var jsForm = new WpGroupVolRcrtInfoJsForm(); jsForm.setFormData(); var errInfo = jsForm.validate(); // エラーメッセージ表示 alertErrorMessage(errInfo); if (errInfo.length == 0) { // 確認メッセージ initConfirmMsgDialog("ボランティア募集情報仮登録確認", "ボランティア募集情報を仮登録します。よろしいですか?"); jQuery("#confirmOkBtn").click(function() { jQuery('#confirmModal').modal('hide'); requestAjaxFormWithImg("/mediator/wp/grp_vol_rcrt_detail/temp_save"); }); } } /** * 申請 */ function grp_vol_rcrt_detail_apply() { // チェック処理呼び出し var jsForm = new WpGroupVolRcrtInfoJsForm(); jsForm.setFormData(); var errInfo = jsForm.validate(); // エラーメッセージ表示 alertErrorMessage(errInfo); if (errInfo.length == 0) { // 確認メッセージ initConfirmMsgDialog("ボランティア募集情報申請確認", "ボランティア募集情報を申請します。よろしいですか?"); jQuery("#confirmOkBtn").click(function() { jQuery('#confirmModal').modal('hide'); requestAjaxFormWithImg("/mediator/wp/grp_vol_rcrt_detail/apply"); }); } } /** * 募集一覧詳細画面表示 */ function grp_vol_rcrt_detail_del() { // チェック処理呼び出し var jsForm = new WpGroupVolRcrtInfoJsForm(); jsForm.setFormData(); var errInfo = jsForm.validate(); // エラーメッセージ表示 alertErrorMessage(errInfo); if (errInfo.length == 0) { // 確認メッセージ initConfirmMsgDialog("ボランティア募集情報削除確認", "データを削除しますか?"); jQuery("#confirmOkBtn").click(function() { jQuery('#confirmModal').modal('hide'); requestAjaxForm("/mediator/wp/group_vol_rcrt_detail/delete"); }); } } ///////////////////////////////////////////////////////////// // ボランティア募集情報一覧(団体) ///////////////////////////////////////////////////////////// /** * 新規ボランティア情報 */ function grp_vol_rcrt_list_new_regist() { requestAjaxForm("/mediator/wp/group_vol_rcrt_list/new_reg"); } /** * 検索 */ function grp_vol_rcrt_list_search() { requestAjaxForm("/mediator/wp/group_vol_rcrt_list/search"); } /** * ページナビゲーション */ function grp_vol_rcrt_list_move_page(eventPageNo) { var userId = sessionStorage.getItem("USER_ID"); var loginKey = sessionStorage.getItem("LOGIN_KEY"); var grpUserId = sessionStorage.getItem("GRP_USER_ID"); var grpLoginKey = sessionStorage.getItem("GRP_LOGIN_KEY"); // ページイベント情報設定 document.getElementById('event_page_no').value = eventPageNo; requestAjaxForm("/mediator/wp/group_vol_rcrt_list/move_page?user_id=" + userId + "&login_key=" + loginKey + "&grp_user_id=" + grpUserId + "&grp_login_key=" + grpLoginKey); } /** * 募集一覧詳細画面表示 */ function grp_vol_rcrt_list_detail(rcrtId) { document.getElementById('rcrt_id').value = rcrtId; requestAjaxForm("/mediator/wp/group_vol_rcrt_detail/detail"); } /** * 募集一覧詳細画面表示 */ function grp_vol_rcrt_list_del(rcrtId) { document.getElementById('rcrt_id').value = rcrtId; requestAjaxForm("/mediator/wp/group_vol_rcrt_detail/del"); } ///////////////////////////////////////////////////////////// // 団体ログイン ///////////////////////////////////////////////////////////// /** * 団体ログイン */ function grp_login_login() { // チェック処理呼び出し var jsForm = new WpGroupLoginJsForm(); jsForm.setFormData(); var errInfo = jsForm.validate(); // エラーメッセージ表示 alertErrorMessage(errInfo); if (errInfo.length == 0) { requestAjaxForm("/mediator/wp/grp_login/login"); } } /** * パスワード初期化 */ function grp_losepasswd() { requestAjaxForm("/mediator/wp/wp_group_info_passwd_init/init"); } /** * メール送信 */ function grp_mail() { // チェック処理呼び出し var jsForm = new WpGroupInfoPasswdInitJsForm(); jsForm.setFormData(); var errInfo = jsForm.validate(); // エラーメッセージ表示 alertErrorMessage(errInfo); if (errInfo.length == 0) { // 確認メッセージ initConfirmMsgDialog("パスワード初期化メール送信確認", "パスワード初期化のメールを送信します。よろしいですか?"); jQuery("#confirmOkBtn").click(function() { jQuery('#confirmModal').modal('hide'); requestAjaxForm("/mediator/wp/wp_group_info_passwd_init/send_init_mail"); }); } } /** * パスワードの変更 */ function group_chg_password() { // document.forms[0].action = "/mediator/wp/wp_group_info_passwd_edit/chg_passwd"; // document.forms[0].submit(); // requestAjaxForm("/mediator/wp/wp_group_info_passwd_edit/chg_passwd"); } ///////////////////////////////////////////////////////////// // メンバーログイン ///////////////////////////////////////////////////////////// /** * メンバーログイン */ function member_login_login() { // チェック処理呼び出し var jsForm = new WpMemberLoginJsForm(); jsForm.setFormData(); var errInfo = jsForm.validate(); // エラーメッセージ表示 alertErrorMessage(errInfo); if (errInfo.length == 0) { requestAjaxForm("/mediator/wp/member_login/login"); } } /** * パスワード初期化 */ function member_losepasswd() { requestAjaxForm("/mediator/wp/wp_member_info_passwd_init/init"); } /** * メール送信 */ function member_mail() { // チェック処理呼び出し var jsForm = new WpMemberInfoPasswdInitJsForm(); jsForm.setFormData(); var errInfo = jsForm.validate(); // エラーメッセージ表示 alertErrorMessage(errInfo); if (errInfo.length == 0) { // 確認メッセージ initConfirmMsgDialog("パスワード初期化メール送信確認", "パスワード初期化のメールを送信します。よろしいですか?"); jQuery("#confirmOkBtn").click(function() { jQuery('#confirmModal').modal('hide'); requestAjaxForm("/mediator/wp/wp_member_info_passwd_init/send_init_mail"); }); } } /** * パスワードの変更 */ function member_chg_password() { // document.forms[0].action = "/mediator/wp/wp_member_info_passwd_edit/chg_passwd"; // document.forms[0].submit(); // requestAjaxForm("/mediator/wp/wp_member_info_passwd_edit/chg_passwd"); } ///////////////////////////////////////////////////////////// // マイページ ///////////////////////////////////////////////////////////// /** * メンバーログアウト */ function member_mypage_logout() { // 確認メッセージ initConfirmMsgDialog("ログアウト確認", "ログアウトしても良いですか?"); jQuery("#confirmOkBtn").click(function() { sessionStorage.removeItem('USER_ID'); sessionStorage.removeItem('LOGIN_KEY'); jQuery('#confirmModal').modal('hide'); requestAjaxForm("/mediator/wp/member_mypage/logout"); }); } /** * メンバー情報修正 */ function member_info_edit_request() { var userId = sessionStorage.getItem("USER_ID"); var loginKey = sessionStorage.getItem("LOGIN_KEY"); var grpUserId = sessionStorage.getItem("GRP_USER_ID"); var grpLoginKey = sessionStorage.getItem("GRP_LOGIN_KEY"); requestAjaxForm("/mediator/wp/member_regist?user_id=" + userId + "&login_key=" + loginKey + "&grp_user_id=" + grpUserId + "&grp_login_key=" + grpLoginKey); } /** * 応募履歴 */ function member_vol_rcrt_list() { var userId = sessionStorage.getItem("USER_ID"); var loginKey = sessionStorage.getItem("LOGIN_KEY"); var grpUserId = sessionStorage.getItem("GRP_USER_ID"); var grpLoginKey = sessionStorage.getItem("GRP_LOGIN_KEY"); requestAjaxForm("/mediator/wp/member_vol_rcrt_list?user_id=" + userId + "&login_key=" + loginKey + "&grp_user_id=" + grpUserId + "&grp_login_key=" + grpLoginKey); } /** * 退会する */ function member_info_delete() { // 確認メッセージ initConfirmMsgDialog("退会確認", "メンバー情報が削除されます。本当に退会しますか?"); jQuery("#confirmOkBtn").click(function() { var userId = sessionStorage.getItem("USER_ID"); var loginKey = sessionStorage.getItem("LOGIN_KEY"); var grpUserId = sessionStorage.getItem("GRP_USER_ID"); var grpLoginKey = sessionStorage.getItem("GRP_LOGIN_KEY"); sessionStorage.removeItem('USER_ID'); sessionStorage.removeItem('LOGIN_KEY'); jQuery('#confirmModal').modal('hide'); requestAjaxForm("/mediator/wp/member_info_delete?user_id=" + userId + "&login_key=" + loginKey + "&grp_user_id=" + grpUserId + "&grp_login_key=" + grpLoginKey); }); } ///////////////////////////////////////////////////////////// // 新規メンバー登録 ///////////////////////////////////////////////////////////// /** * 登録 */ function member_regist_regist() { // チェック処理呼び出し var jsForm = new WpMemberRegistJsForm(); jsForm.setFormData(); var errInfo = jsForm.validate(); // エラーメッセージ表示 alertErrorMessage(errInfo); if (errInfo.length == 0) { // 確認メッセージ initConfirmMsgDialog("メンバー情報登録確認", "メンバー情報を登録します。よろしいですか?"); jQuery("#confirmOkBtn").click(function() { jQuery('#confirmModal').modal('hide'); requestAjaxForm("/mediator/wp/member_new_regist/regist"); }); } } /** * 更新 */ function member_regist_update() { // チェック処理呼び出し var jsForm = new WpMemberRegistJsForm(); jsForm.setFormData(); var errInfo = jsForm.validate(); // エラーメッセージ表示 alertErrorMessage(errInfo); if (errInfo.length == 0) { // 確認メッセージ initConfirmMsgDialog("メンバー情報更新確認", "メンバー情報を更新します。よろしいですか?"); jQuery("#confirmOkBtn").click(function() { var userId = sessionStorage.getItem("USER_ID"); var loginKey = sessionStorage.getItem("LOGIN_KEY"); var grpUserId = sessionStorage.getItem("GRP_USER_ID"); var grpLoginKey = sessionStorage.getItem("GRP_LOGIN_KEY"); jQuery('#confirmModal').modal('hide'); requestAjaxForm("/mediator/wp/member_new_regist/update?user_id=" + userId + "&login_key=" + loginKey + "&grp_user_id=" + grpUserId + "&grp_login_key=" + grpLoginKey); }); } } /** * 戻る */ function member_regist_cancel() { var userId = sessionStorage.getItem("USER_ID"); var loginKey = sessionStorage.getItem("LOGIN_KEY"); var grpUserId = sessionStorage.getItem("GRP_USER_ID"); var grpLoginKey = sessionStorage.getItem("GRP_LOGIN_KEY"); requestAjaxForm("/mediator/wp/member_mypage?user_id=" + userId + "&login_key=" + loginKey + "&grp_user_id=" + grpUserId + "&grp_login_key=" + grpLoginKey); } ///////////////////////////////////////////////////////////// // ボランティア募集情報詳細(メンバー) ///////////////////////////////////////////////////////////// /** * 詳細画面から一覧画面に戻る */ function vol_rcrt_detail_cancel() { // document.forms[0].action = "/mediator/wp/vol_rcrt_detail/cancel"; // document.forms[0].submit(); requestAjaxForm("/mediator/wp/vol_rcrt_detail/cancel"); } /** * 応募する */ function vol_rcrt_detail_request() { // 確認メッセージ initConfirmMsgDialog("応募確認", "応募しますか?"); jQuery("#confirmOkBtn").click(function() { var userId = sessionStorage.getItem("USER_ID"); var loginKey = sessionStorage.getItem("LOGIN_KEY"); var grpUserId = sessionStorage.getItem("GRP_USER_ID"); var grpLoginKey = sessionStorage.getItem("GRP_LOGIN_KEY"); jQuery('#confirmModal').modal('hide'); requestAjaxForm("/mediator/wp/vol_rcrt_detail/request?user_id=" + userId + "&login_key=" + loginKey + "&grp_user_id=" + grpUserId + "&grp_login_key=" + grpLoginKey); }); } ///////////////////////////////////////////////////////////// // ボランティア募集情報一覧(メンバー) ///////////////////////////////////////////////////////////// /** * 条件で絞り込む */ function vol_rcrt_list_search_cnd() { if (document.getElementById('searchCnd').style.display == 'none') { document.getElementById('searchCnd').style.display = 'block'; } else { document.getElementById('searchCnd').style.display = 'none'; } } /** * 検索 */ function vol_rcrt_list_search() { var userId = sessionStorage.getItem("USER_ID"); var loginKey = sessionStorage.getItem("LOGIN_KEY"); var grpUserId = sessionStorage.getItem("GRP_USER_ID"); var grpLoginKey = sessionStorage.getItem("GRP_LOGIN_KEY"); requestAjaxForm("/mediator/wp/vol_rcrt_list/search?user_id=" + userId + "&login_key=" + loginKey + "&grp_user_id=" + grpUserId + "&grp_login_key=" + grpLoginKey); } /** * ページナビゲーション */ function vol_rcrt_list_move_page(eventPageNo) { var userId = sessionStorage.getItem("USER_ID"); var loginKey = sessionStorage.getItem("LOGIN_KEY"); var grpUserId = sessionStorage.getItem("GRP_USER_ID"); var grpLoginKey = sessionStorage.getItem("GRP_LOGIN_KEY"); // ページイベント情報設定 document.getElementById('event_page_no').value = eventPageNo; requestAjaxForm("/mediator/wp/vol_rcrt_list/move_page?user_id=" + userId + "&login_key=" + loginKey + "&grp_user_id=" + grpUserId + "&grp_login_key=" + grpLoginKey); } /** * 募集一覧詳細画面表示 */ function vol_rcrt_list_search_detail(rcrtId) { document.getElementById('rcrt_id').value = rcrtId; var userId = sessionStorage.getItem("USER_ID"); var loginKey = sessionStorage.getItem("LOGIN_KEY"); var grpUserId = sessionStorage.getItem("GRP_USER_ID"); var grpLoginKey = sessionStorage.getItem("GRP_LOGIN_KEY"); requestAjaxForm("/mediator/wp/vol_rcrt_list/search_detail?user_id=" + userId + "&login_key=" + loginKey + "&grp_user_id=" + grpUserId + "&grp_login_key=" + grpLoginKey); } /** * 募集一覧詳細画面表示 */ function top_vol_rcrt_list_search_detail(rcrtId) { sessionStorage.setItem('rcrtId', rcrtId); window.location.href = WP_VOL_LIST_PAGE_URL; } ///////////////////////////////////////////////////////////// // 応募履歴【ボランティア募集情報一覧・詳細(メンバー)】 ///////////////////////////////////////////////////////////// /** * 募集一覧詳細画面表示 */ function member_vol_rcrt_list_detail(rcrtId) { document.getElementById('rcrt_id').value = rcrtId; var userId = sessionStorage.getItem("USER_ID"); var loginKey = sessionStorage.getItem("LOGIN_KEY"); var grpUserId = sessionStorage.getItem("GRP_USER_ID"); var grpLoginKey = sessionStorage.getItem("GRP_LOGIN_KEY"); requestAjaxForm("/mediator/wp/member_vol_rcrt_list/detail?user_id=" + userId + "&login_key=" + loginKey + "&grp_user_id=" + grpUserId + "&grp_login_key=" + grpLoginKey); } /** * 応募取消 */ function member_vol_rcrt_detail_apply_cancel() { // 確認メッセージ initConfirmMsgDialog("応募取消確認", "応募を取り消しますか?"); jQuery("#confirmOkBtn").click(function() { var userId = sessionStorage.getItem("USER_ID"); var loginKey = sessionStorage.getItem("LOGIN_KEY"); var grpUserId = sessionStorage.getItem("GRP_USER_ID"); var grpLoginKey = sessionStorage.getItem("GRP_LOGIN_KEY"); jQuery('#confirmModal').modal('hide'); requestAjaxForm("/mediator/wp/member_vol_rcrt_detail/apply_cancel?user_id=" + userId + "&login_key=" + loginKey + "&grp_user_id=" + grpUserId + "&grp_login_key=" + grpLoginKey); }); } /** * ページナビゲーション */ function member_vol_rcrt_list_move_page(eventPageNo) { var userId = sessionStorage.getItem("USER_ID"); var loginKey = sessionStorage.getItem("LOGIN_KEY"); var grpUserId = sessionStorage.getItem("GRP_USER_ID"); var grpLoginKey = sessionStorage.getItem("GRP_LOGIN_KEY"); // ページイベント情報設定 document.getElementById('event_page_no').value = eventPageNo; requestAjaxForm("/mediator/wp/member_vol_rcrt_list/move_page?user_id=" + userId + "&login_key=" + loginKey + "&grp_user_id=" + grpUserId + "&grp_login_key=" + grpLoginKey); } /** * 戻る(一覧) */ function member_vol_rcrt_list_cancel() { var userId = sessionStorage.getItem("USER_ID"); var loginKey = sessionStorage.getItem("LOGIN_KEY"); var grpUserId = sessionStorage.getItem("GRP_USER_ID"); var grpLoginKey = sessionStorage.getItem("GRP_LOGIN_KEY"); requestAjaxForm("/mediator/wp/member_mypage?user_id=" + userId + "&login_key=" + loginKey + "&grp_user_id=" + grpUserId + "&grp_login_key=" + grpLoginKey); } /** * 戻る(詳細) */ function member_vol_rcrt_detail_cancel() { var userId = sessionStorage.getItem("USER_ID"); var loginKey = sessionStorage.getItem("LOGIN_KEY"); var grpUserId = sessionStorage.getItem("GRP_USER_ID"); var grpLoginKey = sessionStorage.getItem("GRP_LOGIN_KEY"); requestAjaxForm("/mediator/wp/member_vol_rcrt_list?user_id=" + userId + "&login_key=" + loginKey + "&grp_user_id=" + grpUserId + "&grp_login_key=" + grpLoginKey); } ///////////////////////////////////////////////////////////// // AJAXメソッド ///////////////////////////////////////////////////////////// /** * AjaxでFormデータをサーバに送信する * @param {*} reqUrl */ function requestAjaxForm(reqUrl) { // フォームデータを取得 const formData = new FormData(document.getElementById('vol_form')); // XMLHttpRequest のインスタンスを生成 const xhr = new XMLHttpRequest(); // POST メソッドでインライン script に出力された値(リクエスト先 URL)に送信 xhr.open("POST", SERVER_URL + reqUrl, true); xhr.withCredentials = true; xhr.addEventListener('readystatechange', ()=> { if(xhr.readyState === 4){ if(xhr.status >= 200 && xhr.status < 300){ try { // 取得操作が完了し、成功したらレスポンスのテキストをコンソールに出力 console.log(xhr.responseText); // コンテナを取得 container = document.getElementById('disp_container'); // コンテナをクリア container.replaceChildren(); // JSONデータからDOM要素を生成 jsonObj = JSON.parse(xhr.responseText); rootElement = createElementFromJson(jsonObj); // 既存の要素に追加 // var elmHtml = rootElement.outerHTML // container.innerHTML = elmHtml; container.appendChild(rootElement); } catch (error) { console.log("要素追加エラー:" + error); } } else { // 失敗時の処理 console.log(`失敗: ${xhr.status} (${xhr.statusText})`); } } }); // オブジェクト形式のパラメータを URLSearchParams に変換してリクエストボディに指定 xhr.send(new URLSearchParams(formData)); } /** * AjaxでFormデータをサーバに送信する * @param {*} reqUrl */ function requestAjaxFormWithImg(reqUrl) { // フォームデータを取得 const formData = new FormData(document.getElementById('vol_form')); // const fileInput = document.getElementById('act_img'); // const file = fileInput.files[0]; // if (file) { // formData.append('act_img', file); // } // XMLHttpRequest のインスタンスを生成 const xhr = new XMLHttpRequest(); // POST メソッドでインライン script に出力された値(リクエスト先 URL)に送信 xhr.open("POST", SERVER_URL + reqUrl, true); xhr.withCredentials = true; xhr.addEventListener('readystatechange', ()=> { if(xhr.readyState === 4){ if(xhr.status >= 200 && xhr.status < 300){ try { // 取得操作が完了し、成功したらレスポンスのテキストをコンソールに出力 console.log(xhr.responseText); // コンテナを取得 container = document.getElementById('disp_container'); // コンテナをクリア container.replaceChildren(); // JSONデータからDOM要素を生成 jsonObj = JSON.parse(xhr.responseText); rootElement = createElementFromJson(jsonObj); // 既存の要素に追加 // var elmHtml = rootElement.outerHTML // container.innerHTML = elmHtml; container.appendChild(rootElement); } catch (error) { console.log("要素追加エラー:" + error); } } else { // 失敗時の処理 console.log(`失敗: ${xhr.status} (${xhr.statusText})`); } } }); // オブジェクト形式のパラメータを URLSearchParams に変換してリクエストボディに指定 xhr.send(formData); } /** * 再帰的に要素を生成する関数 */ function createElementFromJson(json) { // 要素を作成 const element = document.createElement(json.tag); // 属性を設定 if (json.attributes) { for (const [key, value] of Object.entries(json.attributes)) { element.setAttribute(key, value); } } // テキストを設定 if (json.text) { if (isWhitespaceOnly(json.text)) { element.innerHTML = json.text; } else if (json.children || json.tag == "script") { element.innerHTML = json.text; } else { element.innerHTML = convertNlToBr(json.text); } } // 子要素を再帰的に追加 if (json.children) { json.children.forEach(child => { element.appendChild(createElementFromJson(child)); }); } return element; } /** * 改行コードを
タグに変換 */ function convertNlToBr(text) { return text.replace(/(\r\n|\r|\n)/g, '
'); } /** * 値が未設定かどうか判定 * return true:未設定、false:設定 */ function isWhitespaceOnly(str) { return /^\s*$/.test(str); } /** * ハンバーガーメニューがクリックされた時のイベント処理 */ document.addEventListener('DOMContentLoaded', function () { const hamburger = document.querySelector('.vk-mobile-nav-menu-btn'); // ハンバーガーメニューのボタン // const menu = document.querySelector('.menu-container'); // メニュー全体 // if (hamburger && menu) { if (hamburger) { hamburger.addEventListener('click', function () { // menu.classList.toggle('is-open'); // メニューの開閉を制御 console.log('ハンバーガーメニューがクリックされました!'); chgMemberNavi(); chgGroupNavi(); }); } }); /** * メンバーのナビゲーションの表示制御 */ function chgMemberNavi() { var loginMemberId = sessionStorage.getItem("USER_ID"); console.log('loginMemberId:' + loginMemberId); if (loginMemberId != null && loginMemberId != "") { console.log('メンバー:ログイン'); // ログイン document.getElementsByClassName(MENU_CLASS_M_LOGIN).forEach((element, index) => { element.style.display = "none"; }); // 新規メンバー登録 document.getElementsByClassName(MENU_CLASS_M_NEW_REG).forEach((element, index) => { element.style.display = "none"; }); // マイページ document.getElementsByClassName(MENU_CLASS_M_MYPAGE).forEach((element, index) => { element.style.display = "block"; }); } else { console.log('メンバー:未ログイン'); // ログイン document.getElementsByClassName(MENU_CLASS_M_LOGIN).forEach((element, index) => { element.style.display = "block"; }); // 新規メンバー登録 document.getElementsByClassName(MENU_CLASS_M_NEW_REG).forEach((element, index) => { element.style.display = "block"; }); // マイページ document.getElementsByClassName(MENU_CLASS_M_MYPAGE).forEach((element, index) => { element.style.display = "none"; }); } } /** * 団体のナビゲーションの表示制御 */ function chgGroupNavi() { var loginGroupId = sessionStorage.getItem("GRP_LOGIN_KEY"); console.log('loginGroupId:' + loginGroupId); if (loginGroupId != null && loginGroupId != "") { console.log('団体:ログイン'); // ログイン(団体) document.getElementsByClassName(MENU_CLASS_G_LOGIN).forEach((element, index) => { element.style.display = "none"; }); // ボランティア募集 document.getElementsByClassName(MENU_CLASS_G_VOL_LIST).forEach((element, index) => { element.style.display = "block"; }); } else { console.log('団体:未ログイン'); // ログイン(団体) document.getElementsByClassName(MENU_CLASS_G_LOGIN).forEach((element, index) => { element.style.display = "block"; }); // ボランティア募集 document.getElementsByClassName(MENU_CLASS_G_VOL_LIST).forEach((element, index) => { element.style.display = "none"; }); } } /** * メッセージ表示 */ function wpDispMessage(msg) { // エラーメッセージ表示 document.getElementById("msg_title").innerHTML = "メッセージ"; document.getElementById("msg_body").innerHTML = msg; const myModal = new bootstrap.Modal(document.getElementById("msgModal")); myModal.show(); } /** * ID指定でStyle.Displayを設定する */ function setStyleDisplayById(id, disp) { if (document.getElementById(id) == null) { console.log('Style.Displayの設定に失敗しました。[' + id + '][' + disp + ']'); } else { document.getElementById(id).style.display = disp; } } /** * class指定でStyle.Displayを設定する */ function setStyleDisplayByClassNm(classNm, disp) { // var elms = document.getElementsByClassName(classNm); // if (elms.length != 1) { // console.log('Style.Displayの設定に失敗しました。[' + classNm + '][' + disp + ']'); // } else { // elms[0].style.display = disp; // } console.log('setStyleDisplayByClassNm[' + classNm + '][' + disp + ']'); var elements = document.getElementsByClassName(classNm); for (var i = 0; i < elements.length; i++) { var element = elements[i]; console.log('Style.Displayを設定しました。[' + element.id + '][' + classNm + '][' + disp + ']'); element.style.display = disp; } } /** * ID指定で、チェックボックスがONの場合にclassにactiveを追加する */ function chgClassActive(lblId, elmChkBox) { var lblElm = document.getElementById(lblId); lblElm.classList.remove('active'); if (elmChkBox.checked) { lblElm.classList.add('active'); } } /** * 個人情報の取り扱いについて */ function personal_info() { var psInfoModal = new bootstrap.Modal(document.getElementById("psInfoModal")); psInfoModal.show(); } /** * メンバー登録完了ダイアログ表示 */ function showMsgInfoModal() { var msgInfoModal = new bootstrap.Modal(document.getElementById("msgInfoModal")); msgInfoModal.show(); } /** * 個人情報の取り扱いについて 同意する */ function agree_personal_info() { var element = document.getElementById('WpMemberRegist_personalInfo'); element.classList.add('active'); document.getElementById('chkAgreePsInfo').checked = true; document.getElementById('WpMemberRegist_regist').disabled = false; } /** * 応募先コンボボックス変更 */ function chgApplyKind() { if (document.getElementById('apply_kind').value == "0") { document.getElementById('out_apply_url').value = ""; document.getElementById('div_out_apply_url').style.display = "none"; } else { document.getElementById('div_out_apply_url').style.display = "block"; } } /** * 規約ダウンロード */ function downloadGrpContFile(fileNo) { document.forms[0].action = SERVER_URL + "/mediator/group_info/downloadContFile"; document.forms[0].submit(); } /** * ボランティア一覧画面に遷移 */ function moveVolRcrtList() { // alert("ボランティア一覧画面に遷移"); window.location.href = WP_VOL_LIST_PAGE_URL; } var curNum = 0; var maxNum = 9; var dataCnt = 10; function prevOne() { curNum--; if (curNum == -1) { curNum = dataCnt - 1; } jQuery( "#carouselPlus .carousel-inner" ).replaceWith( $origin ); moveCarousel(); } function nextOne() { curNum++; if (curNum == dataCnt) { curNum = 0; } jQuery( "#carouselPlus .carousel-inner" ).replaceWith( $origin ); moveCarousel(); } function multiCarousel(){ curNum = 0; maxNum = jQuery( "#carouselPlus .carousel-inner" ).children( ".carousel-grid" ).length; if (maxNum == 4) { dataCnt = 2; } else if (maxNum == 2) { dataCnt = 1; } else if (maxNum == 0) { dataCnt = 0; } else { dataCnt = maxNum - 3; } if ( jQuery( "#lg" ).is( ":visible" ) ) { do { jQuery( "#carouselPlus .carousel-inner" ).children( ".carousel-grid:lt(4)" ).wrapAll( "
" ); jQuery( "#carouselPlus .carousel-inner .carousel-item:first" ).addClass("active"); } while ( jQuery( "#carouselPlus .carousel-inner" ).children( ".carousel-grid" ).length ); } else if ( jQuery( "#md" ).is( ":visible" ) ) { do { jQuery( "#carouselPlus .carousel-inner" ).children( ".carousel-grid:lt(3)" ).wrapAll( "
" ); jQuery( "#carouselPlus .carousel-inner .carousel-item:first" ).addClass("active"); } while ( jQuery( "#carouselPlus .carousel-inner" ).children( ".carousel-grid" ).length ); } else { do { jQuery( "#carouselPlus .carousel-inner" ).children( ".carousel-grid:lt(1)" ).wrapAll( "
" ); jQuery( "#carouselPlus .carousel-inner .carousel-item:first" ).addClass("active"); } while ( jQuery( "#carouselPlus .carousel-inner" ).children( ".carousel-grid" ).length); } } function moveCarousel(){ if ( jQuery( "#lg" ).is( ":visible" ) ) { var activeRowIdx = 0; // 前 if (curNum != 0) { jQuery( "#carouselPlus .carousel-inner" ).children( ".carousel-grid:lt(" + curNum + ")" ).wrapAll( "
" ); activeRowIdx = 1; } // active jQuery( "#carouselPlus .carousel-inner" ).children( ".carousel-grid:lt(4)" ).wrapAll( "
" ); jQuery( "#carouselPlus .carousel-inner .carousel-item:eq(" + activeRowIdx + ")" ).addClass("active"); // 後ろ jQuery( "#carouselPlus .carousel-inner" ).children( ".carousel-grid:lt(14)" ).wrapAll( "
" ); } else if ( jQuery( "#md" ).is( ":visible" ) ) { var activeRowIdx = 0; // 前 if (curNum != 0) { jQuery( "#carouselPlus .carousel-inner" ).children( ".carousel-grid:lt(" + curNum + ")" ).wrapAll( "
" ); activeRowIdx = 1; } // active jQuery( "#carouselPlus .carousel-inner" ).children( ".carousel-grid:lt(3)" ).wrapAll( "
" ); jQuery( "#carouselPlus .carousel-inner .carousel-item:eq(" + activeRowIdx + ")" ).addClass("active"); // 後ろ jQuery( "#carouselPlus .carousel-inner" ).children( ".carousel-grid:lt(14)" ).wrapAll( "
" ); } else { var activeRowIdx = 0; // 前 if (curNum != 0) { jQuery( "#carouselPlus .carousel-inner" ).children( ".carousel-grid:lt(" + curNum + ")" ).wrapAll( "
" ); activeRowIdx = 1; } // active jQuery( "#carouselPlus .carousel-inner" ).children( ".carousel-grid:lt(1)" ).wrapAll( "
" ); jQuery( "#carouselPlus .carousel-inner .carousel-item:eq(" + activeRowIdx + ")" ).addClass("active"); // 後ろ jQuery( "#carouselPlus .carousel-inner" ).children( ".carousel-grid:lt(14)" ).wrapAll( "
" ); } }