PageSourceSearch

https://www.mediaphoriejapon.com/res/touch011/js/public/form-check-common.js?1692671229

js mediaphoriejapon.com collected 2026-09-25 06:40:48 UTC 40,243 bytes, 1,012 lines download raw bytes

1// 簡単な入力チェック
2function checkEasyInput(elem, msgElem, required, strict) {
3    var msgElemObj = jQuery('#' + msgElem)[0];
4    var tmpBr = (elem == 'content') ? messageBr : '';
5
6    if (jQuery('#' + elem).val().length == 0) {
7        if (required) {
8            msgElemObj.innerHTML = errorStatusPrefix + tmpBr + NG_icon + MSG_INPUT + errorStatusSuffix;
9            addErrorClassName(msgElem);
10            hideDiaphanousDisplay(msgElem);
11            return false;
12        }
13        else {
14            msgElemObj.innerHTML = "";
15            hideErrorDisplay(msgElem, strict);
16            cutRowStatus(msgElem);
17        }
18    }
19    else {
20        msgElemObj.innerHTML = tmpBr + OK_icon;
21        cutErrorClassName(msgElem);
22        hideErrorDisplay(msgElem, strict);
23    }
24    return true;
25}
26
27// 簡単な選択チェック
28function checkEasySelect(elem, msgElem, required) {
29    var msgElemObj = jQuery('#' + msgElem)[0];
30    if (jQuery('#' + elem).val() == "") {
31        if (required) {
32            msgElemObj.innerHTML = errorStatusPrefix + NG_icon + MSG_SELECT + errorStatusSuffix;
33            addErrorClassName(msgElem);
34            hideDiaphanousDisplay(msgElem);
35        }
36        else {
37            msgElemObj.innerHTML = "";
38            hideErrorDisplay(msgElem);
39            cutRowStatus(msgElem);
40        }
41    } else {
42        msgElemObj.innerHTML = OK_icon;
43        cutErrorClassName(msgElem);
44        hideErrorDisplay(msgElem);
45    }
46}
47
48// 郵便番号チェック
49var latestPostal;
50var postErr = false;
51function checkPostalInput(elemjp, msgElem, required, target_pref, target_address1, target_address2, language) {
52    var msgElemObj = jQuery('#' + msgElem)[0];
53
54    // 郵便番号から住所をセット
55    function addressSet(result) {
56        if (result.error) {
57            postErr = true;
58            msgElemObj.innerHTML = errorStatusPrefix + messageBr + NG_icon + MSG_NOPOST + errorStatusSuffix;
59            addErrorClassName(msgElem);
60            // フォームリセット
61            //jQuery('#' + target_address1 + ', #' + target_address2).val('');
62            //jQuery('#' + target_pref+'_status, #' + target_address1+'_status, #' + target_address2+'_status').html('');
63            jQuery('#' + target_pref+'_status')[0].innerHTML = beforeStatus.pref;
64            jQuery('#' + target_address1+'_status')[0].innerHTML = beforeStatus.address1;
65            jQuery('#' + target_address2+'_status')[0].innerHTML = beforeStatus.address2;
66        } else {
67            postErr = false;
68            msgElemObj.innerHTML = OK_icon;
69            cutErrorClassName(msgElem);
70            if (result['pref_no']) {
71                jQuery('#' + target_pref)[0].value = result['pref_no'];
72                jQuery('#' + target_pref+'_status')[0].innerHTML = OK_icon;
73                hideErrorDisplay(msgElem);
74                hideErrorDisplay(target_pref+'_status');
75            } else {
76                jQuery('#' + target_pref+'_status')[0].innerHTML = "";
77                cutRowStatus(target_pref+'_status');
78            }
79
80            if (result['address1']) {
81                jQuery('#' + target_address1)[0].value = result['address1'];
82                jQuery('#' + target_address1+'_status')[0].innerHTML = OK_icon;
83                cutErrorClassName(target_address1);
84                hideErrorDisplay(target_address1+'_status');
85
86                jQuery('#' + target_address2)[0].value = result['address2'];
87
88                if (result['address2']) {
89                    jQuery('#' + target_address2+'_status')[0].innerHTML = errorStatusPrefix + NG_icon + MSG_BANCHI + errorStatusSuffix;
90                    addErrorClassName(target_address2);
91                } else {
92                    jQuery('#' + target_address2+'_status')[0].innerHTML = "";
93                    cutRowStatus(target_address2+'_status');
94                }
95                hideDiaphanousDisplay(target_address2+'_status');
96            } else {
97                jQuery('#' + target_address1+'_status')[0].innerHTML = "";
98                hideErrorDisplay(target_address1+'_status');
99                hideDiaphanousDisplay(target_address1+'_status');
100                cutRowStatus(target_address1+'_status');
101            }
102        }
103    }
104
105    var newPost = convertCharacter(jQuery('#' + elemjp).val(), false);
106    if (newPost.length==0) {
107        jQuery('#' + elemjp).attr({'maxlength': '20'});
108        msgElemObj.innerHTML = errorStatusPrefix + messageBr + NG_icon + MSG_INPUT + errorStatusSuffix;
109        addErrorClassName(msgElem);
110    } else if (jQuery('#address_pref').val() == '48') {
111        jQuery('#' + elemjp).attr({'maxlength': '20'});
112        msgElemObj.innerHTML = OK_icon;
113        cutErrorClassName(msgElem);
114        hideErrorDisplay(msgElem);
115    } else {
116        if (!newPost.match(/^[0-9]{3}-?[0-9]{4}$/)) {
117            jQuery('#' + elemjp).attr({'maxlength': '20'});
118            msgElemObj.innerHTML = errorStatusPrefix + messageBr + NG_icon + MSG_NUMERIC6 + errorStatusSuffix;
119            addErrorClassName(msgElem);
120            hideDiaphanousDisplay('address_postaljp');
121        } else {
122            if (newPost.match(/^[0-9]{7}$/)) {
123                jQuery('#' + elemjp).attr({'maxlength': '7'});
124            } else {
125                jQuery('#' + elemjp).attr({'maxlength': '8'});
126            }
127
128            newPost = newPost.replace('-', '');
129            // タブとか→とかを押した場合はチェックしないようにする
130            if (newPost == latestPostal) {
131                if (!postErr) {
132                    msgElemObj.innerHTML = OK_icon;
133                    cutErrorClassName(msgElem);
134                    hideErrorDisplay(msgElem);
135                }
136            } else if (newPost == '0000000') {
137                latestPostal = newPost;
138                if (jQuery('select#'+target_pref+' option[value="48"]').length) {
139                    msgElemObj.innerHTML = OK_icon;
140                    cutErrorClassName(msgElem);
141                    hideErrorDisplay(msgElem);
142                    postErr = false;
143                    // 日本国外
144                    jQuery('#' + target_pref+'_status')[0].innerHTML = OK_icon;
145                    cutErrorClassName(msgElem);
146                    hideErrorDisplay(target_pref+'_status');
147                    jQuery('#' + target_pref)[0].value = '48';
148                    jQuery('#' + target_address1+'_status')[0].innerHTML = "";
149                    jQuery('#' + target_address2+'_status')[0].innerHTML = "";
150                    checkCountry(language, false);
151                    hideDiaphanousDisplay("address_country_status");
152                    cutRowStatus(target_address1+'_status');
153                    cutRowStatus(target_address2+'_status');
154                } else {
155                    addressSet({"error": "1"});
156                }
157            } else if (newPost != latestPostal) {
158                msgElemObj.innerHTML = loadingDisplay1;
159                latestPostal = newPost;
160                // メッセージ表示
161                var beforeStatus = {
162                    pref: jQuery('#' + target_pref+'_status')[0].innerHTML,
163                    address1: jQuery('#' + target_address1+'_status')[0].innerHTML,
164                    address2: jQuery('#' + target_address2+'_status')[0].innerHTML
165                };
166                jQuery('#' + target_pref+'_status')[0].innerHTML = loadingDisplay1;
167                jQuery('#' + target_address1+'_status')[0].innerHTML = loadingDisplay2;
168                jQuery('#' + target_address2+'_status')[0].innerHTML = loadingDisplay2;
169                // parsは他にも必要な情報があれば入れる
170                var pars = "go=address-search&post_number=" + newPost;
171                jQuery.ajax({
172                    type: 'GET',
173                    url: xmlUrl,
174                    data: pars,
175                    dataType : 'json',
176                    headers: {'X-Requested-With': 'XMLHttpRequest'}
177                }).done(function (data, status) {
178                    addressSet(data);
179                });
180            }
181            checkOverSeaTel(language);
182        }
183    }
184}
185
186// メールアドレスチェック
187var latestEmail;
188function checkEmailInput(elem, msgElem, required, overlap) {
189    var msgElemObj = jQuery('#' + msgElem)[0];
190    var elemVal = convertCharacter(jQuery('#' + elem).val(), false);
191    if (elemVal.length==0) {
192        if (required) {
193            msgElemObj.innerHTML = errorStatusPrefix + NG_icon + MSG_INPUT + errorStatusSuffix;
194            addErrorClassName(msgElem);
195            cutOKInputClassName(elem);
196        }
197        else {
198            msgElemObj.innerHTML = "";
199            cutRowStatus(msgElem);
200        }
201        latestEmail = "";
202    } else if (!elemVal.match(/^[\/0-9A-Za-z_-][+?\/0-9A-Za-z.._-]*@[0-9A-Za-z_-]+[\.]+[0-9A-Za-z_..-]+[A-Za-z]$/)) {
203        msgElemObj.innerHTML = errorStatusPrefix + NG_icon + MSG_INPUT2 + errorStatusSuffix;
204        addErrorClassName(msgElem);
205        cutOKInputClassName(elem);
206        latestEmail = "";
207    } else {
208        if (overlap) {
209            checkOverlapEmail(elem, msgElem, 1);
210        } else {
211            msgElemObj.innerHTML = OK_icon;
212            cutErrorClassName(msgElem);
213            hideErrorDisplay(msgElem);
214        }
215    }
216}
217
218var latestOverlap = {email: '', error: false};
219function checkOverlapEmail(elem1, msgElem, login) {
220    var msgElemObj = jQuery('#' + msgElem)[0];
221    var email = convertCharacter(jQuery('#' + elem1).val(), false);
222    if (!email) {
223        msgElemObj.innerHTML = OK_icon;
224        cutErrorClassName(msgElem);
225        addOKInputClassName(msgElem);
226        hideErrorDisplay(msgElem);
227        return;
228    } else {
229        if (email === latestOverlap.email) {
230            if (latestOverlap.error === true) {
231                msgElemObj.innerHTML = errorStatusPrefix + NG_icon + MSG_OVERLAP + errorStatusSuffix;
232                addErrorClassName(msgElem);
233                cutOKInputClassName(msgElem);
234                return;
235            } else {
236                msgElemObj.innerHTML = OK_icon;
237                cutErrorClassName(msgElem);
238                addOKInputClassName(msgElem);
239                hideErrorDisplay(msgElem);
240                return;
241            }
242        }
243    }
244    var pars = 'go=check-overlap-email&email=' + email;
245    if (login) {
246        pars += '&login=' + login;
247    }
248    jQuery.ajax({
249        type: 'POST',
250        url: xmlUrl,
251        data: pars,
252        dataType: 'text',
253        headers: {'X-Requested-With': 'XMLHttpRequest'}
254    }).done(function (data, status) {
255        latestOverlap.email = email;
256        if (data && data === '1') {
257            msgElemObj.innerHTML = errorStatusPrefix + NG_icon + MSG_OVERLAP;
258            latestOverlap.error = true;
259            addErrorClassName(msgElem);
260            cutOKInputClassName(msgElem);
261        } else {
262            msgElemObj.innerHTML = OK_icon;
263            cutErrorClassName(msgElem);
264            addOKInputClassName(msgElem);
265            latestOverlap.error = false;
266            hideErrorDisplay(msgElem);
267        }
268    });
269}
270
271//電話番号orFAXチェック
272function checkTelInput(language, elem, msgElem, required, strict) {
273    var msgElemObj = jQuery('#' + msgElem)[0];
274    var tmp_elem = convertCharacter(jQuery('#' + elem).val(), false);
275    var errMsg = '';
276    if (tmp_elem.length===0) {
277        if (required) {
278            errMsg = MSG_INPUT;
279        } else {
280            msgElemObj.innerHTML = "";
281            hideErrorDisplay(msgElem, strict);
282            cutRowStatus(msgElem);
283            return;
284        }
285    } else {
286        var country = jQuery('#address_country');
287        if (language=='English' || (0 < country.length && country.val() !== '' && country.val() !== '61') || jQuery('#address_pref').val() === '48') {
288            if (!tmp_elem.match(/^[0-9+(][0-9 \.\-\+()]{1,28}[0-9]$/)) {
289                errMsg = MSG_NUMERIC5;
290            }
291        } else {
292            if (tmp_elem.match(/^[0-9\-]+$/) && tmp_elem.replace(/-/g, '').match(/^\d{10,11}$/)) {
293            } else {
294                errMsg = MSG_NUMERIC6;
295            }
296        }
297    }
298    if (errMsg.length) {
299        msgElemObj.innerHTML = errorStatusPrefix + NG_icon + errMsg + errorStatusSuffix;
300        addErrorClassName(msgElem);
301        hideDiaphanousDisplay(msgElem);
302    } else {
303        msgElemObj.innerHTML = OK_icon;
304        cutErrorClassName(msgElem);
305        hideErrorDisplay(msgElem, strict);
306    }
307}
308
309// パスワードチェック
310function checkPasswordInput(elem, msgElem, elem2, msgElem2, required) {
311    var msgElemObj = jQuery('#' + msgElem)[0];
312    var msgElem2Obj = jQuery('#' + msgElem2)[0];
313    var elemVal = jQuery('#' + elem).val();
314    var elem2Val = jQuery('#' + elem2).val();
315    var name = msgElem2.replace('_status', '');
316
317    if (!required && elemVal.length==0 && elem2Val.length==0) {
318        msgElemObj.innerHTML = "";
319        msgElem2Obj.innerHTML = "";
320        hideErrorDisplay(msgElem2);
321        cutRowStatus(msgElem2);
322    } else {
323        if (elemVal.length==0) {
324            msgElemObj.innerHTML = errorStatusPrefix + messageBr + NG_icon + MSG_INPUT + errorStatusSuffix;
325            addErrorClassName(name);
326            cutOKInputClassName(msgElem);
327        } else if (!elemVal.match(/^[a-zA-Z0-9\!\#-&\(-\/\:-@\[\]-`\{-~]{8,20}$/)) {
328            msgElemObj.innerHTML = errorStatusPrefix + messageBr + NG_icon + MSG_NUMERIC2 + errorStatusSuffix;
329            addErrorClassName(name);
330            cutOKInputClassName(msgElem);
331        } else {
332            msgElemObj.innerHTML = OK_icon;
333            hideErrorDisplay(msgElem);
334            addOKInputClassName(msgElem);
335        }
336
337        if (elem2Val.length==0) {
338            msgElem2Obj.innerHTML = errorStatusPrefix + messageBr + NG_icon + MSG_INPUT + errorStatusSuffix;
339            addErrorClassName(name);
340        } else if (!elemVal.match(/^[a-zA-Z0-9\!\#-&\(-\/\:-@\[\]-`\{-~]{8,20}$/) && !elem2Val.match(/^[a-zA-Z0-9\!\#-&\(-\/\:-@\[\]-`\{-~]{8,20}$/)) {
341            msgElem2Obj.innerHTML = errorStatusPrefix + messageBr + NG_icon + MSG_NUMERIC2 + errorStatusSuffix;
342            addErrorClassName(name);
343        } else if (elemVal != elem2Val) {
344            msgElem2Obj.innerHTML = errorStatusPrefix + messageBr + NG_icon + MSG_NOMATCH + errorStatusSuffix;
345            addErrorClassName(name);
346        } else {
347            msgElem2Obj.innerHTML = OK_icon;
348            cutErrorClassName(name);
349            hideErrorDisplay(msgElem2);
350        }
351    }
352}
353
354// イベント初期化
355function initEvent(division, page, mode, dm, language, country) {
356    // page 1:member_register, 2:member_change, 4:cart(new), 5:contact, 6:genpassword, 3:others, 7:cart(member), 21:amazonPay
357    formOnloadStatus = true;
358    if (page == 21) {
359        OK_icon = '';
360    }
361    if (page && (page==1 || page==2 || page==4 || page==7 || page==21)) {
362        updateAddressAutocompleteAttr(language);
363    }
364    return;
365}
366
367// イベント定義
368function setEvent(division, page, dm, language, country) {
369    // page 1:member_register, 2:member_change, 4:cart(new), 5:contact, 6:genpassword, 3:others, 7:cart(member), 21:amazonPay
370    if (!jQuery('#name')[0] && page != 21) {
371        return;
372    }
373
374    if (page == 4 || page == 7 || page == 21) {
375        jQuery('#birthdate_y, #birthdate_m, #birthdate_d').on('change focus', function () {checkBirthdate();});
376    }
377
378    if (!jQuery('#name')[0]) {
379        return;
380    }
381
382    jQuery('#name').on('keyup focus blur', function () {checkEasyInput('name', 'name_status', true);});
383    if (page==5) {
384        // お問い合わせ
385        jQuery('#email1').on('keyup focus blur', function () {checkEmailDual(false, false, 0);});
386        jQuery('#email1').on('blur', function (e) {convertCharacter(jQuery(e.target).attr('id'), true);});
387        jQuery('#title').on('keyup focus blur', function () {checkEasyInput('title', 'title_status', true);});
388        jQuery('#content').on('keyup focus blur', function () {checkEasyInput('content', 'content_status', true);});
389    } else if (page==6) {
390        // パスワード忘れ
391        jQuery('#email1').on('keyup focus blur', function () {checkEmail(false);});
392        jQuery('#email1').on('blur', function (e) {convertCharacter(jQuery(e.target).attr('id'), true);});
393    } else {
394        jQuery('#address_postaljp, #address_postal, #email1, #tel, #fax').on('blur', function (e) {convertCharacter(jQuery(e.target).attr('id'), true);});
395
396        if (language=='Japanese') {
397            jQuery('#name_ph').on('keyup focus blur', function () {checkKana(false);});
398        }
399        if (division == 2 || division == 3) {
400            jQuery('#company_name').on('keyup focus blur', function () {checkCompanyName(division, false);});
401            jQuery('#department_name').on('keyup focus blur', function () {checkEasyInput('department_name', 'department_name_status', false);checkCompanyName(division, true);});
402        }
403        if (country==true) {//国が表示されていたら国のチェック
404            jQuery('#address_country').on('change', function () {checkCountry(language, false);setLocalArea();checkOverSeaTel(language);});
405            jQuery('#address_country').on('focus blur', function () {checkCountry(language, false);});
406            jQuery('#address_localarea').on('change focus blur', function () {checkEasySelect('address_localarea', 'address_localarea_status', true);});
407        }
408        if (language=='Japanese') {
409            if (jQuery('#address_postaljp_block').css('display') != 'none') {
410                latestPostal = jQuery('#address_postaljp').val().replace('-', '');
411            }
412            jQuery('#address_postaljp').on('keyup blur', function () {checkPostal();checkKana(true);});
413            jQuery('#address_postaljp').on('focus', function () {checkPostal();});
414            jQuery('#address_pref').on('focus', function () {hideDiaphanousDisplay('address_pref');});
415            jQuery('#address_pref').on('change', function () {checkPrefecture(country);checkKana(true);checkOverSeaTel(language);});
416            jQuery('#address_pref').on('blur', function () {checkPrefecture(country);checkKana(true);});
417        }
418        if (language!='Japanese' || country==true) {
419            jQuery('#address_postal').on('keyup focus blur', function () {checkPostalEng();});
420        }
421        jQuery('#address1').on('keyup focus blur', function () {checkEasyInput('address1', 'address1_status', true);});
422        jQuery('#address2').on('keyup focus blur', function () {checkEasyInput('address2', 'address2_status', false);});
423        jQuery('#address3').on('keyup focus blur', function () {checkAddress3(language);});
424;
425        if (page==1 || page==4) {
426            var registration = (page==1) ? true : false;
427            jQuery('#email1, #email2').on('keyup focus blur', function () {checkEmailDual(true, registration, 0);});
428        } else if (page==2) {
429            jQuery('#email1').on('keyup focus blur', function () {checkEmail(true);});
430        } else if (page==7) {
431            jQuery('#email1, #email2').on('keyup focus blur', function () {checkEmailDual(true, true, 1);});
432        }
433        jQuery('#tel').on('keyup focus blur', function () {checkTelInput(language, 'tel', 'tel_status', true);});
434        if (page==1 || page==2 || page==4 || page==7 || page==21) {
435            jQuery('#fax').on('keyup focus blur', function () {checkTelInput(language, 'fax', 'fax_status', false);});
436            if (dm==true) {
437                jQuery('#dm1, #dm2').on('click focus blur', function () {checkDm();});
438            }
439        }
440
441        if (page==1 || page==2 || (page==4 && jQuery('#pswd'))) {
442            var required = (page==2) ? false : true;
443            jQuery('#pswd, #pswd2').on('keyup focus blur', function () {checkPasswordInput('pswd', 'pswd_status', 'pswd2', 'pswd2_status', required);});
444        }
445    }
446}
447
448function checkCompanyName(division, strict) {
449    var required = (division == 2 || (division == 3 && (jQuery('#company_name').val() || jQuery('#department_name').val()))) ? true : false;
450    checkEasyInput('company_name', 'company_name_status', required, strict);
451}
452
453function checkKana(strict) {
454    var country = jQuery('#address_country')[0];
455    if ((country && country.value != '' && country.value != '61') || jQuery('#address_pref').val() == '48') {
456        var required = false;
457    } else {
458        var required = true;
459    }
460
461    var namePhVal = jQuery('#name_ph').val();
462    var msgElemObj = jQuery('#name_ph_status')[0];
463    var err = false;
464    if (namePhVal.length==0) {
465        if (required) {
466            err = true;
467            msgElemObj.innerHTML = errorStatusPrefix + NG_icon + MSG_INPUT + errorStatusSuffix;
468            addErrorClassName('name_ph');
469            hideDiaphanousDisplay('name_ph_status');
470        } else {
471            msgElemObj.innerHTML = "";
472            cutRowStatus('name_ph_status');
473        }
474    } else {
475        var res = checkKanaCharacterCode(namePhVal);
476        if (res) {
477            msgElemObj.innerHTML = OK_icon;
478            cutErrorClassName('name_ph');
479            hideErrorDisplay('name_ph_status', strict);
480        } else {
481            err = true;
482            msgElemObj.innerHTML = errorStatusPrefix + NG_icon + MSG_KATAKANA + errorStatusSuffix;
483            addErrorClassName('name_ph');
484            if (!strict) {
485                hideDiaphanousDisplay('name_ph_status');
486            }
487        }
488    }
489
490    if (!required && !err) {
491        hideErrorDisplay('name_ph_status', true);
492    }
493    setRequired('name_ph_required', required);
494}
495
496function checkPostal() {
497    checkPostalInput('address_postaljp', 'address_postaljp_status', true, 'address_pref', 'address1', 'address2', 'Japanese');
498}
499
500function checkPostalEng() {//英語の時
501    var country = jQuery('#address_country')[0];
502    if (country.value == '58') {// Hong Kong
503        checkEasyInput('address_postal', 'address_postal_status', false);
504    } else {
505        checkEasyInput('address_postal', 'address_postal_status', true);
506    }
507}
508
509function updateAddressAutocompleteAttr(language)
510{
511    // Prevent Chrome from automatically entering addresses
512    var country = jQuery('#address_country')[0];
513    var agent = window.navigator.userAgent.toLowerCase();
514    var isTarget = false;
515    if (agent.indexOf('chrome') !== -1 && agent.indexOf('opr') === -1) {// PC chrome, Android chrome, Edge
516        isTarget = true;
517    } else if(agent.indexOf('crios') !== -1) {// iPhone chrome
518        isTarget = true;
519    }
520    if (isTarget && language == 'Japanese' && 1 < jQuery('#address_pref').find('option').length) {
521        if (!country || country.value == "" || country.value == '61') {
522            jQuery('#address1').attr('autocomplete', 'address-level2');
523            jQuery('#address2').attr('autocomplete', 'address-level3');
524            jQuery('#address3').attr('autocomplete', 'address-level4');
525        } else {
526            jQuery('#address1').removeAttr('autocomplete');
527            jQuery('#address2').removeAttr('autocomplete');
528            jQuery('#address3').removeAttr('autocomplete');
529        }
530    }
531}
532
533function checkCountry(language, strict) {
534    var msgElem = 'address_country_status';
535    var msgElemObj = jQuery('#' + msgElem)[0];
536    var country = jQuery('#address_country')[0];
537    var required = false;
538    if (!country) {
539        return false;
540    }
541    if (language=='Japanese' && 1 < jQuery('#address_pref').find('option').length) {
542        if (country.value == "" || country.value == '61') {
543            if (jQuery('#address_postaljp_block').css('display') == 'none') {
544                jQuery('#address_postaljp_block, #address_pref_block').css('display', '');
545                jQuery('#address1_title').text(MSG_ADDRESS.japan1);
546                jQuery('#address2_title').text(MSG_ADDRESS.japan2);
547                jQuery('#address3_city').text(MSG_ADDRESS.japan3);
548                setRequired('address3_required', false);
549                checkAddress3(language);
550                jQuery('#address_postaljp').val(jQuery('#address_postal').val());
551                jQuery('#address_postal_block').css('display', 'none');
552                if (jQuery('#address_pref').val() == '48') {
553                    jQuery('#address_pref').val('1');
554                }
555                toggleFormLine('address_postaljp_status', 'block');
556                toggleFormLine('address_postal_status', 'none');
557                toggleFormLine('address_pref_status', 'block');
558                checkPostal();
559                updateAddressAutocompleteAttr(language);
560            }
561        } else {
562            if (jQuery('#address_postal_block').css('display') == 'none') {
563                jQuery('#address_postaljp_block, #address_pref_block').css('display', 'none');
564                jQuery('#address1_title').text(MSG_ADDRESS.oversea1);
565                jQuery('#address2_title').text(MSG_ADDRESS.oversea2);
566                jQuery('#address3_city').text(MSG_ADDRESS.oversea3);
567                setRequired('address3_required', true);
568                checkAddress3(language);
569                jQuery('#address_postal_block').css('display', '');
570                jQuery('#address_postal').val(jQuery('#address_postaljp').val());
571                toggleFormLine('address_postaljp_status', 'none');
572                toggleFormLine('address_postal_status', 'block');
573                toggleFormLine('address_pref_status', 'none');
574                checkPostalEng();
575                updateAddressAutocompleteAttr(language);
576            }
577        }
578        checkKana(true);
579    }
580
581    if (language=='English' || jQuery('#address_pref')[0].value == '48') {
582        required = true;
583    }
584    if (country.value == "") {
585        if (required) {
586            msgElemObj.innerHTML = errorStatusPrefix + NG_icon + MSG_SELECT + errorStatusSuffix;
587            addErrorClassName(msgElem);
588            hideDiaphanousDisplay(msgElem);
589        }
590        else {
591            msgElemObj.innerHTML = "";
592            hideErrorDisplay(msgElem, strict);
593            cutRowStatus(msgElem);
594        }
595    } else {
596        var pref = jQuery('#address_pref')[0];
597        if (pref && pref.value == '48' && country.value == '61') {
598            jQuery('#address_country_status')[0].innerHTML = errorStatusPrefix + messageBr + NG_icon + MSG_PREF + errorStatusSuffix;
599            addErrorClassName(msgElem);
600            hideDiaphanousDisplay(msgElem);
601        } else {
602            msgElemObj.innerHTML = OK_icon;
603            cutErrorClassName(msgElem);
604            hideErrorDisplay(msgElem, strict);
605        }
606    }
607
608    if (language!='English') {
609        if ((country && country.value != '' && country.value != '61') || (country && country.value == '' && jQuery('#address_pref').val() == '48')) {
610            setRequired('country_required', true);
611        } else {
612            setRequired('country_required', false);
613        }
614    }
615}
616
617function checkPrefecture(country, language) {
618    checkEasySelect('address_pref', 'address_pref_status', true);
619    if (country) {
620        checkCountry(language, true);
621    }
622}
623function checkOverSeaTel(language) {
624    if (language=='English') {
625        return;
626    }
627    var strict = true;
628    if (jQuery('#tel').val()) {
629        checkTelInput(language, 'tel', 'tel_status', true, strict);
630    }
631    if (jQuery('#fax').length && jQuery('#fax').val()){
632        checkTelInput(language, 'fax', 'fax_status', false, strict);
633    }
634}
635
636function checkAddress3(language) {
637    var required = false;
638    if (language === 'English') {
639        required = true;
640    } else if (jQuery('#address_country').length) {
641        var country = jQuery('#address_country')[0];
642        if (country && country.value !== '' && country.value !== '61') {
643            required = true;
644        }
645    }
646    checkEasyInput('address3', 'address3_status', required);
647}
648
649function checkEmail(overlap) {
650    checkEmailInput('email1', 'email1_status', true, overlap);
651}
652
653function checkEmailDual(overlap, registration, login) {
654    var email1Val = convertCharacter(jQuery('#email1').val(), false);
655    copyConfirmEmail();
656    var email1Error = false;
657    if (email1Val.length==0) {
658        jQuery('#email1_status')[0].innerHTML = errorStatusPrefix + NG_icon + MSG_INPUT + errorStatusSuffix;
659        addErrorClassName('email1');
660        cutOKInputClassName('email1');
661        email1Error = true;
662    } else if (!email1Val.match(/^[\/0-9A-Za-z_-][+?\/0-9A-Za-z.._-]*@[0-9A-Za-z_-]+[\.]+[0-9A-Za-z_..-]+[A-Za-z]$/)) {
663        jQuery('#email1_status')[0].innerHTML = errorStatusPrefix + NG_icon + MSG_INPUT2 + errorStatusSuffix;
664        addErrorClassName('email1');
665        cutOKInputClassName('email1');
666        email1Error = true;
667    } else {
668        var needOverlapCheck = false;
669        if (overlap) {
670            if (registration) {
671                needOverlapCheck = true;
672            } else {
673                if (jQuery('#pswd')[0]) {
674                    needOverlapCheck = true;
675                }
676            }
677        }
678        if (needOverlapCheck) {
679            checkOverlapEmail('email1', 'email1_status', login);
680            return;
681        } else {
682            jQuery('#email1_status')[0].innerHTML = OK_icon;
683            addOKInputClassName('email1');
684        }
685    }
686    if (!email1Error) {
687        cutErrorClassName('email1');
688        hideErrorDisplay('email1_status');
689    }
690}
691
692function confirmEmailDisplay(elem)
693{
694    if (elem==null || jQuery(elem).length===0) {
695        return;
696    }
697    var $confirmElem = jQuery(elem).find('.confirm_email');
698    if (0 < $confirmElem.length) {
699        if (jQuery('#email1').length) {
700            var emailVal = jQuery('#email1').val();
701        } else {
702            var emailVal = jQuery('#email').val();
703        }
704        $confirmElem.text(emailVal);
705        if (emailVal.length===0) {
706            $confirmElem.css("display", "none");
707        } else {
708            $confirmElem.css("display", "block");
709        }
710    }
711}
712
713function copyConfirmEmail() {
714    if (jQuery('#email1_block').length) {
715        confirmEmailDisplay('#email1_block');
716    } else {
717        confirmEmailDisplay('#email1_data');
718    }
719}
720
721function checkDm() {
722    if (!jQuery('#dm1')[0].checked && !jQuery('#dm2')[0].checked) {
723        jQuery('#dm_status')[0].innerHTML = errorStatusPrefix + NG_icon + MSG_SELECT + errorStatusSuffix;
724        addErrorClassName('dm');
725    } else {
726        jQuery('#dm_status')[0].innerHTML = errorStatusPrefix + OK_icon;
727        cutErrorClassName('dm');
728        hideErrorDisplay('dm_status');
729    }
730}
731
732function checkQuestion(page, name, required, onloadFlag, type) {
733    // page 1:member_register, 4:cart, 5:contact
734    var baseName = 'question_' + name;
735    var baseName2;
736    var q_msgElem;
737    var status;
738    var errMsg;
739    var ngIcon;
740
741    if (page==4) {
742        baseName2 = 'customer_' + baseName;
743        q_msgElem="customer_question_status_" + name;
744    } else {
745        baseName2 = baseName;
746        q_msgElem="question_status_" + name;
747    }
748
749    if (type == 'checkbox' || type == 'radio') {
750        status = false;
751        jQuery('.'+baseName).each(function (i, elem) {
752            var flag = jQuery(elem).prop('checked');
753            if (flag) {
754                status = true;
755            }
756        });
757    } else {
758        q_length = document.getElementById(baseName).value.length;
759        if (q_length==0) {
760            status = false;
761        } else {
762            status = true;
763        }
764    }
765
766    if (status == false) {
767        if (required) {
768            if (type == 'checkbox' || type == 'radio' || type == 'select') {
769                errMsg = MSG_SELECT;
770            } else {
771                errMsg = MSG_INPUT;
772            }
773            if (type == 'checkbox' || type == 'radio') {
774                ngIcon = NG_icon2;
775            } else {
776                ngIcon = NG_icon;
777            }
778            jQuery('#' + q_msgElem)[0].innerHTML = errorStatusPrefix + ngIcon + errMsg + errorStatusSuffix;
779            addErrorClassName(baseName2);
780            hideDiaphanousDisplay(q_msgElem);
781        } else {
782            jQuery('#' + q_msgElem)[0].innerHTML = "";
783            cutRowStatus(q_msgElem);
784        }
785    } else {
786        jQuery('#' + q_msgElem)[0].innerHTML = OK_icon;
787        cutErrorClassName(baseName2);
788        if (onloadFlag !== 1) {
789            hideErrorDisplay(q_msgElem);
790        }
791    }
792}
793
794function checkVerification(page, name) {
795    // page 4:cart
796    if (page==4) {
797        var msgElem = name + '_status';
798        var msgElemObj = jQuery('#' + msgElem)[0];
799        if (jQuery('input[name=' + name + ']:checked').val()) {
800            msgElemObj.innerHTML = OK_icon;
801            cutErrorClassName(name);
802            hideErrorDisplay(msgElem);
803        } else {
804            msgElemObj.innerHTML = messageBr + errorStatusPrefix + NG_icon + MSG_CONFIRM + errorStatusSuffix;
805            addErrorClassName(name);
806            hideDiaphanousDisplay(msgElem);
807        }
808    }
809}
810
811function checkBirthdate() {
812    var name = 'birthdate';
813    var msgElem = name + '_status';
814    var msgElemObj = jQuery('#' + msgElem)[0];
815    var age = limitAge;
816    var year = jQuery('#' + name + '_y').val();
817    var month = jQuery('#' + name + '_m').val();
818    var day = jQuery('#' + name + '_d').val();
819
820    if (year == '' || month == '' || day == '') {
821        msgElemObj.innerHTML = errorStatusPrefix + NG_icon + ageMsg1 + errorStatusSuffix;
822        addErrorClassName(name);
823        hideDiaphanousDisplay(msgElem);
824    } else {
825        year = parseInt(year);
826        month = parseInt(month) - 1;
827        day = parseInt(day);
828        age = parseInt(age);
829        var birthdate = new Date(year, month, day);
830
831        if (year != birthdate.getFullYear() || month != birthdate.getMonth() || day != birthdate.getDate()) {
832            msgElemObj.innerHTML = errorStatusPrefix + NG_icon + ageMsg2 + errorStatusSuffix;
833            addErrorClassName(name);
834            hideDiaphanousDisplay(msgElem);
835        } else {
836            var today = (new Date()).getTime();
837            var bd = (new Date((year + age), month, day)).getTime();
838            if (today < bd) {
839                msgElemObj.innerHTML = errorStatusPrefix + NG_icon + ageMsg3 + errorStatusSuffix;
840                addErrorClassName(name);
841                hideDiaphanousDisplay(msgElem);
842            } else {
843                msgElemObj.innerHTML = OK_icon;
844                cutErrorClassName(name);
845                hideErrorDisplay(msgElem);
846            }
847        }
848    }
849}
850
851function mailCheck(elem) {
852    var msgElem = elem + '_status';
853    checkEmailInput(elem, msgElem, true, '');
854}
855
856function setLocalArea() {
857    var val = jQuery('#address_country')[0].value;
858    var addressCityElem = jQuery('#address3_city')[0];
859    var listobj = jQuery('#address_localarea')[0];
860    listobj.length = 0;
861    listobj[0] = new Option('----', '');
862    if (val && (val === '202' || val === '222' || val === '238')) {
863        var pars = "go=address-local-search&countryid=" + val;
864        jQuery.ajax({
865            type: 'GET',
866            url: xmlUrl,
867            data: pars,
868            dataType: 'json',
869            headers: {'X-Requested-With': 'XMLHttpRequest'}
870        }).done(function (data, status) {
871            if (data) {
872                jQuery('#address_localarea_block')[0].style.display = '';
873                if (addressCityElem) {
874                    addressCityElem.innerHTML = "(City)";
875                }
876                for (var i=0;i<data.local.length;i++) {
877                    listobj[i+1] = new Option(data.local[i].name, data.local[i].id);
878                }
879                hideDiaphanousDisplay('address_localarea_status');
880                toggleFormLine('address_localarea_status', 'block');
881            }
882        });
883    } else {
884        toggleFormLine('address_localarea_status', 'none');
885        jQuery('#address_localarea_block')[0].style.display = 'none';
886        if (addressCityElem) {
887            if (!val || val === '61') {
888                addressCityElem.innerHTML = MSG_ADDRESS.japan3;
889            } else {
890                addressCityElem.innerHTML = MSG_ADDRESS.oversea3;
891            }
892        }
893    }
894}
895
896function convertCharacter(name, elemFlag) {
897    if (elemFlag == true) {
898        var inputElem = jQuery('#' + name);
899        if (!inputElem || !inputElem.val()) {
900            return;
901        }
902        var str = inputElem.val();
903    } else {
904        var str = name;
905    }
906
907    var list = {
908        'a':'a','b':'b','c':'c','d':'d','e':'e','f':'f','g':'g','h':'h','i':'i','j':'j','k':'k','l':'l','m':'m','n':'n','o':'o','p':'p','q':'q','r':'r','s':'s','t':'t','u':'u','v':'v','w':'w','x':'x','y':'y','z':'z',
909        'A':'A','B':'B','C':'C','D':'D','E':'E','F':'F','G':'G','H':'H','I':'I','J':'J','K':'K','L':'L','M':'M','N':'N','O':'O','P':'P','Q':'Q','R':'R','S':'S','T':'T','U':'U','V':'V','W':'W','X':'X','Y':'Y','Z':'Z',
910        '0':'0','1':'1','2':'2','3':'3','4':'4','5':'5','6':'6','7':'7','8':'8','9':'9',
911        ' ':' ','!':'!','#':'#','$':'$','%':'%','&':'&','(':'(',')':')','*':'*','+':'+',',':',','-':'-','ー':'-','.':'.','/':'/',':':':',';':';','<':'<','=':'=','>':'>','?':'?','@':'@','[':'[',']':']','^':'^','_':'_','{':'{','|':'|','}':'}'
912    };
913
914    var re = /[a-zA-Z0-9 !#$%&()*+,-ー./:;<=>?@[]^_{|}]/g;
915    str = str.replace(re, function(m){return list[m];});
916
917    if (elemFlag == true) {
918        inputElem.val(str);
919    } else {
920        return str;
921    }
922}
923
924function checkKanaCharacterCode(str) {
925    var testChar = 'あ';
926    if (testChar.charCodeAt(0) != 0x3042) {
927        return true;//not javascript check
928    }
929    str = convertCharacter(str);//convert for check
930    if (str=='' || str.match(/^[&+?\/0-9A-Za-z@.._\-\s]+$/)) {
931       return true;
932    }
933    var cnt = str.length;
934    for (i=0; i<cnt; i++) {
935        if (str[i].match(/^[&+?\/0-9A-Za-z@.._\-\s]+$/)) {
936            continue;
937        }
938        var code = str.charCodeAt(i);
939        if (0x3040 <= code && code <= 0x309f) {//hiragana
940            continue;
941        }
942        if (0x30a0 <= code && code <= 0x30ff) {//katakana
943            continue;
944        }
945        if (0xff61 <= code && code <= 0xff9f) {//half-size katakana
946            continue;
947        }
948        return false;
949    }
950    return true;
951}
952
953function setDisableOnSubmit(formSelector, timeoutSpeed) {
954    var formObj = jQuery(formSelector)[0];
955    if (!formObj) {
956        return false;
957    }
958    var formButtons = jQuery(':submit, :image');
959    var diableForm = function () {
960        return false;
961    };
962    var timerID;
963    var resetAttr = function (elem) {
964        jQuery(elem).css({'cursor': '', 'opacity': '', 'filter': ''});
965        jQuery(elem).off('click', diableForm);
966        clearTimeout(timerID);
967    };
968    var escPress = function (e) {
969        if (e.keyCode === 27) { // ESC key
970            resetAttr(formButtons);
971            jQuery(document).off('keyup', escPress);
972        }
973        return true;
974    };
975    var timeoutSec;
976    if (timeoutSpeed === 'fast') {
977        timeoutSec = 5;
978    } else if (timeoutSpeed === 'slow') {
979        timeoutSec = 15;
980    } else {
981        if (String(timeoutSpeed).match(/^[0-9]+$/)) {
982            timeoutSec = timeoutSpeed;
983        } else {
984            timeoutSec = 10;
985        }
986    }
987    var timeout = timeoutSec * 1000;
988    jQuery(formObj).on('submit', function (event) {
989        formButtons.css({'cursor': 'progress', 'opacity': '0.7', 'filter': 'alpha(opacity=70)'});
990        jQuery(formButtons).on('click', diableForm);
991        timerID = setTimeout(function(){
992            resetAttr(formButtons);
993        }, timeout);
994        jQuery(window).on('unload', function () {
995            resetAttr(formButtons);
996        });
997        if (timeoutSec < 15) {
998            jQuery(document).on('keyup', escPress);
999        }
1000    });
1001}
1002function togglePass() {
1003    jQuery('.toggle-pass').on('click', function (e) {
1004        jQuery(this).toggleClass('fa-eye fa-eye-slash');
1005        var input = jQuery(this).prev('input');
1006        if (input.attr('type') == 'text') {
1007            input.attr('type','password');
1008        } else {
1009            input.attr('type','text');
1010        }
1011    });
1012}

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.