// サーバ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( "