/***************************************
 * クチコミ会員ログイン画面の表示
 ***************************************/
function openLogin(path, httpHost) {
    if (httpHost == "localhost") {
        if (path == "") {
            path = "../member/login.php";
        }
    } else {
        path = "https://ssl88.heteml.jp/toma/namara/member/login.php";    //TODO kanda 本番環境ではrenewを削除！
    }
    document.frmCommon.action = path;
    document.frmCommon.submit();
}


/***************************************
 * プレミアム会員ログイン画面の表示
 ***************************************/
function openLoginPremium(path) {
    if (path == "") {
        path = "../premium/login.php";
    }
    document.frmCommon.action = path;
    document.frmCommon.submit();
}


/***************************************
 * クチコミ会員ログイン
 ***************************************/
//TODO 未使用
function loginMember(path) {
    var errorMessage = "";
    var objError = document.getElementById("idErrorM");
    
    /*************************
     * ログインID
     *************************/
    var objLoginId = document.getElementById("txtLoginIdM");
    
    if (objLoginId.value == "") {
        errorMessage += "ログインIDを入力して下さい。<br />";
    }
    
    /*************************
     * パスワード
     *************************/
    var objPassword = document.getElementById("txtPasswordM");
    
    if (objPassword.value == "") {
        errorMessage += "パスワードを入力して下さい。<br />";
    }
    
    if (errorMessage != "") {
        objError.innerHTML = "<div class='error'>" + errorMessage + "</div>";
        objError.style.display = "inline";
        return false;
    }
    
    document.frmLoginMember.hdnLoginFlg.value = "1";    //1:クチコミ会員ログイン
    document.frmLoginMember.action = path;
    document.frmLoginMember.submit();
    return true;
}


/***************************************
 * プレミアム登録店ログイン
 ***************************************/
//TODO 未使用
function loginPremium(path) {
    var errorMessage = "";
    var objError = document.getElementById("idErrorP");
    
    /*************************
     * ログインID
     *************************/
    var objLoginId = document.getElementById("txtLoginIdP");
    
    if (objLoginId.value == "") {
        errorMessage += "ログインIDを入力して下さい。<br />";
    }
    
    /*************************
     * パスワード
     *************************/
    var objPassword = document.getElementById("txtPasswordP");
    
    if (objPassword.value == "") {
        errorMessage += "パスワードを入力して下さい。<br />";
    }
    
    if (errorMessage != "") {
        objError.innerHTML = "<div class='error'>" + errorMessage + "</div>";
        objError.style.display = "inline";
        return false;
    }
    
    document.frmLoginPremium.hdnLoginFlg.value = "3";   //3:プレミアム登録店ログイン
    document.frmLoginPremium.action = path;
    document.frmLoginPremium.submit();
    return true;
}


/***************************************
 * ログアウト
 ***************************************/
function logout(path, httpHost) {
    if (!confirm("ログアウトしてよろしいですか？")) {
        return false;
    }
    document.frmCommon.hdnLogoutFlg.value = "1";
    
    if (httpHost == "localhost") {
        if (path == "") {
            path = "../index.php";   //pathをトップとそれ以外で変える必要あり！ トップ：「./」、それ以外：「../」※トップ以外は引数は空値でもOK!
        }
    } else {
        //TODO kanda セッション情報クリア前にhttps→httpにURLを変えるとセッション情報がクリアされない！
        //           その為、ここではURLを変更しない。header.inc.phpでログアウト時のみhttp://namara-e.biz/index.phpに遷移させる。
        path = "./index.php";
    }
    document.frmCommon.action = path;
    document.frmCommon.submit();
    return true;
}


/***************************************
 * クチコミ会員　ログインID/パスワード再送
 ***************************************/
function sendAgainMember(path) {
    if (path != "") {
        document.frmSendAgainMember.action = path;
    }
    document.frmSendAgainMember.submit();
    return true;
}


/***************************************
 * プレミアム登録店　ログインID/パスワード再送
 ***************************************/
function sendAgainPremium(path) {
    if (path != "") {
        document.frmSendAgainPremium.action = path;
    }
    document.frmSendAgainPremium.submit();
    return true;
}


/***************************************
 * トップ画面の表示
 ***************************************/
function openTopPage(path, objForm) {
    if (path == "") {
        path = "../index.php";
    }
    objForm.action = path;
    objForm.submit();
}


/***************************************
 * クチコミ会員管理画面の表示
 ***************************************/
function openMemberAdmin(memberId, path, objForm) {
    if (path == "") {
        path = "../member/mem_admin.php";
    }
    objForm.hdnMemberId.value = memberId;
    objForm.action = path;
    objForm.submit();
}


/***************************************
 * クチコミ会員管理画面の表示（SSL通信）
 ***************************************/
