/*--- Ajax エラーチェック定義 ---*/
/*
 *  TODO: リアルタイムにエラーチェックを行います。
 *  Ajaxで行うエラー定義を記述してください。
 *  「#id名」の記述の後、正規表現のエラーチェックを指定してください。
 *
 *  ＜記述例＞
 *  Validator.register({
 *      "#mail" : {   ←# id名
 *               "/^([^@\\s]+)@((?:[-a-z0-9]+\\.)+[a-z]{2,})$/": "OK",
 *               "エラー正規表現": "エラーメッセージ"
 *      }
 *  });
 *
 *
 *  ＜正規表現にマッチしない場合を正する場合＞
 *
 *  (方法) 正規表現文の頭に!(否定フラグ)を付与する。
 *  (例)
 *         否定時 ⇒ "!/^[0-9]{3}-?[0-9]{4}$/": checkfailed + errmsg_Required,
 *         通常時 ⇒ "/^[0-9]{3}-?[0-9]{4}$/": checkfailed + errmsg_Required,
 *
 */

//var checkOK = "<img src='../../../../shared/user/check_OK.gif' />";
//var checkfailed = "<img src='../../../../shared/user/other_NG.gif' />";
var checkOK = "";
var checkfailed = "";

//メッセージ
var errmsg_Required     = "必ず入力してください";
var errmsg_RequiredInBR = "<br>" + errmsg_Required;

/*var check_required = "/^$/";
var check_IdPass = "/^[a-zA-Z0-9-_.@]+$/"; // (正規表現)半角英数＋「-_.@」
var check_Num =    "/^[0-9]+$/";           // (正規表現)半角数字
var check_Num_Ex = "/^[0-9-]+$/";          // (正規表現)半角数字＋「-」
var check_Code =   "/^[a-zA-Z0-9\-]+$/";   // (正規表現)半角英数＋「-」
var check_zipcode = "/^[0-9]{7}$/";   // (正規表現)郵便番号（半角英数7桁　ハイフンなし）
*/


/*--- 「姓」入力チェック ---*/
Validator.register({
    "#order_name_sei" : {
        "/.+/": checkOK,
        "/^$/": checkfailed + "<br>姓 は" + errmsg_Required
    }
});

/*--- 「名」入力チェック ---*/
Validator.register({
    "#order_name_mei" : {
        "/.+/": checkOK,
        "/^$/": checkfailed + "<br>名 は" + errmsg_Required
    }
});

/*--- 「姓フリガナ」入力チェック ---*/
Validator.register({
    "#order_name_sei_kana" : {
       "/^[ァ-ンー \s]+$/": checkOK,
        "/^$/": checkfailed + "<br>姓(カナ) は" + errmsg_Required,
       "/[^ァ-ンー \s]*$/": checkfailed + "<br>姓(カナ) は全角カタカナで入力してください"
    }
});

/*--- 「名フリガナ」入力チェック ---*/
Validator.register({
    "#order_name_mei_kana" : {
        "/^[ァ-ンー \s]+$/": checkOK,
        "/^$/": checkfailed + "<br>名(カナ) は" + errmsg_Required,
        "/[^ァ-ンー \s]*$/": checkfailed + "<br>名(カナ) は全角カタカナで入力してください"
    }
});

/*--- 「会社名」入力チェック ---*/
Validator.register({
    "#order_company_name" : {
        "/.+/": checkOK,
        "/^$/": checkfailed + errmsg_RequiredInBR
    }
});
/*--- 「会社名カナ」入力チェック ---*/
Validator.register({
    "#order_company_name_kana" : {
        "/^[ァ-ンー \s]+$/": checkOK,
        "/^$/": checkfailed + errmsg_RequiredInBR,
        "/[^ァ-ンー \s]*$/": checkfailed + "<br>全角カタカナで入力してください"
    }
});

/*--- 「郵便番号」入力チェック ---*/
Validator.register({
    "#order_zipcode" : {
        "/^[0-9]{3}-?[0-9]{4}$/": checkOK,
        "/^$/": checkfailed + errmsg_Required,
        "!/^[0-9]{3}-?[0-9]{4}$/": checkfailed + "正しい郵便番号を入力してください",
        "/[^0-9-]/": checkfailed + "半角数字かハイフンで入力してください"
    }
});

