PageSourceSearch

https://www.dermed.jp/store/contents/js/FreePage.js?var=20261005_test

js dermed.jp collected 2026-10-05 02:44:02 UTC 16,554 bytes, 532 lines download raw bytes

1/**
2 * フリーページ のJavaScript実装ファイルです。
3 * standard.js及び、eltex.standard.jsのfunctionを利用しています。
4 * 履歴   : WebSystemGenerator-latest, Created
5 * @since 2015/03/23
6 */
7
8function initializeScreen(form, screenItem) {
9	// フォームにハイフンが入ってきたら取り除く
10	trimHyphen('postCode');
11	trimHyphen('telNoPre');
12	trimHyphen('telNoMiddle');
13	trimHyphen('telNoPost');
14	trimHyphen('creditCardNo');
15	trimHyphen('orderPostCode');
16	trimHyphen('orderTelNoPre');
17	trimHyphen('orderTelNoMiddle');
18	trimHyphen('orderTelNoPost');
19
20	changeScreenStatusByDestinationAlterFlg();
21	changeScreenStatusBySettlementSelect();
22	changeScreenStatusByCouponSelect();
23	autoKanaInput();
24	/**amazonLogin(); */
25}
26
27/**
28 * アマゾンログイン情報を画面に展開します。
29 */
30function amazonLogin() {
31	if (!getGetParameter()) {
32		return;
33	}
34	var accessToken = getGetParameter().access_token;
35	if (!accessToken) {
36		return;
37	}
38	setValue('selectedPaymentMethod', '1009', true);
39	$('#selectedPaymentMethod_0').trigger('change');
40	changeScreenStatusBySettlementSelect();
41	getAmazonProfile(accessToken,function (profileResponse) {
42		if(profileResponse.success) {
43			var postalCode = "";
44			if (profileResponse.profile.postal_code) {
45				postalCode = profileResponse.profile.postal_code;
46				// -を除く
47				postalCode = postalCode.replace("-", "");
48			}
49
50			var orgPostCode = getValue('orderPostCode');
51			setValue('orderPostCode', postalCode, false);
52			if (document.getElementById("orderPostCode")) {
53				onblurOrderPostCode(postalCode);
54			}
55
56			setValue('orderEmail', profileResponse.profile.email, false);
57			setValue('orderEmailConfirm', profileResponse.profile.email, false);
58
59			var name = hexNumRefToString(profileResponse.profile.name);
60			nameSplitArray = name.trim().split(/\s+/);
61
62			if (nameSplitArray.length === 0) {
63				return;
64			}
65			setValue('orderNameSei', nameSplitArray[0], false);
66
67			if (nameSplitArray.length === 1) {
68				return;
69			}
70
71			var joinedNameMei = name.replace(nameSplitArray[0], '').trim();
72			setValue('orderNameMei', joinedNameMei, false);
73		}
74	});
75}
76
77
78/**
79 * 届け先情報の表示切替を行います。
80 */
81function changeScreenStatusByDestinationAlterFlg() {
82    var destinationAlterValue = getValue("destinationAlterFlg");
83    if (destinationAlterValue == "1") {
84    	$('#destinationGroup').show();
85    	if (0 < $("#addressbookSearchButton").size()) {
86    		$('#addressbookSearchButton').show();
87    	}
88    }
89    else {
90    	$('#destinationGroup').hide();
91    	if (0 < $("#addressbookSearchButton").size()) {
92    		$('#addressbookSearchButton').hide();
93    	}
94    }
95}
96
97function changeScreenStatusByCouponSelect() {
98    var couponSelectValue = getValue("couponSelect");
99    if (couponSelectValue == "1") {
100    	$('#couponCodeArea').show();
101    	$('#couponListArea').hide();
102    }
103    else if (couponSelectValue == "2"){
104    	$('#couponCodeArea').hide();
105    	$('#couponListArea').show();
106    }
107    else {
108    	$('#couponCodeArea').hide();
109    	$('#couponListArea').hide();
110    }
111}
112
113/**
114 * お支払い方法の表示切替を行います。
115 * @returns {}
116 */
117function changeScreenStatusBySettlementSelect() {
118	var paymentMethodValue = getValue("selectedPaymentMethod");
119	var cardPaymentMethod = getValue("cardPaymentMethod");
120	if (!isNullorUndefinedorEmpty(cardPaymentMethod) && 0 <= cardPaymentMethod.indexOf(paymentMethodValue)) {
121		setValue('cardPaymentFlg', '1', true);
122		showArea("creditCardGroup");
123		var useCardType = getValue("useCardType");
124		if (useCardType == 2) {
125			showArea("cardInfo");
126			hideArea("registeredCardInfoLayoutGroup");
127		} else if (useCardType == 1) {
128			showArea("registeredCardInfoLayoutGroup");
129			hideArea("cardInfo");
130		}
131	} else {
132		setValue('cardPaymentFlg', '0', true);
133		hideArea("creditCardGroup");
134	}
135
136	var coveniPaymentMethod = getValue("coveniPaymentMethod");
137	if (!isNullorUndefinedorEmpty(coveniPaymentMethod) && paymentMethodValue == coveniPaymentMethod) {
138		showArea("conveniInfoGroup");
139	} else {
140		hideArea("conveniInfoGroup");
141	}
142
143	// AmazonPay
144	if ('1009' === paymentMethodValue) {
145		showArea('amazonWalletGroup');
146		setValue('destinationAlterFlg', 0, true);
147		changeScreenStatusByDestinationAlterFlg();
148		hideArea('destinationSelectGroup');
149	} else {
150		hideArea('amazonWalletGroup');
151		showArea('destinationSelectGroup');
152	}
153
154	// TODO 前払い等配送希望日指定不可の制御は別途考える
155//	if (paymentMethodValue == 23 || paymentMethodValue == 24 || paymentMethodValue == 26 || paymentMethodValue == 27) {	// 前払いは配送希望日指定不可対応
156//		$('#appointedDeliveryDateRow').hide();	// 注)このフィールド名は画面定義書でアラート表示判定でも使用している!
157//		$('#appointedDeliveryDate').val("");
158//	}
159//	else {
160//		$('#appointedDeliveryDateRow').show();
161//	}
162}
163
164/**
165 * お届け先に対し、フォーム部品の内容が変更された際に実行されるイベント処理です。
166 * @param sender 対象オブジェクト(お届け先)
167 * @param e イベント
168 */
169function onchangeDestinationAlterFlg(sender, e) {
170    if (isNullorUndefined(screenItem)) {
171        return false;
172    }
173
174    var isError = screenItem.checkDestinationAlterFlgAction();
175    if (isError) {
176        return false;
177    }
178
179    changeScreenStatusByDestinationAlterFlg();
180
181    var actionReturn = screenItem.onchangeDestinationAlterFlgAction(sender, e);
182    return actionReturn;
183}
184
185/**
186 * 登録済みカードを使用するに対し、クリックされた際に実行されるイベント処理です。
187 * @param sender 対象オブジェクト(登録済みカードを使用する)
188 * @param e イベント
189 */
190function onclickUseCardType0(sender, e) {
191    if (isNullorUndefined(screenItem)) {
192        return false;
193    }
194
195    var isError = screenItem.checkUseCardType0Action();
196    if (isError) {
197        return false;
198    }
199
200	showArea("registeredCardInfoLayoutGroup");
201	hideArea("cardInfo");
202
203    var actionReturn = screenItem.onclickUseCardType0Action(sender, e);
204    return actionReturn;
205}
206
207/**
208 * 新しいカードを使用するに対し、クリックされた際に実行されるイベント処理です。
209 * @param sender 対象オブジェクト(新しいカードを使用する)
210 * @param e イベント
211 */
212function onclickUseCardType1(sender, e) {
213    if (isNullorUndefined(screenItem)) {
214        return false;
215    }
216
217    var isError = screenItem.checkUseCardType1Action();
218    if (isError) {
219        return false;
220    }
221
222    showArea("cardInfo");
223    hideArea("registeredCardInfoLayoutGroup");
224
225    var actionReturn = screenItem.onclickUseCardType1Action(sender, e);
226    return actionReturn;
227}
228
229/**
230 * 住所(都道府県)に対し、フォーム部品の内容が変更された際に実行されるイベント処理です。
231 * @param sender 対象オブジェクト(住所(都道府県))
232 * @param e イベント
233 */
234function onchangeAreaCode(sender, e) {
235    if (isNullorUndefined(screenItem)) {
236        return false;
237    }
238
239    var isError = screenItem.checkAreaCodeAction();
240    if (isError) {
241        return false;
242    }
243
244	screenItem.onchangeAreaCodeAction(sender, e);
245    return true;
246}
247
248/**
249 * 郵便番号に対し、フォーカスを失った際に実行されるイベント処理です。
250 * @param sender 対象オブジェクト(郵便番号)
251 * @param e イベント
252 */
253function onblurPostCode(sender, e) {
254    if (isNullorUndefined(screenItem)) {
255        return false;
256    }
257
258    var isError = screenItem.checkPostCodeAction();
259    if (isError) {
260        return false;
261    }
262
263    screenItem.onblurPostCodeAction(sender, e);
264    return true;
265}
266
267/**
268 * 郵便番号検索に対し、クリックされた際に実行されるイベント処理です。
269 * @param sender 対象オブジェクト(郵便番号検索)
270 * @param e イベント
271 */
272function onclickPostCodeSearchButton(sender, e) {
273    if (isNullorUndefined(screenItem)) {
274        return false;
275    }
276
277    var isError = screenItem.checkPostCodeSearchButtonAction();
278    if (isError) {
279        return false;
280    }
281
282    screenItem.onclickPostCodeSearchButtonAction(sender, e);
283	onchangeAreaCode(null, null);
284    return true;
285}
286
287/**
288 * お支払い方法に対し、クリックされた際に実行されるイベント処理です。
289 * @param sender 対象オブジェクト(お支払い方法)
290 * @param e イベント
291 */
292function onclickSelectedPaymentMethod(sender, e) {
293    if (isNullorUndefined(screenItem)) {
294        return false;
295    }
296
297    var isError = screenItem.checkSelectedPaymentMethodAction();
298    if (isError) {
299        return false;
300    }
301
302    changeScreenStatusBySettlementSelect();
303
304    var actionReturn = screenItem.onclickSelectedPaymentMethodAction(sender, e);
305    return actionReturn;
306}
307
308/**
309 * 確認ページに進むに対し、クリックされた際に実行されるイベント処理です。
310 * @param sender 対象オブジェクト(確認ページに進む)
311 * @param e イベント
312 */
313function onclickMemberSaveButton(sender, e) {
314    if (isNullorUndefined(screenItem)) {
315        return false;
316    }
317
318	// チェック前に非表示エリアのフォームを初期化する
319	var selectedPaymentMethod = getValue('selectedPaymentMethod');
320	if (!isNullorUndefinedorEmpty(selectedPaymentMethod) && $('#credit
320CardGroup').is(':hidden')) {
321		$('#creditCardNo').val(''); // カード番号
322		$('#securityCode').val(''); // セキュリティコード
323		$('#tokenCode').val(''); // カードトークン
324	}
325	var destinationAlterFlg = getValue("destinationAlterFlg");
326	if (!isNullorUndefinedorEmpty(destinationAlterFlg) && $('#destinationGroup').is(':hidden')) {
327		$('#postCode').val(''); // 郵便番号
328		$('#telNoPre').val(''); // 電話番号
329		$('#telNoMiddle').val(''); // 電話番号
330		$('#telNoPost').val(''); // 電話番号
331	}
332
333    var isError = screenItem.checkMemberSaveButtonAction();
334    if (isError) {
335        return false;
336    }
337
338	// クレジットカードトークン対応
339	var cardPaymentMethod = getValue('cardPaymentMethod');
340	var selectedPaymentMethod = getValue('selectedPaymentMethod');
341	if (!isNullorUndefinedorEmpty(cardPaymentMethod) && !isNullorUndefinedorEmpty(selectedPaymentMethod) && 0 <= cardPaymentMethod.indexOf(selectedPaymentMethod)) {
342		// カード決済
343		if (getValue('useCardType') === '2') {
344			var cardPayWithTokenObject = getCardPayWithTokenObject(selectedPaymentMethod);
345			if ('undefined' !== typeof cardPayWithTokenObject) {
346				if(getValue('tokenCode') === '') {
347					cardPayWithTokenObject.setToken(function() {
348						screenItem.onclickMemberSaveButtonAction(sender, e);
349					});
350					return false;
351				}
352			}
353		}
354	}
355
356    var actionReturn = screenItem.onclickMemberSaveButtonAction(sender, e);
357    return actionReturn;
358}
359
360/******************** 手動追記ここまで *********************/
361/**
362 * 郵便番号に対し、フォーカスを失った際に実行されるイベント処理です。
363 * @param sender 対象オブジェクト(郵便番号)
364 * @param e イベント
365 */
366function onblurOrderPostCode(sender, e) {
367    if (isNullorUndefined(screenItem)) {
368        return false;
369    }
370
371    var isError = screenItem.checkOrderPostCodeAction();
372    if (isError) {
373        return false;
374    }
375
376    var actionReturn = screenItem.onblurOrderPostCodeAction(sender, e);
377    return actionReturn;
378}
379
380/**
381 * 郵便番号検索に対し、クリックされた際に実行されるイベント処理です。
382 * @param sender 対象オブジェクト(郵便番号検索)
383 * @param e イベント
384 */
385function onclickOrderPostCodeSearchButton(sender, e) {
386    if (isNullorUndefined(screenItem)) {
387        return false;
388    }
389
390    var isError = screenItem.checkOrderPostCodeSearchButtonAction();
391    if (isError) {
392        return false;
393    }
394
395    var actionReturn = screenItem.onclickOrderPostCodeSearchButtonAction(sender, e);
396    return actionReturn;
397}
398
399/**
400 * 住所(都道府県)に対し、フォーム部品の内容が変更された際に実行されるイベント処理です。
401 * @param sender 対象オブジェクト(住所(都道府県))
402 * @param e イベント
403 */
404function onchangeOrderAreaCode(sender, e) {
405    if (isNullorUndefined(screenItem)) {
406        return false;
407    }
408
409    var isError = screenItem.checkOrderAreaCodeAction();
410    if (isError) {
411        return false;
412    }
413
414    var actionReturn = screenItem.onchangeOrderAreaCodeAction(sender, e);
415    return actionReturn;
416}
417
418/**
419 * アドレス帳から選ぶに対し、フォーカスを失った際に実行されるイベント処理です。
420 * @param sender 対象オブジェクト(アドレス帳から選ぶ)
421 * @param e イベント
422 */
423function onblurAddressBookList(sender, e) {
424    if (isNullorUndefined(screenItem)) {
425        return false;
426    }
427
428    var isError = screenItem.checkAddressBookListAction();
429    if (isError) {
430        return false;
431    }
432
433    var actionReturn = screenItem.onblurAddressBookListAction(sender, e);
434    return actionReturn;
435}
436
437/**
438 * お届け先一覧から選択するに対し、クリックされた際に実行されるイベント処理です。
439 * @param sender 対象オブジェクト(お届け先一覧から選択する)
440 * @param e イベント
441 */
442function onclickAddressbookSearchButton(sender, e) {
443    if (isNullorUndefined(screenItem)) {
444        return false;
445    }
446
447    var isError = screenItem.checkAddressbookSearchButtonAction();
448    if (isError) {
449        return false;
450    }
451
452    var actionReturn = screenItem.onclickAddressbookSearchButtonAction(sender, e);
453    return actionReturn;
454}
455
456/**
457 * ログインして購入ページに進むに対し、クリックされた際に実行されるイベント処理です。
458 * @param sender 対象オブジェクト(ログインして購入ページに進む)
459 * @param e イベント
460 */
461function onclickLoginButton(sender, e) {
462    if (isNullorUndefined(screenItem)) {
463        return false;
464    }
465
466    var isError = screenItem.checkLoginButtonAction();
467    if (isError) {
468        return false;
469    }
470
471    var actionReturn = screenItem.onclickLoginButtonAction(sender, e);
472    return actionReturn;
473}
474
475/**
476 * カナ自動入力対応
477 */
478function autoKanaInput() {
479    $.fn.autoKana('#orderNameSei', '#orderNameSeiKana', {
480        katakana : true
481    });
482    $.fn.autoKana('#orderNameMei', '#orderNameMeiKana', {
483        katakana : true
484    });
485}
486/**
487 * 違うカード番号を入力するに対し、クリックされた際に実行されるイベント処理です。
488 * @param sender 対象オブジェクト(違うカード番号を入力する)
489 * @param e イベント
490 */
491function onclickReEntryCreditCardNoButton(sender, e) {
492    if (isNullorUndefined(screenItem)) {
493        return false;
494    }
495
496    var isError = screenItem.checkReEntryCreditCardNoButtonAction();
497    if (isError) {
498        return false;
499    }
500
501	//カード番号を入力出来るようにして、自分を非表示に。カード番号もtokenCodeもクリア。
502	$('#creditCardNo').attr('readonly', false);
503	$('#enableMonth').attr('readonly', false);
504	$('#enableYear').attr('readonly', false);
505	$('#enableMonth').attr('disabled', false);
506	$('#enableYear').attr('disabled', false);
507	$('#securityCode').attr('readonly', false);
508
509	$('#creditCardNo').removeClass('readonly');
510	$('#enableMonth').removeClass('readonly');
511	$('#enableYear').removeClass('readonly');
512	$('#securityCode').removeClass('readonly');
513
514	$('#reEntryCreditCardNoButton').css('display','none');
515	$('#tokenCode').val('');
516	$('#creditCardNo').val('');
517	$('#enableMonth_disabled_hidden').remove();
518	$('#enableYear_disabled_hidden').remove();
519	$('#enableMonth').attr('name','enableMonth');
520	$('#enableYear').attr('name','enableYear');
521	$('#enableMonth').each(function() {
522	    this.selectedIndex  = 0;
523	});
524	$('#enableYear').each(function() {
525	    this.selectedIndex  = 0;
526	});
527	$('#securityCode').val('');
528
529    var actionReturn = screenItem.onclickReEntryCreditCardNoButtonAction(sender, e);
530    return actionReturn;
531}
532

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.