PageSourceSearch

https://www.lungthong.com/cart

html lungthong.com collected 2026-09-25 01:35:11 UTC 92,219 bytes, 1,674 lines download raw bytes

1<!DOCTYPE html>
2<html lang="th" class="">
3<head>
4<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5<meta name="viewport" content="width=1200">
6<title>ตะกร้าสินค้า - หนังสือเก่าลุงทอง : Inspired by LnwShop.com (v2)</title>
7<link rel="canonical" href="https://www.lungthong.com/cart" />
8<meta http-equiv="content-language" content="th" />
9<meta name="description" content="จำหน่ายหนังสือเก่า, หนังสือมือสอง, นิยายจีน, พล นิกร กิมหงวน, หนังสือพระ, หนังสือสะสม" />
10<meta name="keywords" content="จำหน่ายหนังสือเก่า, หนังสือมือสอง, นิยายจีน, พล นิกร กิมหงวน, หนังสือพระ, หนังสือสะสม" />
11<meta property="thumbnail" content="https://inwfile.com/s-gd/lrcz49.jpg" />
12<meta property="og:title" content="ตะกร้าสินค้า" />
13<meta property="og:description" content="จำหน่ายหนังสือเก่า, หนังสือมือสอง, นิยายจีน, พล นิกร กิมหงวน, หนังสือพระ, หนังสือสะสม" />
14<meta property="og:image" content="https://inwfile.com/s-gd/lrcz49.jpg" />
15<meta property="og:type" content="website" />
16<meta property="og:url" content="https://www.lungthong.com/cart" />
17<link rel="alternate" hreflang="th" href="https://www.lungthong.com/cart" />
18<link rel="image_src" href="https://gd.lnwfile.com/_/gd/_raw/lr/cz/49.jpg" />
19<link rel="shortcut icon" href="https://gd.lnwfile.com/_/gd/_raw/7q/br/ny.png" />
20<link rel="apple-touch-icon" href="https://gd.lnwfile.com/_/gd/_raw/7q/br/ny.png">
21<link rel="icon" href="https://gd.lnwfile.com/_/gd/_raw/7q/br/ny.png" />
22<link rel="stylesheet" type="text/css" id="lnw-basic-css-file" href="https://www.lungthong.com/system/application/templates/lnwshop/default/_css/basic1200.min.css?t=20260810000051" />
23<link rel="stylesheet" type="text/css" href="https://www.lungthong.com/cache/lnwshop/651/862/css/20260708164854/style.css" />
24<link rel="preload" type="text/css" href="https://www.lungthong.com/system/application/modules/lnwbar/_css/color_style.min.css?t=20260901144946" as="style" onload="this.onload=null;this.rel='stylesheet'" />
25<link rel="preload" type="text/css" href="https://www.lungthong.com/system/application/modules/lnwbar/_css/lnw_icon.min.css?t=20220616" as="style" onload="this.onload=null;this.rel='stylesheet'" />
26<script type="text/javascript">
27	window._lckd = window._lckd || [];
28	function _lck(){window._lckd.push(arguments);}
29	_lck('config',{"policy_url":null,"web_domain":"www.lungthong.com","web_avatar":"https:\/\/gd.lnwfile.com\/_\/gd\/_resize\/100\/100\/lr\/cz\/49.jpg","web_ukey":"651862","cpath":"\/","customize":{"color":"#007BFF","default_consents":{"functionality_storage":1,"analytics_storage":1,"ad_storage":1},"position":"bottom","title":"เราใช้คุกกี้ !","image":"https:\/\/gd.lnwfile.com\/3gwx1s.png","desc":"เราใช้คุกกี้เพื่อเพิ่มประสิทธิภาพและมอบประสบการณ์ที่ดีที่สุดในการใช้งานเว็บไซต์ของเรา","close_button":0},"html":[]});
30</script>
vendor: 1 bytes, line 30
30
31<script async defer src="https://www.lnwshop.com/system/application/modules/lnwshopweb/_js/cookie_policy.js?t=20240612"></script>
31
32<meta name="robots" content="noindex">
33<link rel="preconnect" href="https://gd-up.lnwfile.com"></head>
34<body>
35<!-- 4zfExSL9Uy8mhGO2XuN31RfeohQG-esoMxDeUs5u1symlg-JqEzTpqJyYP9fyusP -->
36<!-- T4RwcgfVMuNwrEzFIaQbsYvsrMpNDnuyKUD_G6QZdpiHcjEaLhMh_YHwt62kf5nDj-zxJQ== -->
37<!-- NQidz6d0u2lVjfycHMRKCYThjLlqp4DG_BnNzEEj4ip_-V1hjvE2KA7bdWha5GHqgxd51Q== -->
38
39<!-- h6R1BnbRRJkHIj5H8-Y8lGXsTfJnv-Y30Ti54AyLH9rqGjq-Dk0W7a_GzOi-xRH5eXipAQ== - 0.1913 -->
40
41<div id="lnwbar-app"></div>
42<script language="JavaScript" type="text/javascript" src="https://www.lungthong.com/external/jquery/jquery-1.12.4.min.js"></script>
42
43<div id="ggHead">
44</div>
45
46<div id="gadget-1" config_id="1" class="widgetPage layout-main" data-scene="checkout" data-svars="{&quot;section_sub&quot;:&quot;cart&quot;,&quot;section_args&quot;:[]}"><div class="pageWrapper rb-hot-000 rb-new-000 rb-recommend-000 rb-sale-000 pageShirt">
47
48
49
50
51<div class="pageUnderwear page-checkout">
52<div id="gadget-4" config_id="4" class="widgetZone z-article"><div class="zoneShirt">
53<div id="gadget-29" config_id="29" class="widgetUnit u-section u-section-checkout u-section-checkout-cart"><a name="lnwcontent"></a><div class="unitShirt">    <div id="lnw_cartArea" class="checkoutBody">
54        <div class="cart_loader" :style="{display:(cart_loader?'block':'none')}"></div>
55        <div class="shopHeader">
56<div class="avatar"><a href="https://www.lungthong.com/"><img src="https://gd.lnwfile.com/_/gd/_resize/100/100/lr/cz/49.jpg"></a></div>
57<div class="name">
58<a href="https://www.lungthong.com/">หนังสือเก่าลุงทอง</a>
59<div class="desc">SHOP ID: 651862 <span class="status" status="">(ร้านเปิดปกติ)</span></div>
60</div>
61
62<div class="order_step order_step1"><div class="buystep step1 currentStep"><div class="point"></div><div class="line before"></div><div class="line after"></div><div class="text">ตะกร้าสินค้า</div></div><div class="buystep step2"><div class="point"></div><div class="line before"></div><div class="line after"></div><div class="text">ที่อยู่ในการจัดส่ง</div></div><div class="buystep step3"><div class="point"></div><div class="line before"></div><div class="line after"></div><div class="text">ตรวจสอบรายการสั่งซื้อ</div></div><div class="buystep step4"><div class="point"></div><div class="line before"></div><div class="line after"></div><div class="text">สั่งซื้อเรียบร้อย (รอชำระเงิน)</div></div></div>
63</div>        <div class="checkoutHeader">
64            <div class="checkoutBack">
65                <a class="cartBack" href="javascript:history.back()"><i
66                        class="icon"></i><span class="text">กลับไปหน้าที่แล้ว</span></a>            </div>
67            <h1>รายการสินค้าในตะกร้า</h1>
68        </div>
69        <div class="defaultMessage">
70            กรุณาตรวจสอบรายการสินค้าและเลือกวิธีการจัดส่ง จากนั้นคลิกปุ่ม “<b>สั่งซื้อสินค้า</b>” เพื่อไปขั้นตอนถัดไป        </div>
71        <div v-if="cart" class="cartBody" style="visibility: hidden;" :style="{visibility:(cart?'visibility':'hidden')}">
72                        <div class="cartZone">
73                <div class="headArea">
74                    <div class="detail">สินค้า</div>
75                    <div class="price">ราคา/ชิ้น</div>
76                    <div class="quantity">จำนวน</div>
77                    <div class="amount">ราคารวม</div>
78                </div>
79                <div class="productArea">
80                    <product-item v-for="item in cart.items" :key="item.iid" :item="item"></product-item>
81                </div>
82                <div class="productSummaryArea">
83                    <div class="title">สรุปรายการสินค้า</div>
84                    <div class="detail"><span>{{ cart.num }} รายการ</span>
85                        <span>{{ cart.quantity }} ชิ้น</span> <span
86                            v-if="checkweight"> น้ำหนักรวม {{ cart.weight }} กรัม</span>
87                    </div>
88                    <div class="text">ราคาสินค้าทั้งหมด</div>
89                    <div class="amount" :realpricex="cart.price.product">
90                        <div class="real"><span
91                                class="num">{{ amount_format(cart.price.product) }}</span> บาท                        </div>
92                        <div class="estimate"></div>
93                    </div>
94                </div>
95                                <div class="hasDiscountArea salePromotion" v-if="cart.discounts">
96                    <div v-for="(discount, index) in cart.discounts" class="discountArea">
97                        <div class="title">
98                            <div v-if="index==0">สรุปรายการส่วนลด</div>
99                        </div>
100                        <div class="detail">ส่วนลดจาก {{
101                            show_lang('CART-DISCOUNT-TYPE-'+discount.type.toUpperCase()) }} {{discount.name}}
102                        </div>
103                        <div class="text">คิดเป็นส่วนลด</div>
104                        <div class="amount" :realpricex="discount.price">
105                            <div class="real"><span
106                                    class="num">- {{ amount_format(discount.price) }}</span> บาท                            </div>
107                            <div class="estimate"></div>
108                        </div>
109                    </div>
110                    <div class="beforeshippingArea">
111                        <div class="text">ราคาหลังหักส่วนลด</div>
112                        <div class="amount" :realpricex="cart.price.product - cart.price.discount">
113                            <div class="real"><span class="num">{{ amount_format(cart.price.product - cart.price.discount)}}</span> บาท                            </div>
114                            <div class="estimate"></div>
115                        </div>
116                    </div>
117                </div>
118                                        <div v-if="!cart.is_no_shipping" class="deliveryArea">
119                            <div class="text">
120                                <b>ระยะเวลาจัดเตรียมสินค้า</b>
121                                {{cart_prepare_day}} วันทำการ หลังตรวจสอบยอดเงินเรียบร้อยแล้ว และไม่นับรวมระยะเวลาจัดส่ง                            </div>
122                                                                                        <div class="text weekday_text">
123                                    * ร้านหยุดวันหยุดสุดสัปดาห์ (วันเสาร์-อาทิตย์ และวันหยุดนักขัตฤก
123ษ์)                                </div>
124                                                    </div>
125                                                    <template v-if="!cart.is_no_shipping">
126                <div v-if="cart.is_product_no_shipping_type" class="shiptypeArea">
127                    <div class="shiptypeChoice">
128                        <div class="shiptype no_set">
129                            <div class="detail">จัดส่งแยกพัสดุ</div>
130                            <div class="text">ค่าจัดส่ง</div>
131                            <div class="price" :realpricex="cart.price.shipping">
132                                <div class="real">+&nbsp;<span class="num">{{ amount_format(cart.price.shipping) }}</span> บาท</div>
133                                <div class="estimate"></div>
134                            </div>
135                        </div>
136                    </div>
137                </div>
138                <div v-else class="shiptypeArea"
139                     :class="{chosen: (show_only_shiptype_chosen && (shipping_type_list.length > 1))}">
140                    <div class="checkoutHeader">
141                        <h2>เลือกวิธีการจัดส่งสินค้า</h2>
142                    </div>
143                                        <div class="shiptypeChoice">
144                        <label v-for="stype in shipping_type_list" :key="stype.id" class="shiptype"
145                               :class="{checked:(cart.shipping_type_id==stype.id)}">
146                            <div class="detail"><input type="radio" name="shipping_type"
147                                                                                 :value="stype.id"
148                                                                                 v-model="choose_shipping_type_id"/> &nbsp;{{ stype.name?stype.name:type_txt[stype.type] }}
149                                <div class="sub_detail">
150                                    <div class="shipping_custom" v-if="stype.description">{{stype.description}}</div>
151                                    <div class="shipping_delivery" v-if="stype.delivery_area">{{stype.delivery_area}}</div>
152                                    <div v-if="stype.period"
153                                         class="receive_time"> {{
154                                        stype.period }}
155                                    </div>
156                                    <div class="shipping_company"
157                                         v-if="stype.provider && stype.provider.length > 0">
158                                                                        <span
159                                                v-for="provider in stype.provider"><span
160                                                    :class="provider"></span></span>
161                                        <span class="info" v-if="stype.provider.length>1"
162                                              @mouseover="shiptype_over(stype)"
163                                              @mouseleave="shiptype_leave(stype)">?</span>
164                                        <div class="description" v-if="stype.provider.length>1"
165                                             :style="{display:(stype_info_hover==stype.id?'block':'none')}">
166                                            ทางร้านจะเลือกช่องทางที่เหมาะสมที่สุด
167                                        </div>
168                                    </div>
169                                    <div v-if="stype.cod_flag" class="shipping_tag tag_cod">ชำระเงินปลายทาง (COD)</div>
170                                </div>
171                            </div>
172                            <div class="text">ค่าจัดส่ง</div>
173                            <div v-if="stype.price===false" class="price" realpricex="">
174                                <div class="real">+&nbsp;<span class="num">x</span> บาท</div>
175                                <div class="estimate"></div>
176                            </div>
177                            <div v-else class="price" :realpricex="stype.price">
178                                <div class="full" v-if="stype.full_price"
179                                     style="text-decoration:line-through;color: #aaa;">+&nbsp;<span class="num">{{ amount_format(stype.full_price) }}</span> บาท                                </div>
180                                <div class="real minor" v-if="stype.format=='custom'">-</div>
181                                <div class="real" v-else>+&nbsp;<span
182                                        class="num">{{ amount_format(stype.price) }}</span> บาท                                </div>
183                                <div class="estimate"></div>
184                            </div>
185                        </label>
186                        <div class="change-shiptypeChoice" v-show="show_only_shiptype_chosen"
187                             @click="show_only_shiptype_chosen=0">เปลี่ยนวิธีการจัดส่ง</div>
188                    </div>
189                    <div v-if="(shipping_type_list.length==0) && (cart.shipping_types_rank.length==0)" class="noshipping_text">ร้านค้านี้ยังไม่ได้กำหนดวิธีการจัดส่งสินค้า ทำให้ไม่สามารถดำเนินการสั่งซื้อได้ กรุณา <a href="https://www.lungthong.com/contactus">ติดต่อกับทางร้าน</a></div>
190                    <div v-else-if="(shipping_type_list.length==0)" class="noshipping_text">ไม่มีวิธีการจัดส่งสินค้าที่ตรงตามเงื่อนไข ทำให้ไม่สามารถดำเนินการสั่งซื้อได้ กรุณา <a href="https://www.lungthong.com/contactus">ติดต่อกับทางร้าน</a></div>
191                </div>
192                </template>
193                                <div class="detailArea">
194                    <div class="title">
195                        <div class="text">เพิ่มเติมถึงร้านค้า</div>
196                        <div class="optional">(เว้นว่างได้)</div>
197                    </div>
198                    <div class="body"><textarea class="input" name="detail" v-model="cart.detail"
199                                                @change="save_detail"></textarea></div>
200                </div>
201                <div class="netArea">
202                    <div class="text">รวมราคาทั้งหมด</div>
203                    <div class="amount" :realpricex="cart.shipping_type_id?cart.price.pay:'-'">
204                        <div class="real"><span v-if="cart.is_no_shipping || cart.is_product_no_shipping_type || cart.shipping_type_id" class="num">{{ amount_format(cart.price.pay) }}</span><span v-else class="name"><span class="shipping_type_0">*กรุณาเลือกวิธีจัดส่ง</span></span> บาท</div>
205                        <div class="estimate"></div>
206                                            </div>
207                </div>
208            </div>
209            <div id="checkoutNextBar" class="cartButtons">
210                <div class="alignLeft">
211                    <a class="cartBack" href="https://www.lungthong.com/category"><i
212                            class="icon"></i><span class="text">เลือกสินค้าเพิ่ม</span></a>                </div>
213                <div class="alignRight">
214                                                            <ul class="b-checkout LBUTTON" btype="button" @click="checkout">
215                        <li class="buttonLeft"></li>
216                        <li class="buttonCenter buttonText">สั่งซื้อสินค้า</li>
217                        <li class="buttonRight"></li>
218                    </ul>
219                </div>
220            </div>
221        </div>
222    </div>
223    
223<script type="text/javascript">
224    var $cartZone;
225    var price_decimal = 2;
226
227    function amount_format(num) {
228        return number_format(num, price_decimal);
229    }
230
231    function lnw_number_format(num) {
232        var floor_num = Math.floor(num);
233        if ((num - floor_num) > 0) {
234            return number_format(num, 2);
235        }
236        return number_format(num, 0);
237    }
238
239    function error_message(err) {
240        if (err.key) {
241            switch (err.key) {
242                case 'NOPRODUCT':
243                case 'HIDDEN':
244                case 'NOSELL':
245                    return 'ไม่มีสินค้าชนิดนี้ หรือสินค้าชนิดนี้ไม่ขาย';
246                case 'NOSTOCK':
247                    var html = 'สินค้านี้เหลือเพียง %d ชิ้น ไม่สามารถสั่งซื้อได้';
248                    return html.replace(/%d/, err.remain);
249                case 'BUY-WEB_CORRUPTION':
250                    return 'ขออภัย ขณะนี้ระบบโดนระงับ ไม่สามารถสั่งซื้อสินค้าได้';
251                case 'INVALID_POINT':
252                    return 'กรุณากรอกตัวเลขเพื่อใช้คะแนนสะสม LnwPoints';
253                case 'USE>POINT':
254                    return 'ไม่สามารถใช้คะแนนสะสม LnwPoints เกินกว่าคะแนนที่คุณมีได้';
255                case 'POINT>NET':
256                    return 'ไม่สามารถใช้คะแนนสะสม LnwPoints มากกว่าราคารวมสินค้าได้';
257                case 'BUY-LNWPAY_ANTI-MONEY_LAUNDERING':
258                    return 'ระบบไม่อนุญาติให้สั่งซื้อสินค้าราคารวมเกิน 30,000 บาทต่อรายการสั่งซื้อได้';
259                case 'PERMISSION_DENIED':
260                    return 'คุณไม่มีสิทธิใช้งานคูปองนี้';
261                case 'BELOW_QUANTITY':
262                    return __lnw__.show_lang('CART-PRODUCT-BELOW_QUANTITY', err.limit, err.unit);
263                case 'OVER_QUANTITY':
264                    return __lnw__.show_lang('CART-PRODUCT-OVER_QUANTITY', err.limit, err.unit);
265                case 'ACCOUNT_LIMIT_REQUIRED_LOGIN':
266                    return __lnw__.show_lang('CART-PRODUCT-ACCOUNT_LIMIT_REQUIRED_LOGIN');
267                case 'OVER_QUANTITY_ACCOUNT_ORDERED':
268                    return __lnw__.show_lang('CART-PRODUCT-OVER_QUANTITY_ACCOUNT_ORDERED', err.limit, err.unit, err.ordered, err.unit);
269                case 'OVER_QUANTITY_ACCOUNT':
270                    return __lnw__.show_lang('CART-PRODUCT-OVER_QUANTITY_ACCOUNT', err.limit, err.unit);
271                case 'OVER_QUANTITY_DAILY_ACCOUNT_ORDERED':
272                    return __lnw__.show_lang('CART-PRODUCT-OVER_QUANTITY_DAILY_ACCOUNT_ORDERED', err.limit, err.unit, err.ordered, err.unit);
273                case 'OVER_QUANTITY_DAILY_ACCOUNT':
274                    return __lnw__.show_lang('CART-PRODUCT-OVER_QUANTITY_DAILY_ACCOUNT', err.limit, err.unit);
275                default:
276                    var xxx = __lnw__.show_lang(err.key);
277                    return xxx;
278            }
279        }
280        return 'มีข้อผิดพลาดเกิดขึ้น';
281    }
282
283    var cartvm = null;
284    var cart_components = {};
285    cart_components['product-item'] = {
286        props: ['item'],
287        data: function() {
288            return {
289                new_quantity: null,
290                new_detail: null,
291                edit_detail: 0,
292                wait_save_quantity: false
293            }
294        },
295        watch: {
296            cart_loader: function(newValue, oldValue) {
297                if(this.wait_save_quantity) {
298                    this.save_quantity();
299                }
300            },
301            'item.quantity': function(newValue, oldValue) {
302                if(newValue == this.new_quantity) {
303                    this.new_quantity = null;
304                } else {
305                    this.save_quantity();
306                }
307            },
308            'item.detail': function(newValue, oldValue) {
309                if(newValue == this.new_detail) {
310                    this.new_detail = null;
311                } else {
312                    this.save_detail();
313                }
314            }
315        },
316        computed: {
317            cart: function() {
318                return this.$store.state.cart;
319            },
320            quantity_value: {
321                get: function() {
322                    if(this.new_quantity !== null) {
323                        return this.new_quantity;
324                    }
325                    return this.item.quantity
326                },
327                set: function(newValue) {
328                    if(this.item.quantity == newValue) {
329                        this.new_quantity = null;
330                    } else {
331                        this.new_quantity = newValue;
332                        this.save_quantity();
333                    }
334                }
335            }
336        },
337        methods: {
338            quantity_inc: function () {
339                this.quantity_value = this.quantity_value+1;
340            },
341            quantity_dec: function () {
342                if(this.quantity_value <= 1) {
343                } else {
344                    this.quantity_value = this.quantity_value - 1;
345                }
346            },
347            save_quantity: function() {
348                var that = this;
349                if(this.wait_save_quantity) {
350                    clearTimeout(this.wait_save_quantity);
351                }
352                this.wait_save_quantity = setTimeout(function() {
353                    that.save_quantity_action();
354                },1000);
355            },
356            save_quantity_action: function () {
357                if(this.new_quantity === null) {
358                    return;
359                }
360                var val = parseNumber(this.new_quantity);
361                val = parseNumber(val);
362                if(isNaN(val) || val < 1) {
363                    return;
364                }
365                if(this.cart_loader) {
366                    this.wait_save_quantity = true;
367                    return;
368                }
369                var item = this.item;
370                var ajaxdata = {};
371                
372                ajaxdata.action = 'changeProductQuantity';
373                ajaxdata.items = [
374                    {
375                        iid: item.iid,
376                        spec: item.spec,
377                        quantity: val
378                    }
379                ];
380
381                var onSuccess = void (0);
382
383                if(item.spec.type == 'product') {
384                    // Google Analytics Enhanced Ecommerce (event: add/remove cart | edit number of product item in carts)
385                    if (typeof gtag !== "undefined" && typeof GA_send_to 
385=== 'string' && GA_send_to.length > 0) {
386                        if (typeof item.quantity !== 'undefined') {
387                            var diff = val - item.quantity;
388                            var event_name = null;
389                            if (diff < 0)
390                                event_name = 'remove_from_cart';
391                            else
392                                event_name = 'add_to_cart';
393                            if (event_name) {
394                                var qty = Math.abs(diff);
395                                onSuccess = function () {
396                                    gtag('event', event_name, {
397                                        'send_to': GA_send_to,
398                                        "items": [
399                                            {
400                                                "id": item.spec.product_id,
401                                                "name": item.name,
402                                                "category": typeof item.category !== 'undefined' ? item.category : null,
403                                                "quantity": qty,
404                                                "price": qty * item.unit_price
405                                            }
406                                        ]
407                                    });
408                                }
409                            }
410                        }
411                    }
412                }
413                this.$store.dispatch('save_func', {
414                    ajaxdata: ajaxdata,
415                    item: item,
416                    onSuccess: onSuccess
417                });
418            },
419            save_detail: function () {
420                var that = this;
421                var item = this.item;
422                var ajaxdata = {};
423                
424                ajaxdata.action = 'updateProductRemark';
425                ajaxdata.items = [
426                    {
427                        iid: item.iid,
428                        spec: item.spec,
429                        detail: this.new_detail
430                    }
431                ];
432                this.edit_detail = 0;
433                this.$store.dispatch('save_func', {
434                    ajaxdata: ajaxdata
435                });
436            },
437            remove_detail: function () {
438                this.new_detail = '';
439                this.save_detail();
440            },
441            start_edit_detail: function () {
442                this.new_detail = this.item.detail;
443                this.edit_detail = 2;
444            },
445            start_add_detail: function (item) {
446                this.edit_detail = 1;
447            },
448            remove_item: function () {
449                var that = this;
450                var item = this.item;
451                __lnw__.simpleConfirm('ยืนยันการลบสินค้านี้ออกจากตะกร้า',
452                    function() {
453                        var ajaxdata = {};
454                        ajaxdata.action = 'changeProductQuantity';
455                        
456                        ajaxdata.items = [
457                            {
458                                iid: item.iid,
459                                spec: item.spec,
460                                quantity: 0
461                            }
462                        ];
463
464                        var onSuccess = void (0);
465
466                        if(item.spec.type == 'product') {
467                            // Google Analytics Enhanced Ecommerce (event: remove_from_cart)
468                            if (typeof gtag !== "undefined" && typeof GA_send_to === 'string' && GA_send_to.length > 0) {
469                                onSuccess = function () {
470                                    gtag('event', 'remove_from_cart', {
471                                        'send_to': GA_send_to,
472                                        "items": [
473                                            {
474                                                "id": item.spec.product_id,
475                                                "name": item.name,
476                                                "category": typeof item.category !== 'undefined' ? item.category : null,
477                                                "quantity": item.quantity,
478                                                "price": item.total_price
479                                            }
480                                        ]
481                                    });
482                                }
483                            }
484                        }
485
486                        that.$store.dispatch('save_func', {
487                            ajaxdata: ajaxdata,
488                            onSuccess: onSuccess
489                        });
490                    }
491                );
492            },
493        },
494        template: `<div class="product">
495                        <div class="image">
496                            <img :src="item.thumbnail"/>
497                        </div>
498                        <div class="data">
499                            <div class="name" v-if="item.parent_id > 0"><a :href="item.url">{{
500                                item.parent_name }}<br/>&nbsp;&rdsh; {{ item.sku_name }}</a></div>
501                            <div class="name" v-else><a :href="item.url">{{ item.name }}</a></div>
502                            <div class="price" :realpricex="item.unit_price">
503                                <div class="mobileBeforeText">ราคาต่อชิ้น</div>
504                                <div class="real"><span
505                                        class="num">{{ amount_format(item.unit_price) }}</span> บาท</div>
506                                <div class="estimate"></div>
507                            </div>
508                            <div class="quantity">
509                                <div class="mobileBeforeText">จำนวน</div>
510                                <div v-if="cart.lock" class="uneditable"><span class="num" v-text="amount_format(item.quantity)"></span></div>
511                                <div v-else class="editable">
512                                    <div class="increase" @click="quantity_inc">+</div>
513                                    <div class="decrease" @click="quantity_dec">-</div>
514                                    <div class="box"><input type="text" class="input" v-model="quantity_value" /></div>
515                                </div>
516                            </div>
517                            <div class="amount" :realpricex="item.total_price">
518                                <div class="mobileBeforeText">ราคารวม</div>
519                                <div class="real"><span
520                                        class="num">{{ amount_format(item.total_price) }}</span> บาท                                </div>
521                                <div class="estimate"></div>
522                            </div>
523                        </div>
524                        <div class="error">
525                            <div v-for="error in item.errors">
526                                {{ error_message(error) }}
527                            </div>
528                        </div>
529                        <div class="other">
530                            <div v-if="item.promotions && (item.promotions.length > 0)" class="promotion">สินค้าเข้าร่วมโปรโมชั่น {{
531                                item.promotions.join(', ') }}
532                            </div>
533                            <div v-else-if="item.promotion" class="promotion">สินค้าเข้าร่วมโปรโมชั่น {{
534                                item.promotion.join(', ') }}
535                            </div>
536                            <div class="note">
537                                <div v-if="edit_detail">
538                                    <input type="text" class="pdetail" v-model="new_detail">
539                                    <button type="button" class="btn-submit" @click="save_detail">{{
540                                        (edit_detail==2)?'ปรับปรุง                                        ':'เพิ่ม'}}
541                                    </button>
542                                    <button type="button" class="btn-reset" @click="remove_detail">{{
543                                        (edit_detail==2)?'ลบ                                        ':'ยกเลิก'}}
544                                    </button>
545                                </div>
546                                <div v-else-if="(new_detail == null) && item.detail"><strong>หมายเหตุ</strong> <span
547                                        class="body">{{ item.detail }}</span> <a class="edit" @click="start_edit_detail">&#9998; แก้ไข</a>
548                                </div>
549                                <div v-else-if="new_detail"><strong>หมายเหตุ</strong> <span
550                                        class="body">{{ new_detail }}</span> <a class="edit" @click="start_edit_detail">&#9998; แก้ไข</a>
551                                </div>
552                                <div v-else><a class="add"
553                                               @click="start_add_detail">เพิ่มหมายเหตุ</a>
554                                </div>
555                            </div>
556                            <div v-if="!cart.lock" class="control"><a class="remove"
557                                                    @click="remove_item">ลบรายการนี้</a>
558                            </div>
559                        </div>
560                    </div>`
561    }
562    document.addEventListener("DOMContentLoaded", function () {
563        Vue.use(Vuex);
564        cart_store = new Vuex.Store({
565            state: function() {
566                var ret = {
567                    cart: null,
568                    shop: null,
569                    cart_loader: false,
570                };
571                return ret;
572            },
573            getters: {
574            },
575            mutations: {
576            },
577            actions: {
578                save_func: function(context, payload) {
579                    var state = context.state;
580                    if (state.cart_loader) {
581                        //return false;
582                    }
583                    state.cart_loader = true;
584                    var xhr = json_post({
585                        method: 'PUT',
586                        url: front_url('api/lnwme/cart/cookie')+'?ddd=full',
587                        data: payload.ajaxdata,
588                        success: function(response) {
589                            if(response.error) {
590                                var msgs = [];
591                                var x_msgs = {};
592                                var error_messages = response.error_messages;
593                                if(typeof error_messages == 'string') {
594                                    error_messages = [{
595                                        key: error_messages
596                                    }]
597                                }
598                                
599                                if (typeof payload.item !== 'undefined') {
600                                    Vue.set(payload.item,'errors', error_messages);
601                                } else {
602                                    var error_txts = [];
603                                    error_messages.forEach(function(err_msg) {
604                                        error_txts.push(error_message(err_msg));
605                                    });
606                                    __lnw__.simpleAlert(error_txts);
607                                }
608                            }
609                            if(response.cart) {
610                                Vue.set(state,'cart', response.cart);
611                                
612                                $('.cart_num').html(state.cart.num);
613                                $('.cart_price').html(state.cart.price.product).attr('realprice', state.cart.price.product);
614                                if (typeof __lnw__ == 'object' && __lnw__.gointer.is_enabled()) {
615                                    __lnw__.gointer.reload_convert_currency();
616                                }
617                                $('.cart_quantity').html(state.cart.quantity);
618                            }
619                            // Google Analytics Enhanced Ecommerce
620                            if (typeof payload.onSuccess == 'function') {
621                                try {
622                                    payload.onSuccess.call();
623                                } catch (e) {
624                                }
625                                ;
626                            }
627                        },
628                        error: function(rkey, rdata) {
629                            __lnw__.simpleAlert(rkey);
630                            console.info(rdata);
631                        },
632                        complete: function() {
633                            state.cart_loader = false;
634                        }
635                    });
636                },
637                load_init: function(context) {
638                    var state = context.state;
639                    state.cart_loader = true;
640                    var xhr = json_post({
641                        url: front_url('api/lnwme/cart/cookie')+'?ddd=init',
642                        data: {},
643                        success: function(response) {
644                            if(response.error) {
645                                var msgs = [];
646                                var x_msgs = {};
647                                var error_messages = response.error_messages;
648                                if(typeof error_messages == 'string') {
649                                    error_messages = [{
650                                        key: error_messages
651                                    }]
652                                }
653                                
654                                var error_txts = [];
655                                error_messages.forEach(function(err_msg) {
656                                    error_txts.push(error_message(err_msg));
657                                });
658                                __lnw__.simpleAlert(error_txts);
659                            }
660                            Vue.set(state,'cart', response.cart);
661                            Vue.set(state,'shop', response.shop);
662                            win_resize();
663                        },
664                        error: function(rkey, rdata) {
665                            __lnw__.simpleAlert(rkey);
666                            console.info(rdata);
667                        },
668                        complete: function() {
669                            state.cart_loader = false;
670                        }
671                    });
672                }
673            }
674        });
675        cartvm = new Vue({
676            el: '#lnw_cartArea',
677            store: cart_store,
678            components: cart_components,
679            data: function () {
680                return {
681                    type_txt: {
682                        normal: 'พัสดุธรรมดา',
683                        register: 'พัสดุลงทะเบียน',
684                        ems: 'พัสดุด่วนพิเศษ',
685                        custom: 'กำหนดเอง'
686                    },                    shipping_country_selected: 1,
687                    show_only_shiptype_chosen: 0,
688                    coupon_code_value: '',
689                    view_mycoupons: 0,
690                    choose_coupon_id: null,
691                    choose_shipping_type_id: null,
692                    lang_text_time: 0,
693                    stype_info_hover: 0
694                }
695            },
696            watch: {
697                choose_shipping_type_id: function (val) {
698                    var ajaxdata = {};
699                    if (typeof this.cart.shipping_types[val] == 'undefined' || !this.shiptype_show(this.cart.shipping_types[val])) {
700                        ajaxdata.action = 'cancelShippingMethod';
701                        this.$store.dispatch('save_func', {
702                            ajaxdata: ajaxdata
703                        });
704                        this.show_only_shiptype_chosen = 0;
705                    } else {
706                        var onSuccess = void(0);
707                        // Google Analytics Enhanced Ecommerce (event: set_checkout_option)
708                        if (typeof this.cart.shipping_types[val].name !== 'undefined') {
709                            if (typeof gtag !== "undefined" && typeof GA_send_to === 'string' && GA_send_to.length > 0) {
710                                var shipping_type_name = this.cart.shipping_types[val].name;
711
712                                onSuccess = function () {
713                                    gtag('event', 'set_checkout_option', {
714                                        'send_to': GA_send_to,
715                                        'checkout_step': 1,
716                                        'checkout_option': 'shipping method',
717                                        'value': shipping_type_name
718                                    });
719                                };
720                            }
721                        }
722                        ajaxdata.action = 'saveShippingMethod';
723                        ajaxdata.shipping_type_id = val;
724                        this.$store.dispatch('save_func', {
725                            ajaxdata: ajaxdata,
726                            onSuccess: onSuccess
727                        });
728                        this.show_only_shiptype_chosen = 1;
729                    }
730                }
731            },
732            updated: function () {
733                if (typeof __lnw__ == 'object' && __lnw__.gointer.is_enabled()) {
734                    __lnw__.gointer.reload_convert_currency();
735                }
736            },
737            computed: {
738                cart_loader: function() {
739                    return (this.$store.state.cart_loader);
740                },
741                cart: function() {
742                    return this.$store.state.cart;
743                },
744                shop: function() {
745                    return this.$store.state.shop;
746                },
747                shipping_type_list: function () {
748                    var shipping_types = this.cart.shipping_types;
749                    var stype_list = new Array();
750                    var that = this;
751                    this.cart.shipping_types_rank.forEach(function (stype_id) {
752                        var stype = shipping_types[stype_id];
753                        stype.info_hover = false;
754                        if(!stype.is_lnwshop_ignore && that.shiptype_show(stype)) {
755                            stype_list.push(stype);
756                        }
757                    });
758                    return stype_list;
759                },
760                checkweight: function () {
761                    return false;
762                                        var xxx = false;
763                    $.each(this.cart.shipping_types, function (stype_id, stype) {
764                        if (stype.format == 'weight') {
765                            xxx = true;
766                        }
767                    })
768                    return xxx;
769                },
770                cart_prepare_day: function () {
771                    var max_prepare_day = 0;
772                    this.cart.items.forEach(function(item) {
773                        var day = item.prepare_duration;
774                        if (day != '') {
775                            day = parseInt(day);
776                            if (day > max_prepare_day) {
777                                max_prepare_day = day;
778                            }
779                        }
780                    });
781                    return max_prepare_day;
782                },
783gtag_cart_items: function () {
784var payload_items = [];
785this.cart.items.forEach(function(item) {
786if(item.spec.type != 'product') {
787return;
788}
789payload_item = {};
790payload_item.id = item.spec.product_id;
791payload_item.name = item.name;
792if (typeof item.category !== 'undefined')
793payload_item.category = item.category;
794payload_item.quantity = item.quantity;
795payload_item.price = item.total_price;
796payload_items.push(payload_item);
797})
798return payload_items;
799},
800                gtag_cart_coupon: function () {
801                    var coupon = '';
802
803                    if (typeof this.cart.coupons === 'object') {
804                        for (var i in this.cart.coupons) {
805                            if (typeof this.cart.coupons[i].config === 'object') {
806                                if (typeof this.cart.coupons[i].config.name !== 'undefined') {
807                                    if (coupon.length > 0)
808                                        coupon += ', ';
809                                    coupon += this.cart.coupons[i].config.name;
810                                }
811                            }
812                        }
813                    }
814
815                    return coupon;
816                },
817                my_lnwpoints: function() {
818                    var points = 0;
819                    if ((typeof lnw_store != 'undefined') && (typeof lnw_store.state.user != 'undefined') && (lnw_store.state.user.point != null)) {
820                        points = lnw_store.state.user.point.available_balance;
821                    }
822                    return points;
823                }
824            },
825            methods: {
826                update_lang: function () {
827                    this.lang_text_time = new Date().getTime();
828                },
829                show_lang: function () {
830                    var xxx = this.lang_text_time;
831                    return __lnw__.show_lang.apply(this, arguments);
832                },
833                shiptype_show: function (stype) {
834                                        return (stype.price !== false);
835                                    },
836                shiptype_over: function (stype) {
837                    this.stype_info_hover = stype.id;
838                },
839                shiptype_leave: function (stype) {
840                    this.stype_info_hover = 0;
841                },
842                error_message: function (err) {
843                    return error_message(err);
844                },
845                use_coupon_code: function () {
846                    var ajaxdata = {};
847                    ajaxdata.action = 'setCouponCode';
848                    ajaxdata.coupon_code = this.coupon_code_value.trim();
849                    if (ajaxdata.coupon_code == '') {
850                        return;
851                    }
852
853                    this.$store.dispatch('save_func', {
854                        ajaxdata: ajaxdata,
855                    });
856                },
857                use_coupon_id: function (id) {
858                    var ajaxdata = {};
859                    ajaxdata.action = 'setCouponId';
860                    ajaxdata.coupon_id = id;
861                    this.$store.dispatch('save_func', {
862                        ajaxdata: ajaxdata,
863                    });
864                    this.view_mycoupons = 0;
865                },
866                cancel_use_coupon: function (coupon_id) {
867                    var coupon_code = null;
868                    if (typeof this.cart.coupons === 'object'){
869                        var coupon = this.cart.coupons.filter(obj => {
870                            return obj.id === coupon_id
871                        });
872                        if(coupon.length > 0) {
873                            coupon_code = coupon[0].code;
874                        }else {
875                            return false;
876                        }
877                    }else if (typeof this.cart.coupons[coupon_id] == 'undefined') {
878                        return false;
879                    }else{
880                        coupon_code = this.cart.coupons[coupon_id].code;
881                    }
882                    if (coupon_code) {
883                        var ajaxdata = {};
884                        ajaxdata.action = 'removeCouponCode';
885                        ajaxdata.coupon_code = coupon_code;
886                        this.$store.dispatch('save_func', {
887                            ajaxdata: ajaxdata,
888                        });
889                    } else {
890                        var ajaxdata = {};
891                        ajaxdata.action = 'removeCouponId';
892                        ajaxdata.coupon_id = coupon_id;
893                        this.$store.dispatch('save_func', {
894                            ajaxdata: ajaxdata,
895                        });
896                    }
897                    this.choose_coupon_id = null
898                },
899                save_detail: function () {
900                    var ajaxdata = {};
901                    ajaxdata.action = 'saveOrderMeta';
902                    ajaxdata.detail = this.cart.detail;
903                    this.$store.dispatch('save_func', {
904                        ajaxdata: ajaxdata
905                    });
906                },
907                reset_cart: function () {
908                    var ajaxdata = {};
909                    ajaxdata.action = 'resetCart';
910
911                    var onSuccess = void (0);
912
913                    // Google Analytics Enhanced Ecommerce (event: remove_from_cart)
914                    if (typeof gtag !== "undefined" && typeof GA_send_to === 'string' && GA_send_to.length > 0) {
915                        var payload_items = this.gtag_cart_items;
916                        onSuccess = function () {
917                            gtag('event', 'remove_from_cart', {
918                                'send_to': GA_send_to,
919                                "items": payload_items
920                            });
921                        }
922                    }
923
924                    this.$store.dispatch('save_func', {
925                        ajaxdata: ajaxdata,
926                        onSuccess: onSuccess
927                    });
928                },
929                set_lnwpoint: function (point) {
930                    var ajaxdata = {};
931                    ajaxdata.action = 'setRedeemLnwPoint';
932                    ajaxdata.lnwpoint = point;
933                    this.$store.dispatch('save_func', {
934                        ajaxdata: ajaxdata,
935                    });
936                },
937                use_lnwpoint: function () {
938                    var point = this.cart.lnwpoint;
939                    if (((typeof lnw_store == 'undefined') || (typeof lnw_store.state.user == 'undefined') || (typeof lnw_store.state.user.point == null))) {
940                        __lnw__.simpleAlert('ไม่สามารถดึงคะแนนสะสม LnwPoints ได้');
941                        this.cart.lnwpoint = 0;
942                    } else {
943                        var my_points = this.my_lnwpoints;
944                        if (point > my_points) {
945                            __lnw__.simpleAlert('คุณใช้คะแนนสะสม LnwPoints มากกว่าที่มี');
946                            this.cart.lnwpoint = 0;
947                        } else {
948                            this.set_lnwpoint(point);
949                        }
950                    }
951                },
952                cancel_lnwpoint: function () {
953                    this.set_lnwpoint(0);
954                },
955                checkout: function (event) {
956                    var that = this;
957                    if(this.cart.is_no_shipping) {
958
959                    } else if(this.cart.is_product_no_shipping_type) {
960
961                    } else if (typeof this.cart.shipping_types[this.cart.shipping_type_id] == 'undefined' || !this.shiptype_show(this.cart.shipping_types[this.cart.shipping_type_id])) {
962                        __lnw__.simpleAlert('กรุณาเลือกวิธีการจัดส่ง');
963                        return false;
964                    }
965                    var ele = $(event.target).closest('b-checkout');
966                    var ajaxdata = {};
967                    $.lnwajax.run('goto_checkout', true, {
968                        type: 'POST',
969                        url: 'https' + '://' + 'www.lungthong.com/checkout/start',
970                        data: ajaxdata,
971                        dataType: 'json',
972                        start: function () {
973                            button_wait(ele);
974                        },
975                        success: function (response) {
976                            lnwajax_response(response, function (rdata) {
977                                var delay = 0;
978
979                                if (typeof rdata.fbq_params != 'undefined' && typeof fbq == 'function') {
980                                    fbq('track', 'InitiateCheckout', rdata.fbq_params);
981                                    delay = 1000;
982                                }
983
984                                // Google Analytics Enhanced Ecommerce (event: begin_checkout)
985                                if (typeof gtag !== "undefined" && typeof GA_send_to === 'string' && GA_send_to.length > 0) {
986                                    var payload_gtag = {};
987                                    payload_gtag.send_to = GA_send_to;
988                                    payload_gtag.items = that.gtag_cart_items;
989
990                                    var coupon = that.gtag_cart_coupon;
991                                    if (typeof coupon === 'string' && coupon.length > 0)
992                                        payload_gtag.coupon = coupon;
993                                    else {
994                                        console.log(coupon);
995                                    }
996
997                                    payload_gtag.checkout_step = 1;
998
999                                    gtag('event', 'begin_checkout', payload_gtag);
1000
1001                                    delay = 1000;
1002                                }
1003
1004                                if (typeof rdata.url != 'undefined') {
1005                                    setTimeout(function () {
1006                                        window.location.href = rdata.url;
1007                                    }, delay);
1008                                }
1009
1010                            }
1010, function (rkey, rdata) {
1011                                button_normal(ele);
1012                                switch (rkey) {
1013                                    case 'BUY-ITEM_SOLDOUT':
1014                                        __lnw__.simpleAlert('ขออภัย สินค้าบางอย่างในตะกร้าเหลือไม่เพียงพอ');
1015                                        //window.location.href='https://www.lungthong.com/cart';
1016                                        break;
1017                                    case 'BUY-NO_ITEM':
1018                                        __lnw__.simpleAlert('ขออภัย  ขณะนี้ยังไม่มีสินค้าในตะกร้า');
1019                                        break;
1020                                    case 'BUY-EMPTY_SHIPPINGTYPE':
1021                                        __lnw__.simpleAlert('กรุณาเลือกวิธีการจัดส่ง');
1022                                        break;
1023                                    case 'BUY-ORDER_LIMIT':
1024                                    case 'BUY-ORDER_LIMIT_MIN_PRICE':
1025                                    case 'BUY-ORDER_LIMIT_MAX_PRICE':
1026                                    case 'BUY-OVER_TOTAL_QUANTITY':
1027                                    case 'BUY-OVER_ORDER_QUANTITY':
1028                                        __lnw__.simpleAlert(__lnw__.show_lang(rkey, rdata));
1029                                        break;
1030                                    case 'BUY-MUST_LOGIN':
1031                                    case 'BUY-USER_NO_MOBILE':
1032                                        __lnw__.simpleAlert(__lnw__.show_lang(rkey, rdata));
1033                                        break;
1034                                    case 'BUY-LNWPAY_ANTI-MONEY_LAUNDERING':
1035                                        __lnw__.simpleAlert('ระบบไม่อนุญาติให้สั่งซื้อสินค้าราคารวมเกิน 30,000 บาทต่อรายการสั่งซื้อได้');
1036                                        break;
1037                                    default:
1038                                        __lnw__.simpleAlert('ขออภัย พบข้อผิดพลาดบางอย่าง ไม่สามารถดำเนินการต่อได้');
1039                                        break;
1040                                }
1041                            });
1042                        }
1043                    });
1044                }
1045            },
1046            mounted: function() {
1047                this.$store.dispatch('load_init');
1048            }
1049        });
1050        __lnw__.bind_lang_save(function () {
1051            cartvm.update_lang();
1052        });
1053        nextbar_init();
1054    });
1055    var win_height, nextbar_hover_flag = 0, topLine, barheight;
1056
1057    function nextbar_scroll_event(ele) {
1058        var scrollTop = $(ele).scrollTop();
1059        if (scrollTop < topLine) {
1060            if (!nextbar_hover_flag) {
1061                $('.checkoutBody').addClass('showNextBar');
1062                nextbar_hover_flag = true;
1063                $('.cartZone').css({marginBottom: barheight + 'px'});
1064            }
1065        } else {
1066            if (nextbar_hover_flag) {
1067                $('.checkoutBody').removeClass('showNextBar');
1068                nextbar_hover_flag = false;
1069                $('.cartZone').css({marginBottom: 0});
1070            }
1071        }
1072    }
1073
1074    function win_resize() {
1075        var win_height = $(window).height();
1076        var bottomOffset;
1077        var $self = $('.cartZone');
1078        if($self.length > 0) {
1079            var zoneheight = $self.outerHeight(true);
1080            var zonetop = $self.offset().top;
1081            barheight = $('#checkoutNextBar').outerHeight(true);
1082            bottomOffset = zonetop + zoneheight + barheight;
1083            if ($self.closest('#lnwbox2Body').length > 0) {
1084                bottomOffset -= $('#lnwbox2Body').offset().top;
1085            }
1086            topLine = bottomOffset - win_height;
1087        }
1088    }
1089
1090    function nextbar_init() {
1091                        var $nextbar_container = $(window);
1092                //$('#checkoutNextBar').after('<div class="cartButtons-clone"></div>');
1093        win_resize();
1094        nextbar_scroll_event($nextbar_container);
1095        $nextbar_container.scroll(function () {
1096            nextbar_scroll_event(this);
1097        });
1098        $(window).resize(function () {
1099            win_resize();
1100            nextbar_scroll_event($nextbar_container);
1101        });
1102            }
1103    </script>
1103
1104    <div class="checkoutFooter">
1105<div class="lnw_footer_area">
1106</div>
1107<div class="copyright" align="center">
1108<div class="copyrightText"><span style="padding-left: 10px;">Copyright &copy; 2026</span>
1109<a href="https://www.lungthong.com/">www.lungthong.com</a>
1110<span>All rights reserved.</span></div>
1111<div class="footerText"><a href="https://www.lnwshop.com/" title="ร้านค้าออนไลน์" target="_blank" rel="noopener">ร้านค้าออนไลน์</a>
1112&nbsp; Inspired by &nbsp;
1113<a href="https://www.lnwshop.com/" title="ร้านค้าออนไลน์" target="_blank" rel="noopener">LnwShop.com (v2)</a>
1114</div><span id="lnwstat-container-ebi93"></span>
1115<script type="text/javascript">
1116var _lnws = 'sgd.lnwstat.com';
1117var _lnwp = '651862';
1118var _lnwd = 'www.lungthong.com';
1119var _lnwm = '';
1120var _lnwk = '';
1121
1122(function() {
1123var sc = document.createElement('script'); sc.type = 'text/javascript'; sc.async = true;
1124sc.src = 'https://' + _lnws + '/lnwstat.js';
1125var sp = document.createElement('span'); sp.id='lnwstat-container-ebi93-inner';
1126var e = document.getElementById('lnwstat-container-ebi93'); e.appendChild(sc); e.appendChild(sp);
1127
1128})();
1129</script>
1129
1130</div>
1131</div></div></div></div></div>
1132
1133</div>
1134
1135
1136</div><div id="cart22_container" style="visibility: hidden;" :style="{visibility:'visible'}">
1137    <div id="cart22_alert"
1138         style="display: none;"
1139         v-show="alert_is_show"
1140         @click="cartShow"
1141         :class="(alert_is_show)?'show_alert':'hide_alert'">
1142        <span>คุณมีสินค้า <span class="cart_quantity" v-text="total_quantity">0</span> ชิ้นในตะกร้า <u>สั่งซื้อทันที</u></span>
1143    </div>
1144    <div id="cart22_overlay"
1145         style="display: none;"
1146         v-show="cart_is_show && !cart_is_hiding"
1147         @click="cartHide"></div>
1148    <div id="cart22"
1149         :class="{ show_cart : cart_is_show, hide_cart : cart_is_hiding }"
1150         v-if="cart_is_show">
1151        <div class="cart22_container">
1152            <div class="cart22_header_container">
1153                <div v-if="is_loading" class="cart22-progress-linear-container">
1154                    <div class="cart22-progress-linear">
1155                        <div class="cart22-progress-linear__background" :style="{backgroundColor: cc_color}" ></div>
1156                        <div class="cart22-progress-linear__indeterminate">
1157                            <div class="cart22-progress-linear__indeterminate long" :style="{backgroundColor: cc_color}" ></div>
1158                            <div class="cart22-progress-linear__indeterminate short" :style="{backgroundColor: cc_color}" ></div>
1159                        </div>
1160                    </div>
1161                </div>
1162                <div class="cart22_header">
1163                    <div>สินค้าในตะกร้า ({{total_num}} รายการ)</div>
1164                    <div class="cart22_close"
1165                         @click="cartHide()"><img src="https://www.lungthong.com/system/application/modules/lnwshop/_images/cart22/close.png"/>
1166                    </div>
1167                </div>
1168            </div>
1169            <div class="cart22_content">
1170                <!--if empty cart-->
1171                <div v-if="items.length <= 0" class="cart22_empty">
1172                    <span v-if="is_initing"><div class="boxload_16"></div></span>
1173                    <span v-else>ขออภัย  ขณะนี้ยังไม่มีสินค้าในตะกร้า</span>
1174                </div>
1175                <!--end if-->
1176                <!--if NOT empty cart-->
1177                <div v-else class="cart22_itemlist">
1178                    <cart-item v-for="item in items" :key="item.iid" :item="item"></cart-item>
1179                </div>
1180                <!--end if-->
1181                <div v-if="discounts.length > 0" class="cart22_discountlist">
1182                    <div class="cart22_discount_item">
1183                        <div class="cart22_discount_label">ราคาสินค้าทั้งหมด</div>
1184                        <div class="cart22_discount_amount">฿ {{price_format(total_price)}}</div>
1185                    </div>
1186                    <div v-for="(discount,idx) in discounts" :key="idx" class="cart22_discount_item">
1187                        <div class="cart22_discount_label" v-text="discount.label"></div>
1188                        <div class="cart22_discount_amount">- ฿ {{price_format(discount.price)}}</div>
1189                    </div>
1190                </div>
1191            </div>
1192            <div class="cart22_tailer">
1193                <div class="cart22_summary">
1194                    <div class="cart22_summary_label">
1195                        <div>ราคาสินค้าทั้งหมด</div>
1196                        <div class="minor">{{total_quantity}} ชิ้น</div>
1197                    </div>
1198                    <div class="cart22_summary_amount">
1199                        <div>฿ {{price_format(after_product_price)}}</div>
1200                        <div class="minor">ราคาไม่รวมค่าจัดส่ง</div>
1201                                            </div>
1202                </div>
1203                <div class="cart22_action">
1204                    <a href="https://www.lungthong.com/cart" class="cart22_button cart22_cart" :class="is_loading?'cart22_button_loading':''" :style="{color: cc_color, outlineColor: cc_color}">ดูสินค้าในตะกร้า</a>
1205                    <a href="https://www.lungthong.com/checkout" class="cart22_button cart22_checkout" :class="is_loading?'cart22_button_loading':''" :style="{backgroundColor: cc_color}">เริ่มการสั่งซื้อ</a>
1206                </div>
1207                <div class="cart22_action">
1208                    <div class="cart22_continue"
1209                         @click="cartHide"><span style="transform: rotate(180deg); display: inline-block;">&#x279C;</span> เลือกซื้อสินค้าเพิ่ม                    </div>
1210                </div>
1211            </div>
1212        </div>
1213    </div>
1214</div>
1215<script type="text/javascript">
1216    var cart22_vm;
1217    document.addEventListener("DOMContentLoaded", function (event) {
1218        cart22_vm = new Vue({
1219            store: lnw_store,
1220            components: {
1221                'cart-item' : {
1222                    props: ['item'],
1223                    data: function() {
1224                        return {
1225                            edit_quantity_value: null
1226                        }
1227                    },
1228                    computed: {
1229                        can_increase: function() {
1230                            if(this.quantity_value < this.item.remain) {
1231                                return true;
1232                            }
1233                            return false;
1234                        },
1235	                        can_decrease: function() {
1236	                            if(this.quantity_value  > 0) {
1237	                                return true;
1238	                            }
1239	                            return false;
1240	                        },
1241	                        is_flash_sale: function() {
1242	                            if(this.item.sale_promotion_id) {
1243	                                return true;
1244	                            }
1245	                            if(this.item.promotions && this.item.promotions.find(function(p){ return (p && p.toLowerCase().indexOf('flash')>-1); })) {
1246	                                return true;
1247	                            }
1248	                            if(this.item.promotion_datas) {
1249	                                var ps = [];
1250	                                for(var k in this.item.promotion_datas){
1251	                                    ps.push(this.item.promotion_datas[k]);
1252	                                }
1253	                                return ps.some(function(p){ return p && p.type=='sale'; });
1254	                            }
1255	                            return false;
1256	                        },
1257	                        quantity_value: {
1258	                            get: function() {
1259	                                if(this.edit_quantity_value !== null) {
1260	                                    return this.edit_quantity_value
1261	                                }
1262                                return this.item.quantity;
1263                            },
1264                            set: function(val) {
1265                                var that = this;
1266                                this.edit_quantity_value = val;
1267                                this.$store.dispatch('cart/set_product_quantity', {
1268                                    iid: this.item.iid,
1269                                    spec: this.item.spec,
1270                                    quantity: val,
1271                                    success: function() {
1272                                        that.edit_quantity_value = null;
1273                                    }
1274                                })
1275                            }
1276                        }
1277                    },
1278                    methods: {
1279	                        increase_quantity: function() {
1280	                            if(!this.can_increase) {
1281	                                return;
1282	                            }
1283	                            this.quantity_value ++;
1284	                            this.alert_limit();
1285	                        },
1286	                        decrease_quantity: function() {
1287	                            if(!this.can_decrease) {
1288	                                return;
1289	                            }
1290	                            this.quantity_value --;
1291	                            this.alert_limit();
1292	                        },
1293	                        alert_limit: function() {
1294	                            if(!this.item || !this.item.promotion_datas){ return; }
1295	                            var promo = null;
1296	                            Object.keys(this.item.promotion_datas).forEach(function(pid){
1297	                                var p = this.item.promotion_datas[pid];
1298	                                if(p && p.type === 'sale' && !promo){
1299	                                    promo = p;
1300	                                }
1301	                            }.bind(this));
1302	                            if(!promo){ return; }
1303	                            var limit = promo.order_limit || promo.max_quantity;
1304	                            if(!limit){ return; }
1305	                            var unit = this.item.unit || '';
1306	                            if(this.quantity_value > limit){
1307	                                __lnw__.simpleAlert(__lnw__.show_lang('FLASHSALE-LIMIT-OVER', limit, unit));
1308	                            }else if(this.quantity_value == limit){
1309	                                __lnw__.simpleAlert(__lnw__.show_lang('FLASHSALE-LIMIT-REACH', limit, unit));
1310	                            }
1311	                        }
1312	                    },
1313                    template: `<div class="cart22_item">
1314                    <div class="cart22_item_right">
1315                        <a :href="item.url">
1316                            <div class="cart22_item_img">
1317                                <img :src="item.thumbnail">
1318                            </div>
1319                        </a>
1320                    </div>
1321                    <div class="cart22_item_left">
1322                        <div v-if="item.remain < item.quantity" class="cart22_tag_warning">สินค้านี้เหลือไม่เพียงพอ</div>
1323                        <div class="cart22_item_name">
1324                            <template v-if="item.parent_name" >
1325                                <a :href="item.url" v-text="item.parent_name"></a>
1326                                <div class="cart22_subitem_name"><span class="icon-subitem">&#x279C;</span> {{item.sku_name}}</div>
1327                            </template>
1328                            <template v-else>
1329                                <a :href="item.url" v-text="item.name"></a>
1330                            </template>
1331                            <div v-for="(promotion, index) in item.promotions" class="cart22_promotions" :key="index" title="เข้าร่วมโปรโมชั่น">เข้าร่วมโปรโมชั่น {{ promotion }}</div>
1332                        </div>
1333                        <div class="cart22_item_price">฿ {{price_format(item.unit_price,2)}} <span v-if="is_flash_sale" class="cart22_flash_badge">⚡ Flash Sale</span></div>
1334                        <div class="cart22_item_count">
1335                            <div class="cart22_item_countbutton cart22_item_increase" @click="increase_quantity" :class="{disabled:(!can_increase)}">
1336                                <img src="https://www.lungthong.com/system/application/modules/lnwshop/_images/cart22/add.png"/></div>
1337                            <div class="cart22_item_countinput"><input type="number" v-model.number="quantity_value" min="0" max="item.remain" /></div>
1338                            <div class="cart22_item_countbutton cart22_item_decrease" @click="decrease_quantity" :class="{disabled:(!can_decrease)}">
1339                                <img v-if="quantity_value == 1" class="delete_icon"  src="https://www.lungthong.com/system/application/modules/lnwshop/_images/cart22/delete.png"/>
1340                                <img v-else src="https://www.lungthong.com/system/application/modules/lnwshop/_images/cart22/remove.png"/>
1341                            </div>
1342                        </div>
1343                    </div>
1344                </div>`
1345                }
1346            },
1347            el: '#cart22_container',
1348            data: function () {
1349                var data = {
1350                    cart_is_show: false,
1351                    cart_is_hiding: false,
1352                    mem_ycoord: 0,
1353                    cc_color: '#007BFF'
1354                };
1355                return data;
1356            },
1357            computed: {
1358                items: function() {
1359                    if(this.$store.state.cart && this.$store.state.cart.data && this.$store.state.cart.data.items) {
1360                        return this.$store.state.cart.data.items
1361                    }
1362                    return [];
1363                },
1364                discounts: function() {
1365                    if(this.$store.state.cart && this.$store.state.cart.data && this.$store.state.cart.data.after_product_discounts) {
1366                        return this.$store.state.cart.data.after_product_discounts;
1367                    }
1368                    return [];
1369                },
1370                total_num: function() {
1371                    return number_format(this.items.length);
1372                },
1373                total_quantity: function() {
1374                    return this.items.reduce(function(a, item) {
1375                        return a+ item.quantity
1376                    },0);
1377                },
1378                total_price: function() {
1379                    return this.items.reduce(function(a, item) {
1380                        return a + item.total_price
1381                    },0);
1382                },
1383                after_product_price: function() {
1384                    if(this.$store.state.cart && this.$store.state.cart.data && this.$store.state.cart.data.after_product_price) {
1385                        return this.$store.state.cart.data.after_product_price;
1386                    }
1387                    return this.total_price;
1388                },
1389                alert_is_show: function() {
1390                    return false && (this.total_quantity > 0);
1391                },
1392                is_loading: function() {
1393                    if(this.$store.state.cart && this.$store.state.cart.data) {
1394                        return this.$store.state.cart.is_loading;
1395                    }
1396                    return false;
1397                },
1398                is_initing: function() {
1399                    if(this.$store.state.cart && this.$store.state.cart.data){
1400                        return false;
1401                    }
1402                    return true;
1403                }
1404            },
1405            watch: {
1406                alert_is_show: function(newval) {
1407                    var elements = document.querySelectorAll(".register_badge, .adminBar .quickMenu .navigate .navi-container, .pageCapContainer");
1408                    if(newval) {
1409                        elements.forEach(function(element) {
1410                            element.classList.add('cart22_adjustOther');
1411                            element.classList.add('cart22_adjustOther_show');
1412                        });
1413                        setTimeout(function () {
1414                            elements.forEach(function(element) {
1415                                element.classList.remove('cart22_adjustOther_show');
1416                            });
1417                        }, 1000);
1418                    } else {
1419                        elements.forEach(function(element) {
1420                            element.classList.remove('cart22_adjustOther');
1421                            element.classList.add('cart22_adjustOther_hide');
1422                        });
1423                        setTimeout(function () {
1424                            elements.forEach(function(element) {
1425                                element.classList.remove('cart22_adjustOther_hide');
1426                            });
1427                        }, 500);
1428                    }
1429                }
1430            },
1431            methods: {
1432                cartShow: function() {
1433                    this.cart_is_show = true;
1434                    document.body.classList.add('cart22_body_noscroll');
1435
1436                    this.mem_ycoord = window.scrollY;
1437                    var style = document.body.style;
1438                    style.position = 'fixed';
1439                    style.left = '0';
1440                    style.right = '0';
1441                    style.top = - this.mem_ycoord + 'px';
1442                },
1443                cartHide: function() {
1444                    this.cart_is_hiding = true;
1445                    let that = this;
1446                    setTimeout(function () {
1447                        that.cart_is_show = false;
1448                        that.cart_is_hiding = false;
1449                        document.body.classList.remove('cart22_body_noscroll');
1450                        var style = document.body.style;
1451                        style.position = '';
1452                        style.left = '';
1453                        style.right = '';
1454                        style.top = '';
1455                        window.scroll({top: that.mem_ycoord});
1456
1457                    }, 250);
1458                },
1459            }
1460        });
1461    });
1462</script>
1462<div id="lnw-gototop" class="" onclick="lnw_gototop();"><span class="text"></span></div><style class="lnw_custom_css_container" type="text/css"></style></div>
1462<script language="JavaScript" type="text/javascript" src="https://www.lungthong.com/external/vue.min.js"></script>
vendor: 1 bytes, line 1462
1462
1463<script language="JavaScript" type="text/javascript" src="https://www.lungthong.com/external/es6-promise.auto.min.js"></script>
vendor: 1 bytes, line 1463
1463
1464<script language="JavaScript" type="text/javascript" src="https://www.lungthong.com/external/vuex.min.js"></script>
vendor: 1 bytes, line 1464
1464
1465<script language="JavaScript" type="text/javascript" src="https://www.lungthong.com/system/application/modules/lnwshop/_js/many.min.js?t=20211123000000"></script>
vendor: 1 bytes, line 1465
1465
1466<script language="JavaScript" type="text/javascript">var LNWFILE_JSONP = 'lnwfile_jsonp';
1467function file_upload_seller_url () {return "https://gd-up.lnwfile.com/lnwshop/v2/upload_seller/";}
1468function file_upload_buyer_url () {return "https://gd-up.lnwfile.com/lnwshop/v2/upload_buyer/";}
1469function file_upload_url () {return "https://gd-up.lnwfile.com/lnwshop/upload/";}
1470function file_upload_flash_url () {return "https://gd-up.lnwfile.com/lnwshop/upload_flash/";}
1471function file_upload_icon_url () {return "https://gd-up.lnwfile.com/lnwshop/upload_icon/";}
1472function file_upload_document_url () {return "https://gd-up.lnwfile.com/lnwshop/v2/upload_document/";}
1473function file_upload_accounting_url () {return "https://aca-up.lnwfile.com/lnwshop/v2/upload_document/";}
1474function file_upload_manage_url () {return "https://gd-up.lnwfile.com/lnwshop/upload_manage/";}
1475function file_flash_url () {return "https://gd-up.lnwfile.com/swf/swfupload.swf";}
1476function file_uploadify_url () {return "https://gd-up.lnwfile.com/swf/uploadify.swf";}
1477function file_jsonp_url (uri) {return "https://gd-up.lnwfile.com/lnwshop/jsonp/"+(uri===undefined?"":uri)+"?"+LNWFILE_JSONP+"=?";}
1478	function base_url (uri) {return "https://www.lungthong.com/"+(uri===undefined?"":uri.replace(/^\//,''));}
1479	function site_url (uri) {return "https://www.lungthong.com/"+(uri===undefined?"":uri.replace(/^\//,''));}
1480	function front_url (uri) {return "https://www.lungthong.com/"+(uri===undefined?"":uri.replace(/^\//,''));}
1481	function manage_url (uri) {return "https://a.lnwstore.com/lungthong/"+(uri===undefined?"":uri.replace(/^\//,''));}
1482    function handle_url_from_import (url) {
1483        if(typeof url !== 'string') {
1484            return url;
1485        }
1486        url = url.trim();
1487        if(/^https?:\/\//.test(url)) {
1488            return url;
1489        }return url;}
1490var css_files = ['https://www.lungthong.com/system/application/templates/lnwshop/default/_css/basic1200.min.css?t=20260810000051','https://www.lungthong.com/cache/lnwshop/651/862/css/20260708164854/style.css'];
1491function css_url () {return css_files.join(',');}
1492const WEBID = 651862;
1493function deepFreeze(e){const t=Object.getOwnPropertyNames(e);for(const o of t){const t=e[o];t&&"object"==typeof t&&deepFreeze(t)}return Object.freeze(e)}
1494const WEBDATA = deepFreeze({"new_cart":{"icon_color":"black","bar_color":"whiteBar"},"id":"651862","webname":"lungthong","name":"หนังสือเก่าลุงทอง","image":"https:\/\/gd.lnwfile.com\/lrcz49.jpg","avatar":"https:\/\/gd.lnwfile.com\/_\/gd\/_resize\/100\/100\/lr\/cz\/49.jpg","front_url":"https:\/\/www.lungthong.com\/","manage_url":"https:\/\/a.lnwstore.com\/lungthong\/","share_url":"https:\/\/www.lungthong.com\/cart","join_num":845,"open_date_th":"17 ส.ค. 2561","open_date_diff":"8 ปีที่ผ่านมา","order_url":"https:\/\/lnw.me\/order\/lungthong","lnwbar":{"color":"default"},"price_round_config":null,"slideshow":{"is_enabled":0},"gointer":{"is_enabled":0},"mobileSiteEnabled":1});
1495	function _add_settings_data(settings, name, value) {
1496		if(typeof settings.data == 'undefined' || settings.data == null || settings.data == '') {
1497			settings.data = name + '=' + value;
1498		} else if(typeof settings.data=='string') {
1499			settings.data += '&' + name + '=' + value;
1500		} else if($.isArray(settings.data)) {
1501			settings.data.push({name: name, value: value});
1502		} else if(typeof FormData !== 'undefined') {
1503			settings.data.append(name, value);
1504		}
1505	}
1506	if(window.top != window) {
1507		var allowedFrame = false;
1508		try {
1509								} catch(error) {}
1510		if(!allowedFrame) {
1511			var alertFunc = function() {
1512				// Bootstrap also runs in <head>, before the body exists.
1513				if(!document.body) {
1514					return;
1515				}
1516				var heading = document.createElement('h1');
1517				heading.style.margin = '200px';
1518				var link = document.createElement('a');
1519				link.href = window.location.href;
1520				link.target = '_top';
1521				link.textContent = 'Click here to enter';
1522				heading.appendChild(link);
1523				document.body.textContent = '';
1524				document.body.appendChild(heading);
1525			};
1526			alertFunc();
1527			window.addEventListener('DOMContentLoaded', alertFunc);
1528			window.addEventListener('load', alertFunc);
1529		}
1530	}
1531
1532	$(document).ready(function() {
1533		$.ajaxSetup({
1534			dataType: "html",
1535			cache: false
1536		});
1537		$(this).ajaxSend(function(e, xhr, settings) {
1538			if(!settings.data){
1539				xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
1540			}
1541			_add_settings_data(settings, 'ajaxxxx', true);
1542			_add_settings_data(settings, 'ajaxxxx_dataType', settings.dataType);
1543			if((typeof lnw_store !== 'undefined') && lnw_store.state.user.data && lnw_store.state.user.data.csrf_token) {
1544				_add_settings_data(settings, 'csrf_token', lnw_store.state.user.data.csrf_token);
1545			}
1546		});
1547	});
1548
1549</script>
vendor: 1 bytes, line 1549
1549
1550<script language="JavaScript" type="text/javascript" src="https://www.lungthong.com/system/application/modules/lnwshop/_js/lang_th.js?t=20250110114600"></script>
1550
1551
1552<script language="JavaScript" type="text/javascript" src="https://www.lungthong.com/system/application/modules/lnwshop/_js/default.min.js?t=20260902170746"></script>
1552
1553
1554
1555    
1556    <div class="shortcut-contact-container btn-chat-container">
1557        <div class="btn btn-chat">
1558            <div class="close-icon" onclick="goto_chat();"></div>
1559            <div class="icon"></div>
1560            <div class="text">พูดคุย-สอบถาม</div>
1561        </div>
1562        <ul class="social-button">
1563                                                    <li class="btn btn-email"><a href="mailto:[email protected]?subject=%E0%B8%AA%E0%B8%AD%E0%B8%9A%E0%B8%96%E0%B8%B2%E0%B8%A1%E0%B8%82%E0%B9%89%E0%B8%AD%E0%B8%A1%E0%B8%B9%E0%B8%A5%20-%20lungthong&body=%E0%B8%AA%E0%B8%A7%E0%B8%B1%E0%B8%AA%E0%B8%94%E0%B8%B5%20%E0%B8%89%E0%B8%B1%E0%B8%99%E0%B8%95%E0%B9%89%E0%B8%AD%E0%B8%87%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B8%AA%E0%B8%AD%E0%B8%9A%E0%B8%96%E0%B8%B2%E0%B8%A1%E0%B8%82%E0%B9%89%E0%B8%AD%E0%B8%A1%E0%B8%B9%E0%B8%A5%E0%B9%80%E0%B8%9E%E0%B8%B4%E0%B9%88%E0%B8%A1%E0%B9%80%E0%B8%95%E0%B8%B4%E0%B8%A1" onclick="return lead_contactus_track();">
1564                        <div class="icon"></div>
1565                        <div class="text">อีเมล [email protected]</div>
1566                    </a></li>
1567                        <li class="btn btn-contactus">
1568                <a href="https://www.lungthong.com/contactus" onclick="return lead_contactus_track();">
1569                    <div class="icon"></div>
1570                    <div class="text">กรอกฟอร์มติดต่อ</div>
1571                </a></li>
1572                            <li class="btn btn-mobile"><a href="tel:0853201958" onclick="return lead_phone_track();">
1573                        <div class="icon"></div>
1574                        <div class="text">โทร 0853201958</div>
1575                    </a></li>
1576                        	        	        	                                    	                            <li class="btn btn-facebook"><a target="_blank" href="https://www.messenger.com/t/lungthongbook" onclick="return lead_facebook_track();">
1577                            <div class="icon"></div>
1578                            <div class="text">lungthongbook</div>
1579                        </a></li>
1580		                                                            <li class="btn btn-line"><a href="https://line.me/ti/p/~lungthongbook" target="_blank" onclick="return lead_line_track();">
1581                        <div class="icon"></div>
1582                        <div class="text">Add lungthongbook</div>
1583                    </a></li>
1584                    </ul>
1585    </div>
1586
1587
1588<script language="JavaScript">
1589	    document.addEventListener("DOMContentLoaded", function () {
1590    	var lead_datas = [
1591    		{selector:'a[href*="email:"], a[href*="contactus"]',onclick:'return lead_contactus_track()'},
1592    		{selector:'a[href*="tel:"]',onclick:'return lead_phone_track()'},
1593    		{selector:'a[href*="line.me/ti/p"], a[href*="nav.cx"]',onclick:'return lead_line_track()'},
1594    		{selector:'a[href*="messenger.com"], a[href*="facebook.com"]',onclick:'return lead_facebook_track()'},
1595    	];
1596    	lead_datas.forEach(function(lead_data) {
1597	    	var nodeList = document.querySelectorAll(lead_data.selector);
1598	    	for(var i=0;i<nodeList.length;i++) {
1599	    		var node = nodeList[i];
1600	    		if(node.getAttribute('onclick') == null) {
1601	    			node.setAttribute('onclick',lead_data.onclick);
1602	    		}
1603	    	}
1604	    });
1605	});
1606    		function lead_contactus_track() {
1607		        console.log("Warning: lead type contactus is missing.");
1608				return true;
1609	}
1610		function lead_phone_track() {
1611		        console.log("Warning: lead type phone is missing.");
1612				return true;
1613	}
1614		function lead_facebook_track() {
1615		        console.log("Warning: lead type facebook is missing.");
1616				return true;
1617	}
1618		function lead_twitter_track() {
1619		        console.log("Warning: lead type twitter is missing.");
1620				return true;
1621	}
1622		function lead_instagram_track() {
1623		        console.log("Warning: lead type instagram is missing.");
1624				return true;
1625	}
1626		function lead_line_track() {
1627		        console.log("Warning: lead type line is missing.");
1628				return true;
1629	}
1630	</script>
1630<script type="text/javascript">		var first_sync_accounts_time = true;
1631		function accounts_update__hook_after_check_account() {
1632			if(first_sync_accounts_time){
1633								first_sync_accounts_time = false;
1634			}
1635		} var accountsTime = null;
1636function accounts_update() {
1637	var data = {
1638		data: 'y1lAyJQFZyD8kwe-ItUkfmoq0ioPOy51pah2PfZ6loUaUL1BIcFqO0TzUEilWKHlM6fDcQvo7Rz9i7a3LWfo7h1WXuzxN02XX1zKttnUoDm1Og2oeD_VV553LEoGM6fWmsVeNE62fd4fwoFIXUsh9Znu4nZKPdMc5jGTG25L5B7Bjw8cYkFrOVkWjdnSoLqIF27TCljeWTkd7RN-QGu7zhK_dsPWagqRqGKge_cKRpLocDzFHe6Hfl0NhnrV6mSDSQfQ_M-_U283GF4ZULlzIBMpljn7-8t5rHlz34k-ya7xv5b-_Oxz1iFtQ28ImoEko6HFt8TR996xZohVJuQPxswiTppcqPvNx8FTWmmWEJBrtwFOnPIyxzue9-xUkQRFI-wl8xYjE8kxhR3Nxg6Hzw==',
1639		revision_id: 3573
1640	};
1641	$.getJSON("https://static.lnw.me/jsonp/heartbeat?lnwaccounts_jsonp=?", data, function(response) {
1642		if(response.success) {
1643            if(response.logged_in) {
1644                //$.cookie('_lnwacct_651862_www_lungthong_com___tk2', response._lnwacct, {path: '/'});
1645                document.cookie = encodeURIComponent("_lnwacct_651862_www_lungthong_com___tk2") + "=" + encodeURIComponent(response._lnwacct) + "; path=/";
1646                if(response.state_change != undefined && response.state_change) {
1647                    //alert('reload');
1648                        window.location.href = window.location.href;
1649                        return;
1650                }
1651            }
1652			if(typeof accounts_update__hook_after_check_account == 'function') {
1653				accounts_update__hook_after_check_account();
1654			}
1655		}
1656		if(accountsTime != null) {
1657			clearTimeout(accountsTime);
1658		}
1659		accountsTime = setTimeout("accounts_update();", 15 * 60 * 1000);
1660	});
1661	$.ajax({
1662		type: 'GET',
1663		data: {},
1664		url: 'https://www.lungthong.com/lnwbar/action/session'
1665	});
1666}
1667$(document).ready(function() {
1668    if(window.top == window) {
1669        accounts_update();
1670    }
1671});
1672</script>
1672<script language="JavaScript" type="text/javascript" src="https://www.lungthong.com/system/application/modules/lnwshop/lnwbar/_js/vue.min.js?t=20260904205501"></script>
vendor: 1 bytes, line 1672
1672
1673<script type="text/javascript">document.addEventListener("DOMContentLoaded", function(event) { });</script>
1673</body>
1674</html>

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.