function openMemberAdminForSSL(memberId, path, objForm, httpHost) {
    if (httpHost == "localhost") {
        if (path == "") {
            path = "../member/mem_admin.php";
        }
    } else {
        path = "https://ssl88.heteml.jp/toma/namara/member/mem_admin.php";    //TODO kanda 本番環境ではrenewを削除！
    }
    objForm.hdnMemberId.value = memberId;
    objForm.action = path;
    objForm.submit();
}


/***************************************
 * プレミアム会員管理画面の表示
 ***************************************/
function openPremiumAdmin(premiumId, path, objForm) {
    if (path == "") {
        path = "../premium/pre_admin.php";
    }
    objForm.hdnPremiumId.value = premiumId;
    objForm.action = path;
    objForm.submit();
}


/***************************************
 * プレミアム会員管理画面の表示（SSL通信）
 ***************************************/
function openPremiumAdminForSSL(premiumId, path, objForm, httpHost) {
    if (httpHost == "localhost") {
        if (path == "") {
            path = "../premium/pre_admin.php";
        }
    } else {
        path = "https://ssl88.heteml.jp/toma/namara/premium/pre_admin.php";   //TODO kanda 本番環境ではrenewを削除！
    }
    objForm.hdnPremiumId.value = premiumId;
    objForm.action = path;
    objForm.submit();
}


/***************************************
 * お問合せ画面の表示
 ***************************************/
function openMail(path) {
    if (path == "") {
        path = "../mail/index.php";
    }
    document.frmCommon.action = path;
    document.frmCommon.submit();
}


/***************************************
 * お問合せ画面
 * 「確認する」ボタン押下
 ***************************************/