/*--- 「市区町村」入力チェック ---*/
Validator.register({
    "#order_town" : {
        "/.+/": checkOK,
        "/^$/": checkfailed + errmsg_RequiredInBR
    }
});

/*--- 「以降の住所」入力チェック ---*/
Validator.register({
    "#order_area" : {
        "/.+/": checkOK,
        "/^$/": checkfailed + errmsg_RequiredInBR
    }
});

/*--- 「電話番号」入力チェック ---*/
Validator.register({
    "#order_tel_no" : {
        "/^0[0-9]{1,4}-[0-9]{1,4}-[0-9]{4}$/": checkOK,
        "/^$/": checkfailed + errmsg_RequiredInBR,
        "/[^0-9-]/": checkfailed + "<br>半角数字かハイフンで入力してください",
        "!/-/": checkfailed + "<br>ハイフンを必ず入力してください",
        "!/^0[0-9]{1,4}-[0-9]{1,4}-[0-9]{4}$/": checkfailed + "<br>正しい電話番号を入力してください"
    }
});

/*--- 「メールアドレス」入力チェック ---*/
Validator.register({
    "#order_mail" : {
        "/^[a-zA-Z0-9!$&*.=^`|~#%'+\/?_{}-]+@([a-zA-Z0-9_-]+\.)+[a-zA-Z]{2,4}$/": checkOK,
        "/^$/": checkfailed + errmsg_RequiredInBR,
        "!/^[a-zA-Z0-9!$&*.=^`|~#%'+\/?_{}-]+@([a-zA-Z0-9_-]+\.)+[a-zA-Z]{2,4}$/": checkfailed + "<br>正しいメールアドレスを入力してください"
    }
});


/*--- 「メールアドレスをお客様IDとして使用」クリックチェック ---*/
Validator.register({
    "#login_id_mail" : {
        "/.+/": checkOK
    }
});


/*--- 「お客様ID」入力チェック ---*/
Validator.register({
    "#login_id" : {
        "/^[a-zA-Z0-9-_.@]{8,64}$/": checkOK,
        "/^$/": checkfailed + errmsg_RequiredInBR,
        "/[^a-zA-Z0-9-_.@]$/": checkfailed + "<br>半角英数字で入力してください",
        "/^[a-zA-Z0-9-_.@]{1,7}$/": checkfailed + "<br>８桁以上入力してください"
    }
});

/*--- 「パスワード」入力チェック ---*/
Validator.register({
    "#password" : {
        "/^[a-zA-Z0-9-_.@]{6,16}$/": checkOK,
        "/^$/": checkfailed + errmsg_Required,
        "/[^a-zA-Z0-9-_.@]$/": checkfailed + "半角英数字で入力してください",
        "/^[a-zA-Z0-9-_.@]{1,7}$/": checkfailed + "６桁以上入力してください"
    }
});


/*--------------------------------------*/
/*- 配送先 -*/

/*--- 「姓」入力チェック ---*/
Validator.register({
    "#delivery_name_sei" : {
        "/.+/": checkOK,
        "/^$/": checkfailed + "<br>姓 は" + errmsg_Required
    }
});

/*--- 「名」入力チェック ---*/
Validator.register({
    "#delivery_name_mei" : {
        "/.+/": checkOK,
        "/^$/": checkfailed + "<br>名 は" + errmsg_Required
    }
});

/*--- 「姓フリガナ」入力チェック ---*/
Validator.register({
    "#delivery_name_sei_kana" : {
       "/^[ァ-ンー \s]+$/": checkOK,
        "/^$/": checkfailed + "<br>姓(カナ) は" + errmsg_Required,
       "/[^ァ-ンー \s]*$/": checkfailed + "<br>姓(カナ) は全角カタカナで入力してください"
    }
});

