PageSourceSearch

https://iphone-shuuri.jp/js/page-shop-reserve.js

js iphone-shuuri.jp collected 2026-10-04 15:11:21 UTC 8,670 bytes, 315 lines download raw bytes

1var shopArray = new Array();
2
3window.onload = function (event) {
4	event.preventDefault();
5
6	if (sendID == "") {
7		$.ajax({
8			url: './async-shop-reserve.php',
9			method: 'POST',
10			data: { 's': 'shopList' },
11			timeout: 10000,
12
13			success: function (res) {
14				var dataKind = new Array();
15				dataKind = res.split('\n');
16				var i;
17				var onTime = new Array();
18				var shopList = new Array();
19				shopList = dataKind[0].split('*');
20				var shopLen = shopList.length;
21
22				$('#sr-shoplist').empty();
23
24				var shopPristr = '<option value="">店舗を選択してください</option>';
25				$('#sr-shoplist').append(shopPristr);
26
27				for (i = 0; i < shopLen; i++) {
28					if (shopList[i] != "") {
29						var shopInfo = new Array();
30						shopInfo = shopList[i].split(':');
31						/*shopArray[i] = new Array();*/
32						shopArray[i] = shopInfo;
33
34						if (shopInfo[0] == tarShop && tarShop != "") {
35							var tmpStr = " selected";
36							onTime[0] = shopInfo[2];
37							onTime[1] = shopInfo[3];
38						} else {
39							var tmpStr = "";
40						}
41
42						var str = '<option value="' + shopInfo[0] + '"' + tmpStr + '> ' + shopInfo[1] + '店</option>';
43						$('#sr-shoplist').append(str);
44					}
45				}
46				if (tarShop != "") {
47					/* 下北沢店は予約受付を11:00から*/
48					if (tarShop == "shimokitazawa") {
49						onTime[0] = 11;
50					}
51					$('[name=c3]').empty();
52					$('[name=c3]').append('<option value=""></option>');
53					for (i = onTime[0]; i < onTime[1]; i++) {
54						/* つくば店は10:30から受付 */
55						if (i == onTime[0] && tarShop == "tsukuba") {
56						} else {
57							$('[name=c3]').append('<option value="' + i + ':00">' + i + ':00</option>');
58						}
59						$('[name=c3]').append('<option value="' + i + ':30">' + i + ':30</option>');
60					}
61				}
62
63				var itemList = new Array();
64				itemList = dataKind[1].split('*');
65				var itemLen = itemList.length;
66
67				$('#sr-itemlist').empty();
68
69				var itemPristr = '<option value="">修理機種を選択してください</option>';
70				$('#sr-itemlist').append(itemPristr);
71
72				for (i = 0; i < itemLen; i++) {
73					if (itemList[i] != "") {
74						var str = '<option value="' + itemList[i] + '"> ' + itemList[i] + '</option>'
75						$('#sr-itemlist').append(str);
76					}
77				}
78
79				var repairList = new Array();
80				repairList = dataKind[2].split('*');
81				var repairLen = repairList.length;
82
83				$('#sr-repairlist').empty();
84				for (i = 0; i < repairLen; i++) {
85					if (repairList[i] != "") {
86						var str = '<p><label><input type="checkbox" name="c5[]" value="' + repairList[i] + '"> ' + repairList[i] + '</label></p>'
87						$('#sr-repairlist').append(str);
88					}
89				}
90
91			},
92			error: function () {
93				windo.alert('システムエラーです。');
94			}
95
96		});
97	} else {
98		$.ajax({
99			url: './async-shop-reserve.php',
100			method: 'POST',
101			data: { "s": "shop-reserve", "md": sendID, "shopid": tmpShop },
102			timeout: 10000,
103
104			success: function (res) {
105				var arr = new Array();
106				arr = res.split('|');
107
108				$('#sr-fs-st').text(arr[1]);
109				$('#sr-fs-store').text(arr[11]);
110				if (arr[3] != "") {
111					$('#sr-fs-datetime').html(arr[6] + ' ' + arr[7]);
112				} else {
113					$('#sr-fs-datetime-on').hide();
114				}
115				$('#sr-fs-item').text(arr[8]);
116				$('#sr-fs-repair').text(arr[9]);
117				$('#sr-fs-desc').text(arr[10]);
118				$('#sr-fs-name').text(arr[2]);
119				$('#sr-fs-tel').text(arr[3]);
120				$('#sr-fs-mail').text(arr[4]);
121
122			},
123			error: function () {
124				windo.alert('システムエラーです。');
125			}
126		});
127	}
128}
129
130$(document).on("change", "[name=c1]", function () {
131	var tmp = $(this).prop('selectedIndex');
132	var tmp2 = parseInt(tmp) - 1;
133
134	var tmpSelected = $(this).val();
135	console.log(tmpSelected, tmp2, tmp);
136
137	if (tmp != "") {
138		$('[name=c2]').val("");
139		$('[name=c3]').empty();
140		$('[name=c3]').append('<option value=""></option>');
141
142		$.ajax({
143			url: './async-shop-reserve.php',
144			method: 'POST',
145			data: {
146				s: "holiday",
147				t: tmpSelected,
148			},
149			timeout: 10000,
150			beforeSend: function (xhr, settings) { },
151			complete: function (xhr, textStatus) { },
152			/* 結果の受け取り( res に入っている )*/
153			success: function (res) {
154				var holidays = res.split("|");
155				$("#datepicker").datepicker("destroy");
156				$("#datepicker").removeClass("hasDatepicker").removeAttr('id');
157				$("input[name=c2]").attr("id", "datepicker");
158				$.datepicker.setDefaults($.datepicker.regional["ja"]);
159				var dateFormat = "yy/mm/dd";
160				$('#datepicker').datepicker({
161					dateFormat: dateFormat,
162					beforeShowDay: function (date) {
163						var holiday = $.datepicker.formatDate(dateFormat, date);
164						/*2023.06.04修正箇所*/
165						var _date = date.getDay();
166						console.log(_date);
167						console.log(shopArray);
168						if (shopArray[tmp2][0] == "ichikawa") {
169							if (_date == 1) {
170								return false;
171							}
172						} else if (shopArray[tmp2][0] == "shinkoiwa") {
173							if (_date == 2) {
174								return false;
175							}
176						} else if (shopArray[tmp2][0] == "koiwa") {
177							if (_date == 3) {
178								return false;
179							}
180						} else if (shopArray[tmp2][0] == "tsukuba") {
181							if (_date == 3) {
182								return false;
183							}
184						} else if (shopArray[tmp2][0] == "hanamaki") {
185							if (_date == 0) {
186								return false;
187							}
188							if (_date == 3) {
189								return false;
190							}
191						} else if (shopArray[tmp2][0] == "amagasaki") {
192							if (_date == 4) {
193								return false;
194							}
195						}
196						/*修正箇所ここまで*/
197						return [(holidays.indexOf(holiday) == -1), "", "お休み"];
198					},
199					minDate: '+1d',
200					maxDate: '+1m',
201				}).attr("readonly", "readonly");
202				var openTime = shopArray[tmp2][2];
203				var closeTime = shopArray[tmp2][3];
204				if (shopArray[tmp2][0] == "shimokitazawa") {
205					openTime = 11;
206				}
207				for (i = openTime; i < closeTime; i++) {
208					/* つくば店は10:30から受付*/
209					if (i == openTime && shopArray[tmp2][0] == "tsukuba") {
210					} else {
211						$('[name=c3]').append('<option value="' + i + ':00">' + i + ':00</option>');
212					}
213					$('[name=c3]').append('<option value="' + i + ':30">' + i + ':30</option>');
214					if (i == closeTime -1 && shopArray[tmp2][0] == "shizuokashimizu") {
215						$('[name=c3]').append('<option value="' + ( i+1 ) + ':00">' + ( i+1 ) + ':00</option>');
216					} else {
217					}
218				}
219
220				return false;
221			}, error: function () {
222				return false;
223			}
224		});
225
226	}
227});
228
229$(function () {
230	$('#datepicker').datepicker({
231		minDate: '+1d',
232		maxDate: '+1m'
233	}).attr("readonly", "readonly");
234	$.datepicker.setDefaults($.datepicker.regional["ja"]);
235
236	$('[name="c0"]:radio').change(function () {
237		if ($('#sl-btn1').prop('checked')) {
238			$('#sr-formdesc').show();
239			$('.datetime-select').hide();
240		} else if ($('#sl-btn2').prop('checked')) {
241			$('#sr-formdesc').show();
242			$('.datetime-select').show();
243		}
244	});
245
246	$('#shopreserve-form').submit(function () {
247		var result = confirm('この内容でメッセージを送信します。よろしいですか?');
248
249		if (result) {
250			var str = "";
251
252			if ($('[name=c8]') != "") {
253				if (!$('[name=c8]').val().match(/^[0-9\-]+$/)) {
254					str += "電話番号が正しくありません。\n";
255				}
256			}
257
258			if ($('#sl-btn2').prop('checked')) {
259				if ($('[name=c2]').val() == "") {
260					str += "来店希望日時が選択されていません。\n";
261				}
262				if ($('[name=c3]').val() == "") {
263					str += "来店希望時間が選択されていません。";
264				}
265			}
266
267			if (str != "") {
268				window.alert(str);
269			} else {
270				event.preventDefault();
271
272				var form = $('#shopreserve-form');
273				var button = form.find('.submit-button');
274
275				$.ajax({
276					url: './async-shop-reserve.php',
277					type: form.attr('method'),
278					data: form.serialize(),
279					timeout: 10000,
280
281					beforeSend: function (xhr, settings) {
282						button.attr('disabled', true);
283					},
284					complete: function (xhr, textStatus) {
285						button.attr('disabled', false);
286					},
287					success: function (res) {
288						if (res == "ERR") {
289							alert("お問い合わせの送信に失敗しました。しばらくたってから改めてお試しください。");
290						} else {
291
292							var resArr = new Array();
293							resArr = res.split("_");
294
295							if ($(res[0].match(/^[0-9]+$/))) {
296								$('#reserve-send [name=md]').val(resArr[0]);
297								$('#reserve-send [name=shopid]').val(resArr[1]);
298								$('#reserve-send').submit();
299							} else {
300								alert("お問い合わせの送信に失敗しました。しばらくたってから改めてお試しください。");
301							}
302
303						}
304					},
305					error: function () {
306						alert('システムエラーです。');
307					}
308				});
309
310			}
311		} else {
312			return false;
313		}
314	});
315});

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.