function checkInquiryInput() {
    
    var objError = document.getElementById("idError");
    var errorMessage = "";
    
    /*************************
     * お問合せ項目
     *************************/
    var checkFlg = false;
    for (var i=0; i<document.frmInquiry.radInquiry.length; i++) {
        if(document.frmInquiry.radInquiry[i].checked) {
            checkFlg = true;
        }
    }
    if (!checkFlg) {
        errorMessage += "お問合せ項目を選択して下さい。<br />";
    }
    
    /*************************
     * ご担当者名
     *************************/
    var objTxtPerson = document.getElementById("txtPerson");
    
    //入力必須
    if (objTxtPerson.value == "") {
        errorMessage += "ご担当者名を入力して下さい。<br />";
    }
    
    /*************************
     * メールアドレス
     *************************/
    var objTxtEmail = document.getElementById("txtEmail");
    
    //入力必須
    if (objTxtEmail.value == "") {
        errorMessage += "メールアドレスを入力して下さい。<br />";
    }
    
    //メール形式チェック
    if (objTxtEmail.value != "" && !objTxtEmail.value.match(/[!#-9A-~]+@+[a-z0-9]+.+[^.]$/i)) {
        errorMessage += "メールアドレスの形式が不正です。\n";
    }
    
    /*************************
     * 問合せ内容
     *************************/
    var objTxaNaiyo = document.getElementById("txaNaiyo");
    
    //入力必須
    if (objTxaNaiyo.value == "") {
        errorMessage += "問合せ内容を入力して下さい。<br />";
    }
    
    
    if (errorMessage != "") {
        objError.innerHTML = "<div class='error'>" + errorMessage + "</div>";
        objError.style.display = "inline";
        scrollTo(0,0);
        return false;
    }
    
    document.frmInquiry.action = "mail_pre.php";
    document.frmInquiry.submit();   
}


/***************************************
 * お問合せ画面
 * 「確認する」ボタン押下
 ***************************************/
function sendMailInquiry() {
    document.frmInquiryConfirm.action = "mail_thk.php";
    document.frmInquiryConfirm.submit();
}


/***************************************
 * 一覧画面のページ切替処理
 ***************************************/
function changePage(page, objForm, action) {
    objForm.hdnNextPage.value = page;
    objForm.action = action;
    objForm.submit();
}


/***************************************
 * クーポン券一覧画面の表示
 ***************************************/
function openCouponList(path) {
    if (path == "") {
        path = "../qoupon/index.php";
    }
    document.frmCommon.action = path;
    document.frmCommon.submit();
}


/***************************************
 * プレゼント品 一覧の表示
 * path    - プレゼント品 一覧へのパス（未指定の場合は「../qoupon/prezent_list.php」）
 * objForm - フォーム名
 ***************************************/
function openPrezentList(path, objForm) {
    if (path == "") {
        path = "../qoupon/prezent_list.php";
    }
    document.frmCommon.action = path;
    document.frmCommon.submit();
}


/***************************************
 * ポイント交換商品の表示
 * path    - ポイント交換商品へのパス（未指定の場合は「../qoupon/point_change.php」）
 * objForm - フォーム名
 ***************************************/
function openPointChange(path, objForm) {
    if (path == "") {
        path = "../qoupon/point_change.php";
    }
    document.frmCommon.action = path;
    document.frmCommon.submit();
}


/***************************************
 * プレミアム登録店の5つの特典画面の表示
 ***************************************/
function openPremiumPrivilege(path) {
    if (path == "") {
        path = "../premium/p_privilege.php";
    }
    document.frmCommon.action = path;
    document.frmCommon.submit();
}


/***************************************
 * クチコミ会員登録の特典画面の表示
 ***************************************/
function openMemberPrivilege(path) {
    if (path == "") {
        path = "../member/privilege.php";
    }
    document.frmCommon.action = path;
    document.frmCommon.submit();
}


/***************************************
 * 検索結果画面
 * 検索結果画面のページ切替処理
 * [注意]formタグのnameはfrmSearchListとし、
 *       actionにはページ切換え後に表示するphpを指定すること
 * page - 次に表示するページ番号
 ***************************************/
function changePageSearchList(page, path) {
    document.frmSearchList.action = path;
    document.frmSearchList.hdnNextPage.value = page;
    document.frmSearchList.hdnHistoryGo.value = document.frmSearchList.hdnHistoryGo.value - 1;
    document.frmSearchList.submit();
}


/***************************************
 * 駐車場台数の有効・無効制御
 ***************************************/
function chengParkingEnable() {
    var objSltParking = document.getElementById("sltParking");
    var objTxtParkingNum = document.getElementById("txtParkingNum");

    var selectValue = objSltParking.options[objSltParking.selectedIndex].value.split(":");
    
    objTxtParkingNum.disabled = true;
    objTxtParkingNum.style.backgroundColor = "#CCCCCC";
    if (selectValue == "0" || selectValue == "1" || selectValue == "2") {
        objTxtParkingNum.disabled = false;
        objTxtParkingNum.style.backgroundColor = "#FFFFFF";
    }
}


/*******************************************************************************
 * 詳細画面への遷移（一般店）
 * shopId   - 表示するお店ID
 * path     - 詳細画面へのパス（gourmet, enjoy, lifeまでの相対パスを指定。未指定の場合は「../」）
 * objForm  - hdnShopIdオブジェクトを持っているフォーム名
 * position - 詳細画面表示時の移動先（クチコミ一覧など）
 * dataKbn  - データ区分（01:たべる、02:あそぶ、03:暮らし）
 *******************************************************************************/
function openShopDetail(shopId, path, objForm, position, dataKbn) {
    if (path == "") {
        path = "../";
    }
    if (dataKbn == "01") {
        path += "gourmet/detailn.php";
    } else if (dataKbn == "02") {
        path += "enjoy/e_detailn.php";
    } else if (dataKbn == "03") {
        path += "life/l_detailn.php";
    }
    objForm.hdnShopId.value = shopId;
    objForm.action = path + "?hdnShopId=" + shopId + position;
    objForm.submit();
}


/*******************************************************************************
 * 詳細画面への遷移（プレミアム店）
 * shopId   - 表示するお店ID
 * path     - 詳細画面へのパス（gourmet, enjoy, lifeまでの相対パスを指定。未指定の場合は「../」）
 * objForm  - hdnShopIdオブジェクトを持っているフォーム名
 * position - 詳細画面表示時の移動先（クチコミ一覧など）
 * dataKbn  - データ区分（01:たべる、02:あそぶ、03:暮らし）
 *******************************************************************************/
function openPremiumShopDetail(shopId, path, objForm, position, dataKbn) {
    if (path == "") {
        path = "../";
    }
    if (dataKbn == "01") {
        path += "gourmet/detailp.php";
    } else if (dataKbn == "02") {
        path += "enjoy/e_detailp.php";
    } else if (dataKbn == "03") {
        path += "life/l_detailp.php";
    }
    objForm.hdnShopId.value = shopId;
    objForm.action = path + "?hdnShopId=" + shopId + position;
    objForm.submit();
}


/***************************************
 * 求人情報画面の表示
 ***************************************/
function openJob(path) {
    if (path == "") {
        path = "../life/job.php";
    }
    document.frmCommon.action = path;
    document.frmCommon.submit();
}








/* 前後のスペース（半角、全角）の除去 */
function delSpace(p_val) {
    var flg = 1;

    /* 先頭のスペースを取る */
    for (i=0; i<p_val.length; i++) {
        if ((p_val.substring(i, i+1) != ' ') && (p_val.substring(i, i+1) != '　')) {
            p_val = p_val.substring(i, p_val.length+1);
            flg = 0;
            break;
        }
    }

    /* 末尾のスペースを取る */
    for (i=p_val.length-1; i>=0; i--) {
        if ((p_val.substring(i, i+1) != ' ') && (p_val.substring(i, i+1) != '　')) {
            p_val = p_val.substring(0, i+1);
            flg = 0;
            break;
        }
    }

    // すべてスペースの場合はクリア
    if (flg) {
        p_val = '';
    }

    return(p_val);
}

/**************************************************************** 
* 機　能： 入力された値が時間でHH:MM形式になっているか調べる 
* 引　数： str　入力された値 
* 戻り値： 正：true　不正：false 
****************************************************************/ 
function checkTime(str) {
    // 正規表現による書式チェック
    if (!str.match(/^\d{1,2}?\:\d{1,2}?$/)) {
        return false;
    }
    var vHour = str.substr(0, 2) - 0;
    var vMinutes = str.substr(3, 2) - 0;
    if (vHour >= 0 && vHour <= 24 && vMinutes >= 0 && vMinutes <= 59) {
        return true;
    }
}

function checkTime2(str) {

    if (!str.match(/^\d{4}?$/)) {
        return false;
    }

    var vHour = str.substr(0, 2) - 0;
    var vMinutes = str.substr(2, 2) - 0;
    if (vHour >= 0 && vHour <= 24 && vMinutes >= 0 && vMinutes <= 59) {
        return true;
    }
    return false;
}

/***********************************************************
 * [関数名] formatZeroPadding
 * [機　能] ゼロ埋め（ゼロパディング）
 * [説　明] 数値が指定した桁数になるまで数値の先頭をゼロで埋める
 *
 * @param  integer num    数値
 * @param  integer max    桁数
 * @return integer tmpS   ゼロ埋め後の数値
 ***********************************************************/
function formatZeroPadding(num,max){
  var tmp = '' + num;
  while (tmp.length < max) {
    tmp = '0' + tmp;
  }
  return tmp;
}

function formatTime(obj) {
    if (obj.value == "") {
        return;
    }
    obj.value = formatZeroPadding(obj.value, 4);
}


/***********************************************************
 * [関数名] chkZenkaku
 * [機　能] 全角チェック
 * [説　明] 指定した文字列に全角が含まれているかどうかチェックする
 *
 * @param  String val     チェック対象文字列    
 * @return boolean true:全角なし、false:全角あり
 ***********************************************************/
function chkZenkaku(val){
    var txt = elm.value

    for (i=0; i<val.length; i++) {
        if (escape(val.charAt(i)).length>=4) {
            //alert("全角文字が含まれています")
            return false;
        }
    }
    
    return true;
}

/***********************************************************
 * [関数名] chkEmail
 * [機　能] メールアドレス形式チェック
 * [説　明] メールアドレスが正しい形式かどうかチェックする
 *
 * @param  String str     チェック対象メールアドレス
 * @return boolean true:OK、false:NG
 ***********************************************************/
function chkEmail(str){
    /* E-mail形式の正規表現パターン */
    /* @が含まれていて、最後が .(ドット)でないなら正しいとする */
    var Seiki = /[!#-9A-~]+@+[a-z0-9]+.+[^.]$/i;

    /* 入力された値がパターンにマッチするか調べる */
    if (str != "") {
        if(str.match(Seiki)){
            //alert(str.match(Seiki)+"\n\nメールアドレスの形式は正しいです");
            return true;
        } else {
            //alert('メールアドレスの形式が不正です');
            return false;
        }
    }else{
        /* 何も入力されていない場合はアラート表示 */
        //alert('メールアドレスを入力してください');
        return false;
    }
}


/***********************************************************
 * 関数名：日付チェック関数
 * 引　数：yyyy/mm/dd形式の日付文字列
 * 引　数：yyyymmdd形式の日付文字列
 * 戻り値：true:日付形式が正しい、false:日付形式が不正
 ***********************************************************/
function checkDateYYYYMMDD(strDate) {
    // 正規表現による書式チェック
//    if (!strDate.match(/^\d{2}\/\d{2}\/\d{2}$/)) {
//        return false;
//    }
    
//    var vYear = strDate.substr(0, 4) - 0;
//    var vMonth = strDate.substr(5, 2) - 1; // Javascriptは、0-11で表現
//    var vDay = strDate.substr(8, 2) - 0;
    var vYear = strDate.substr(0, 4) - 0;
    var vMonth = strDate.substr(4, 2) - 1; // Javascriptは、0-11で表現
    var vDay = strDate.substr(6, 2) - 0;

    // 月,日の妥当性チェック
    if (vMonth >= 0 && vMonth <= 11 && vDay >= 1 && vDay <= 31) {
        var vDt = new Date(vYear, vMonth, vDay);
        if (isNaN(vDt)) {
            return false;
        } else if (vDt.getFullYear() == vYear && vDt.getMonth() == vMonth && vDt.getDate() == vDay) {
            return true;
        } else {
            return false;
        }
    } else {
        return false;
    }
}