/*--- 「名フリガナ」入力チェック ---*/
Validator.register({
    "#delivery_name_mei_kana" : {
       "/^[ァ-ンー \s]+$/": checkOK,
        "/^$/": checkfailed + "<br>名(カナ) は" + errmsg_Required,
       "/[^ァ-ンー \s]*$/": checkfailed + "<br>姓(カナ) は全角カタカナで入力してください"
    }
});

/*--- 「会社名カナ」入力チェック ---*/
Validator.register({
    "#delivery_company_name_kana" : {
        "/^$/": checkOK,
        "/^[ァ-ンー \s]+$/": checkOK,
        "/[^ァ-ンー \s]*$/": checkfailed + "<br>全角カタカナで入力してください"
    }
});

/*--- 「郵便番号」入力チェック ---*/
Validator.register({
    "#delivery_zipcode" : {
        "/^[0-9]{3}-?[0-9]{4}$/": checkOK,
        "/^$/": checkfailed + errmsg_Required,
        "!/^[0-9]{3}-?[0-9]{4}$/": checkfailed + "正しい郵便番号を入力してください",
        "/[^0-9-]/": checkfailed + "半角数字かハイフンで入力してください"
    }
});

/*--- 「市区町村」入力チェック ---*/
Validator.register({
    "#delivery_town" : {
        "/.+/": checkOK,
        "/^$/": checkfailed + errmsg_RequiredInBR
    }
});

/*--- 「以降の住所」入力チェック ---*/
Validator.register({
    "#delivery_area" : {
        "/.+/": checkOK,
        "/^$/": checkfailed + errmsg_RequiredInBR
    }
});

/*--- 「電話番号」入力チェック ---*/
Validator.register({
    "#delivery_tel_no" : {
        "/^0[0-9]{1,4}-[0-9]{1,4}-[0-9]{4}$/": checkOK,
        "/^$/": checkfailed + errmsg_RequiredInBR,
        "/[^0-9-]/": checkfailed + "<br>半角数字かハイフンで入力してください",
        "!/-/": checkfailed + "<br>ハイフンを必ず入力してください",
        "!/^0[0-9]{1,4}-[0-9]{1,4}-[0-9]{4}$/": checkfailed + "<br>正しい電話番号を入力してください"
    }
});


/*--------------------------------------*/
/*- お客様情報 配送先登録・変更-*/

/*--- 「パスワード」入力チェック ---*/
Validator.register({
    "#password_new" : {
        "/^[a-zA-Z0-9-_.@]{6,16}$/": checkOK,
        "/^$/": checkOK,
        "/[^a-zA-Z0-9-_.@]$/": checkfailed + "<br>半角英数字で入力してください",
        "/^[a-zA-Z0-9-_.@]{1,7}$/": checkfailed + "<br>６桁以上入力してください"
    }
});

/*--- 「パスワード」入力チェック ---*/
Validator.register({
    "#password_confirm" : {
        "/^[a-zA-Z0-9-_.@]{6,16}$/": checkOK,
        "/^$/": checkOK,
        "/[^a-zA-Z0-9-_.@]$/": checkfailed + "<br>半角英数字で入力してください",
        "/^[a-zA-Z0-9-_.@]{1,7}$/": checkfailed + "<br>６桁以上入力してください"
    }
});

/*--- 「姓」入力チェック ---*/
Validator.register({
    "#name_sei" : {
        "/.+/": checkOK,
        "/^$/": checkfailed + "<br>姓 は" + errmsg_Required
    }
});

/*--- 「名」入力チェック ---*/
Validator.register({
    "#name_mei" : {
        "/.+/": checkOK,
        "/^$/": checkfailed + "<br>名 は" + errmsg_Required
    }
});

/*--- 「姓フリガナ」入力チェック ---*/
Validator.register({
    "#name_sei_kana" : {
       "/^[ァ-ンー \s]+$/": checkOK,
        "/^$/": checkfailed + "<br>姓(カナ) は" + errmsg_Required,
       "/[^ァ-ンー \s]*$/": checkfailed + "<br>姓(カナ) は全角カタカナで入力してください"
    }
});

