It looks like this is a web page, not a feed. I looked for a feed associated with this page, but couldn't find one. Please enter the address of your feed to validate.

Source: https://laserprocenter.com.hk/288/promotion/form

  1. <!doctype html>
  2. <!--[if lt IE 9 ]> <html class="ie ie-lt10 ie-lt9 no-js" lang="en"> <![endif]-->
  3. <!--[if IE 9 ]>    <html class="ie ie9 ie-lt10 no-js" lang="en"> <![endif]-->
  4. <!--[if gt IE 9]><!--><html class="no-js" lang="en"><!--<![endif]--><head>
  5. <!DOCTYPE html>
  6. <html lang="zh-HK">
  7. <head>
  8.  
  9. <!-- Global site tag (gtag.js) - Google Ads: 866398960 --> <script async src="https://www.googletagmanager.com/gtag/js?id=AW-866398960"></script>
  10. <script> window.dataLayer = window.dataLayer || [];
  11. function gtag(){dataLayer.push(arguments);}
  12. gtag('js', new Date());
  13. gtag('config', 'UA-186410323-1');
  14. gtag('config', 'AW-866398960');
  15. </script>
  16. <!-- Event snippet for 網頁檢視 conversion page -->
  17. <script> gtag('event', 'conversion', {'send_to': 'AW-866398960/a9JOCMHA8IEDEPDlkJ0D'}); </script>
  18.  
  19. <!-- Google Tag Manager -->
  20. <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
  21. new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
  22. j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
  23. 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
  24. })(window,document,'script','dataLayer','GTM-57M7ZXJ');</script>
  25. <!-- End Google Tag Manager -->
  26. <!-- Facebook Pixel Code -->
  27. <script>
  28. !function(f,b,e,v,n,t,s)
  29. {if(f.fbq)return;n=f.fbq=function(){n.callMethod?
  30. n.callMethod.apply(n,arguments):n.queue.push(arguments)};
  31. if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
  32. n.queue=[];t=b.createElement(e);t.async=!0;
  33. t.src=v;s=b.getElementsByTagName(e)[0];
  34. s.parentNode.insertBefore(t,s)}(window,document,'script',
  35. 'https://connect.facebook.net/en_US/fbevents.js');
  36. fbq('init', '220836922878790');
  37. fbq('track', 'PageView');
  38. </script>
  39. <noscript>
  40. <img height="1" width="1"
  41. src="https://www.facebook.com/tr?id=220836922878790&ev=PageView
  42. &noscript=1"/>
  43. </noscript>
  44. <!-- End Facebook Pixel Code -->
  45. <!-- Facebook Pixel Code -->
  46.  
  47.  
  48. <script>
  49. !function(f,b,e,v,n,t,s)
  50. {if(f.fbq)return;n=f.fbq=function(){n.callMethod?
  51. n.callMethod.apply(n,arguments):n.queue.push(arguments)};
  52. if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
  53. n.queue=[];t=b.createElement(e);t.async=!0;
  54. t.src=v;s=b.getElementsByTagName(e)[0];
  55. s.parentNode.insertBefore(t,s)}(window,document,'script',
  56. 'https://connect.facebook.net/en_US/fbevents.js');
  57. fbq('init', '999157047692262');
  58. fbq('track', 'PageView');
  59. </script>
  60. <noscript>
  61. <img height="1" width="1"
  62. src="https://www.facebook.com/tr?id=999157047692262&ev=PageView
  63. &noscript=1"/>
  64. </noscript>
  65. <!-- End Facebook Pixel Code -->
  66. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
  67. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  68. <meta http-equiv="Content-Language" content="en,en-US,en-UK,fr,zh,zh-CN,zh-HK,zh-TW" />
  69. <title>LaserPro 激光脫毛專家 - $288/6個部位+全年任脫+3年保養 (全城至抵)</title>
  70. <link rel="icon" type="image/ico"  href="https://laserprocenter.com.hk/assets/images/laserpro-logo.ico" />
  71. <meta name="description" content="用家推薦No.1永久激光脫毛,Laser Pro激光脫毛專家已有11年激光脫毛經驗,超過97%用家好評,革命性DPS追蹤秒白激光脫毛技術,追擊毛髮根源,帶來永久「零毛.淨白.細緻毛孔」肌膚。脫毛部位(熱選腋下、比堅尼、underarm、full bikini、大腿、小腿、上唇、唇毛、V line、Straight Line),全年任脫,3年保養期,立即預約體驗!" />
  72. <meta name="keywords" content="LaserPro, Laser Pro 激光脫毛專家、激光脫毛、永久激光脫毛、永久脫毛、腋下、比堅尼、underarm、bikini、full bikini、大腿、小腿、上唇、唇毛、V-line、V line、Straight Line、脫毛試做、脫毛療程、脫毛價錢、脫毛優惠、$288、全年任脫、DPS追蹤激光秒白脫毛、Hair removal,秋冬脫毛" />
  73. <meta name="robots" content="index,follow" />
  74. <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" />
  75. <meta http-equiv="Cache-Control" content="max-age=86400" />
  76. <meta property="og:title" content="$288/6個部位 + 全年任脫 + 3年保養" />
  77. <meta property="og:description" content="用家推薦No.1永久激光脫毛,Laser Pro激光脫毛專家已有11年激光脫毛經驗,超過97%用家好評。 限時優惠,全城至抵!$288任選6個脫毛部位 (熱選腋下、比堅尼、underarm、full bikini、大腿、小腿、上唇、唇毛、V line、Straight Line) 全年任脫,3年保養期。革命性DPS追蹤秒白激光脫毛技術,追擊毛髮根源,帶來永久「零毛.淨白.細緻毛孔」肌膚,立即預約體驗!" />
  78. <link rel="prefetch" href="/assets/images/脫毛-嫩膚-美白-毛孔.jpg" />
  79. <link rel="prefetch" href="/assets/images/永久脫毛-全身脫毛-最抵-可靠.jpg" />
  80. <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.3.1/css/bootstrap.min.css">
  81. <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.3.0/css/font-awesome.min.css">
  82.  
  83. <link rel="stylesheet" href="https://laserprocenter.com.hk/assets/css/min/vendor.min.css">
  84. <link rel="stylesheet" type="text/css" href="https://laserprocenter.com.hk/assets/css/min/home.min.css" />  
  85. <style>
  86. ul.top-nav-bar>li{
  87.    margin-left:0;
  88.    margin-right:0;
  89. }
  90. </style>
  91. <link rel="stylesheet" type="text/css" href="https://laserprocenter.com.hk/assets/css/other-payment.css" />
  92.    <link rel="stylesheet" type="text/css" href="https://laserprocenter.com.hk/assets/css/min/promote.min.css" />
  93.    <style>
  94. #header h1{display:none;}
  95. </style>
  96. </head>
  97. <body><!-- <!-- Google Tag Manager (noscript) -->
  98. <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-57M7ZXJ"
  99. height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
  100. <!-- End Google Tag Manager (noscript) -->
  101. <!-- <!-- Google Tag Manager (noscript) -->
  102. <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-MFBL7BN"
  103. height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
  104. <!-- End Google Tag Manager (noscript) -->
  105. <div id="header">
  106.    <div class="m-menu-contain">
  107.        <a href="javascript:void(0)" id="menuBtn">
  108.            <div><span></span></div>
  109.            <!--<span>目錄</span>-->
  110.           <h1>LaserPro 激光脫毛專家 - $288/6個部位+全年任脫+3年保養 (全城至抵) - $288/6個部位+全年任脫+3年保養 (全城至抵)</h1>            <span class="clearfix"></span>
  111.        </a>
  112.        <a class="mtop-whatsapp" href="https://api.whatsapp.com/send?phone=85263661116&amp;text=" target="_blank"><img alt="激光脫毛-脫毛推介-最好脫毛" src="/assets/images/激光脫毛-脫毛推介-最好脫毛.png"></a>  
  113.    </div>
  114.  
  115.    <div class="menu-nvbar">
  116.        <ul class="top-nav-bar">
  117.                            <li class="link-banner"><a href="javascript:void(0);goToTop();">激光脫毛</a></li>
  118.                <li class="link-men"><a target="_blank" href="https://laserprocenter.com.hk/men-laserhairremoval/promotion/form">男士脫毛</a></li>
  119.                <li class="link-booking-form"><a href="javascript:void(0);goToSection('booking-form');">立即預約</a></li>
  120.                <li class="link-knowledge"><a target="_blank" href="https://laserprocenter.com.hk/knowledge">脫毛知識</a></li>
  121.                <li class="link-tech"><a href="javascript:void(0);goToSection('tech');">先進技術</a></li>
  122.                <li class="link-terms"><a href="javascript:void(0);goToSection('terms');">優惠條款及細則</a></li>
  123.                               </ul>
  124.        <div class="top-whatsapp"><a href="https://api.whatsapp.com/send?phone=85263661116&amp;text=" target="_blank"><img src="/assets/images/激光脫毛-脫毛推介-最好脫毛.png" alt="激光脫毛-脫毛推介-最好脫毛"></a></div>
  125.    </div>
  126.    <div class="clearfix"></div>
  127. </div>
  128. <div id="menu">
  129. <div class="outer">
  130. <div class="inner">
  131.            <ul class="navbar">
  132.                            <li class="cat_menu" style="cursor: pointer;">
  133.                    <div><a class="root-level" href="javascript:void(0);goToTop();">激光脫毛</a></div>
  134.                </li>
  135.                <li class="cat_menu" style="cursor: pointer;">
  136.                    <div><a class="root-level" target="_blank" href="https://laserprocenter.com.hk/men-laserhairremoval/promotion/form">男士脫毛</a></div>
  137.                </li>    
  138.                <li class="cat_menu" style="cursor: pointer;">
  139.                    <div><a class="root-level" href="javascript:void(0);goToSection('booking-form');">立即預約</a></div>
  140.                </li>
  141.                <li class="cat_menu" style="cursor: pointer;">
  142.                    <div><a class="root-level" target="_blank" href="https://laserprocenter.com.hk/knowledge">脫毛知識</a></div>
  143.                </li>
  144.                <li class="cat_menu" style="cursor: pointer;">
  145.                    <div><a class="root-level" href="javascript:void(0);goToSection('tech');">先進技術</a></div>
  146.                </li>
  147.                <li class="cat_menu" style="cursor: pointer;">
  148.                    <div><a class="root-level" href="javascript:void(0);goToSection('terms');">優惠條款及細則</a></div>
  149.                </li>
  150.                            <li class="cat_menu" style="cursor: pointer;">
  151.                    <div><a class="root-level" target="_blank" href="https://api.whatsapp.com/send?phone=85263661116&amp;text=">WhatsApp 預約</a></div>
  152.                </li>
  153.                </ul>
  154.        </div>    
  155. </div>
  156. </div> <script type="application/ld+json">
  157. {
  158.    "@context": "http://schema.org",
  159.    "@type": "HealthAndBeautyBusiness",
  160.    "name": "LaserPro 激光脫毛專家 $288/6 個部位 + 全年任脫 + 3年保養",
  161.    "priceRange": "288",
  162.    "image": "https://laserprocenter.com.hk/assets/images/promotion/288-offer4-summer-hot-pick-m.jpg",
  163.    "url": "https://laserprocenter.com.hk/288-offer4-summer-hot-pick/promotion/form",
  164.    "@id": "https://laserprocenter.com.hk/288-offer4-summer-hot-pick/promotion/form"
  165. }</script>
  166. <style>
  167. .form-hints {
  168.    color: #fff;
  169.    margin-bottom: 10px;
  170.    text-align: center;
  171.    font-size: 17px;
  172. }
  173. .form-hints.bottom-show {
  174.    text-align: left;
  175.    padding: 10px 0;
  176. }
  177. .image-container {
  178.    width: 100%;
  179.    margin: 0 auto;
  180. }
  181. .image-container img {
  182.    display: block;
  183.    margin: 0 auto;
  184. }
  185.  
  186. .image-container img.mobile {
  187.    display: none;
  188. }
  189.  
  190. select.select-box.no {
  191.    background-image: none;
  192. }
  193. #_terms .radioContent a,
  194. #_terms .radioContent a:link,
  195. #_terms .radioContent a:visited
  196. {
  197.    text-decoration: underline;
  198. }
  199. #_terms .radioContent a:hover {
  200.    color: #5c5c5c;
  201. }
  202. .input__fake__content.radio-type label.radioLabel.auto-text .radioContent {
  203.    padding-left: 30px;
  204. }
  205. .input__fake__content.radio-type label.radioLabel.auto-text .radioContent::before {
  206.    left: 0;
  207. }
  208. .input__fake__content.radio-type label.radioLabel.auto-text .radioContent::after{
  209.    left: 5px;
  210. }
  211.  
  212. .input__fake__content.radio-type label.radioLabel.alignLeft .radioContent {
  213.    padding-left: 30px;
  214. }
  215. .input__fake__content.radio-type label.radioLabel.alignLeft .radioContent::before {
  216.    left: 0;
  217. }
  218. .input__fake__content.radio-type label.radioLabel.alignLeft .radioContent::after{
  219.    left: 5px;
  220. }
  221. .payment-icons {
  222.    display: flex;
  223.    margin-bottom: 10px;
  224.    flex-wrap: wrap;
  225. }
  226. .payment-icons .payment-icon {
  227.    width: 60px;
  228.    margin-right: 10px;
  229.    max-height: 36px;
  230.    margin-bottom: 10px;
  231. }
  232. .payment-icon.paypal-icon {
  233.    display: flex;
  234.    align-self: center;
  235.    width: auto;
  236. }
  237. .payment-icons .payment-icon img {
  238.    height:36px
  239. }
  240. .payment-steps {
  241.    margin-top: 30px;
  242. }
  243. .payment-steps .hints {
  244.    font-size: 18px;
  245.    padding-bottom: 10px;
  246. }
  247. .payment-steps input[type="text"]{
  248.    border: 1px solid #00a9af;
  249.    border-radius: 3px;
  250.    -webkit-appearance: none;
  251.    width: 100%;
  252.    max-width: 350px;
  253.    padding-left: 5px;
  254.    font-size: 14px;
  255.    height: 30px;
  256. }
  257.  
  258. .payment-steps input[type="button"]{
  259.    background-color: #00a9af;
  260.    color: #fff;
  261.    padding: 5px 20px;
  262.    margin: 10px 0;
  263. }
  264. #paypal-button-container{
  265.    width :100%;
  266. }
  267.  
  268. .my-info-wrap {
  269.    display: flex;
  270.    padding-bottom: 10px;
  271. }
  272. .my-info {
  273.    flex-basis: 50%;
  274. }
  275. .my-info.full {
  276.    flex-basis: 100%;
  277. }
  278. .my-info.info-name {
  279.    flex-basis: 100%;
  280.    font-weight: bold;
  281. }
  282. .my-info.info-hints {
  283.    flex-basis: 100%;
  284.    font-size: 14px;
  285.    padding-bottom: 20px;
  286. }
  287. .my-info-content {
  288.    font-weight: bold;
  289. }
  290. .payment-step-email {  
  291.    transition: opacity 1s ease-out;
  292.    opacity: 0;
  293.    height: 0;
  294.    overflow: hidden;
  295.    width : 100%;
  296.    padding: 20px 0;
  297. }
  298. .payment-step-final {
  299.    transition: opacity 1s ease-out;
  300.    opacity: 0;
  301.    height: 0;
  302.    overflow: hidden;
  303.    width : 100%;
  304.    padding: 20px 0;
  305. }
  306. .payment-step1.showing {
  307.    opacity: 1;
  308.    height: auto;
  309. }
  310. .payment-step-email.showing {
  311.    opacity: 1;
  312.    height: auto;
  313. }
  314. .payment-step-email.hide{
  315.    display:none;
  316. }
  317. .payment-step-final.showing {
  318.    opacity: 1;
  319.    height: auto;
  320. }
  321. #payment-button {
  322.    display : none;
  323. }
  324. #payment-button.btn-style {
  325.    background-color: #c32827;
  326.    color: #fff;
  327.    border: 1px solid #a6a6a6;
  328. }
  329.  
  330. #payment-button.btn-style:disabled {
  331.    border: 1px solid #dadada;
  332.    background-color: transparent;
  333.    color: #dadada;
  334. }
  335. .field-row.payment{
  336.    height:auto;
  337. }
  338. .field-row.payment .field-label.hints {
  339.    font-weight:bold;
  340. }
  341. @media (max-width: 800px){
  342.    .image-container img.mobile {
  343.        display: block;
  344.        margin: 10px 0;
  345.    }
  346.    .image-container img.desktop {
  347.        display: none;
  348.    }
  349. }
  350.  
  351. @media (max-width: 500px){
  352.  
  353.    .field-row.payment .checkbox-group{
  354.        flex-wrap: wrap;
  355.    }
  356.   .field-row.payment .checkbox-group .field-label {
  357.        white-space: normal;
  358.    }
  359.    .my-info-wrap.wrap {
  360.        flex-wrap: wrap;
  361.    }
  362.    .my-info-wrap.wrap .my-info {
  363.        margin-bottom: 20px;
  364.    }
  365. }
  366.  
  367. .display-body-part img {
  368.    width: 100%;
  369. }
  370. </style>
  371. <div id="wrapper" class="promote188">
  372.    <div id="article">
  373.        <div class="banner-wrapper">
  374.            <div class="banner">
  375.                <div class="home-banner"><img  alt="激光脫毛 白滑小腿 零毛孔 零黑點" class="desktop" src="/assets/images/promotion/288-offer4-summer-hot-pick.jpg" /><img  alt="激光脫毛 白滑小腿 零毛孔 零黑點" class="mobile" src="/assets/images/promotion/288-offer4-summer-hot-pick-m.jpg" />
  376.                </div>
  377.            </div>
  378.          <!--  <div class="object-wrapper wslick0">
  379.                <div class="object text1 ease-transform-effect"><img  alt="Laser Pro 無痛脫毛-冷凍-邊度脫毛好" src="/assets/images/無痛脫毛-冷凍-邊度脫毛好.png" /></div>
  380.                <div class="object text2 ease-transform-effect"><img  alt="Laser Pro 脫毛技術-淨白-滑溜肌膚" src="/assets/images/脫毛技術-淨白-滑溜肌膚.png" /></div>
  381.                <div class="object text3 ease-transform-effect"><img  alt="Laser Pro" src="/assets/images/LPweb-layout-03.png" /></div>
  382.                <div class="object text4 ease-transform-effect" onClick="goToSection('booking-form');"><img alt="Laser Pro 性價比-效果-保養-專業"  src="/assets/images/性價比-效果-保養-專業.png" /></div>
  383.            </div>-->
  384.          
  385.            <div class="logo"><a href="https://laserprocenter.com.hk/"><img alt = "LaserPro激光脫毛專家" src="/assets/images/脫毛-嫩膚-美白-毛孔.jpg" /></a></div>
  386.        </div>
  387.    </div>
  388.    <div id="sections">
  389.    
  390.    
  391.               <div class="image-container" ><img class="desktop" src="/assets/images/laserpro-part-desktop.png"><a href="#"  onClick="OpenPSWP([{src: '/assets/images/laserpro-part-mobile.jpg',w: 750,h: 765},])"><img class="mobile" src="/assets/images/laserpro-part-mobile.jpg"></a></div>
  392.      <form method="post" action="" onSubmit="return onFormSubmit()">
  393.        <div class="booking-form section">
  394.        <input type="hidden" name="override_body_part" value="1" />
  395.            <div class="title right"><img alt="Laser Pro 元朗-皺紋-健康-暗瘡"   src="/assets/images/元朗-皺紋-健康-暗瘡.png"/></div>
  396.            <div class="form-container">
  397.                <div class="form-title"></div>
  398.           <!--   <div class="form-hints">【$288/6部位 全年任脫 + 3 年保養】 此價錢是網上登記付款優惠,如到店付款即以 【$688/6個部位 全年任脫 + 3 年保養】。</div>-->
  399.                <input type="hidden" name="allow_time"  id="allow_time" value=""/>
  400.                <div class="form-rowc">
  401.                    <div class="field-row left m6">
  402.                        <input type="text" id="sender_name" name="sender_name" placeholder="姓名 *" class="field required" value="">
  403.                    </div>
  404.                    <div class="field-row m4">
  405.                        <select name="gender" class="select-box required">
  406.                            <option value="" disabled="" selected="selected">性別 *</option>
  407.                            <option  value="女"  >女</option>
  408.                        </select>
  409.                    </div>
  410.                </div>  
  411.                
  412.                            
  413.                <div class="form-rowc">
  414.                    <div class="field-row left m4">
  415.                        <select  onChange="countryCodeChanged(this)" name="country_code" class="select-box required">
  416.                            <option  value="852"  >+852</option>
  417.                            <option  value="853"  >+853</option>
  418.                            <option  value="86"  >+86</option>
  419.                        </select>
  420.                    </div>
  421.                    <div class="field-row m6">
  422.                      <input type="text" id="phone" name="phone" placeholder="電話 *" class="field required" value="">
  423.                    </div>
  424.                </div>
  425.                                
  426.                <div class="form-rowc">
  427.                    <div class="field-row left m4">
  428.                        <input type="text" id="confirm-countrycode" class="field " value="+852" readonly>
  429.                    </div>
  430.                    <div class="field-row m6">
  431.                      <input  onpaste="return false;" ondrop="return false;" autocomplete="off" type="text" id="confirm_phone" name="confirm_phone" placeholder="確認電話 *" class="field required" value="">
  432.                    </div>
  433.                </div>
  434.                
  435.                                
  436.               <div class="form-rowc ">
  437.                   <div class="field-row full">
  438.                        <input type="text" id="email" name="email" placeholder="電郵地址" class="field required" value="">
  439.                    </div>
  440.               </div>
  441.                          <!--   <div class="form-rowc ">
  442.                   <div  class="field-row full hints">
  443.                        (將發送電郵確認登記)
  444.                    </div>
  445.               </div>-->
  446.               <div class="form-rowc">
  447.                   <div class="field-row full">
  448.                        <select name="courses" class="select-box required no">
  449.                                                <option   value="【網上預付】$288/6個部位 全年任脫 + 3 年保養">【網上預付】$288/6個部位 全年任脫 + 3 年保養</option>
  450.                        <option   value="【到店付款】$688/6個部位 全年任脫 + 3 年保養">【到店付款】$688/6個部位 全年任脫 + 3 年保養</option>
  451.                                                </select>
  452.                    </div>
  453.               </div>
  454.    
  455.              
  456.  
  457.                              
  458.                                
  459.                <div class="form-rowc">
  460.                    <div class="field-row full">
  461.                        <div class="checkbox-group">
  462.                            <span class="field-label">現有客戶 *</span>
  463.                            <span class="input__fake__content radio-type">
  464.                                <label for="existing_client1" class="radioLabel auto-text">
  465.                                    <input type="radio" name="existing_client1" value="N" id="existing_client1" class="radioItem" ><span class="radioContent ">否</span>
  466.                                </label>
  467.                                <label for="existing_client2" class="radioLabel auto-text">
  468.                                    <input type="radio" name="existing_client1" value="Y" id="existing_client2" class="radioItem"><span class="radioContent"  >是</span>
  469.                                </label>
  470.                            </span>
  471.                        </div>
  472.                    </div>
  473.                </div>
  474.                
  475.                              
  476.        
  477.                <div class="form-rowc">
  478.                    <div class="field-row full">
  479.                        <select name="location" id="location" class="select-box required">
  480.                          
  481.                             <option disabled="" value="" selected="selected">選擇分店 *</option>                               <option  value="銅鑼灣"  >銅鑼灣英皇鐘錶珠寶中心</option>
  482.                                                           <option  value="觀塘"  >觀塘泓富廣場</option>
  483.                                                           <option  value="旺角朗豪坊店"  >旺角亞朗豪坊辦公大樓</option>
  484.                                                           <option  value="尖沙咀"  >尖沙咀加拿芬廣場</option>
  485.                                                           <option  value="將軍澳"  >將軍澳新都城中心3期</option>
  486.                                                           <option  value="荃灣"  >荃灣千色匯I期</option>
  487.                                                           <option  value="屯門"  >屯門栢麗廣場</option>
  488.                                                           <option  value="元朗"  >元朗光華廣場</option>
  489.                                                           <option  value="沙田"  >沙田新城市商業大廈</option>
  490.                                                    </select>
  491.                    </div>
  492.                </div>                
  493.                <div class="form-rowc">
  494.                    <div class="field-row left m5">
  495.                      <input type="text" id="datepicker" name="date" placeholder="預約日期 *" class="field" autocomplete="off" value=""  disabled>
  496.                    </div>
  497.                    <div class="field-row  m5"> <input type="text" id="timepicker" name="timepicker" placeholder="預約時間 *" class="field " autocomplete="off" value=""  disabled>
  498.                    </div>
  499.                </div>  
  500.            
  501.                
  502.                            
  503.                <div class="form-rowc">
  504.                   <div class="field-row full">
  505.                        <select id="heard_from" name="heard_from" class="select-box required">
  506.                            <option value="" selected disabled> 得知優惠來源?</option>
  507.                            
  508.                                <option value="Facebook"   >Facebook</option>
  509.                            
  510.                                <option value="Instagram"   >Instagram</option>
  511.                            
  512.                                <option value="Google"   >Google</option>
  513.                            
  514.                                <option value="Yahoo!"   >Yahoo!</option>
  515.                            
  516.                                <option value="YouTube"   >YouTube</option>
  517.                            
  518.                                <option value="戶外廣告"   >戶外廣告</option>
  519.                            
  520.                                <option value="朋友介紹"   >朋友介紹</option>
  521.                            
  522.                                <option value="其他"   >其他</option>
  523.                                                    </select>
  524.                    </div>
  525.               </div>
  526.              
  527.                            
  528.               <div id="other_heard_from-field"  class="form-rowc hide">
  529.                   <div class="field-row full">
  530.                        <input type="text" id="other_heard_from" name="other_heard_from" placeholder="其他優惠來源" class="field required" value="">
  531.                    </div>
  532.               </div>
  533.              
  534.                
  535.                <div class="form-hints bottom-show">此價錢是網上登記付款優惠,如選擇 到店付款, 需付$688 激光脫毛自選6個部位  全年任脫 +3 年保養<br>明碼實價 無附加費</div>
  536.                
  537.                <div id="_terms" class="field-row full">
  538.                    <div class="checkbox-group">
  539.                        <span class="input__fake__content checkbox-type single">
  540.                            <label for="acp_tnc" class="radioLabel">
  541.                                 <input type="checkbox" id="acp_tnc" name="acp_tnc" rel="0" class="radioItem" value="1" >
  542.                                <span class="radioContent">本人已年滿18歲或以上及已閱讀並同意<a href="https://laserprocenter.com.hk/privacy" target="_blank">私隱政策</a>及<a href="https://laserprocenter.com.hk/tnc" target="_blank">條款及細則</a>。</span>
  543.                            </label>
  544.                        </span>
  545.                    </div>
  546.              
  547.                                        
  548.                    <div class="checkbox-group">
  549.                        <span class="input__fake__content checkbox-type single">
  550.                            <label for="rec_news" class="radioLabel">
  551.                               <input type="checkbox" id="rec_news" name="rec_news" rel="0" class="radioItem" value="1"  >
  552.                                <span class="radioContent">本人願意日後繼續收取 LaserPro 之產品資料、宣傳資訊及推廣優惠。 如選擇拒絕接收,本人同時將不會收到貴公司的任何禮品、折扣及其他優惠。</span>
  553.                            </label>
  554.                        </span>
  555.                    </div>
  556.                </div>
  557.                
  558.              
  559.                 <div class="form-rowc btn-submit">                      <input type="image" src="/assets/images/submit-button-new.png">                 </div>
  560.              
  561.        
  562.            </div>
  563.            
  564.            
  565.        </div>
  566.  
  567.  
  568.  
  569.          </form>
  570.        
  571.    
  572.                     <!--   <div class="display-body-part section"><img src="/assets/images/LASER PRO脫毛部位圖 20210217-01.jpg"></div>-->
  573.                
  574.    
  575.    
  576.        <div class="tech section ease-fade-effect">
  577.            <div class="title"><img alt="Laser Pro" src="/assets/images/旺角-美容-去斑-瘦身.png"/></div>  
  578.            <div class="background desktop"><img alt="Laser Pro" src="/assets/images/pc-B-01.jpg" />
  579.                <div class="box-wrapper">
  580.                    <div class="box desktop">
  581.                        <div class="light l1 ease-fade-effect"><img alt="Laser Pro" src="/assets/images/pc-B-02a.png" /></div>
  582.                        <div class="light l2 ease-fade-effect"><img alt="Laser Pro" src="/assets/images/pc-B-02b.png" /></div>
  583.                        <div class="light l3 ease-fade-effect"><img alt="Laser Pro" src="/assets/images/pc-B-02c.png" /></div>
  584.                        <div class="text t1 ease-fade-effect"><img alt="Laser Pro" src="/assets/images/pc-B-03.png" /></div>
  585.                        <div class="text t2 ease-transform-effect"><img alt="Laser Pro" src="/assets/images/pc-B-04.png" /></div>
  586.                        <div class="text t3 ease-transform-effect"><img alt="Laser Pro" src="/assets/images/pc-B-05.png" /></div>
  587.                    </div>
  588.                </div>            
  589.            
  590.            </div>
  591.            <div class="background mobile"><img alt="Laser Pro" src="/assets/images/mo-B-01.jpg" />
  592.                <div class="box-wrapper">
  593.                    <div class="box mobile">
  594.                        <div class="light l1 ease-fade-effect"><img alt="Laser Pro" src="/assets/images/mo-B-02a.png" /></div>
  595.                        <div class="light l2 ease-fade-effect"><img alt="Laser Pro" src="/assets/images/mo-B-02b.png" /></div>
  596.                        <div class="light l3 ease-fade-effect"><img alt="Laser Pro" src="/assets/images/mo-B-02c.png" /></div>
  597.                        <div class="text t1 ease-fade-effect"><img alt="Laser Pro" src="/assets/images/mo-B-03.png" /></div>
  598.                        <div class="text t2 ease-transform-effect"><img alt="Laser Pro" src="/assets/images/mo-B-04.png" /></div>
  599.                        <div class="text t3 ease-transform-effect"><img alt="Laser Pro" src="/assets/images/mo-B-05.png" /></div>
  600.                    </div>
  601.                </div>            
  602.            
  603.            
  604.            </div>
  605.  
  606.            
  607.            
  608.            <div class="others desktop">
  609.                <div ><img alt="Laser Pro" src="/assets/images/others-blank.png" /></div>
  610.                <div class="text p2 ease-fade-effect"><img alt="Laser Pro" src="/assets/images/pc-C-02a.png" /></div>
  611.                <div class="text p3 ease-fade-effect"><img alt="Laser Pro" src="/assets/images/pc-C-03a.png" /></div>
  612.                <div class="text p4 ease-fade-effect"><img alt="Laser Pro" src="/assets/images/pc-C-04a.png" /></div>
  613.                <div class="text p5 ease-fade-effect"><img alt="Laser Pro" src="/assets/images/pc-C-05a.png" /></div>
  614.                <div class="text p6 ease-fade-effect"><img alt="Laser Pro" src="/assets/images/pc-C-06a.png" /></div>
  615.                <div class="icon p2 ease-transform-effect"><img alt="Laser Pro" src="/assets/images/pc-C-02b.png" /></div>
  616.                <div class="icon p3 ease-transform-effect"><img alt="Laser Pro" src="/assets/images/pc-C-03b.png" /></div>
  617.                <div class="icon p4 ease-transform-effect"><img alt="Laser Pro" src="/assets/images/pc-C-04b.png" /></div>
  618.                <div class="icon p5 ease-transform-effect"><img alt="Laser Pro" src="/assets/images/pc-C-05b.png" /></div>
  619.                <div class="icon p6 ease-transform-effect"><img alt="Laser Pro" src="/assets/images/pc-C-06b.png" /></div>
  620.            </div>
  621.            
  622.            <div class="others mobile">
  623.                <div ><img alt="Laser Pro" src="/assets/images/others-mobile-blank.png" /></div>
  624.                <div class="icon p2 ease-transform-effect"><img alt="Laser Pro" src="/assets/images/mo-C-02a.png" /></div>
  625.                <div class="icon p3 ease-transform-effect"><img alt="Laser Pro" src="/assets/images/mo-C-03a.png" /></div>
  626.                <div class="icon p4 ease-transform-effect"><img alt="Laser Pro" src="/assets/images/mo-C-04a.png" /></div>
  627.                <div class="icon p5 ease-transform-effect"><img alt="Laser Pro" src="/assets/images/mo-C-05a.png" /></div>
  628.                <div class="icon p6 ease-transform-effect"><img alt="Laser Pro" src="/assets/images/mo-C-06a.png" /></div>
  629.                <div class="text p2 ease-fade-effect"><img alt="Laser Pro" src="/assets/images/mo-C-02b.png" /></div>
  630.                <div class="text p3 ease-fade-effect"><img alt="Laser Pro" src="/assets/images/mo-C-03b.png" /></div>
  631.                <div class="text p4 ease-fade-effect"><img alt="Laser Pro" src="/assets/images/mo-C-04b.png" /></div>
  632.                <div class="text p5 ease-fade-effect"><img alt="Laser Pro" src="/assets/images/mo-C-05b.png" /></div>
  633.                <div class="text p6 ease-fade-effect"><img alt="Laser Pro" src="/assets/images/mo-C-06b.png" /></div>
  634.            </div>
  635.            
  636.            
  637.        </div>
  638.        <div class="terms section">  </div>
  639.             </div>
  640.    </div>
  641.  
  642. <style>
  643.   .process-back {
  644.    position: fixed;
  645.    z-index: 2147483647;
  646.    top: 0;
  647.    left: 0;
  648.    width: 100%;
  649.    height: 100%;
  650.    transform: translate3d(0, 0, 0);
  651.    background-color: black;
  652.    background-color: rgba(0, 0, 0, 0.6);
  653.    background: radial-gradient(50% 50%, ellipse closest-corner, rgba(0,0,0,0.6) 1%, rgba(0,0,0,0.6) 100%);
  654.    color: #fff;
  655.    display : none;
  656. }
  657.  
  658. .process-back.active {
  659.     display : block;
  660. }
  661. .process-back .processing-modal {
  662.    font-family: "HelveticaNeue", "HelveticaNeue-Light", "Helvetica Neue Light", helvetica, arial, sans-serif;
  663.    font-size: 14px;
  664.    text-align: center;
  665.    box-sizing: border-box;
  666.    max-width: 350px;
  667.    top: 50%;
  668.    left: 50%;
  669.    position: absolute;
  670.    transform: translateX(-50%) translateY(-50%);
  671.    cursor: pointer;
  672.    text-align: center;
  673. }
  674.  
  675. .process-back .processing-modal  .processing-logo img {
  676.    height: 36px;
  677. }
  678.  
  679. .process-back .processing-modal  .message {
  680.    font-size: 15px;
  681.    line-height: 1.5;
  682.    padding: 10px 0;
  683. }
  684. </style>
  685. <div class="process-back">
  686.    <div class="processing-modal">
  687.        <div class="processing-logo"></div>
  688.        <div class="message">處理中,請稍等..</div>
  689.    </div>
  690. </div>
  691. <div id="footer">
  692.    <div class="holder">
  693.        <div class="links">
  694.          <div class="item">
  695.                <a target="_blank" href="https://laserprocenter.com.hk/about" class="link">關於我們</a>
  696.            </div>
  697.            
  698.            <div class="item">
  699.                <a  target="_blank" href="https://laserprocenter.com.hk/location" class="link">分店地區</a>
  700.            </div>
  701. <!--
  702.            <div class="item">
  703.                <a  target="_blank" href="https://laserprocenter.com.hk/about" class="link">聯絡我們</a>
  704.            </div>
  705.            
  706.            <div class="item">
  707.                <a  target="_blank" href="https://laserprocenter.com.hk/about" class="link">加入我們</a>
  708.            </div>
  709.            -->
  710.             <div class="share">
  711.                <a class="facebook addthis_button_facebook" href="https://www.facebook.com/LaserProHK" target="_blank"><img alt="LaserPro激光脫毛專家 Facebook" src="/assets/images/將軍澳-徹底-Underarm.png" /></a>
  712.                <a class="instagram addthis_button_ig" href="https://www.instagram.com/laserprohk/" target="_blank"><img alt="LaserPro激光脫毛專家 Instagram" src="/assets/images/觀塘-808脫毛-脫毛蠟.png" /></a>
  713.                <!--<a class="youtube"  href="https://youtube.com" target="_blank"><img src="/assets/images/香港-脫毛刀-幼毛-口碑.png" /></a>-->
  714.                <a class="whatsapp" href="https://api.whatsapp.com/send?phone=85263661116&amp;text=" target="_blank"><img alt="LaserPro激光脫毛專家 Whatsapp 查詢" src="/assets/images/九龍-755脫毛-粗毛.png"/></a>
  715.            </div>
  716.            
  717.        </div>
  718.        <div class="bottom">
  719.            <a href="https://laserprocenter.com.hk/sitemap" target="_blank" class="privacy-link">SiteMap</a>&nbsp;<span class="sp">|</span>&nbsp;
  720.            <a href="https://laserprocenter.com.hk/privacy" target="_blank" class="privacy-link">免責聲明</a>
  721.            &nbsp;<span class="sp">|</span>
  722.            &nbsp;<span class="copyright">&copy; 2021 Copyright LASER PRO CENTER LIMITED  <span class="non-mobile">&nbsp;&nbsp;All rights reserved</span></span>
  723.                           <div class="contact-link"><a href="mailto:enquiry@laserprocenter.com.hk">Email: enquiry@laserprocenter.com.hk</a></div>
  724.        </div>
  725.    </div>
  726. </div>
  727. <a href="javascript:void(0);" id="ui-to-top" class="ui-to-top fa fa-angle-up active"></a>
  728.  
  729. </div><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
  730. <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.10.4/jquery-ui.min.js"></script>
  731. <!--[if lt IE 9]>
  732. <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/r29/html5.min.js"></script>
  733. <script type="text/javascript" src="https://laserprocenter.com.hk/assets/js/placeholders.min.js"></script>
  734. <script type="text/javascript" src="https://laserprocenter.com.hk/assets/js/respond.min.js"></script>
  735. <style>
  736. .border-radius {
  737. -ms-behavior: url('https://laserprocenter.com.hk/assets/js/border-radius.htc');
  738. behavior: url('https://laserprocenter.com.hk/assets/js/border-radius.htc');
  739. }
  740. </style>
  741. <![endif]-->
  742. <script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.3.1/js/bootstrap.min.js"></script>
  743. <script type="text/javascript" src="https://laserprocenter.com.hk/assets/js/min/vendor.min.js"></script>
  744. <script type="text/javascript" src="https://laserprocenter.com.hk/assets/js/min/home.min.js"></script>
  745. <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mustache.js/0.1/mustache.min.js"></script>
  746. <style>
  747. #_terms .radioContent a,
  748. #_terms .radioContent a:link,
  749. #_terms .radioContent a:visited
  750. {
  751.    text-decoration: underline;
  752. }
  753. #_terms .radioContent a:hover {
  754.    color: #5c5c5c;
  755. }
  756.  
  757.  
  758. .ui-timepicker-select{
  759.    width: 100%;
  760.    border: 0;
  761.    border-bottom: 1px solid #645f64;
  762.    line-height: 34px;
  763.    height: 34px;
  764.    color: inherit;
  765.    font-size: 18px;
  766.    font-family: inherit;
  767.    box-sizing: border-box;
  768.    border-radius: 0;
  769.    padding: 0 5px;
  770.    -webkit-appearance: none;
  771.    -moz-appearance: none;
  772.    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEUAAAA0CAYAAADc8/VNAAAACXBIWXMAAC4jAAAuIwF4pT92AAAAB3RJTUUH4woJBzE4gKw9DgAAAv1JREFUaN7tmstr1UAUhz9zxZ3i3j8h6yxUgpsudCEuiuhCN4KLLlRakFpBXYgdFEFB9KBWsCKIDIoPFFEpRa8W8SrFx1UqVAtWacHWUrXWvlw4gpQ+7iOTTGx+uzs55zeTj5Nzk0wgU6ZMmTJZ1aKZBpvqNtYAK1J6Tl1KdEc1BotnGV8GnE8hkClgZbUm3kyDSvRVoD2FUC4q0U+sQDHaCUykCMh3YE8URrNCUaJfAmdTBKVZif5kFYrRfmAwBUDeA8eiMsvNdTBfKP4IA/8nsNZxKNuV6BdRmXklxJwC3jgMpF2JvhKl4bxQlOgxoMFRIBPArqhNS6kUlOg7wC0HobREedmUBcWoHvjlEJCvwD4bxrlSA/OF4kAY+MuBVY5AaVKi22wYe2XGHwT6HQDyFjhpyzxXTnC+UBwNA38IWJ8wlK1KdJctc6+CnHNAZ4JAbpvGjzNQlOhJ81yUhMZMw8cpKAbMQ+ByAlBO2LxsqoJi1AiMxAik3zR668pVmpgvFIfCwF8CrIkJSoMS/SiOibwq848AH2NYZyfQEldJ5qpJzheKY2Hg9wG1lte5SYn+EBcULwKPS8Bji2vUSvSDOLt51VCU6CnzpDppYX0jwO64/+KiqBSU6AJwwcL6jirRPamE8vcBDRiO0K8XOJzEHWIuKqN8ofgtDPxJoCYiyzol+nkSULyI/Y4D3RH4dJgGTqorxVTLRBj4PcDmKmymgFolujcpKFFXCkr0deB+FRatSvTTJN9LeJZ864HxCvKGgb0kLCtQlOhXwOkKUpuV6M//JRSjA8BAGfHdRLjL50yjndZ0R8LAHwHWlZiyTYl+7QIUz7K/AKWcaJsSfQ1HZBWKEj3O/K8Px7Gwy+dypaBE3wNuzBFyxjTmhQPFqIGZdxcH+fO5h1PKxTFJvlAcDAN/KbB62qFGJbrdNShejHMdAvr++V00jZgFWSmmWkbDwP8CbDBDW5Tody5C8WKerxV4BtxUou/iqGKFYnYXd+DuR0CZMmXKlCkO/QbIVNt7X1ccbwAAAABJRU5ErkJggg==) no-repeat center right;
  773.    background-size: 28px auto;
  774.    background-color: #fff;
  775.    border-radius: 9px;
  776.    padding-left: 15px;
  777.    border: 0;
  778.    height: 34px;
  779. }
  780. select.ui-timepicker-select option:disabled {
  781.    color: #c3c3c3;
  782. }
  783. </style>
  784. <div id="pswp-gallery" class="pswp" tabindex="-1" role="dialog" aria-hidden="true"  ref="pswpref">
  785.    <!-- Background of PhotoSwipe.
  786.         It's a separate element as animating opacity is faster than rgba(). -->
  787.    <div class="pswp__bg"></div>
  788.    <!-- Slides wrapper with overflow:hidden. -->
  789.    <div class="pswp__scroll-wrap">
  790.        <!-- Container that holds slides.
  791.            PhotoSwipe keeps only 3 of them in the DOM to save memory.
  792.            Don't modify these 3 pswp__item elements, data is added later on. -->
  793.        <div class="pswp__container">
  794.            <div class="pswp__item"></div>
  795.            <div class="pswp__item"></div>
  796.            <div class="pswp__item"></div>
  797.        </div>
  798.        <!-- Default (PhotoSwipeUI_Default) interface on top of sliding area. Can be changed. -->
  799.        <div class="pswp__ui pswp__ui--hidden">
  800.            <div class="pswp__top-bar">
  801.                <!--  Controls are self-explanatory. Order can be changed. -->
  802.                <div class="pswp__counter"></div>
  803.                <button class="pswp__button pswp__button--close" title="Close (Esc)"></button>
  804.                <button class="pswp__button pswp__button--fs" title="Toggle fullscreen"></button>
  805.                <button class="pswp__button pswp__button--zoom" title="Zoom in/out"></button>
  806.                <!-- Preloader demo http://codepen.io/dimsemenov/pen/yyBWoR -->
  807.                <!-- element will get class pswp__preloader--active when preloader is running -->
  808.                <div class="pswp__preloader">
  809.                    <div class="pswp__preloader__icn">
  810.                      <div class="pswp__preloader__cut">
  811.                        <div class="pswp__preloader__donut"></div>
  812.                      </div>
  813.                    </div>
  814.                </div>
  815.            </div>
  816.            <div class="pswp__share-modal pswp__share-modal--hidden pswp__single-tap">
  817.                <div class="pswp__share-tooltip"></div>
  818.            </div>
  819.            <button class="pswp__button pswp__button--arrow--left" title="Previous (arrow left)">
  820.            </button>
  821.            <button class="pswp__button pswp__button--arrow--right" title="Next (arrow right)">
  822.            </button>
  823.            <div class="pswp__caption">
  824.                <div class="pswp__caption__center"></div>
  825.            </div>
  826.        </div>
  827.    </div>
  828. </div>
  829.  
  830.  
  831. <script>
  832.  
  833.  
  834.  
  835.    function paymentHelp(){
  836.        var items = [{
  837.            src : 'https://laserprocenter.com.hk/assets/images/LP - Online Payment Guideline_payme.jpg',
  838.            w : 801,
  839.            h : 1200,
  840.        },{
  841.            src : 'https://laserprocenter.com.hk/assets/images/LP - Online Payment Guideline-fps.jpg',
  842.            w : 801,
  843.            h : 1200,
  844.        }];
  845.        var pswpElement = document.querySelectorAll('.pswp')[0];
  846.        var options = {
  847.            closeOnScroll : false,
  848.            history: false,
  849.            focus: false,
  850.            index: 0
  851.        };
  852.        share_gallery = new PhotoSwipe( pswpElement, PhotoSwipeUI_Default, items, options);
  853.        share_gallery.init()
  854.    }
  855.  
  856.    
  857.  
  858. function OpenPSWP(items){
  859.    var pswpElement = document.querySelectorAll('.pswp')[0];
  860.    var options = {
  861.        closeOnScroll : false,
  862.        history: false,
  863.        focus: false,
  864.        index: 0
  865.    };
  866.    var gallery = new PhotoSwipe( pswpElement, PhotoSwipeUI_Default, items, options);
  867.    gallery.init()
  868. }
  869. function offset(el) {
  870.    var rect = el.getBoundingClientRect(),
  871.    scrollLeft = window.pageXOffset || document.documentElement.scrollLeft,
  872.    scrollTop = window.pageYOffset || document.documentElement.scrollTop;
  873.    return { top: rect.top + scrollTop, left: rect.left + scrollLeft }
  874. }
  875. var section_obj = {
  876.    banner :  {
  877.        element :  document.querySelector('.banner'),
  878.        offset :  function(){
  879.            return offset(this.element);
  880.        }
  881.    },
  882.    men :  {
  883.        element :  document.querySelector('.men'),
  884.        offset :  function(){
  885.            return offset(this.element);
  886.        }
  887.    },
  888.    tech :  {
  889.        element :  document.querySelector('.tech'),
  890.        offset :  function(){
  891.            return offset(this.element);
  892.        }
  893.    },
  894.    service :  {
  895.        element :  document.querySelector('.service'),
  896.        offset :  function(){
  897.            return offset(this.element);
  898.        }
  899.    },
  900.  //  exp :  {
  901.  //      element :  document.querySelector('.exp'),
  902.  //      offset :  function(){
  903.  //          return offset(this.element);
  904.  //      }
  905.  //  },
  906.    'booking-form' :  {
  907.        element :  document.querySelector('.booking-form'),
  908.        offset :  function(){
  909.            return offset(this.element);
  910.        }
  911.    },
  912.    faq :  {
  913.        element :  document.querySelector('.faq'),
  914.        offset :  function(){
  915.            return offset(this.element);
  916.        }
  917.    },
  918.    terms :  {
  919.        element :  document.querySelector('.terms'),
  920.        offset :  function(){
  921.            return offset(this.element);
  922.        }
  923.    },
  924.    privacy :  {
  925.        element :  document.querySelector('.privacy'),
  926.        offset :  function(){
  927.            return offset(this.element);
  928.        }
  929.    },
  930.    about :  {
  931.        element :  document.querySelector('.about'),
  932.        offset :  function(){
  933.            return offset(this.element);
  934.        }
  935.    },
  936.    location :  {
  937.        element :  document.querySelector('.location'),
  938.        offset :  function(){
  939.            return offset(this.element);
  940.        }
  941.    }
  942. }
  943.    function goToSection(section){
  944.         if(section == 'tech' || section == 'booking-form' || section == 'terms' || section == 'service'){
  945.            if(section_obj[section].element === null) return;
  946.        var offset  = $(section_obj[section].element).offset();
  947.        $('html, body').animate({
  948.            scrollTop: offset.top - $('#header').height()  
  949.        }, 800, function() {
  950.            detectArea(section);
  951.        });
  952.    }
  953. }  
  954. function goToTop(){
  955.    if($('html').hasClass('open-menu')){
  956.        $('html').removeClass('open-menu');
  957.    }
  958.    $('html, body').animate({
  959.        scrollTop: 0
  960.    }, 800);
  961. }
  962. function detectArea(section,last){
  963.    var element = section_obj[section].element;
  964.    if(element === null) return;
  965.    var div_offset = section_obj[section].offset();
  966.    
  967.    var doc_end_pos = parseInt($(window).scrollTop()) + parseInt($(window).height());
  968.    var doc_start_pos = $(window).scrollTop();
  969.    
  970.    var start_pos = div_offset.top;
  971.    var end_pos = div_offset.top + $(element).height();
  972.    var pad = 8;
  973.    //check if within section or document end touch the start of section
  974.    var is_within = doc_start_pos >= start_pos - ($('#header').height() + pad) && doc_start_pos <=end_pos;
  975.    var is_reached = doc_end_pos >= start_pos && doc_start_pos <= end_pos;
  976.    if( is_within || is_reached  ){
  977.        $(element).addClass('animated');
  978.        $(element).find('.ease-fade-effect').addClass('animated');
  979.        $(element).find('.ease-transform-effect').addClass('animated');
  980.    }  
  981.    if(is_within){
  982.        $('.top-nav-bar > li').removeClass('selected');
  983.        $('.top-nav-bar > li.link-'+section).addClass('selected');
  984.    }
  985.    if( doc_start_pos == 0 || doc_start_pos <= $(section_obj['banner'].element).height() - 100 ){
  986.        //within banner area    
  987.        $('html').removeClass('in-body');
  988.        $('.banner-wrapper .logo').removeClass('animated');
  989.        $('.top-nav-bar > li').removeClass('selected');
  990.                $('.top-nav-bar > li.link-banner').addClass('selected');
  991.            } else {
  992.        $('html').addClass('in-body');
  993.        $('.banner-wrapper .logo').addClass('animated');
  994.    }
  995.   //if( ($(window).scrollTop() + $(window).height()) > div_offset.top  ){
  996.   //    console.log(section);
  997.   //    console.log(div_offset);
  998.   //    if(section == 'banner'){
  999.   //        $('html').removeClass('in-body');
  1000.   //        $('.banner-wrapper .logo').removeClass('animated');
  1001.   //    } else {
  1002.   //        $('html').addClass('in-body');
  1003.   //        $('.banner-wrapper .logo').addClass('animated');
  1004.   //        $(element).addClass('animated');
  1005.   //        $(element).find('.ease-fade-effect').addClass('animated');
  1006.   //        $(element).find('.ease-transform-effect').addClass('animated');
  1007.   //    }
  1008.   //}
  1009. }
  1010. var date_notavail = ['2024-02-10','2024-02-11','2024-02-12','2024-02-13'];
  1011. var body_part_max = {
  1012.    free : 1,
  1013.    big : 1,
  1014.    small : 1,
  1015. }
  1016.  
  1017.  
  1018. var day_off_data = [];
  1019. var holiday_data = [];
  1020. var occupied_data = {};
  1021. var shop_week_data = [];
  1022. var max_booking_allowed = 1;
  1023. var weekToInt = {
  1024.          'Mon' : 1,  
  1025.          'Tue' : 2,  
  1026.          'Wed' : 3,  
  1027.          'Thu' : 4,  
  1028.          'Fri' : 5,  
  1029.          'Sat' : 6,  
  1030.          'Sun' : 0
  1031.        };
  1032.        
  1033.        
  1034.        
  1035.      max_booking_allowed = 99;
  1036.    shop_week_data = {"3":{"1":{"start":"12:00pm","end":"7:30pm"},"2":{"start":"12:00pm","end":"7:30pm"},"3":{"start":"12:00pm","end":"7:30pm"},"4":{"start":"12:00pm","end":"7:30pm"},"5":{"start":"12:00pm","end":"7:30pm"},"6":{"start":"10:30am","end":"6:00pm"},"holiday":{"start":"10:30am","end":"6:00pm"}},"7":{"1":{"start":"12:00pm","end":"7:30pm"},"2":{"start":"12:00pm","end":"7:30pm"},"3":{"start":"12:00pm","end":"7:30pm"},"4":{"start":"12:00pm","end":"7:30pm"},"5":{"start":"12:00pm","end":"7:30pm"},"6":{"start":"10:30am","end":"6:00pm"},"holiday":{"start":"10:30am","end":"6:00pm"}},"2":{"1":{"start":"12:00pm","end":"7:30pm"},"2":{"start":"12:00pm","end":"7:30pm"},"3":{"start":"12:00pm","end":"7:30pm"},"4":{"start":"12:00pm","end":"7:30pm"},"5":{"start":"12:00pm","end":"7:30pm"},"6":{"start":"10:30am","end":"6:00pm"},"holiday":{"start":"10:30am","end":"6:00pm"}},"19":{"1":{"start":"12:00pm","end":"7:30pm"},"2":{"start":"12:00pm","end":"7:30pm"},"3":{"start":"12:00pm","end":"7:30pm"},"4":{"start":"12:00pm","end":"7:30pm"},"5":{"start":"12:00pm","end":"7:30pm"},"6":{"start":"10:30am","end":"6:00pm"},"holiday":{"start":"10:30am","end":"6:00pm"}},"11":{"1":{"start":"12:00pm","end":"7:30pm"},"2":{"start":"12:00pm","end":"7:30pm"},"3":{"start":"12:00pm","end":"7:30pm"},"4":{"start":"12:00pm","end":"7:30pm"},"5":{"start":"12:00pm","end":"7:30pm"},"6":{"start":"10:30am","end":"6:00pm"},"holiday":{"start":"10:30am","end":"6:00pm"}},"17":{"1":{"start":"12:00pm","end":"7:30pm"},"2":{"start":"12:00pm","end":"7:30pm"},"3":{"start":"12:00pm","end":"7:30pm"},"4":{"start":"12:00pm","end":"7:30pm"},"5":{"start":"12:00pm","end":"7:30pm"},"6":{"start":"10:30am","end":"6:00pm"},"holiday":{"start":"10:30am","end":"6:00pm"}},"12":{"1":{"start":"12:00pm","end":"7:30pm"},"2":{"start":"12:00pm","end":"7:30pm"},"3":{"start":"12:00pm","end":"7:30pm"},"4":{"start":"12:00pm","end":"7:30pm"},"5":{"start":"12:00pm","end":"7:30pm"},"6":{"start":"10:30am","end":"6:00pm"},"0":{"start":"10:30am","end":"6:00pm"},"holiday":{"start":"10:30am","end":"6:00pm"}},"13":{"1":{"start":"12:00pm","end":"7:30pm"},"2":{"start":"12:00pm","end":"7:30pm"},"3":{"start":"12:00pm","end":"7:30pm"},"4":{"start":"12:00pm","end":"7:30pm"},"5":{"start":"12:00pm","end":"7:30pm"},"6":{"start":"10:30am","end":"6:00pm"},"0":{"start":"10:30am","end":"6:00pm"},"holiday":{"start":"10:30am","end":"6:00pm"}},"10":{"1":{"start":"12:00pm","end":"7:30pm"},"2":{"start":"12:00pm","end":"7:30pm"},"3":{"start":"12:00pm","end":"7:30pm"},"4":{"start":"12:00pm","end":"7:30pm"},"5":{"start":"12:00pm","end":"7:30pm"},"6":{"start":"10:30am","end":"6:00pm"},"0":{"start":"10:30am","end":"6:00pm"},"holiday":{"start":"10:30am","end":"6:00pm"}}};
  1037. holiday_data = ["2024-09-18"];
  1038. day_off_data = {"all":[]};
  1039. occupied_data = {"all":{"2024-08-02":{"start":"12:00pm","end":"3:30pm"},"2024-08-08":{"start":"12:00pm","end":"3:00pm"},"2024-08-09":{"start":"12:00pm","end":"3:00pm"},"2024-09-06":{"start":"12:00pm","end":"3:30pm"},"2024-09-12":{"start":"12:00pm","end":"3:00pm"},"2024-09-13":{"start":"12:00pm","end":"3:00pm"}},"TW":{"2024-07-29":[{"start":"4:00pm","end":"4:30pm"},{"start":"3:00pm","end":"3:30pm"}],"2024-08-05":[{"start":"2:30pm","end":"3:00pm"},{"start":"12:00pm","end":"12:30pm"}],"2024-08-10":[{"start":"10:30am","end":"11:00am"}],"2024-08-31":[{"start":"3:00pm","end":"3:30pm"}],"2024-07-31":[{"start":"12:30pm","end":"1:00pm"}],"2024-07-30":[{"start":"2:00pm","end":"2:30pm"}],"2024-08-06":[{"start":"2:00pm","end":"2:30pm"},{"start":"2:00pm","end":"2:30pm"}],"2024-08-03":[{"start":"3:00pm","end":"3:30pm"}],"2024-08-19":[{"start":"2:00pm","end":"2:30pm"}]},"KT":{"2024-08-15":[{"start":"4:00pm","end":"4:30pm"}],"2024-08-01":[{"start":"7:30pm","end":"8:00pm"},{"start":"3:00pm","end":"3:30pm"},{"start":"7:00pm","end":"7:30pm"},{"start":"12:00pm","end":"12:30pm"}],"2024-08-02":[{"start":"4:30pm","end":"5:00pm"}],"2024-07-31":[{"start":"6:00pm","end":"6:30pm"},{"start":"6:00pm","end":"6:30pm"}]},"CWB":{"2024-07-29":[{"start":"4:00pm","end":"4:30pm"},{"start":"4:30pm","end":"5:00pm"},{"start":"6:30pm","end":"7:00pm"},{"start":"6:30pm","end":"7:00pm"},{"start":"6:30pm","end":"7:00pm"},{"start":"12:30pm","end":"1:00pm"}],"2024-08-15":[{"start":"6:00pm","end":"6:30pm"}],"2024-07-31":[{"start":"7:00pm","end":"7:30pm"},{"start":"7:00pm","end":"7:30pm"}],"2024-08-13":[{"start":"1:30pm","end":"2:00pm"}],"2024-08-01":[{"start":"2:00pm","end":"2:30pm"},{"start":"6:00pm","end":"6:30pm"}],"2024-08-05":[{"start":"4:00pm","end":"4:30pm"}],"2024-07-30":[{"start":"12:00pm","end":"12:30pm"}],"2024-08-03":[{"start":"5:00pm","end":"5:30pm"}]},"ST":{"2024-08-22":[{"start":"7:30pm","end":"8:00pm"}],"2024-08-03":[{"start":"4:30pm","end":"5:00pm"}],"2024-07-29":[{"start":"4:00pm","end":"4:30pm"},{"start":"1:30pm","end":"2:00pm"}],"2024-07-30":[{"start":"4:00pm","end":"4:30pm"},{"start":"12:00pm","end":"12:30pm"}],"2024-08-15":[{"start":"12:00pm","end":"12:30pm"}],"2024-08-10":[{"start":"3:30pm","end":"4:00pm"}],"2024-08-05":[{"start":"7:00pm","end":"7:30pm"},{"start":"1:30pm","end":"2:00pm"}],"2024-08-14":[{"start":"4:00pm","end":"4:30pm"}],"2024-08-02":[{"start":"6:30pm","end":"7:00pm"}],"2024-08-07":[{"start":"4:30pm","end":"5:00pm"}],"2024-08-06":[{"start":"2:30pm","end":"3:00pm"}]},"YL":{"2024-08-05":[{"start":"3:30pm","end":"4:00pm"}],"2024-08-01":[{"start":"7:00pm","end":"7:30pm"},{"start":"2:30pm","end":"3:00pm"}],"2024-08-03":[{"start":"4:00pm","end":"4:30pm"}],"2024-08-27":[{"start":"12:00pm","end":"12:30pm"}],"2024-08-10":[{"start":"2:30pm","end":"3:00pm"}],"2024-08-02":[{"start":"3:30pm","end":"4:00pm"},{"start":"7:00pm","end":"7:30pm"}],"2024-07-29":[{"start":"5:00pm","end":"5:30pm"},{"start":"7:00pm","end":"7:30pm"}],"2024-08-18":[{"start":"11:00am","end":"11:30am"}],"2024-08-17":[{"start":"3:00pm","end":"3:30pm"}],"2024-07-30":[{"start":"3:00pm","end":"3:30pm"},{"start":"3:00pm","end":"3:30pm"}],"2024-08-04":[{"start":"12:30pm","end":"1:00pm"}]},"TST":{"2024-08-06":[{"start":"12:00pm","end":"12:30pm"}],"2024-08-02":[{"start":"3:30pm","end":"4:00pm"}],"2024-07-31":[{"start":"1:30pm","end":"2:00pm"},{"start":"6:30pm","end":"7:00pm"}],"2024-08-03":[{"start":"1:30pm","end":"2:00pm"}],"2024-07-29":[{"start":"6:30pm","end":"7:00pm"},{"start":"2:00pm","end":"2:30pm"}],"2024-08-01":[{"start":"6:30pm","end":"7:00pm"},{"start":"12:00pm","end":"12:30pm"}],"2024-08-21":[{"start":"2:00pm","end":"2:30pm"}],"2024-08-08":[{"start":"3:00pm","end":"3:30pm"}],"2024-08-07":[{"start":"5:30pm","end":"6:00pm"}]},"LP":{"2024-07-31":[{"start":"7:00pm","end":"7:30pm"},{"start":"7:30pm","end":"8:00pm"},{"start":"7:00pm","end":"7:30pm"},{"start":"2:30pm","end":"3:00pm"},{"start":"7:30pm","end":"8:00pm"},{"start":"12:00pm","end":"12:30pm"}],"2024-08-10":[{"start":"11:30am","end":"12:00pm"}],"2024-07-29":[{"start":"5:30pm","end":"6:00pm"},{"start":"7:00pm","end":"7:30pm"},{"start":"6:00pm","end":"6:30pm"}],"2024-08-05":[{"start":"12:00pm","end":"12:30pm"},{"start":"5:00pm","end":"5:30pm"},{"start":"12:00pm","end":"12:30pm"}],"2024-08-01":[{"start":"12:00pm","end":"12:30pm"}],"2024-08-03":[{"start":"10:30am","end":"11:00am"}],"2024-08-08":[{"start":"6:30pm","end":"7:00pm"}],"2024-07-30":[{"start":"4:00pm","end":"4:30pm"}],"2024-08-09":[{"start":"5:00pm","end":"5:30pm"}]},"TM":{"2024-08-05":[{"start":"3:00pm","end":"3:30pm"}],"2024-07-30":[{"start":"3:00pm","end":"3:30pm"},{"start":"12:00pm","end":"12:30pm"},{"start":"12:00pm","end":"12:30pm"}],"2024-07-29":[{"start":"12:00pm","end":"12:30pm"}],"2024-08-02":[{"start":"7:00pm","end":"7:30pm"},{"start":"7:00pm","end":"7:30pm"},{"start":"3:30pm","end":"4:00pm"},{"start":"3:30pm","end":"4:00pm"}],"2024-07-31":[{"start":"2:00pm","end":"2:30pm"}],"2024-08-03":[{"start":"1:00pm","end":"1:30pm"},{"start":"12:00pm","end":"12:30pm"}],"2024-08-09":[{"start":"3:30pm","end":"4:00pm"}],"2024-08-16":[{"start":"7:30pm","end":"8:00pm"}]},"TKO":{"2024-07-29":[{"start":"12:00pm","end":"12:30pm"},{"start":"1:00pm","end":"1:30pm"}],"2024-08-31":[{"start":"10:30am","end":"11:00am"}],"2024-08-07":[{"start":"2:30pm","end":"3:00pm"}],"2024-08-16":[{"start":"3:00pm","end":"3:30pm"}]}};
  1040. var regionToLocation =  {"\u9285\u947c\u7063":"CWB","\u89c0\u5858":"KT","\u65fa\u89d2\u6717\u8c6a\u574a\u5e97":"LP","\u5c07\u8ecd\u6fb3":"TKO","\u5c16\u6c99\u5480":"TST","\u5143\u6717":"YL","\u6c99\u7530":"ST","\u5c6f\u9580":"TM","\u8343\u7063":"TW"};
  1041. var regionToId =  {"\u9285\u947c\u7063":"19","\u89c0\u5858":"2","\u65fa\u89d2\u6717\u8c6a\u574a\u5e97":"3","\u5c07\u8ecd\u6fb3":"10","\u5c16\u6c99\u5480":"7","\u5143\u6717":"13","\u6c99\u7530":"17","\u5c6f\u9580":"12","\u8343\u7063":"11"};
  1042.  
  1043. var locationDict = {
  1044.    '銅鑼灣' : {
  1045.        days : [],
  1046.        avail_time : {}
  1047.    },
  1048.    '觀塘' : {
  1049.        days : [],
  1050.        avail_time : {}
  1051.    },  
  1052.    '旺角朗豪坊店' : {
  1053.        days : [],
  1054.        avail_time : {}
  1055.    },
  1056.    '將軍澳' : {
  1057.        days : [],
  1058.        avail_time : {}
  1059.    },
  1060.    '尖沙咀' : {
  1061.        days : [],
  1062.        avail_time : {}
  1063.    },
  1064.    '元朗' : {
  1065.        days : [],
  1066.        avail_time : {}
  1067.    },
  1068.    '沙田' : {
  1069.        days : [],
  1070.        avail_time : {}
  1071.    },
  1072.    '屯門' : {
  1073.        days : [],
  1074.        avail_time : {}
  1075.    },
  1076.    '荃灣' : {
  1077.        days : [],
  1078.        avail_time : {}
  1079.    },
  1080. };
  1081.  
  1082. for(shop in locationDict){
  1083.    if(typeof shop_week_data[regionToId[shop]]!=='undefined'){
  1084.        for(week_key in shop_week_data[regionToId[shop]]){
  1085.            if(week_key!='holiday'){
  1086.                locationDict[shop].days.push(parseInt(week_key));    
  1087.            }
  1088.            locationDict[shop].avail_time[week_key] = shop_week_data[regionToId[shop]][week_key];
  1089.        }
  1090.    }
  1091. }      
  1092.    
  1093.        
  1094. $(document).ready(function(){
  1095.         detectArea('tech');
  1096.    detectArea('booking-form');
  1097.    if($('.service').length > 0){
  1098.        detectArea('service');
  1099.        // $('.service.ease-fade-effect').addClass('animated');
  1100.        // $('.service .ease-fade-effect').addClass('animated');
  1101.    }
  1102.    detectArea('terms');
  1103.  
  1104.    $('.object-wrapper .ease-transform-effect').addClass('animated');
  1105.    $('.object-wrapper .ease-fade-effect').addClass('animated');
  1106.                      
  1107.                  
  1108.  
  1109.  
  1110.    body_part_max.big = 3;
  1111.    body_part_max.small = 3;
  1112.  
  1113.       if ($('.big_part:checked').length > body_part_max.big - 1  ){
  1114.        $('.big_part:not(:checked)').prop('disabled', true);  
  1115.    }
  1116.    if ($('.small_part:checked').length > body_part_max.small - 1){
  1117.        $('.small_part:not(:checked)').prop('disabled', true);  
  1118.    }
  1119.    $('.big_part').change(function(){
  1120.        if ($('.big_part:checked').length > body_part_max.big - 1 )
  1121.        {
  1122.            //disable unselected option
  1123.            $('.big_part:not(:checked)').prop('disabled', true);  
  1124.        } else {
  1125.            $('.big_part:not(:checked)').prop('disabled', false);  
  1126.        }
  1127.    });
  1128.    $('.small_part').change(function(){
  1129.        if ($('.small_part:checked').length > body_part_max.small - 1 )
  1130.        {
  1131.            //disable unselected option
  1132.            $('.small_part:not(:checked)').prop('disabled', true);  
  1133.        } else {
  1134.            $('.small_part:not(:checked)').prop('disabled', false);  
  1135.        }
  1136.    });
  1137.    $(window).resize(function(){
  1138.        if( $(window).width() >= 1200){
  1139.            if($('html').hasClass('open-menu')){
  1140.                $('html').removeClass('open-menu');
  1141.            }
  1142.        }
  1143.    });
  1144.    $(window).scroll(function(){
  1145.        if( $(window).scrollTop() > 400){
  1146.            $('.ui-to-top').addClass('active');
  1147.        } else {
  1148.            $('.ui-to-top').removeClass('active');
  1149.        }
  1150.                              detectArea('tech');
  1151.        detectArea('booking-form');
  1152.        if($('.service').length > 0){
  1153.             detectArea('service');
  1154.        }
  1155.        detectArea('terms');
  1156.        
  1157.                
  1158.        
  1159.                            });
  1160.    $('.ui-to-top').on('click',function(){
  1161.        goToTop();
  1162.    });
  1163.      
  1164.        var defaultShop = '將軍澳';
  1165.        var defaultDate = '';
  1166.        var defaultTime = '';
  1167.        
  1168.          
  1169.        $( "#datepicker" ).datepicker
  1170.        ({
  1171.            direction: "up",
  1172.            dateFormat: 'mm/dd/yy,D',
  1173.            minDate: 2,
  1174.            maxDate: 60,
  1175.            beforeShowDay : function(date){
  1176.                var day = parseInt(date.getDay());
  1177.                var avail_days = locationDict[$('#location option:selected').val()].days;
  1178.                var _month = date.getMonth() + 1;
  1179.                var _day = date.getDate();
  1180.                var compare_date = date.getFullYear() + '-' + (_month <10 ? '0'+_month : _month) + '-' + (_day <10 ? '0'+_day : _day);
  1181.                   var selected_location = $('#location option:selected').val();
  1182.                
  1183.            
  1184.                var region_location = typeof regionToLocation[selected_location] !=='undefined' ? regionToLocation[selected_location] : null;
  1185.                date_notavail = [];
  1186.                for(_shop in day_off_data){
  1187.                    if(_shop == 'all'){
  1188.                        for(i in day_off_data[_shop]){
  1189.                            date_notavail.push(day_off_data[_shop][i]);    
  1190.                        }
  1191.                    } else if(_shop == region_location){
  1192.                        for(i in day_off_data[_shop]){
  1193.                            date_notavail.push(day_off_data[_shop][i]);    
  1194.                        }
  1195.                    }
  1196.                }
  1197.                //check if holiday is off
  1198.                if( $.inArray( compare_date, holiday_data )!=-1){
  1199.                    var _shop_id = regionToId[selected_location];
  1200.                    if(typeof _shop_id!=='undefined'){
  1201.                        var _week_data = shop_week_data[_shop_id];
  1202.                        if(typeof _week_data!=='undefined'){
  1203.                            if(typeof _week_data['holiday']==='undefined'){
  1204.                                //holiday off
  1205.                                return [false,""];
  1206.                            }
  1207.                        }
  1208.                    }
  1209.                }
  1210.            
  1211.                
  1212.                if( $.inArray( day, avail_days )!=-1 &&   $.inArray( compare_date, date_notavail )==-1 ){
  1213.                    return [true,""];
  1214.                } else return [false,""];
  1215.            },
  1216.            onSelect: function(dateText, inst) {
  1217.                setTimepicker(dateText);
  1218.            }
  1219.        });
  1220.        $('#location').on('change',function(){
  1221.            if($('#location option:selected').val()!=''){
  1222.                //if($('#location option:selected').val() == '旺角朗豪坊店'){
  1223.                //    setDateTime(new Date(2022, 7 - 1, 23));
  1224.                //} else {
  1225.                    setDateTime();    
  1226.               // }
  1227.            } else {
  1228.                resetValues();
  1229.            }
  1230.        });
  1231.        //reset date and time picker value
  1232.        function resetValues(){
  1233.            $("#datepicker").val('');
  1234.            $('#timepicker').val("");        
  1235.            $( "#datepicker" ).prop('disabled',true);
  1236.            $( "#timepicker" ).prop('disabled',true);
  1237.            $("#datepicker").datepicker( "destroy" );
  1238.            $('#timepicker').timepicker('remove');
  1239.        }
  1240.      
  1241.        function setDateTime(mindate){
  1242.            resetValues();
  1243.            $( "#datepicker" ).datepicker
  1244.            ({
  1245.                direction: "up",
  1246.                dateFormat: 'mm/dd/yy,D',
  1247.                minDate:  typeof mindate === 'undefined' ?  2 : mindate,
  1248.                maxDate: 60  ,
  1249.                beforeShowDay : function(date){
  1250.                    var day = parseInt(date.getDay());
  1251.                    var avail_days = locationDict[$('#location option:selected').val()].days;
  1252.                    
  1253.                    var _month = date.getMonth() + 1;
  1254.                    var _day = date.getDate();
  1255.                    var compare_date = date.getFullYear() + '-' + (_month <10 ? '0'+_month : _month) + '-' + (_day <10 ? '0'+_day : _day);
  1256.                    var selected_location = $('#location option:selected').val();
  1257.                    
  1258.              
  1259.                    var region_location = typeof regionToLocation[selected_location] !=='undefined' ? regionToLocation[selected_location] : null;
  1260.                    date_notavail = [];
  1261.                    for(_shop in day_off_data){
  1262.                        if(_shop == 'all'){
  1263.                            for(i in day_off_data[_shop]){
  1264.                                date_notavail.push(day_off_data[_shop][i]);    
  1265.                            }
  1266.                        } else if(_shop == region_location){
  1267.                            for(i in day_off_data[_shop]){
  1268.                                date_notavail.push(day_off_data[_shop][i]);    
  1269.                            }
  1270.                        }
  1271.                    }
  1272.                    //check if holiday is off
  1273.                    if( $.inArray( compare_date, holiday_data )!=-1){
  1274.                        var _shop_id = regionToId[selected_location];
  1275.                        if(typeof _shop_id!=='undefined'){
  1276.                            var _week_data = shop_week_data[_shop_id];
  1277.                            if(typeof _week_data!=='undefined'){
  1278.                                if(typeof _week_data['holiday']==='undefined'){
  1279.                                    return [false,""];
  1280.                                }
  1281.                            }
  1282.                        }
  1283.                    }
  1284.                
  1285.                    if( $.inArray( day, avail_days )!=-1 &&   $.inArray( compare_date, date_notavail )==-1  ){
  1286.                        return [true,""];
  1287.                    } else return [false,""];
  1288.                },
  1289.                onSelect: function(dateText, inst) {
  1290.                    setTimepicker(dateText);
  1291.                }
  1292.            });
  1293.            $( "#datepicker" ).prop('disabled',false);
  1294.        }
  1295.        var time_init = false;
  1296.        function setTimepicker(dateText,value){
  1297.            if(dateText == '') return;
  1298.            var day = dateText.split(",");
  1299.            if(day.length <1) return;
  1300.            var weekofday = day[1];
  1301.            var date_chosen = day[0].split('/');
  1302.            date_chosen = date_chosen[2]+'-'+date_chosen[0]+'-'+date_chosen[1];
  1303.            var start_time = '';
  1304.            var end_time = '';
  1305.            var disabled = [];
  1306.            
  1307.            try {    
  1308.              //  var avail_time = locationDict[defaultShop].avail_time;
  1309.                var selected_location = $('#location option:selected').val();
  1310.                var avail_time = locationDict[$('#location option:selected').val()].avail_time;
  1311.                start_time = avail_time[ weekToInt[weekofday] ].start;
  1312.                end_time = avail_time[ weekToInt[weekofday] ].end;
  1313.              
  1314.                //check if day is holiday , set start and end time if available
  1315.                if( $.inArray( date_chosen, holiday_data )!=-1){
  1316.                    if(typeof avail_time['holiday']!=='undefined'){
  1317.                        start_time = avail_time['holiday'].start;
  1318.                        end_time = avail_time['holiday'].end;
  1319.                    }
  1320.                }
  1321.                //check if day occupied
  1322.                if(typeof occupied_data['all']!=='undefined'){ //for all shops
  1323.                    if(typeof occupied_data['all'][date_chosen]!=='undefined'){
  1324.                        disabled.push([occupied_data['all'][date_chosen].start, occupied_data['all'][date_chosen].end]);
  1325.                    }
  1326.                }
  1327.                if(typeof regionToLocation[selected_location]!=='undefined'){ //for selected shop only
  1328.                    var shop_occupied = occupied_data[regionToLocation[selected_location]];
  1329.                    if(typeof shop_occupied!=='undefined'){
  1330.                        if(typeof shop_occupied[date_chosen]!=='undefined'){
  1331.                            var occupied_time = {};
  1332.                            for(i in shop_occupied[date_chosen]){
  1333.                                if(typeof occupied_time[shop_occupied[date_chosen][i].start]==='undefined'){
  1334.                                    occupied_time[shop_occupied[date_chosen][i].start] = [];
  1335.                                }
  1336.                                occupied_time[shop_occupied[date_chosen][i].start].push(shop_occupied[date_chosen][i]);
  1337.                              //  disabled.push([ shop_occupied[date_chosen][i].start,shop_occupied[date_chosen][i].end]);
  1338.                            }
  1339.                            for(i in occupied_time){
  1340.                                if(occupied_time[i].length>=max_booking_allowed){
  1341.                                    for(j in occupied_time[i]){
  1342.                                         disabled.push([ occupied_time[i][j].start,occupied_time[i][j].end]);
  1343.                                    }
  1344.                                }
  1345.                            }
  1346.                        }
  1347.                    }
  1348.                }
  1349.              
  1350.                
  1351.                $('#timepicker').val("");
  1352.                $('#timepicker').timepicker('remove');
  1353.                $('#timepicker').timepicker
  1354.                ({
  1355.                    'disableTimeRanges' : disabled,
  1356.                    'minTime': start_time,
  1357.                    'maxTime': end_time,
  1358.                    'showDuration': false,
  1359.                  
  1360.                   'useSelect': true ,
  1361.                    'noneOption': [
  1362.                        {
  1363.                            'label': '-- 請選擇 --',
  1364.                            'value': ''
  1365.                        },
  1366.                    ],
  1367.                  
  1368.                    
  1369.                });
  1370.                $( "#timepicker" ).prop('disabled',false);
  1371.                                if(!(typeof value === 'undefined')){
  1372.                    if(value!=''){
  1373.                        $('#timepicker').timepicker('setTime', value);
  1374.                    }
  1375.                }
  1376.            } catch(e){
  1377.                console.log(e);
  1378.            }
  1379.        }
  1380.                          
  1381.            $('#heard_from').on('change',function(){
  1382.                if( $(this).find('option:selected').val() == '其他'){
  1383.                    $('#other_heard_from-field').removeClass('hide');
  1384.                } else {
  1385.                     $('#other_heard_from-field').addClass('hide');
  1386.                }
  1387.            });
  1388.                                                  
  1389.                                 CAPI('PageView');
  1390.             CAPI('ViewContent');
  1391.                        });
  1392.    function onFormSubmit(){
  1393.        var allow_time;
  1394.        if($('#timepicker').val()){
  1395.            allow_time = moment($('#timepicker').val(), ["h:mm A"]).format("HH:mm");
  1396.        }
  1397.        if(allow_time!='Invalid date'){
  1398.            $('#allow_time').val(allow_time);
  1399.        } else {
  1400.            $('#allow_time').val('');
  1401.        }
  1402.        
  1403.        $('.process-back').addClass('active');
  1404.        
  1405.    }
  1406.    function openTermsNP(){
  1407.        var box = '';
  1408.        $.ajax({
  1409.            type: 'GET',
  1410.            url: 'https://laserprocenter.com.hk/terms/home?np=1',
  1411.            success: function(data) {
  1412.                box = bootbox.dialog({
  1413.                    message: data,
  1414.                });
  1415.                $('html').addClass('no-scroll');
  1416.                box.on("hidden.bs.modal", function() {
  1417.                    $('html').removeClass('no-scroll');
  1418.                    box.off("hidden.bs.modal");
  1419.                });
  1420.            }
  1421.        });
  1422.    }
  1423.    function openTerms(){
  1424.        var box = '';
  1425.        $.ajax({
  1426.            type: 'GET',
  1427.            url: 'https://laserprocenter.com.hk/terms/home',
  1428.            success: function(data) {
  1429.                box = bootbox.dialog({
  1430.                    message: data,
  1431.                });
  1432.                $('html').addClass('no-scroll');
  1433.                box.on("hidden.bs.modal", function() {
  1434.                    $('html').removeClass('no-scroll');
  1435.                    box.off("hidden.bs.modal");
  1436.                });
  1437.            }
  1438.        });
  1439.    }
  1440.    bootbox.setDefaults({ size: 'large' });
  1441.          fbq('track', 'ViewContent');
  1442.            
  1443. function CAPI(event, eventData) {
  1444.    let fbp = document.cookie.split(';').filter(function(c){ return c.includes('_fbp=');}).map(function(c){ return c.split('_fbp=')[1];})
  1445.    let fbc = document.cookie.split(';').filter(function(c){ return c.includes('_fbc=');}).map(function(c){ return c.split('_fbc=')[1];})
  1446.    fbp = (fbp.length && fbp[0]) || null;
  1447.    fbc = (fbc.length && fbc[0]) || null;
  1448.    if(!fbc && window.location.search.includes('fbclid=')){
  1449.        fbc = 'fb.1.'+ (+new Date()) +'.'+ window.location.search.split('fbclid=')[1];
  1450.    }
  1451.    const body = {
  1452.        'event': event,
  1453.        'event_data': eventData,
  1454.        'fbp': fbp,
  1455.        'fbclid': fbc,
  1456.        'user_agent': navigator.userAgent,
  1457.                 'url': window.location.origin + window.location.pathname
  1458.    }
  1459.    $.ajax({
  1460.        type: "POST",
  1461.        url: 'https://laserprocenter.com.hk/api/fb_conversion?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE3MjIwNDkwNTIsInN1YiI6Imxhc2VycHJvIGFwaSJ9.brJdz8eQiJJ6f0pkOXuD_xOrbmD81WMxltTNX05_M7s',
  1462.        data: JSON.stringify(body) ,
  1463.        processData: false,
  1464.        contentType: 'application/json',
  1465.        success: function(response){  
  1466.           //console.log(response)
  1467.        },
  1468.        error : function(  jqXHR,  textStatus,  errorThrown){  
  1469.        }
  1470.    });
  1471. }
  1472.  
  1473. function countryCodeChanged(element){
  1474.    $('#confirm-countrycode').val($(element).find('option:selected').text());
  1475. }
  1476. </script>
  1477. </body>
  1478. </html>
Copyright © 2002-9 Sam Ruby, Mark Pilgrim, Joseph Walton, and Phil Ringnalda