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 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.                               <div class="form-rowc ">
  426.                   <div class="field-row full">
  427.                        <input type="text" id="email" name="email" placeholder="電郵地址" class="field required" value="">
  428.                    </div>
  429.               </div>
  430.                          <!--   <div class="form-rowc ">
  431.                   <div  class="field-row full hints">
  432.                        (將發送電郵確認登記)
  433.                    </div>
  434.               </div>-->
  435.               <div class="form-rowc">
  436.                   <div class="field-row full">
  437.                        <select name="courses" class="select-box required no">
  438.                                                <option   value="【網上預付】$288/6個部位 全年任脫 + 3 年保養">【網上預付】$288/6個部位 全年任脫 + 3 年保養</option>
  439.                        <option   value="【到店付款】$688/6個部位 全年任脫 + 3 年保養">【到店付款】$688/6個部位 全年任脫 + 3 年保養</option>
  440.                                                </select>
  441.                    </div>
  442.               </div>
  443.    
  444.              
  445.  
  446.                              
  447.                                
  448.                <div class="form-rowc">
  449.                    <div class="field-row full">
  450.                        <div class="checkbox-group">
  451.                            <span class="field-label">現有客戶 *</span>
  452.                            <span class="input__fake__content radio-type">
  453.                                <label for="existing_client1" class="radioLabel auto-text">
  454.                                    <input type="radio" name="existing_client1" value="N" id="existing_client1" class="radioItem" ><span class="radioContent ">否</span>
  455.                                </label>
  456.                                <label for="existing_client2" class="radioLabel auto-text">
  457.                                    <input type="radio" name="existing_client1" value="Y" id="existing_client2" class="radioItem"><span class="radioContent"  >是</span>
  458.                                </label>
  459.                            </span>
  460.                        </div>
  461.                    </div>
  462.                </div>
  463.                
  464.                              
  465.        
  466.                <div class="form-rowc">
  467.                    <div class="field-row full">
  468.                        <select name="location" id="location" class="select-box required">
  469.                          
  470.                             <option disabled="" value="" selected="selected">選擇分店 *</option>                               <option  value="銅鑼灣"  >銅鑼灣英皇鐘錶珠寶中心</option>
  471.                                                           <option  value="觀塘"  >觀塘泓富廣場</option>
  472.                                                           <option  value="旺角朗豪坊店"  >旺角亞朗豪坊辦公大樓</option>
  473.                                                           <option  value="尖沙咀"  >尖沙咀加拿芬廣場</option>
  474.                                                           <option  value="將軍澳"  >將軍澳新都城中心3期</option>
  475.                                                           <option  value="荃灣"  >荃灣千色匯I期</option>
  476.                                                           <option  value="屯門"  >屯門栢麗廣場</option>
  477.                                                           <option  value="元朗"  >元朗光華廣場</option>
  478.                                                           <option  value="沙田"  >沙田新城市商業大廈</option>
  479.                                                    </select>
  480.                    </div>
  481.                </div>                
  482.                <div class="form-rowc">
  483.                    <div class="field-row left m5">
  484.                      <input type="text" id="datepicker" name="date" placeholder="預約日期 *" class="field" autocomplete="off" value=""  disabled>
  485.                    </div>
  486.                    <div class="field-row  m5"> <input type="text" id="timepicker" name="timepicker" placeholder="預約時間 *" class="field " autocomplete="off" value=""  disabled>
  487.                    </div>
  488.                </div>  
  489.            
  490.                
  491.                            
  492.                <div class="form-rowc">
  493.                   <div class="field-row full">
  494.                        <select id="heard_from" name="heard_from" class="select-box required">
  495.                            <option value="" selected disabled> 得知優惠來源?</option>
  496.                            
  497.                                <option value="Facebook"   >Facebook</option>
  498.                            
  499.                                <option value="Instagram"   >Instagram</option>
  500.                            
  501.                                <option value="Google"   >Google</option>
  502.                            
  503.                                <option value="Yahoo!"   >Yahoo!</option>
  504.                            
  505.                                <option value="YouTube"   >YouTube</option>
  506.                            
  507.                                <option value="戶外廣告"   >戶外廣告</option>
  508.                            
  509.                                <option value="朋友介紹"   >朋友介紹</option>
  510.                            
  511.                                <option value="其他"   >其他</option>
  512.                                                    </select>
  513.                    </div>
  514.               </div>
  515.              
  516.                            
  517.               <div id="other_heard_from-field"  class="form-rowc hide">
  518.                   <div class="field-row full">
  519.                        <input type="text" id="other_heard_from" name="other_heard_from" placeholder="其他優惠來源" class="field required" value="">
  520.                    </div>
  521.               </div>
  522.              
  523.                
  524.                <div class="form-hints bottom-show">此價錢是網上登記付款優惠,如選擇 到店付款, 需付$688 激光脫毛自選6個部位  全年任脫 +3 年保養<br>明碼實價 無附加費</div>
  525.                
  526.                <div id="_terms" class="field-row full">
  527.                    <div class="checkbox-group">
  528.                        <span class="input__fake__content checkbox-type single">
  529.                            <label for="acp_tnc" class="radioLabel">
  530.                                 <input type="checkbox" id="acp_tnc" name="acp_tnc" rel="0" class="radioItem" value="1" >
  531.                                <span class="radioContent">本人已閱讀並同意<a href="https://laserprocenter.com.hk/privacy" target="_blank">私隱政策</a>及<a href="https://laserprocenter.com.hk/tnc" target="_blank">條款及細則</a>。</span>
  532.                            </label>
  533.                        </span>
  534.                    </div>
  535.              
  536.                                        
  537.                    <div class="checkbox-group">
  538.                        <span class="input__fake__content checkbox-type single">
  539.                            <label for="rec_news" class="radioLabel">
  540.                               <input type="checkbox" id="rec_news" name="rec_news" rel="0" class="radioItem" value="1"  >
  541.                                <span class="radioContent">本人願意日後繼續收取 LaserPro 之產品資料、宣傳資訊及推廣優惠。 如選擇拒絕接收,本人同時將不會收到貴公司的任何禮品、折扣及其他優惠。</span>
  542.                            </label>
  543.                        </span>
  544.                    </div>
  545.                </div>
  546.                
  547.              
  548.                 <div class="form-rowc btn-submit">                      <input type="image" src="/assets/images/submit-button-new.png">                 </div>
  549.              
  550.        
  551.            </div>
  552.            
  553.            
  554.        </div>
  555.  
  556.  
  557.  
  558.          </form>
  559.        
  560.    
  561.                     <!--   <div class="display-body-part section"><img src="/assets/images/LASER PRO脫毛部位圖 20210217-01.jpg"></div>-->
  562.                
  563.    
  564.    
  565.        <div class="tech section ease-fade-effect">
  566.            <div class="title"><img alt="Laser Pro" src="/assets/images/旺角-美容-去斑-瘦身.png"/></div>  
  567.            <div class="background desktop"><img alt="Laser Pro" src="/assets/images/pc-B-01.jpg" />
  568.                <div class="box-wrapper">
  569.                    <div class="box desktop">
  570.                        <div class="light l1 ease-fade-effect"><img alt="Laser Pro" src="/assets/images/pc-B-02a.png" /></div>
  571.                        <div class="light l2 ease-fade-effect"><img alt="Laser Pro" src="/assets/images/pc-B-02b.png" /></div>
  572.                        <div class="light l3 ease-fade-effect"><img alt="Laser Pro" src="/assets/images/pc-B-02c.png" /></div>
  573.                        <div class="text t1 ease-fade-effect"><img alt="Laser Pro" src="/assets/images/pc-B-03.png" /></div>
  574.                        <div class="text t2 ease-transform-effect"><img alt="Laser Pro" src="/assets/images/pc-B-04.png" /></div>
  575.                        <div class="text t3 ease-transform-effect"><img alt="Laser Pro" src="/assets/images/pc-B-05.png" /></div>
  576.                    </div>
  577.                </div>            
  578.            
  579.            </div>
  580.            <div class="background mobile"><img alt="Laser Pro" src="/assets/images/mo-B-01.jpg" />
  581.                <div class="box-wrapper">
  582.                    <div class="box mobile">
  583.                        <div class="light l1 ease-fade-effect"><img alt="Laser Pro" src="/assets/images/mo-B-02a.png" /></div>
  584.                        <div class="light l2 ease-fade-effect"><img alt="Laser Pro" src="/assets/images/mo-B-02b.png" /></div>
  585.                        <div class="light l3 ease-fade-effect"><img alt="Laser Pro" src="/assets/images/mo-B-02c.png" /></div>
  586.                        <div class="text t1 ease-fade-effect"><img alt="Laser Pro" src="/assets/images/mo-B-03.png" /></div>
  587.                        <div class="text t2 ease-transform-effect"><img alt="Laser Pro" src="/assets/images/mo-B-04.png" /></div>
  588.                        <div class="text t3 ease-transform-effect"><img alt="Laser Pro" src="/assets/images/mo-B-05.png" /></div>
  589.                    </div>
  590.                </div>            
  591.            
  592.            
  593.            </div>
  594.  
  595.            
  596.            
  597.            <div class="others desktop">
  598.                <div ><img alt="Laser Pro" src="/assets/images/others-blank.png" /></div>
  599.                <div class="text p2 ease-fade-effect"><img alt="Laser Pro" src="/assets/images/pc-C-02a.png" /></div>
  600.                <div class="text p3 ease-fade-effect"><img alt="Laser Pro" src="/assets/images/pc-C-03a.png" /></div>
  601.                <div class="text p4 ease-fade-effect"><img alt="Laser Pro" src="/assets/images/pc-C-04a.png" /></div>
  602.                <div class="text p5 ease-fade-effect"><img alt="Laser Pro" src="/assets/images/pc-C-05a.png" /></div>
  603.                <div class="text p6 ease-fade-effect"><img alt="Laser Pro" src="/assets/images/pc-C-06a.png" /></div>
  604.                <div class="icon p2 ease-transform-effect"><img alt="Laser Pro" src="/assets/images/pc-C-02b.png" /></div>
  605.                <div class="icon p3 ease-transform-effect"><img alt="Laser Pro" src="/assets/images/pc-C-03b.png" /></div>
  606.                <div class="icon p4 ease-transform-effect"><img alt="Laser Pro" src="/assets/images/pc-C-04b.png" /></div>
  607.                <div class="icon p5 ease-transform-effect"><img alt="Laser Pro" src="/assets/images/pc-C-05b.png" /></div>
  608.                <div class="icon p6 ease-transform-effect"><img alt="Laser Pro" src="/assets/images/pc-C-06b.png" /></div>
  609.            </div>
  610.            
  611.            <div class="others mobile">
  612.                <div ><img alt="Laser Pro" src="/assets/images/others-mobile-blank.png" /></div>
  613.                <div class="icon p2 ease-transform-effect"><img alt="Laser Pro" src="/assets/images/mo-C-02a.png" /></div>
  614.                <div class="icon p3 ease-transform-effect"><img alt="Laser Pro" src="/assets/images/mo-C-03a.png" /></div>
  615.                <div class="icon p4 ease-transform-effect"><img alt="Laser Pro" src="/assets/images/mo-C-04a.png" /></div>
  616.                <div class="icon p5 ease-transform-effect"><img alt="Laser Pro" src="/assets/images/mo-C-05a.png" /></div>
  617.                <div class="icon p6 ease-transform-effect"><img alt="Laser Pro" src="/assets/images/mo-C-06a.png" /></div>
  618.                <div class="text p2 ease-fade-effect"><img alt="Laser Pro" src="/assets/images/mo-C-02b.png" /></div>
  619.                <div class="text p3 ease-fade-effect"><img alt="Laser Pro" src="/assets/images/mo-C-03b.png" /></div>
  620.                <div class="text p4 ease-fade-effect"><img alt="Laser Pro" src="/assets/images/mo-C-04b.png" /></div>
  621.                <div class="text p5 ease-fade-effect"><img alt="Laser Pro" src="/assets/images/mo-C-05b.png" /></div>
  622.                <div class="text p6 ease-fade-effect"><img alt="Laser Pro" src="/assets/images/mo-C-06b.png" /></div>
  623.            </div>
  624.            
  625.            
  626.        </div>
  627.        <div class="terms section">  </div>
  628.             </div>
  629.    </div>
  630.  
  631. <style>
  632.   .process-back {
  633.    position: fixed;
  634.    z-index: 2147483647;
  635.    top: 0;
  636.    left: 0;
  637.    width: 100%;
  638.    height: 100%;
  639.    transform: translate3d(0, 0, 0);
  640.    background-color: black;
  641.    background-color: rgba(0, 0, 0, 0.6);
  642.    background: radial-gradient(50% 50%, ellipse closest-corner, rgba(0,0,0,0.6) 1%, rgba(0,0,0,0.6) 100%);
  643.    color: #fff;
  644.    display : none;
  645. }
  646.  
  647. .process-back.active {
  648.     display : block;
  649. }
  650. .process-back .processing-modal {
  651.    font-family: "HelveticaNeue", "HelveticaNeue-Light", "Helvetica Neue Light", helvetica, arial, sans-serif;
  652.    font-size: 14px;
  653.    text-align: center;
  654.    box-sizing: border-box;
  655.    max-width: 350px;
  656.    top: 50%;
  657.    left: 50%;
  658.    position: absolute;
  659.    transform: translateX(-50%) translateY(-50%);
  660.    cursor: pointer;
  661.    text-align: center;
  662. }
  663.  
  664. .process-back .processing-modal  .processing-logo img {
  665.    height: 36px;
  666. }
  667.  
  668. .process-back .processing-modal  .message {
  669.    font-size: 15px;
  670.    line-height: 1.5;
  671.    padding: 10px 0;
  672. }
  673. </style>
  674. <div class="process-back">
  675.    <div class="processing-modal">
  676.        <div class="processing-logo"></div>
  677.        <div class="message">處理中,請稍等..</div>
  678.    </div>
  679. </div>
  680. <div id="footer">
  681.    <div class="holder">
  682.        <div class="links">
  683.          <div class="item">
  684.                <a target="_blank" href="https://laserprocenter.com.hk/about" class="link">關於我們</a>
  685.            </div>
  686.            
  687.            <div class="item">
  688.                <a  target="_blank" href="https://laserprocenter.com.hk/location" class="link">分店地區</a>
  689.            </div>
  690. <!--
  691.            <div class="item">
  692.                <a  target="_blank" href="https://laserprocenter.com.hk/about" class="link">聯絡我們</a>
  693.            </div>
  694.            
  695.            <div class="item">
  696.                <a  target="_blank" href="https://laserprocenter.com.hk/about" class="link">加入我們</a>
  697.            </div>
  698.            -->
  699.             <div class="share">
  700.                <a class="facebook addthis_button_facebook" href="https://www.facebook.com/LaserProHK" target="_blank"><img alt="LaserPro激光脫毛專家 Facebook" src="/assets/images/將軍澳-徹底-Underarm.png" /></a>
  701.                <a class="instagram addthis_button_ig" href="https://www.instagram.com/laserprohk/" target="_blank"><img alt="LaserPro激光脫毛專家 Instagram" src="/assets/images/觀塘-808脫毛-脫毛蠟.png" /></a>
  702.                <!--<a class="youtube"  href="https://youtube.com" target="_blank"><img src="/assets/images/香港-脫毛刀-幼毛-口碑.png" /></a>-->
  703.                <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>
  704.            </div>
  705.            
  706.        </div>
  707.        <div class="bottom">
  708.            <a href="https://laserprocenter.com.hk/sitemap" target="_blank" class="privacy-link">SiteMap</a>&nbsp;<span class="sp">|</span>&nbsp;
  709.            <a href="https://laserprocenter.com.hk/privacy" target="_blank" class="privacy-link">免責聲明</a>
  710.            &nbsp;<span class="sp">|</span>
  711.            &nbsp;<span class="copyright">&copy; 2021 Copyright LASER PRO CENTER LIMITED  <span class="non-mobile">&nbsp;&nbsp;All rights reserved</span></span>
  712.                           <div class="contact-link"><a href="mailto:enquiry@laserprocenter.com.hk">Email: enquiry@laserprocenter.com.hk</a></div>
  713.        </div>
  714.    </div>
  715. </div>
  716. <a href="javascript:void(0);" id="ui-to-top" class="ui-to-top fa fa-angle-up active"></a>
  717.  
  718. </div><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
  719. <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.10.4/jquery-ui.min.js"></script>
  720. <!--[if lt IE 9]>
  721. <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/r29/html5.min.js"></script>
  722. <script type="text/javascript" src="https://laserprocenter.com.hk/assets/js/placeholders.min.js"></script>
  723. <script type="text/javascript" src="https://laserprocenter.com.hk/assets/js/respond.min.js"></script>
  724. <style>
  725. .border-radius {
  726. -ms-behavior: url('https://laserprocenter.com.hk/assets/js/border-radius.htc');
  727. behavior: url('https://laserprocenter.com.hk/assets/js/border-radius.htc');
  728. }
  729. </style>
  730. <![endif]-->
  731. <script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.3.1/js/bootstrap.min.js"></script>
  732. <script type="text/javascript" src="https://laserprocenter.com.hk/assets/js/min/vendor.min.js"></script>
  733. <script type="text/javascript" src="https://laserprocenter.com.hk/assets/js/min/home.min.js"></script>
  734. <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mustache.js/0.1/mustache.min.js"></script>
  735. <style>
  736. #_terms .radioContent a,
  737. #_terms .radioContent a:link,
  738. #_terms .radioContent a:visited
  739. {
  740.    text-decoration: underline;
  741. }
  742. #_terms .radioContent a:hover {
  743.    color: #5c5c5c;
  744. }
  745.  
  746.  
  747. .ui-timepicker-select{
  748.    width: 100%;
  749.    border: 0;
  750.    border-bottom: 1px solid #645f64;
  751.    line-height: 34px;
  752.    height: 34px;
  753.    color: inherit;
  754.    font-size: 18px;
  755.    font-family: inherit;
  756.    box-sizing: border-box;
  757.    border-radius: 0;
  758.    padding: 0 5px;
  759.    -webkit-appearance: none;
  760.    -moz-appearance: none;
  761.    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;
  762.    background-size: 28px auto;
  763.    background-color: #fff;
  764.    border-radius: 9px;
  765.    padding-left: 15px;
  766.    border: 0;
  767.    height: 34px;
  768. }
  769. select.ui-timepicker-select option:disabled {
  770.    color: #c3c3c3;
  771. }
  772. </style>
  773. <div id="pswp-gallery" class="pswp" tabindex="-1" role="dialog" aria-hidden="true"  ref="pswpref">
  774.    <!-- Background of PhotoSwipe.
  775.         It's a separate element as animating opacity is faster than rgba(). -->
  776.    <div class="pswp__bg"></div>
  777.    <!-- Slides wrapper with overflow:hidden. -->
  778.    <div class="pswp__scroll-wrap">
  779.        <!-- Container that holds slides.
  780.            PhotoSwipe keeps only 3 of them in the DOM to save memory.
  781.            Don't modify these 3 pswp__item elements, data is added later on. -->
  782.        <div class="pswp__container">
  783.            <div class="pswp__item"></div>
  784.            <div class="pswp__item"></div>
  785.            <div class="pswp__item"></div>
  786.        </div>
  787.        <!-- Default (PhotoSwipeUI_Default) interface on top of sliding area. Can be changed. -->
  788.        <div class="pswp__ui pswp__ui--hidden">
  789.            <div class="pswp__top-bar">
  790.                <!--  Controls are self-explanatory. Order can be changed. -->
  791.                <div class="pswp__counter"></div>
  792.                <button class="pswp__button pswp__button--close" title="Close (Esc)"></button>
  793.                <button class="pswp__button pswp__button--fs" title="Toggle fullscreen"></button>
  794.                <button class="pswp__button pswp__button--zoom" title="Zoom in/out"></button>
  795.                <!-- Preloader demo http://codepen.io/dimsemenov/pen/yyBWoR -->
  796.                <!-- element will get class pswp__preloader--active when preloader is running -->
  797.                <div class="pswp__preloader">
  798.                    <div class="pswp__preloader__icn">
  799.                      <div class="pswp__preloader__cut">
  800.                        <div class="pswp__preloader__donut"></div>
  801.                      </div>
  802.                    </div>
  803.                </div>
  804.            </div>
  805.            <div class="pswp__share-modal pswp__share-modal--hidden pswp__single-tap">
  806.                <div class="pswp__share-tooltip"></div>
  807.            </div>
  808.            <button class="pswp__button pswp__button--arrow--left" title="Previous (arrow left)">
  809.            </button>
  810.            <button class="pswp__button pswp__button--arrow--right" title="Next (arrow right)">
  811.            </button>
  812.            <div class="pswp__caption">
  813.                <div class="pswp__caption__center"></div>
  814.            </div>
  815.        </div>
  816.    </div>
  817. </div>
  818.  
  819.  
  820. <script>
  821.  
  822.  
  823.  
  824.    function paymentHelp(){
  825.        var items = [{
  826.            src : 'https://laserprocenter.com.hk/assets/images/LP - Online Payment Guideline_payme.jpg',
  827.            w : 801,
  828.            h : 1200,
  829.        },{
  830.            src : 'https://laserprocenter.com.hk/assets/images/LP - Online Payment Guideline-fps.jpg',
  831.            w : 801,
  832.            h : 1200,
  833.        }];
  834.        var pswpElement = document.querySelectorAll('.pswp')[0];
  835.        var options = {
  836.            closeOnScroll : false,
  837.            history: false,
  838.            focus: false,
  839.            index: 0
  840.        };
  841.        share_gallery = new PhotoSwipe( pswpElement, PhotoSwipeUI_Default, items, options);
  842.        share_gallery.init()
  843.    }
  844.  
  845.    
  846.  
  847. function OpenPSWP(items){
  848.    var pswpElement = document.querySelectorAll('.pswp')[0];
  849.    var options = {
  850.        closeOnScroll : false,
  851.        history: false,
  852.        focus: false,
  853.        index: 0
  854.    };
  855.    var gallery = new PhotoSwipe( pswpElement, PhotoSwipeUI_Default, items, options);
  856.    gallery.init()
  857. }
  858. function offset(el) {
  859.    var rect = el.getBoundingClientRect(),
  860.    scrollLeft = window.pageXOffset || document.documentElement.scrollLeft,
  861.    scrollTop = window.pageYOffset || document.documentElement.scrollTop;
  862.    return { top: rect.top + scrollTop, left: rect.left + scrollLeft }
  863. }
  864. var section_obj = {
  865.    banner :  {
  866.        element :  document.querySelector('.banner'),
  867.        offset :  function(){
  868.            return offset(this.element);
  869.        }
  870.    },
  871.    men :  {
  872.        element :  document.querySelector('.men'),
  873.        offset :  function(){
  874.            return offset(this.element);
  875.        }
  876.    },
  877.    tech :  {
  878.        element :  document.querySelector('.tech'),
  879.        offset :  function(){
  880.            return offset(this.element);
  881.        }
  882.    },
  883.    service :  {
  884.        element :  document.querySelector('.service'),
  885.        offset :  function(){
  886.            return offset(this.element);
  887.        }
  888.    },
  889.  //  exp :  {
  890.  //      element :  document.querySelector('.exp'),
  891.  //      offset :  function(){
  892.  //          return offset(this.element);
  893.  //      }
  894.  //  },
  895.    'booking-form' :  {
  896.        element :  document.querySelector('.booking-form'),
  897.        offset :  function(){
  898.            return offset(this.element);
  899.        }
  900.    },
  901.    faq :  {
  902.        element :  document.querySelector('.faq'),
  903.        offset :  function(){
  904.            return offset(this.element);
  905.        }
  906.    },
  907.    terms :  {
  908.        element :  document.querySelector('.terms'),
  909.        offset :  function(){
  910.            return offset(this.element);
  911.        }
  912.    },
  913.    privacy :  {
  914.        element :  document.querySelector('.privacy'),
  915.        offset :  function(){
  916.            return offset(this.element);
  917.        }
  918.    },
  919.    about :  {
  920.        element :  document.querySelector('.about'),
  921.        offset :  function(){
  922.            return offset(this.element);
  923.        }
  924.    },
  925.    location :  {
  926.        element :  document.querySelector('.location'),
  927.        offset :  function(){
  928.            return offset(this.element);
  929.        }
  930.    }
  931. }
  932.    function goToSection(section){
  933.         if(section == 'tech' || section == 'booking-form' || section == 'terms' || section == 'service'){
  934.            if(section_obj[section].element === null) return;
  935.        var offset  = $(section_obj[section].element).offset();
  936.        $('html, body').animate({
  937.            scrollTop: offset.top - $('#header').height()  
  938.        }, 800, function() {
  939.            detectArea(section);
  940.        });
  941.    }
  942. }  
  943. function goToTop(){
  944.    if($('html').hasClass('open-menu')){
  945.        $('html').removeClass('open-menu');
  946.    }
  947.    $('html, body').animate({
  948.        scrollTop: 0
  949.    }, 800);
  950. }
  951. function detectArea(section,last){
  952.    var element = section_obj[section].element;
  953.    if(element === null) return;
  954.    var div_offset = section_obj[section].offset();
  955.    
  956.    var doc_end_pos = parseInt($(window).scrollTop()) + parseInt($(window).height());
  957.    var doc_start_pos = $(window).scrollTop();
  958.    
  959.    var start_pos = div_offset.top;
  960.    var end_pos = div_offset.top + $(element).height();
  961.    var pad = 8;
  962.    //check if within section or document end touch the start of section
  963.    var is_within = doc_start_pos >= start_pos - ($('#header').height() + pad) && doc_start_pos <=end_pos;
  964.    var is_reached = doc_end_pos >= start_pos && doc_start_pos <= end_pos;
  965.    if( is_within || is_reached  ){
  966.        $(element).addClass('animated');
  967.        $(element).find('.ease-fade-effect').addClass('animated');
  968.        $(element).find('.ease-transform-effect').addClass('animated');
  969.    }  
  970.    if(is_within){
  971.        $('.top-nav-bar > li').removeClass('selected');
  972.        $('.top-nav-bar > li.link-'+section).addClass('selected');
  973.    }
  974.    if( doc_start_pos == 0 || doc_start_pos <= $(section_obj['banner'].element).height() - 100 ){
  975.        //within banner area    
  976.        $('html').removeClass('in-body');
  977.        $('.banner-wrapper .logo').removeClass('animated');
  978.        $('.top-nav-bar > li').removeClass('selected');
  979.                $('.top-nav-bar > li.link-banner').addClass('selected');
  980.            } else {
  981.        $('html').addClass('in-body');
  982.        $('.banner-wrapper .logo').addClass('animated');
  983.    }
  984.   //if( ($(window).scrollTop() + $(window).height()) > div_offset.top  ){
  985.   //    console.log(section);
  986.   //    console.log(div_offset);
  987.   //    if(section == 'banner'){
  988.   //        $('html').removeClass('in-body');
  989.   //        $('.banner-wrapper .logo').removeClass('animated');
  990.   //    } else {
  991.   //        $('html').addClass('in-body');
  992.   //        $('.banner-wrapper .logo').addClass('animated');
  993.   //        $(element).addClass('animated');
  994.   //        $(element).find('.ease-fade-effect').addClass('animated');
  995.   //        $(element).find('.ease-transform-effect').addClass('animated');
  996.   //    }
  997.   //}
  998. }
  999. var date_notavail = ['2024-02-10','2024-02-11','2024-02-12','2024-02-13'];
  1000. var body_part_max = {
  1001.    free : 1,
  1002.    big : 1,
  1003.    small : 1,
  1004. }
  1005.  
  1006.  
  1007. var day_off_data = [];
  1008. var holiday_data = [];
  1009. var occupied_data = {};
  1010. var shop_week_data = [];
  1011. var max_booking_allowed = 1;
  1012. var weekToInt = {
  1013.          'Mon' : 1,  
  1014.          'Tue' : 2,  
  1015.          'Wed' : 3,  
  1016.          'Thu' : 4,  
  1017.          'Fri' : 5,  
  1018.          'Sat' : 6,  
  1019.          'Sun' : 0
  1020.        };
  1021.        
  1022.        
  1023.        
  1024.      max_booking_allowed = 99;
  1025.    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"}}};
  1026. holiday_data = ["2024-06-10","2024-07-01"];
  1027. day_off_data = {"all":[]};
  1028. occupied_data = {"all":[],"LP":{"2024-06-18":[{"start":"6:00pm","end":"6:30pm"}],"2024-05-30":[{"start":"12:00pm","end":"12:30pm"},{"start":"3:00pm","end":"3:30pm"},{"start":"7:00pm","end":"7:30pm"},{"start":"3:00pm","end":"3:30pm"},{"start":"3:00pm","end":"3:30pm"},{"start":"3:00pm","end":"3:30pm"}],"2024-05-27":[{"start":"12:00pm","end":"12:30pm"},{"start":"3:00pm","end":"3:30pm"},{"start":"12:00pm","end":"12:30pm"}],"2024-05-25":[{"start":"6:00pm","end":"6:30pm"},{"start":"1:30pm","end":"2:00pm"},{"start":"5:00pm","end":"5:30pm"}],"2024-06-07":[{"start":"2:00pm","end":"2:30pm"},{"start":"6:30pm","end":"7:00pm"}],"2024-05-22":[{"start":"7:30pm","end":"8:00pm"},{"start":"7:30pm","end":"8:00pm"},{"start":"5:00pm","end":"5:30pm"},{"start":"4:30pm","end":"5:00pm"}],"2024-05-23":[{"start":"1:00pm","end":"1:30pm"},{"start":"12:00pm","end":"12:30pm"},{"start":"7:00pm","end":"7:30pm"}],"2024-05-31":[{"start":"4:00pm","end":"4:30pm"},{"start":"3:30pm","end":"4:00pm"}],"2024-05-24":[{"start":"7:00pm","end":"7:30pm"},{"start":"3:00pm","end":"3:30pm"}],"2024-05-28":[{"start":"2:00pm","end":"2:30pm"}],"2024-06-28":[{"start":"3:00pm","end":"3:30pm"}],"2024-06-01":[{"start":"1:00pm","end":"1:30pm"}],"2024-05-29":[{"start":"7:00pm","end":"7:30pm"},{"start":"4:00pm","end":"4:30pm"},{"start":"2:30pm","end":"3:00pm"}],"2024-06-06":[{"start":"7:30pm","end":"8:00pm"},{"start":"4:30pm","end":"5:00pm"}]},"TM":{"2024-05-26":[{"start":"4:00pm","end":"4:30pm"},{"start":"10:30am","end":"11:00am"}],"2024-05-31":[{"start":"3:00pm","end":"3:30pm"}],"2024-05-22":[{"start":"12:00pm","end":"12:30pm"}],"2024-05-29":[{"start":"6:30pm","end":"7:00pm"}],"2024-05-23":[{"start":"2:00pm","end":"2:30pm"}],"2024-06-01":[{"start":"3:00pm","end":"3:30pm"}],"2024-05-28":[{"start":"7:30pm","end":"8:00pm"},{"start":"12:00pm","end":"12:30pm"}],"2024-05-25":[{"start":"2:30pm","end":"3:00pm"}],"2024-06-09":[{"start":"10:30am","end":"11:00am"}]},"ST":{"2024-06-01":[{"start":"6:00pm","end":"6:30pm"},{"start":"1:00pm","end":"1:30pm"}],"2024-05-25":[{"start":"1:30pm","end":"2:00pm"},{"start":"2:30pm","end":"3:00pm"},{"start":"4:00pm","end":"4:30pm"},{"start":"2:30pm","end":"3:00pm"}],"2024-05-22":[{"start":"2:00pm","end":"2:30pm"},{"start":"1:00pm","end":"1:30pm"},{"start":"2:00pm","end":"2:30pm"}],"2024-05-24":[{"start":"3:00pm","end":"3:30pm"},{"start":"7:30pm","end":"8:00pm"},{"start":"2:00pm","end":"2:30pm"}],"2024-05-27":[{"start":"7:00pm","end":"7:30pm"}],"2024-06-29":[{"start":"6:00pm","end":"6:30pm"}],"2024-05-23":[{"start":"12:00pm","end":"12:30pm"}],"2024-05-30":[{"start":"12:00pm","end":"12:30pm"}]},"YL":{"2024-06-08":[{"start":"2:30pm","end":"3:00pm"}],"2024-05-26":[{"start":"10:30am","end":"11:00am"}],"2024-06-05":[{"start":"1:00pm","end":"1:30pm"}],"2024-05-25":[{"start":"3:30pm","end":"4:00pm"},{"start":"4:00pm","end":"4:30pm"}],"2024-05-23":[{"start":"1:30pm","end":"2:00pm"},{"start":"2:00pm","end":"2:30pm"}],"2024-05-22":[{"start":"12:00pm","end":"12:30pm"},{"start":"12:00pm","end":"12:30pm"}]},"CWB":{"2024-06-14":[{"start":"7:30pm","end":"8:00pm"}],"2024-06-29":[{"start":"1:00pm","end":"1:30pm"},{"start":"3:00pm","end":"3:30pm"}],"2024-05-31":[{"start":"7:30pm","end":"8:00pm"},{"start":"2:00pm","end":"2:30pm"}],"2024-05-25":[{"start":"4:00pm","end":"4:30pm"},{"start":"6:00pm","end":"6:30pm"},{"start":"4:00pm","end":"4:30pm"},{"start":"3:00pm","end":"3:30pm"},{"start":"3:00pm","end":"3:30pm"},{"start":"3:00pm","end":"3:30pm"},{"start":"3:00pm","end":"3:30pm"},{"start":"2:00pm","end":"2:30pm"},{"start":"10:30am","end":"11:00am"},{"start":"11:30am","end":"12:00pm"}],"2024-05-28":[{"start":"5:00pm","end":"5:30pm"},{"start":"3:00pm","end":"3:30pm"}],"2024-05-29":[{"start":"6:30pm","end":"7:00pm"},{"start":"2:30pm","end":"3:00pm"}],"2024-07-08":[{"start":"3:00pm","end":"3:30pm"}],"2024-05-30":[{"start":"6:00pm","end":"6:30pm"}],"2024-05-24":[{"start":"7:00pm","end":"7:30pm"},{"start":"1:30pm","end":"2:00pm"}],"2024-05-23":[{"start":"7:30pm","end":"8:00pm"},{"start":"6:30pm","end":"7:00pm"}],"2024-06-05":[{"start":"1:00pm","end":"1:30pm"}],"2024-05-22":[{"start":"7:30pm","end":"8:00pm"},{"start":"7:30pm","end":"8:00pm"},{"start":"7:00pm","end":"7:30pm"}],"2024-05-27":[{"start":"6:00pm","end":"6:30pm"},{"start":"4:30pm","end":"5:00pm"}],"2024-06-18":[{"start":"12:00pm","end":"12:30pm"}]},"TST":{"2024-05-29":[{"start":"5:00pm","end":"5:30pm"}],"2024-05-22":[{"start":"6:00pm","end":"6:30pm"}],"2024-05-27":[{"start":"2:30pm","end":"3:00pm"},{"start":"7:30pm","end":"8:00pm"}],"2024-06-03":[{"start":"5:30pm","end":"6:00pm"}],"2024-06-22":[{"start":"2:00pm","end":"2:30pm"},{"start":"2:00pm","end":"2:30pm"}],"2024-05-24":[{"start":"6:00pm","end":"6:30pm"},{"start":"1:00pm","end":"1:30pm"},{"start":"6:00pm","end":"6:30pm"}],"2024-05-31":[{"start":"1:00pm","end":"1:30pm"},{"start":"6:00pm","end":"6:30pm"}],"2024-05-28":[{"start":"1:00pm","end":"1:30pm"}]},"KT":{"2024-06-11":[{"start":"5:00pm","end":"5:30pm"}],"2024-05-27":[{"start":"3:30pm","end":"4:00pm"}],"2024-05-29":[{"start":"1:30pm","end":"2:00pm"}],"2024-05-22":[{"start":"6:30pm","end":"7:00pm"},{"start":"7:00pm","end":"7:30pm"},{"start":"3:00pm","end":"3:30pm"}],"2024-07-04":[{"start":"6:00pm","end":"6:30pm"}],"2024-05-25":[{"start":"12:00pm","end":"12:30pm"},{"start":"12:00pm","end":"12:30pm"},{"start":"2:00pm","end":"2:30pm"},{"start":"1:30pm","end":"2:00pm"}],"2024-05-23":[{"start":"12:30pm","end":"1:00pm"},{"start":"6:30pm","end":"7:00pm"}],"2024-05-24":[{"start":"1:30pm","end":"2:00pm"}],"2024-06-22":[{"start":"4:30pm","end":"5:00pm"}]},"TKO":{"2024-06-01":[{"start":"3:30pm","end":"4:00pm"}],"2024-06-15":[{"start":"3:00pm","end":"3:30pm"}],"2024-05-26":[{"start":"3:00pm","end":"3:30pm"}],"2024-05-22":[{"start":"12:00pm","end":"12:30pm"}],"2024-05-23":[{"start":"5:00pm","end":"5:30pm"}]},"TW":{"2024-05-31":[{"start":"2:00pm","end":"2:30pm"}],"2024-06-29":[{"start":"3:30pm","end":"4:00pm"}],"2024-05-25":[{"start":"5:30pm","end":"6:00pm"},{"start":"1:00pm","end":"1:30pm"},{"start":"10:30am","end":"11:00am"},{"start":"4:00pm","end":"4:30pm"},{"start":"1:00pm","end":"1:30pm"},{"start":"12:00pm","end":"12:30pm"}],"2024-06-13":[{"start":"7:30pm","end":"8:00pm"}],"2024-05-22":[{"start":"2:00pm","end":"2:30pm"},{"start":"3:00pm","end":"3:30pm"}],"2024-05-23":[{"start":"12:00pm","end":"12:30pm"}],"2024-06-01":[{"start":"10:30am","end":"11:00am"}],"2024-05-24":[{"start":"1:30pm","end":"2:00pm"}]}};
  1029. 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"};
  1030. 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"};
  1031.  
  1032. var locationDict = {
  1033.    '銅鑼灣' : {
  1034.        days : [],
  1035.        avail_time : {}
  1036.    },
  1037.    '觀塘' : {
  1038.        days : [],
  1039.        avail_time : {}
  1040.    },  
  1041.    '旺角朗豪坊店' : {
  1042.        days : [],
  1043.        avail_time : {}
  1044.    },
  1045.    '將軍澳' : {
  1046.        days : [],
  1047.        avail_time : {}
  1048.    },
  1049.    '尖沙咀' : {
  1050.        days : [],
  1051.        avail_time : {}
  1052.    },
  1053.    '元朗' : {
  1054.        days : [],
  1055.        avail_time : {}
  1056.    },
  1057.    '沙田' : {
  1058.        days : [],
  1059.        avail_time : {}
  1060.    },
  1061.    '屯門' : {
  1062.        days : [],
  1063.        avail_time : {}
  1064.    },
  1065.    '荃灣' : {
  1066.        days : [],
  1067.        avail_time : {}
  1068.    },
  1069. };
  1070.  
  1071. for(shop in locationDict){
  1072.    if(typeof shop_week_data[regionToId[shop]]!=='undefined'){
  1073.        for(week_key in shop_week_data[regionToId[shop]]){
  1074.            if(week_key!='holiday'){
  1075.                locationDict[shop].days.push(parseInt(week_key));    
  1076.            }
  1077.            locationDict[shop].avail_time[week_key] = shop_week_data[regionToId[shop]][week_key];
  1078.        }
  1079.    }
  1080. }      
  1081.    
  1082.        
  1083. $(document).ready(function(){
  1084.         detectArea('tech');
  1085.    detectArea('booking-form');
  1086.    if($('.service').length > 0){
  1087.        detectArea('service');
  1088.        // $('.service.ease-fade-effect').addClass('animated');
  1089.        // $('.service .ease-fade-effect').addClass('animated');
  1090.    }
  1091.    detectArea('terms');
  1092.  
  1093.    $('.object-wrapper .ease-transform-effect').addClass('animated');
  1094.    $('.object-wrapper .ease-fade-effect').addClass('animated');
  1095.                      
  1096.                  
  1097.  
  1098.  
  1099.    body_part_max.big = 3;
  1100.    body_part_max.small = 3;
  1101.  
  1102.       if ($('.big_part:checked').length > body_part_max.big - 1  ){
  1103.        $('.big_part:not(:checked)').prop('disabled', true);  
  1104.    }
  1105.    if ($('.small_part:checked').length > body_part_max.small - 1){
  1106.        $('.small_part:not(:checked)').prop('disabled', true);  
  1107.    }
  1108.    $('.big_part').change(function(){
  1109.        if ($('.big_part:checked').length > body_part_max.big - 1 )
  1110.        {
  1111.            //disable unselected option
  1112.            $('.big_part:not(:checked)').prop('disabled', true);  
  1113.        } else {
  1114.            $('.big_part:not(:checked)').prop('disabled', false);  
  1115.        }
  1116.    });
  1117.    $('.small_part').change(function(){
  1118.        if ($('.small_part:checked').length > body_part_max.small - 1 )
  1119.        {
  1120.            //disable unselected option
  1121.            $('.small_part:not(:checked)').prop('disabled', true);  
  1122.        } else {
  1123.            $('.small_part:not(:checked)').prop('disabled', false);  
  1124.        }
  1125.    });
  1126.    $(window).resize(function(){
  1127.        if( $(window).width() >= 1200){
  1128.            if($('html').hasClass('open-menu')){
  1129.                $('html').removeClass('open-menu');
  1130.            }
  1131.        }
  1132.    });
  1133.    $(window).scroll(function(){
  1134.        if( $(window).scrollTop() > 400){
  1135.            $('.ui-to-top').addClass('active');
  1136.        } else {
  1137.            $('.ui-to-top').removeClass('active');
  1138.        }
  1139.                              detectArea('tech');
  1140.        detectArea('booking-form');
  1141.        if($('.service').length > 0){
  1142.             detectArea('service');
  1143.        }
  1144.        detectArea('terms');
  1145.        
  1146.                
  1147.        
  1148.                            });
  1149.    $('.ui-to-top').on('click',function(){
  1150.        goToTop();
  1151.    });
  1152.      
  1153.        var defaultShop = '將軍澳';
  1154.        var defaultDate = '';
  1155.        var defaultTime = '';
  1156.        
  1157.          
  1158.        $( "#datepicker" ).datepicker
  1159.        ({
  1160.            direction: "up",
  1161.            dateFormat: 'mm/dd/yy,D',
  1162.            minDate: 2,
  1163.            maxDate: 60,
  1164.            beforeShowDay : function(date){
  1165.                var day = parseInt(date.getDay());
  1166.                var avail_days = locationDict[$('#location option:selected').val()].days;
  1167.                var _month = date.getMonth() + 1;
  1168.                var _day = date.getDate();
  1169.                var compare_date = date.getFullYear() + '-' + (_month <10 ? '0'+_month : _month) + '-' + (_day <10 ? '0'+_day : _day);
  1170.                   var selected_location = $('#location option:selected').val();
  1171.                
  1172.            
  1173.                var region_location = typeof regionToLocation[selected_location] !=='undefined' ? regionToLocation[selected_location] : null;
  1174.                date_notavail = [];
  1175.                for(_shop in day_off_data){
  1176.                    if(_shop == 'all'){
  1177.                        for(i in day_off_data[_shop]){
  1178.                            date_notavail.push(day_off_data[_shop][i]);    
  1179.                        }
  1180.                    } else if(_shop == region_location){
  1181.                        for(i in day_off_data[_shop]){
  1182.                            date_notavail.push(day_off_data[_shop][i]);    
  1183.                        }
  1184.                    }
  1185.                }
  1186.                //check if holiday is off
  1187.                if( $.inArray( compare_date, holiday_data )!=-1){
  1188.                    var _shop_id = regionToId[selected_location];
  1189.                    if(typeof _shop_id!=='undefined'){
  1190.                        var _week_data = shop_week_data[_shop_id];
  1191.                        if(typeof _week_data!=='undefined'){
  1192.                            if(typeof _week_data['holiday']==='undefined'){
  1193.                                //holiday off
  1194.                                return [false,""];
  1195.                            }
  1196.                        }
  1197.                    }
  1198.                }
  1199.            
  1200.                
  1201.                if( $.inArray( day, avail_days )!=-1 &&   $.inArray( compare_date, date_notavail )==-1 ){
  1202.                    return [true,""];
  1203.                } else return [false,""];
  1204.            },
  1205.            onSelect: function(dateText, inst) {
  1206.                setTimepicker(dateText);
  1207.            }
  1208.        });
  1209.        $('#location').on('change',function(){
  1210.            if($('#location option:selected').val()!=''){
  1211.                //if($('#location option:selected').val() == '旺角朗豪坊店'){
  1212.                //    setDateTime(new Date(2022, 7 - 1, 23));
  1213.                //} else {
  1214.                    setDateTime();    
  1215.               // }
  1216.            } else {
  1217.                resetValues();
  1218.            }
  1219.        });
  1220.        //reset date and time picker value
  1221.        function resetValues(){
  1222.            $("#datepicker").val('');
  1223.            $('#timepicker').val("");        
  1224.            $( "#datepicker" ).prop('disabled',true);
  1225.            $( "#timepicker" ).prop('disabled',true);
  1226.            $("#datepicker").datepicker( "destroy" );
  1227.            $('#timepicker').timepicker('remove');
  1228.        }
  1229.      
  1230.        function setDateTime(mindate){
  1231.            resetValues();
  1232.            $( "#datepicker" ).datepicker
  1233.            ({
  1234.                direction: "up",
  1235.                dateFormat: 'mm/dd/yy,D',
  1236.                minDate:  typeof mindate === 'undefined' ?  2 : mindate,
  1237.                maxDate: 60  ,
  1238.                beforeShowDay : function(date){
  1239.                    var day = parseInt(date.getDay());
  1240.                    var avail_days = locationDict[$('#location option:selected').val()].days;
  1241.                    
  1242.                    var _month = date.getMonth() + 1;
  1243.                    var _day = date.getDate();
  1244.                    var compare_date = date.getFullYear() + '-' + (_month <10 ? '0'+_month : _month) + '-' + (_day <10 ? '0'+_day : _day);
  1245.                    var selected_location = $('#location option:selected').val();
  1246.                    
  1247.              
  1248.                    var region_location = typeof regionToLocation[selected_location] !=='undefined' ? regionToLocation[selected_location] : null;
  1249.                    date_notavail = [];
  1250.                    for(_shop in day_off_data){
  1251.                        if(_shop == 'all'){
  1252.                            for(i in day_off_data[_shop]){
  1253.                                date_notavail.push(day_off_data[_shop][i]);    
  1254.                            }
  1255.                        } else if(_shop == region_location){
  1256.                            for(i in day_off_data[_shop]){
  1257.                                date_notavail.push(day_off_data[_shop][i]);    
  1258.                            }
  1259.                        }
  1260.                    }
  1261.                    //check if holiday is off
  1262.                    if( $.inArray( compare_date, holiday_data )!=-1){
  1263.                        var _shop_id = regionToId[selected_location];
  1264.                        if(typeof _shop_id!=='undefined'){
  1265.                            var _week_data = shop_week_data[_shop_id];
  1266.                            if(typeof _week_data!=='undefined'){
  1267.                                if(typeof _week_data['holiday']==='undefined'){
  1268.                                    return [false,""];
  1269.                                }
  1270.                            }
  1271.                        }
  1272.                    }
  1273.                
  1274.                    if( $.inArray( day, avail_days )!=-1 &&   $.inArray( compare_date, date_notavail )==-1  ){
  1275.                        return [true,""];
  1276.                    } else return [false,""];
  1277.                },
  1278.                onSelect: function(dateText, inst) {
  1279.                    setTimepicker(dateText);
  1280.                }
  1281.            });
  1282.            $( "#datepicker" ).prop('disabled',false);
  1283.        }
  1284.        var time_init = false;
  1285.        function setTimepicker(dateText,value){
  1286.            if(dateText == '') return;
  1287.            var day = dateText.split(",");
  1288.            if(day.length <1) return;
  1289.            var weekofday = day[1];
  1290.            var date_chosen = day[0].split('/');
  1291.            date_chosen = date_chosen[2]+'-'+date_chosen[0]+'-'+date_chosen[1];
  1292.            var start_time = '';
  1293.            var end_time = '';
  1294.            var disabled = [];
  1295.            
  1296.            try {    
  1297.              //  var avail_time = locationDict[defaultShop].avail_time;
  1298.                var selected_location = $('#location option:selected').val();
  1299.                var avail_time = locationDict[$('#location option:selected').val()].avail_time;
  1300.                start_time = avail_time[ weekToInt[weekofday] ].start;
  1301.                end_time = avail_time[ weekToInt[weekofday] ].end;
  1302.              
  1303.                //check if day is holiday , set start and end time if available
  1304.                if( $.inArray( date_chosen, holiday_data )!=-1){
  1305.                    if(typeof avail_time['holiday']!=='undefined'){
  1306.                        start_time = avail_time['holiday'].start;
  1307.                        end_time = avail_time['holiday'].end;
  1308.                    }
  1309.                }
  1310.                //check if day occupied
  1311.                if(typeof occupied_data['all']!=='undefined'){ //for all shops
  1312.                    if(typeof occupied_data['all'][date_chosen]!=='undefined'){
  1313.                        disabled.push([occupied_data['all'][date_chosen].start, occupied_data['all'][date_chosen].end]);
  1314.                    }
  1315.                }
  1316.                if(typeof regionToLocation[selected_location]!=='undefined'){ //for selected shop only
  1317.                    var shop_occupied = occupied_data[regionToLocation[selected_location]];
  1318.                    if(typeof shop_occupied!=='undefined'){
  1319.                        if(typeof shop_occupied[date_chosen]!=='undefined'){
  1320.                            var occupied_time = {};
  1321.                            for(i in shop_occupied[date_chosen]){
  1322.                                if(typeof occupied_time[shop_occupied[date_chosen][i].start]==='undefined'){
  1323.                                    occupied_time[shop_occupied[date_chosen][i].start] = [];
  1324.                                }
  1325.                                occupied_time[shop_occupied[date_chosen][i].start].push(shop_occupied[date_chosen][i]);
  1326.                              //  disabled.push([ shop_occupied[date_chosen][i].start,shop_occupied[date_chosen][i].end]);
  1327.                            }
  1328.                            for(i in occupied_time){
  1329.                                if(occupied_time[i].length>=max_booking_allowed){
  1330.                                    for(j in occupied_time[i]){
  1331.                                         disabled.push([ occupied_time[i][j].start,occupied_time[i][j].end]);
  1332.                                    }
  1333.                                }
  1334.                            }
  1335.                        }
  1336.                    }
  1337.                }
  1338.              
  1339.                
  1340.                $('#timepicker').val("");
  1341.                $('#timepicker').timepicker('remove');
  1342.                $('#timepicker').timepicker
  1343.                ({
  1344.                    'disableTimeRanges' : disabled,
  1345.                    'minTime': start_time,
  1346.                    'maxTime': end_time,
  1347.                    'showDuration': false,
  1348.                  
  1349.                   'useSelect': true ,
  1350.                    'noneOption': [
  1351.                        {
  1352.                            'label': '-- 請選擇 --',
  1353.                            'value': ''
  1354.                        },
  1355.                    ],
  1356.                  
  1357.                    
  1358.                });
  1359.                $( "#timepicker" ).prop('disabled',false);
  1360.                                if(!(typeof value === 'undefined')){
  1361.                    if(value!=''){
  1362.                        $('#timepicker').timepicker('setTime', value);
  1363.                    }
  1364.                }
  1365.            } catch(e){
  1366.                console.log(e);
  1367.            }
  1368.        }
  1369.                          
  1370.            $('#heard_from').on('change',function(){
  1371.                if( $(this).find('option:selected').val() == '其他'){
  1372.                    $('#other_heard_from-field').removeClass('hide');
  1373.                } else {
  1374.                     $('#other_heard_from-field').addClass('hide');
  1375.                }
  1376.            });
  1377.                                                  
  1378.                                 CAPI('PageView');
  1379.             CAPI('ViewContent');
  1380.                        });
  1381.    function onFormSubmit(){
  1382.        var allow_time;
  1383.        if($('#timepicker').val()){
  1384.            allow_time = moment($('#timepicker').val(), ["h:mm A"]).format("HH:mm");
  1385.        }
  1386.        if(allow_time!='Invalid date'){
  1387.            $('#allow_time').val(allow_time);
  1388.        } else {
  1389.            $('#allow_time').val('');
  1390.        }
  1391.        
  1392.        $('.process-back').addClass('active');
  1393.        
  1394.    }
  1395.    function openTermsNP(){
  1396.        var box = '';
  1397.        $.ajax({
  1398.            type: 'GET',
  1399.            url: 'https://laserprocenter.com.hk/terms/home?np=1',
  1400.            success: function(data) {
  1401.                box = bootbox.dialog({
  1402.                    message: data,
  1403.                });
  1404.                $('html').addClass('no-scroll');
  1405.                box.on("hidden.bs.modal", function() {
  1406.                    $('html').removeClass('no-scroll');
  1407.                    box.off("hidden.bs.modal");
  1408.                });
  1409.            }
  1410.        });
  1411.    }
  1412.    function openTerms(){
  1413.        var box = '';
  1414.        $.ajax({
  1415.            type: 'GET',
  1416.            url: 'https://laserprocenter.com.hk/terms/home',
  1417.            success: function(data) {
  1418.                box = bootbox.dialog({
  1419.                    message: data,
  1420.                });
  1421.                $('html').addClass('no-scroll');
  1422.                box.on("hidden.bs.modal", function() {
  1423.                    $('html').removeClass('no-scroll');
  1424.                    box.off("hidden.bs.modal");
  1425.                });
  1426.            }
  1427.        });
  1428.    }
  1429.    bootbox.setDefaults({ size: 'large' });
  1430.          fbq('track', 'ViewContent');
  1431.            
  1432. function CAPI(event, eventData) {
  1433.    let fbp = document.cookie.split(';').filter(function(c){ return c.includes('_fbp=');}).map(function(c){ return c.split('_fbp=')[1];})
  1434.    let fbc = document.cookie.split(';').filter(function(c){ return c.includes('_fbc=');}).map(function(c){ return c.split('_fbc=')[1];})
  1435.    fbp = (fbp.length && fbp[0]) || null;
  1436.    fbc = (fbc.length && fbc[0]) || null;
  1437.    if(!fbc && window.location.search.includes('fbclid=')){
  1438.        fbc = 'fb.1.'+ (+new Date()) +'.'+ window.location.search.split('fbclid=')[1];
  1439.    }
  1440.    const body = {
  1441.        'event': event,
  1442.        'event_data': eventData,
  1443.        'fbp': fbp,
  1444.        'fbclid': fbc,
  1445.        'user_agent': navigator.userAgent,
  1446.                 'url': window.location.origin + window.location.pathname
  1447.    }
  1448.    $.ajax({
  1449.        type: "POST",
  1450.        url: 'https://laserprocenter.com.hk/api/fb_conversion?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE3MTYxNTkxMDEsInN1YiI6Imxhc2VycHJvIGFwaSJ9.5XcfSPasALBZYlb_VYIMj2AqRpHlR4Sp8zRjKYCcL30',
  1451.        data: JSON.stringify(body) ,
  1452.        processData: false,
  1453.        contentType: 'application/json',
  1454.        success: function(response){  
  1455.           //console.log(response)
  1456.        },
  1457.        error : function(  jqXHR,  textStatus,  errorThrown){  
  1458.        }
  1459.    });
  1460. }
  1461.  
  1462. </script>
  1463. </body>
  1464. </html>
Copyright © 2002-9 Sam Ruby, Mark Pilgrim, Joseph Walton, and Phil Ringnalda