/*--- 「名フリガナ」入力チェック ---*/
Validator.register({
    "#name_mei_kana" : {
       "/^[ァ-ンー \s]+$/": checkOK,
        "/^$/": checkfailed + "<br>名(カナ) は" + errmsg_Required,
       "/[^ァ-ンー \s]*$/": checkfailed + "<br>姓(カナ) は全角カタカナで入力してください"
    }
});

//URLチェック
if(location.href.match("/delivery/")) {

/*--- 配送先情報「会社名カナ」入力チェック ---*/
Validator.register({
    "#company_name_kana" : {
        "/^[ァ-ンー \s]+$/": checkOK,
        "/^$/": checkOK,
        "/[^ァ-ンー \s]*$/": checkfailed + "<br>全角カタカナで入力してください"
    }
});

}else{

/*--- お客様情報「会社名」入力チェック ---*/
Validator.register({
    "#company_name" : {
        "/.+/": checkOK,
        "/^$/": checkfailed + errmsg_RequiredInBR
    }
});
/*--- お客様情報「会社名カナ」入力チェック ---*/
Validator.register({
    "#company_name_kana" : {
        "/^[ァ-ンー \s]+$/": checkOK,
        "/^$/": checkfailed + errmsg_RequiredInBR,
        "/[^ァ-ンー \s]*$/": checkfailed + "<br>全角カタカナで入力してください"
    }
});
}

/*--- 「郵便番号」入力チェック ---*/
Validator.register({
    "#zipcode" : {
        "/^[0-9]{3}-?[0-9]{4}$/": checkOK,
        "/^$/": checkfailed + errmsg_Required,
        "!/^[0-9]{3}-?[0-9]{4}$/": checkfailed + "正しい郵便番号を入力してください",
        "/[^0-9-]/": checkfailed + "半角数字かハイフンで入力してください"
    }
});

/*--- 「市区町村」入力チェック ---*/
Validator.register({
    "#town" : {
        "/.+/": checkOK,
        "/^$/": checkfailed + errmsg_RequiredInBR
    }
});

/*--- 「以降の住所」入力チェック ---*/
Validator.register({
    "#area" : {
        "/.+/": checkOK,
        "/^$/": checkfailed + errmsg_RequiredInBR
    }
});

/*--- 「電話番号」入力チェック ---*/
Validator.register({
    "#tel_no" : {
        "/^0[0-9]{1,4}-[0-9]{1,4}-[0-9]{4}$/": checkOK,
        "/^$/": checkfailed + errmsg_RequiredInBR,
        "/[^0-9-]/": checkfailed + "<br>半角数字かハイフンで入力してください",
        "!/-/": checkfailed + "<br>ハイフンを必ず入力してください",
        "!/^0[0-9]{1,4}-[0-9]{1,4}-[0-9]{4}$/": checkfailed + "<br>正しい電話番号を入力してください"
    }
});

/*--- 「メールアドレス」入力チェック ---*/
Validator.register({
    "#mail" : {
        "/^[a-zA-Z0-9!$&*.=^`|~#%'+\/?_{}-]+@([a-zA-Z0-9_-]+\.)+[a-zA-Z]{2,4}$/": checkOK,
        "/^$/": checkfailed + errmsg_RequiredInBR,
        "!/^[a-zA-Z0-9!$&*.=^`|~#%'+\/?_{}-]+@([a-zA-Z0-9_-]+\.)+[a-zA-Z]{2,4}$/": checkfailed + "<br>正しいメールアドレスを入力してください"
    }
});

/*--- 「携帯メールアドレス」入力チェック ---*/
Validator.register({
    "#mobile_mail" : {
        "/^[a-zA-Z0-9!$&*.=^`|~#%'+\/?_{}-]+@([a-zA-Z0-9_-]+\.)+[a-zA-Z]{2,4}$/": checkOK,
        "/^$/": checkOK,
        "!/^[a-zA-Z0-9!$&*.=^`|~#%'+\/?_{}-]+@([a-zA-Z0-9_-]+\.)+[a-zA-Z]{2,4}$/": checkfailed + "<br>正しいメールアドレスを入力してください"
    }
});