PageSourceSearch

https://www.1955ayi.com/include/store.js

js 1955ayi.com collected 2026-10-07 00:10:49 UTC 21,179 bytes, 733 lines download raw bytes

1/*function total_ajax(id,pro_id,key,transport_price,transport_limit_price,size){//產品總計
2	var xmlHttp;
3	var url='total_ajax.php?act=show_total&id='+id+'&pro_id='+pro_id+'&useno='+key+'&transport_price='+transport_price+'&transport_limit_price='+transport_limit_price+'&size='+size;
4	if (window.ActiveXObject) { 
5  		xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
6	}else if(window.XMLHttpRequest){ 
7   		xmlHttp = new XMLHttpRequest();
8 	} 
9 	xmlHttp.onreadystatechange = function(){
10  		if(xmlHttp.readyState == 4){
11			data_array=xmlHttp.responseText;
12            var arrayStr=data_array.split(",");  
13   			document.getElementById('total_value').innerHTML = arrayStr[0];
14			document.getElementById('transport_value').innerHTML = arrayStr[1];
15			document.getElementById('total_price_'+pro_id+size).innerHTML = arrayStr[2];
16			document.getElementById('all_total_price').innerHTML = arrayStr[3];
17  		}
18 	}
19	xmlHttp.open("GET",url,true);
20	xmlHttp.send(null);
21}*/
22
23function countBytes(inputString) {
24   let byteCount = 0;
25  for (let i = 0; i < inputString.length; i++) {
26    const char = inputString.charAt(i);
27    const charCode = inputString.charCodeAt(i);
28    if (
29        (charCode >= 0x4E00 && charCode <= 0x9FFF) || // 中文字
30        (charCode >
30= 0x3040 && charCode <= 0x309F) || // 日文平假
31        (charCode >= 0x30A0 && charCode <= 0x30FF) || // 日文片假
32        (charCode >= 0xAC00 && charCode <= 0xD7AF) || // 韓
33        (charCode >= 0x0E00 && charCode <= 0x0E7F) || // æ³°
34        (charCode >= 0x1E00 && charCode <= 0x1EFF) || // 越南
35        (charCode >= 0x3400 && charCode <= 0x4DBF)   // 简中
36      ) {
37      byteCount += 2; 
38    } else {
39      byteCount += 1; 
40    }
41  }
42  return byteCount;
43}
44
45function onloadStoreForm() {
46  var form = document.getElementsByName("store_form")[0];
47  if(form){
48      var toNameField = form.querySelector('input[name="to_name"]');
49      var same_check = form.querySelector('input[name="same"]');
50      toNameField.addEventListener("change", function() {
51
52        if (toNameField) {
53          var inputString = toNameField.value;
54          if(countBytes(inputString)>10){
55              alert("很抱歉,收件人字元過長,中文字約2-5字,半形英文約4-10字")
56              toNameField.value='';
57			  SaveOrderData('to_name','')
58              return false;
59          }
60        } 
61      });
62      same_check.addEventListener("change", function() {
63        if(this.checked){
64            if (toNameField) {
65              var inputString = toNameField.value;
66              if(countBytes(inputString)>10){
67                  alert("很抱歉,收件人字元過長,中文字約2-5字,半形英文約4-10字")
68                  toNameField.value='';
69				  SaveOrderData('to_name','')
70                  return false;
71              }
72            }
73         }else{
74            toNameField.value='';
75         }
76      });
77  }
78};
79function CalOrderTotal(){//計算訂單總金額
80	var xmlHttp;
81	var url='total_ajax.php?act=ShowOrderTotal';
82	if (window.ActiveXObject) { 
83  		xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
84	}else if(window.XMLHttpRequest){ 
85   		xmlHttp = new XMLHttpRequest();
86 	} 
87 	xmlHttp.onreadystatechange = function(){
88  		if(xmlHttp.readyState == 4){
89			data_array=xmlHttp.responseText;
90            var arrayStr=data_array.split(","); 
91			document.getElementById('OrderTotal').innerHTML = 'NT$ '+arrayStr[0];
92			if(document.getElementById('ShipFee')){
93				document.getElementById('ShipFee').innerHTML = 'NT$ '+arrayStr[1];
94			}
95			
96  		}
97 	}
98	xmlHttp.open("GET",url,true);
99	xmlHttp.send(null);
100}
101function CheckCode(code){
102	var xmlHttp;
103	var url='total_ajax.php?act=ShowDiscount&code='+code;
104	if (window.ActiveXObject) { 
105  		xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
106	}else if(window.XMLHttpRequest){ 
107   		xmlHttp = new XMLHttpRequest();
108 	} 
109 	xmlHttp.onreadystatechange = function(){
110		if(xmlHttp.readyState == 4){
111			data_array=xmlHttp.responseText;
112            var arrayStr=data_array.split("#"); 
113			if(code!=''){
114				document.getElementById('DiscountStr').innerHTML = '※'+arrayStr[1]+'※<span>-NT$ '+arrayStr[0]+'</span>';
115			}else{
116				document.getElementById('DiscountStr').innerHTML = '&nbsp;<span>&nbsp;</span>';
117			}
118			
119
120  		}
121 	}
122	xmlHttp.open("GET",url,true);
123	xmlHttp.send(null);
124}
125function CheckPayShip(target,value){
126	var reload_target='';
127	var reload_val='';
128	var check_payment = '';
129	var check_shipment = '';
130	
131		if(target=='payment'){ 
132			var shipmentvalue=$('input[name="shipment"]:checked').val();
133			if(value=='1'){//付款方式為貨到付款時
134				if(shipmentvalue=='1'){ //判斷若運送方式為自取則取消並disable
135					$('input[name="shipment"]').prop('checked', false);
136					reload_target='shipment';
137					reload_val='';
138				}
139				$('input[name="shipment"][value="1"]').prop('disabled', true);
140			}else{
141				$('input[name="shipment"][value="1"]').prop('disabled', false);
142			}
143		}
144		if(target=='shipment'){
145			var paymentvalue=$('input[name="payment"]:checked').val();
146			if(value=='1' ){//運送方式為自取時
147				if(paymentvalue=='1'){ //若付款方式為貨到付款 則取消並disable
148					$('input[name="payment"]').prop('checked', false);
149					reload_target='payment';
150					reload_val='';
151				}
152				$('input[name="payment"][value="1"]').prop('disabled', true);
153			}else{
154				$('input[name="payment"][value="1"]').prop('disabled', false);
155			}
156			
157		}
158		if(reload_target!=''){
159		
160			var xmlHttp;
161			var url='./order_data_ajax.php?act=save_orderdata&target='+reload_target+'&value='+reload_val;
162			if (window.ActiveXObject) { 
163				xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
164			}else if(window.XMLHttpRequest){ 
165				xmlHttp = new XMLHttpRequest();
166			} 
167			xmlHttp.open("GET",url,true);
168			xmlHttp.send(null);
169		}
170	
171		if($('input[name="payment"]:checked').data('typename')){
172			check_payment=$('input[name="payment"]:checked').data('typename');
173		}
174		if($('input[name="shipment"]:checked').data('typename')){
175			check_shipment=$('input[name="shipment"]:checked').data('typename');
176		}
177	
178		document.getElementById('PayTypeStr').innerHTML = check_payment
179		document.getElementById('ShipTypeStr').innerHTML = check_shipment
180	
181		
182}
183function SaveOrderData(target,value){ //紀錄訂單資料
184		if(target=='shipment' || target=='payment'){
185			CheckPayShip(target,value)
186		}
187		if(target=='DiscountCode' ){
188			CheckCode(value)
189		}
190		var xmlHttp;
191		var url='./order_data_ajax.php?act=save_orderdata&target='+target+'&value='+value;
192		if (window.ActiveXObject) { 
193			xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
194		}else if(window.XMLHttpRequest){ 
195			xmlHttp = new XMLHttpRequest();
196		} 
197		xmlHttp.open("GET",url,false);
198		xmlHttp.send(null);
199	
200		CalOrderTotal();
201}
202
203function total_ajax(pro_num,pro_key,store_useno,element_id){//car 產品數量變動ajax總計
204	if(parseInt(pro_num,10)<=0 || pro_num==='' ){
205		alert("很抱歉數量不得為0");
206		pro_num=1;
207	}
208	var xmlHttp;
209	var url='total_ajax.php?act=show_total&pro_num='+parseInt(pro_num,10)+'&pro_key='+pro_key+'&useno='+store_useno;
210	if (window.ActiveXObject) { 
211  		xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
212	}else if(window.XMLHttpRequest){ 
213   		xmlHttp = new XMLHttpRequest();
214 	} 
215 	xmlHttp.onreadystatechange = function(){
216  		if(xmlHttp.readyState == 4){
217			data_array=xmlHttp.responseText;
218            var arrayStr=data_array.split(","); 
219			document.getElementById('total_price_'+pro_key).innerHTML = arrayStr[0];
220   			document.getElementById('all_total_price').innerHTML = arrayStr[1];
221			document.getElementById(element_id).value = pro_num === '' ? 0 : parseInt(pro_num, 10);
222			if(arrayStr[2]=='Error01'){
223				alert("很抱歉,此商品最大數量剩餘"+arrayStr[3]+"個");
224				document.getElementById(element_id).value=arrayStr[3];
225			}
226  		}
227 	}
228	xmlHttp.open("GET",url,true);
229	xmlHttp.send(null);
230}
231function change_sku(){
232	var ckn = document.getElementById('ckn').value;
233	var pro_id= document.getElementById('pro_id').value;
234	var numElement = document.getElementById('num');
235	
236	var color_id = null;
237	var size_id = null;
238	if ($('input[name="color"]').length > 0) {
239        color_id = $('input[name="color"]:checked').val();
240    }
241	if ($('input[name="size"]').length > 0) {
242        size_id = $('input[name="size"]:checked').val();
243    }
244	/*if (numElement) {
245		if (numElement.hasAttribute('data-minc')) {
246			var buylimitcount = numElement.getAttribute('data-minc');
247			console.log("data-minc 值為:", buylimitcount);
248		}
249	} */
250	$.ajax({
251		url:"sku_ajax.php",
252		method:"POST",
253		data:{
254			PW:ckn,
255			color_id :color_id,
256			size_id :size_id,
257			pro_id :pro_id,
258		},
259		dataType:'json',
260		cache:false,
261		error:function(){
262			console.log("Error");
263		},
264		success:function(sku_val){
265			//console.log(sku_val);
266			if(sku_val['price']){
267				if(sku_val['ori_price']!='0' && sku_val['ori_price']!== null  && sku_val['ori_price']!== 'null'  ){
268					var price_str = $('#price').data('show');
269					var ori_price_str = $('#ori_price').data('show');
270					$('#ori_price').html(ori_price_str+sku_val['ori_price']);
271				}else{
272					var price_str = 'NT$ ';
273					$('#ori_price').html('');
274				}
275				
276				if(sku_val['price']==0){
277					$('#price').html('很抱歉,無此規格商品');
278					document.getElementById('add_to_cart').style.display = 'none';
279					document.getElementById('count_inp').style.display = 'none';
280					if (numElement) {
281						numElement.setAttribute('data-minc', '0');
282					}
283				}else{
284					$('#price').html(price_str+sku_val['price']);
285					document.getElementById('add_to_cart').style.display = '';
286					document.getElementById('count_inp').style.display = '';
287					if (numElement) {
288						if(sku_val['stock']<=0){
289						   $('#price').html('很抱歉,目前尚無庫存');
290						   document.getElementById('add_to_cart').style.display = 'none';
291						   document.getElementById('count_inp').style.display = 'none';
292						}else{
293							numElement.setAttribute('data-minc', sku_val['stock']);
294						}
295						
296					}
297				}
298			}
299			
300		}
301	})
302}
303function add_cart(tp){
304	var is_color_arr=document.getElementsByName("color");
305	if(is_color_arr.length>0){
306		var is_color_choice = false;
307		var get_color_value='';
308		for(var i=0;i<is_color_arr.length;i++){
309		  if(is_color_arr[i].checked){
310			 is_color_choice = true; 
311			 get_color_value=is_color_arr[i].value;
312		  } 
313		}
314		if (!is_color_choice) {
315		  const ColorspecText = document.getElementById('spec_val_1').innerText; 
316		  alert("請選擇"+ColorspecText+"!")
317		  return false;
318		}	
319	}
320	
321	var is_size_arr=document.getElementsByName("size");
322	if(is_size_arr.length>0){
323		var is_size_choice = false;
324		var get_size_value='';
325		for(var i=0;i<is_size_arr.length;i++){
326			
327		  if(is_size_arr[i].checked){
328			 is_size_choice = true; 
329			 get_size_value=is_size_arr[i].value;
330		  } 
331		}
332		if (!is_size_choice) {
333		  const SizespecText = document.getElementById('spec_val_2').innerText; 
334		  alert("請選擇"+SizespecText+"!")
335		  return false;
336		}
337	}
338	var numElement = document.getElementById('num');
339	if (numElement) {
340		if (numElement.hasAttribute('data-minc')) {
341			var buylimitcount = numElement.getAttribute('data-minc');
342			//console.log("data-minc 值為:", buylimitcount);
343		}
344	} 
345	if(tp =='car'){
346		if(!document.getElementById("num").value){
347			alert("請輸入數量");
348			return false;		
349		}
350		if (numElement) {
351			if(parseInt(document.getElementById("num").value,10)>parseInt(buylimitcount,10)){
352				alert("很抱歉,此商品數量剩餘"+buylimitcount+"個");
353				return false;
354			}
355		}
356		if(document.getElementById("num").value<=0){
357			alert("數量不得小於0");
358			return false;	
359		}
360	}else{
361		document.getElementById('inquiry_car_size_id').value=get_size_value;
362		document.getElementById('inquiry_car_color_id').value=get_color_value;
363	}
364}
365
366//線上簡訊發送
367/*function SendMsg(){
368	if(!document.send_msg.name.value){
369		alert("聯絡人未填寫");
370		return false;
371	}
372	if(!document.send_msg.tel.value){
373		alert("電話未填寫");
374		return false;
375	}
376	if(!document.send_msg.checknum_2.value){
377		alert("驗證碼未填寫");
378		return false;
379	}
380}*/
381//首頁估價單
382/*function SendAllStore(){
383	
384	if(!document.send_all_form.name.value){
385		alert("客戶名稱必填");
386		return false;
387	}
388	if(!document.send_all_form.phone.value){
389		alert("手機必填");
390		return false;
391	}
392	if(!document.send_all_form.tel.value){
393		alert("電話必填");
394		return false;
395	}
396	if(!document.send_all_form.city.value){
397		alert("招標區域必填");
398		return false;
399	}
400	if(!document.send_all_form.area.value){
401		alert("招標鄉鎮必填");
402		return false;
403	}
404	if(!document.send_all_form.address.value){
405		alert("招標地址必填");
406		return false;
407	}
408	if(!document.send_all_form.checknum.value){
409		alert("驗證碼未填寫!");
410		return false;
411	}
412	
413}*/
414//產品問與答
415/*function SendProAsk(){
416	if(!document.send_ask.name.value){
417		alert("提問者稱呼未填寫!");
418		return false;
419	}
420	if(!document.send_ask.qus.value || document.send_ask.qus.value=='提出問題,不得超過100字'){
421		alert("問題未填寫!");
422		return false;
423	}
424	if(!document.send_ask.mail.value){
425		alert("mail未填寫!");
426		return false;
427	}
428	if(!document.send_ask.checknum.value){
429		alert("驗證碼未填寫!");
430		return false;
431	}
432}*/
433function SavePayMethod(key){//購物車選取付款方式
434	var xmlHttp;
435	var url='pay_method_ajax.php?act=show_data&key='+key;
436	if (window.ActiveXObject) { 
437  		xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
438	}else if(window.XMLHttpRequest){ 
439   		xmlHttp = new XMLHttpRequest();
440 	} 
441	xmlHttp.open("GET",url,true);
442	xmlHttp.send(null);
443}
444
445
446function area_ajax(id,key){//地區
447	var xmlHttp;
448	var url='area_ajax.php?act=show_city&id='+id+'&city='+key;
449	if (window.ActiveXObject) { 
450  		xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
451	}else if(window.XMLHttpRequest){ 
452   		xmlHttp = new XMLHttpRequest();
453 	} 
454 	xmlHttp.onreadystatechange = function(){
455  		if(xmlHttp.readyState == 4){
456   			document.getElementById('area_value').innerHTML = xmlHttp.responseText;
457  		}
458 	}
459	xmlHttp.open("GET",url,true);
460	xmlHttp.send(null);
461}
462//產品訂購
463function StoreOrderPro(){
464	if(!document.store_form.order_name.value){
465		alert("訂購人未填寫!");
466		return false;
467	}
468	if(!document.store_form.order_tel.value){
469		alert("聯絡電話未填寫!");
470		return false;
471	}
472	if(!document.store_form.order_email.value){
473		alert("Email未填寫!");
474		return false;
475	}
476	RegExpPtn = /\w[\w.-]+@[\w-]+(\.\w{2,})+/gi;
477	if(!RegExpPtn.test(document.store_form.order_email.value)){
478		alert("Email格式不正確"); 
479		return false;
480	}
481	if(!document.store_form.to_name.value){
482		alert("收件人未填寫!");
483		return false;
484	}
485	if(!document.store_form.to_tel.value){
486		alert("聯絡電話未填寫!");
487		return false;
488	}
489	if(!document.store_form.to_address.value){
490		alert("地址未填寫!");
491		return false;
492	}
493	if(!document.store_form.checknum.value){
494		alert("驗證碼未填寫!");
495		return false;
496	}
497	if(!document.store_form.check_data.checked){
498		alert("確認訂單資訊必需勾選");
499		return false;
500	}
501}
502//產品詢價
503function StoreInquiryPro(){
504	if(!document.store_form.keynote.value){
505		alert("主旨必需填寫");
506		return false;
507	}
508	if(!document.store_form.askinfo.value){
509		alert("詢問內容必需填寫");
510		return false;
511	}
512	if(!document.store_form.name.value){
513		alert("聯絡人必需填寫");
514		return false;
515	}
516	if(!document.store_form.tel.value){
517		alert("聯絡電話必需填寫");
518		return false;
519	}
520	
521	if(!document.store_form.mail.value){
522		alert("電子信箱必需填寫");
523		return false;
524	}
525	
526	if(!document.store_form.checknum.value){
527		alert("驗證碼必需填寫");
528		return false;
529	}
530	if(!document.store_form.check_data.checked){
531		alert("確認詢價單資訊必需勾選");
532		return false;
533	}
534}
535//產品訂購如同訂購人
536function SameOrder(){
537	document.store_form.to_name.value=document.store_form.order_name.value;
538	SaveOrderData('to_name',document.store_form.order_name.value);
539	
540	document.store_form.to_tel.value=document.store_form.order_tel.value;
541	SaveOrderData('to_tel',document.store_form.order_tel.value);
542}
543
544//聯絡我們
545function SendPriceStore(){
546	if(document.sendsp_form.contact_is.value==0){
547		if(!document.sendsp_form.name.value){
548			alert("姓名未填寫!");
549			return false;
550		}
551		if(!document.sendsp_form.tel.value){
552			alert("電話未填寫!");
553			return false;
554		}
555		if(!document.sendsp_form.phone.value){
556			alert("手機未填寫!");
557			return false;
558		}
559		if(!document.sendsp_form.msg.value){
560			alert("留言內容未填寫!");
561			return false;
562		}	
563	}
564	if(!document.sendsp_form.checknum.value){
565		alert("驗證碼未填寫!");
566		return false;
567	}
568}
569//作品寄信給店家
570function SendStore(){
571	if(!document.send_form.name.value){
572		alert("姓名未填寫!");
573		return false;
574	}
575	if(!document.send_form.mail.value){
576		alert("mail未填寫!");
577		return false;
578	}
579	if(!document.send_form.address.value){
580		alert("地址未填寫!");
581		return false;
582	}
583	if(!document.send_form.tel.value){
584		alert("電話未填寫!");
585		return false;
586	}
587	if(!document.send_form.checknum.value){
588		alert("驗證碼未填寫!");
589		return false;
590	}
591	if(!document.send_form.message.value){
592		alert("訊息未填寫!");
593		return false;
594	}
595}
596//營業項目更多
597function MoreItem(a,b){
598	 if(a=='yes'){
599		 document.getElementById('show_item'+b).style.display="";
600		 document.getElementById('NoButton'+b).style.display="none";
601		 document.getElementById('YesButton'+b).style.display="";
602	 }else if(a=='no'){
603	 	document.getElementById('show_item'+b).style.display="none";
604		document.getElementById('NoButton'+b).style.display="";
605		document.getElementById('YesButton'+b).style.display="none";
606	 }
607}
608//匯款回報
609function SendPrice(){
610	if(!document.send_form.order_num.value){
611		alert("訂單編號未填寫!");
612		return false;
613	}
614	if(!document.send_form.account_id.value){
615		alert("帳號末五碼未填寫!");
616		return false;
617	}
618	if(!document.send_form.price.value){
619		alert("匯款金額未填寫!");
620		return false;
621	}
622	if(!document.send_form.pay_date.value){
623		alert("匯款日期未填寫!");
624		return false;
625	}
626	if(!document.send_form.name.value){
627		alert("匯款者姓名未填寫!");
628		return false;
629	}
630	if(!document.send_form.tel.value){
631		alert("匯款者電話未填寫!");
632		return false;
633	}
634	if(!document.send_form.checknum.value){
635		alert("驗證碼未填寫!");
636		return false;
637	}
638}
639//會員註冊
640function MemRegist(){
641	if(!document.store_form.useno.value){
642		alert("帳號未填寫!");
643		return false;
644	}
645	RegExpPtn = /\w[\w.-]+@[\w-]+(\.\w{2,})+/gi;
646	if(!RegExpPtn.test(document.store_form.useno.value)){
647		alert("帳號Email格式不正確"); 
648		return false;
649	}
650	if(!document.store_form.pwd.value){
651		alert("密碼未填寫!");
652		return false;
653	}
654	if(document.store_form.pwd2.value != document.store_form.pwd.value){
655		alert("密碼兩次未相同!");
656		return false;
657	}
658	if(!document.store_form.name.value){
659		alert("中文姓名未填寫!");
660		return false;
661	}
662	var CheckFlag;
663	CheckFlag = false
664	for(var i=0;i<store_form.sex.length;i++){
665		CheckFlag = (CheckFlag || store_form.sex[i].checked);
666	}
667	if(!CheckFlag){
668		alert("性別必需選取");
669		return false;
670	}	
671	if(!document.store_form.tel.value){
672		alert("電話未填寫!");
673		return false;
674	}
675	if(!document.store_form.phone.value){
676		alert("手機未填寫!");
677		return false;
678	}
679	if(!document.store_form.address.value){
680		alert("地址未填寫!");
681		return false;
682	}
683	if(!document.store_form.is_agree.checked){
684		alert("確認同意未勾選!");
685		return false;
686	}
687}
688//會員登入
689function MemLogin(){
690	if(!document.store_form.useno.value){
691		alert("帳號未填寫!");
692		return false;
693	}
694	if(!document.store_form.pwd.value){
695		alert("密碼未填寫!");
696		return false;
697	}
698}
699//會員資料修改
700function MemEdit(){
701	if(!document.store_form.name.value){
702		alert("中文姓名未填寫!");
703		return false;
704	}
705	if(!document.store_form.tel.value){
706		alert("電話未填寫!");
707		return false;
708	}
709	if(!document.store_form.phone.value){
710		alert("手機未填寫!");
711		return false;
712	}
713	if(!document.store_form.address.value){
714		alert("地址未填寫!");
715		return false;
716	}
717}
718//密碼修改
719function ChangePwd(){
720	if(!document.store_form.pwd.value){
721		alert("舊密碼未填寫!");
722		return false;
723	}
724	if(!document.store_form.new_pwd.value){
725		alert("新密碼未填寫!");
726		return false;
727	}
728	if(document.store_form.new_pwd.value != document.store_form.new_pwd2.value){
729		alert("密碼兩次未相同!");
730		return false;
731	}
732
733}

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.