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="將軍澳"  >將軍澳新都城中心3期</option>
  471.                                                           <option  value="銅鑼灣"  >銅鑼灣英皇鐘錶珠寶中心22樓</option>
  472.                                                           <option  value="旺角朗豪坊店"  >旺角朗豪坊辦公大樓45樓</option>
  473.                                                           <option  value="尖沙咀"  >尖沙咀加拿芬廣場10樓</option>
  474.                                                           <option  value="元朗"  >元朗光華廣場10樓</option>
  475.                                                           <option  value="荃灣"  >荃灣千色匯I期24樓</option>
  476.                                                           <option  value="觀塘"  >觀塘泓富廣場18樓</option>
  477.                                                           <option  value="屯門"  >屯門柏麗廣場</option>
  478.                                                           <option  value="沙田"  >沙田店新城市商業大廈8樓</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.        
  628.        <div class="terms section">
  629.            <div class="title right"><img alt="Laser Pro 脫出-秒白激光-脫毛簡單-平價-脫毛抵" src="/assets/images/脫出-秒白激光-脫毛簡單-平價-脫毛抵.png"/></div>
  630.            <div class="box-top-line"></div>
  631.            <div class="box">
  632.                <ul>
  633.                    <li>優惠只適用於18歲以上之女性新客戶。</li>
  634.                    <li>顧客必須於登記後30日內親臨分店享用首次脫毛療程,逾期作廢;</li>
  635.                    <li>網上優惠不可與其他優惠同時使用;</li>
  636.                    <li>每人只限享用此優惠乙次;</li>
  637.                    <li>網上付款一經確認,需要3個月內享用首次療程;預付金額不設退款及不設轉讓;</li>
  638.                    <li>首年每個部位包括12次,再送3年免費保養。</li>
  639.                    <li>因個人生理因素及身體狀況,如新陳代謝、過往病歷紀錄、荷爾蒙分泌、毛髮顏色粗幼、生長週期等,少量幼細、淡色毛髮有機會再生,實際情況因人而異。</li>
  640.                    <li>自選6個部位包括3個精選部位及3個熱賣部位</li>
  641.                    <li>客戶於享用療程前須出示身份證明文件以核對身份;</li>
  642.                    <li>此優惠不可與其他優惠或折扣同時使用,亦不可兌換現金或與其他禮品</li>
  643.                    <li>客戶完成體驗後方可獲贈體驗禮遇(如適用);</li>
  644.                    <li>成功預約客戶於療程前將會收到Whatsapp通知或經專人聯絡,進行最後確認程序。若未能完成此程序,我們將會為客戶重新預約。</li>
  645.                    <li>如須更改或取消預約,必須於24小時前致電通知,否則此優惠當作已使用論;</li>
  646.                    <li>所有療程及醫美項目將安排於集團旗下另一品牌 OnLux 分店進行。享用療程時必須預先登記及預約時間。</li>
  647.                    <li>所有療程效果及進度會因應個人之皮膚或身體狀況等因素而有所不同。</li>
  648.                    <li>付款一經處理,一律不作退款。</li>
  649.                    
  650.                    <li>Laser Pro保留隨時修改此條款及細則之權利而不作另外通知。</li>
  651.                    <li>如有任何爭議Laser Pro及集團旗下另一品牌 OnLux保留一切與本條款及細則有關的最終決定權。</li>
  652.                </ul>
  653.            </div>
  654.            <div class="box-top-line end"></div>
  655.        </div>
  656.    </div>
  657.    </div>
  658.  
  659. <style>
  660.   .process-back {
  661.    position: fixed;
  662.    z-index: 2147483647;
  663.    top: 0;
  664.    left: 0;
  665.    width: 100%;
  666.    height: 100%;
  667.    transform: translate3d(0, 0, 0);
  668.    background-color: black;
  669.    background-color: rgba(0, 0, 0, 0.6);
  670.    background: radial-gradient(50% 50%, ellipse closest-corner, rgba(0,0,0,0.6) 1%, rgba(0,0,0,0.6) 100%);
  671.    color: #fff;
  672.    display : none;
  673. }
  674.  
  675. .process-back.active {
  676.     display : block;
  677. }
  678. .process-back .processing-modal {
  679.    font-family: "HelveticaNeue", "HelveticaNeue-Light", "Helvetica Neue Light", helvetica, arial, sans-serif;
  680.    font-size: 14px;
  681.    text-align: center;
  682.    box-sizing: border-box;
  683.    max-width: 350px;
  684.    top: 50%;
  685.    left: 50%;
  686.    position: absolute;
  687.    transform: translateX(-50%) translateY(-50%);
  688.    cursor: pointer;
  689.    text-align: center;
  690. }
  691.  
  692. .process-back .processing-modal  .processing-logo img {
  693.    height: 36px;
  694. }
  695.  
  696. .process-back .processing-modal  .message {
  697.    font-size: 15px;
  698.    line-height: 1.5;
  699.    padding: 10px 0;
  700. }
  701. </style>
  702. <div class="process-back">
  703.    <div class="processing-modal">
  704.        <div class="processing-logo"></div>
  705.        <div class="message">處理中,請稍等..</div>
  706.    </div>
  707. </div>
  708. <div id="footer">
  709.    <div class="holder">
  710.        <div class="links">
  711.          <div class="item">
  712.                <a target="_blank" href="https://laserprocenter.com.hk/about" class="link">關於我們</a>
  713.            </div>
  714.            
  715.            <div class="item">
  716.                <a  target="_blank" href="https://laserprocenter.com.hk/location" class="link">分店地區</a>
  717.            </div>
  718. <!--
  719.            <div class="item">
  720.                <a  target="_blank" href="https://laserprocenter.com.hk/about" class="link">聯絡我們</a>
  721.            </div>
  722.            
  723.            <div class="item">
  724.                <a  target="_blank" href="https://laserprocenter.com.hk/about" class="link">加入我們</a>
  725.            </div>
  726.            -->
  727.             <div class="share">
  728.                <a class="facebook addthis_button_facebook" href="https://www.facebook.com/LaserProHK" target="_blank"><img alt="LaserPro激光脫毛專家 Facebook" src="/assets/images/將軍澳-徹底-Underarm.png" /></a>
  729.                <a class="instagram addthis_button_ig" href="https://www.instagram.com/laserprohk/" target="_blank"><img alt="LaserPro激光脫毛專家 Instagram" src="/assets/images/觀塘-808脫毛-脫毛蠟.png" /></a>
  730.                <!--<a class="youtube"  href="https://youtube.com" target="_blank"><img src="/assets/images/香港-脫毛刀-幼毛-口碑.png" /></a>-->
  731.                <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>
  732.            </div>
  733.            
  734.        </div>
  735.        <div class="bottom">
  736.            <a href="https://laserprocenter.com.hk/sitemap" target="_blank" class="privacy-link">SiteMap</a>&nbsp;<span class="sp">|</span>&nbsp;
  737.            <a href="https://laserprocenter.com.hk/privacy" target="_blank" class="privacy-link">免責聲明</a>
  738.            &nbsp;<span class="sp">|</span>
  739.            &nbsp;<span class="copyright">&copy; 2021 Copyright LASER PRO CENTER LIMITED  <span class="non-mobile">&nbsp;&nbsp;All rights reserved</span></span>
  740.                           <div class="contact-link"><a href="mailto:enquiry@laserprocenter.com.hk">Email: enquiry@laserprocenter.com.hk</a></div>
  741.        </div>
  742.    </div>
  743. </div>
  744. <a href="javascript:void(0);" id="ui-to-top" class="ui-to-top fa fa-angle-up active"></a>
  745.  
  746. </div><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
  747. <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.10.4/jquery-ui.min.js"></script>
  748. <!--[if lt IE 9]>
  749. <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/r29/html5.min.js"></script>
  750. <script type="text/javascript" src="https://laserprocenter.com.hk/assets/js/placeholders.min.js"></script>
  751. <script type="text/javascript" src="https://laserprocenter.com.hk/assets/js/respond.min.js"></script>
  752. <style>
  753. .border-radius {
  754. -ms-behavior: url('https://laserprocenter.com.hk/assets/js/border-radius.htc');
  755. behavior: url('https://laserprocenter.com.hk/assets/js/border-radius.htc');
  756. }
  757. </style>
  758. <![endif]-->
  759. <script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.3.1/js/bootstrap.min.js"></script>
  760. <script type="text/javascript" src="https://laserprocenter.com.hk/assets/js/min/vendor.min.js"></script>
  761. <script type="text/javascript" src="https://laserprocenter.com.hk/assets/js/min/home.min.js"></script>
  762. <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mustache.js/0.1/mustache.min.js"></script>
  763. <style>
  764. #_terms .radioContent a,
  765. #_terms .radioContent a:link,
  766. #_terms .radioContent a:visited
  767. {
  768.    text-decoration: underline;
  769. }
  770. #_terms .radioContent a:hover {
  771.    color: #5c5c5c;
  772. }
  773.  
  774.  
  775. .ui-timepicker-select{
  776.    width: 100%;
  777.    border: 0;
  778.    border-bottom: 1px solid #645f64;
  779.    line-height: 34px;
  780.    height: 34px;
  781.    color: inherit;
  782.    font-size: 18px;
  783.    font-family: inherit;
  784.    box-sizing: border-box;
  785.    border-radius: 0;
  786.    padding: 0 5px;
  787.    -webkit-appearance: none;
  788.    -moz-appearance: none;
  789.    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;
  790.    background-size: 28px auto;
  791.    background-color: #fff;
  792.    border-radius: 9px;
  793.    padding-left: 15px;
  794.    border: 0;
  795.    height: 34px;
  796. }
  797. select.ui-timepicker-select option:disabled {
  798.    color: #c3c3c3;
  799. }
  800. </style>
  801. <div id="pswp-gallery" class="pswp" tabindex="-1" role="dialog" aria-hidden="true"  ref="pswpref">
  802.    <!-- Background of PhotoSwipe.
  803.         It's a separate element as animating opacity is faster than rgba(). -->
  804.    <div class="pswp__bg"></div>
  805.    <!-- Slides wrapper with overflow:hidden. -->
  806.    <div class="pswp__scroll-wrap">
  807.        <!-- Container that holds slides.
  808.            PhotoSwipe keeps only 3 of them in the DOM to save memory.
  809.            Don't modify these 3 pswp__item elements, data is added later on. -->
  810.        <div class="pswp__container">
  811.            <div class="pswp__item"></div>
  812.            <div class="pswp__item"></div>
  813.            <div class="pswp__item"></div>
  814.        </div>
  815.        <!-- Default (PhotoSwipeUI_Default) interface on top of sliding area. Can be changed. -->
  816.        <div class="pswp__ui pswp__ui--hidden">
  817.            <div class="pswp__top-bar">
  818.                <!--  Controls are self-explanatory. Order can be changed. -->
  819.                <div class="pswp__counter"></div>
  820.                <button class="pswp__button pswp__button--close" title="Close (Esc)"></button>
  821.                <button class="pswp__button pswp__button--fs" title="Toggle fullscreen"></button>
  822.                <button class="pswp__button pswp__button--zoom" title="Zoom in/out"></button>
  823.                <!-- Preloader demo http://codepen.io/dimsemenov/pen/yyBWoR -->
  824.                <!-- element will get class pswp__preloader--active when preloader is running -->
  825.                <div class="pswp__preloader">
  826.                    <div class="pswp__preloader__icn">
  827.                      <div class="pswp__preloader__cut">
  828.                        <div class="pswp__preloader__donut"></div>
  829.                      </div>
  830.                    </div>
  831.                </div>
  832.            </div>
  833.            <div class="pswp__share-modal pswp__share-modal--hidden pswp__single-tap">
  834.                <div class="pswp__share-tooltip"></div>
  835.            </div>
  836.            <button class="pswp__button pswp__button--arrow--left" title="Previous (arrow left)">
  837.            </button>
  838.            <button class="pswp__button pswp__button--arrow--right" title="Next (arrow right)">
  839.            </button>
  840.            <div class="pswp__caption">
  841.                <div class="pswp__caption__center"></div>
  842.            </div>
  843.        </div>
  844.    </div>
  845. </div>
  846.  
  847.  
  848. <script>
  849.  
  850.  
  851.  
  852.    function paymentHelp(){
  853.        var items = [{
  854.            src : 'https://laserprocenter.com.hk/assets/images/LP - Online Payment Guideline_payme.jpg',
  855.            w : 801,
  856.            h : 1200,
  857.        },{
  858.            src : 'https://laserprocenter.com.hk/assets/images/LP - Online Payment Guideline-fps.jpg',
  859.            w : 801,
  860.            h : 1200,
  861.        }];
  862.        var pswpElement = document.querySelectorAll('.pswp')[0];
  863.        var options = {
  864.            closeOnScroll : false,
  865.            history: false,
  866.            focus: false,
  867.            index: 0
  868.        };
  869.        share_gallery = new PhotoSwipe( pswpElement, PhotoSwipeUI_Default, items, options);
  870.        share_gallery.init()
  871.    }
  872.  
  873.    
  874.  
  875. function OpenPSWP(items){
  876.    var pswpElement = document.querySelectorAll('.pswp')[0];
  877.    var options = {
  878.        closeOnScroll : false,
  879.        history: false,
  880.        focus: false,
  881.        index: 0
  882.    };
  883.    var gallery = new PhotoSwipe( pswpElement, PhotoSwipeUI_Default, items, options);
  884.    gallery.init()
  885. }
  886. function offset(el) {
  887.    var rect = el.getBoundingClientRect(),
  888.    scrollLeft = window.pageXOffset || document.documentElement.scrollLeft,
  889.    scrollTop = window.pageYOffset || document.documentElement.scrollTop;
  890.    return { top: rect.top + scrollTop, left: rect.left + scrollLeft }
  891. }
  892. var section_obj = {
  893.    banner :  {
  894.        element :  document.querySelector('.banner'),
  895.        offset :  function(){
  896.            return offset(this.element);
  897.        }
  898.    },
  899.    men :  {
  900.        element :  document.querySelector('.men'),
  901.        offset :  function(){
  902.            return offset(this.element);
  903.        }
  904.    },
  905.    tech :  {
  906.        element :  document.querySelector('.tech'),
  907.        offset :  function(){
  908.            return offset(this.element);
  909.        }
  910.    },
  911.    service :  {
  912.        element :  document.querySelector('.service'),
  913.        offset :  function(){
  914.            return offset(this.element);
  915.        }
  916.    },
  917.  //  exp :  {
  918.  //      element :  document.querySelector('.exp'),
  919.  //      offset :  function(){
  920.  //          return offset(this.element);
  921.  //      }
  922.  //  },
  923.    'booking-form' :  {
  924.        element :  document.querySelector('.booking-form'),
  925.        offset :  function(){
  926.            return offset(this.element);
  927.        }
  928.    },
  929.    faq :  {
  930.        element :  document.querySelector('.faq'),
  931.        offset :  function(){
  932.            return offset(this.element);
  933.        }
  934.    },
  935.    terms :  {
  936.        element :  document.querySelector('.terms'),
  937.        offset :  function(){
  938.            return offset(this.element);
  939.        }
  940.    },
  941.    privacy :  {
  942.        element :  document.querySelector('.privacy'),
  943.        offset :  function(){
  944.            return offset(this.element);
  945.        }
  946.    },
  947.    about :  {
  948.        element :  document.querySelector('.about'),
  949.        offset :  function(){
  950.            return offset(this.element);
  951.        }
  952.    },
  953.    location :  {
  954.        element :  document.querySelector('.location'),
  955.        offset :  function(){
  956.            return offset(this.element);
  957.        }
  958.    }
  959. }
  960.    function goToSection(section){
  961.         if(section == 'tech' || section == 'booking-form' || section == 'terms' || section == 'service'){
  962.            if(section_obj[section].element === null) return;
  963.        var offset  = $(section_obj[section].element).offset();
  964.        $('html, body').animate({
  965.            scrollTop: offset.top - $('#header').height()  
  966.        }, 800, function() {
  967.            detectArea(section);
  968.        });
  969.    }
  970. }  
  971. function goToTop(){
  972.    if($('html').hasClass('open-menu')){
  973.        $('html').removeClass('open-menu');
  974.    }
  975.    $('html, body').animate({
  976.        scrollTop: 0
  977.    }, 800);
  978. }
  979. function detectArea(section,last){
  980.    var element = section_obj[section].element;
  981.    if(element === null) return;
  982.    var div_offset = section_obj[section].offset();
  983.    
  984.    var doc_end_pos = parseInt($(window).scrollTop()) + parseInt($(window).height());
  985.    var doc_start_pos = $(window).scrollTop();
  986.    
  987.    var start_pos = div_offset.top;
  988.    var end_pos = div_offset.top + $(element).height();
  989.    var pad = 8;
  990.    //check if within section or document end touch the start of section
  991.    var is_within = doc_start_pos >= start_pos - ($('#header').height() + pad) && doc_start_pos <=end_pos;
  992.    var is_reached = doc_end_pos >= start_pos && doc_start_pos <= end_pos;
  993.    if( is_within || is_reached  ){
  994.        $(element).addClass('animated');
  995.        $(element).find('.ease-fade-effect').addClass('animated');
  996.        $(element).find('.ease-transform-effect').addClass('animated');
  997.    }  
  998.    if(is_within){
  999.        $('.top-nav-bar > li').removeClass('selected');
  1000.        $('.top-nav-bar > li.link-'+section).addClass('selected');
  1001.    }
  1002.    if( doc_start_pos == 0 || doc_start_pos <= $(section_obj['banner'].element).height() - 100 ){
  1003.        //within banner area    
  1004.        $('html').removeClass('in-body');
  1005.        $('.banner-wrapper .logo').removeClass('animated');
  1006.        $('.top-nav-bar > li').removeClass('selected');
  1007.                $('.top-nav-bar > li.link-banner').addClass('selected');
  1008.            } else {
  1009.        $('html').addClass('in-body');
  1010.        $('.banner-wrapper .logo').addClass('animated');
  1011.    }
  1012.   //if( ($(window).scrollTop() + $(window).height()) > div_offset.top  ){
  1013.   //    console.log(section);
  1014.   //    console.log(div_offset);
  1015.   //    if(section == 'banner'){
  1016.   //        $('html').removeClass('in-body');
  1017.   //        $('.banner-wrapper .logo').removeClass('animated');
  1018.   //    } else {
  1019.   //        $('html').addClass('in-body');
  1020.   //        $('.banner-wrapper .logo').addClass('animated');
  1021.   //        $(element).addClass('animated');
  1022.   //        $(element).find('.ease-fade-effect').addClass('animated');
  1023.   //        $(element).find('.ease-transform-effect').addClass('animated');
  1024.   //    }
  1025.   //}
  1026. }
  1027. var date_notavail = ['2024-02-10','2024-02-11','2024-02-12','2024-02-13'];
  1028. var body_part_max = {
  1029.    free : 1,
  1030.    big : 1,
  1031.    small : 1,
  1032. }
  1033.  
  1034.  
  1035. var day_off_data = [];
  1036. var holiday_data = [];
  1037. var occupied_data = {};
  1038. var shop_week_data = [];
  1039. var max_booking_allowed = 1;
  1040. var weekToInt = {
  1041.          'Mon' : 1,  
  1042.          'Tue' : 2,  
  1043.          'Wed' : 3,  
  1044.          'Thu' : 4,  
  1045.          'Fri' : 5,  
  1046.          'Sat' : 6,  
  1047.          'Sun' : 0
  1048.        };
  1049.        
  1050.        
  1051.        
  1052.      max_booking_allowed = 99;
  1053.    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"}}};
  1054. holiday_data = [];
  1055. day_off_data = {"all":[]};
  1056. occupied_data = {"all":{"2024-05-03":{"start":"12:00pm","end":"4:00pm"},"2024-05-09":{"start":"12:00pm","end":"3:00pm"},"2024-05-10":{"start":"12:00pm","end":"3:00pm"}},"TW":{"2024-04-30":[{"start":"12:00pm","end":"12:30pm"}],"2024-04-18":[{"start":"12:00pm","end":"12:30pm"}],"2024-05-01":[{"start":"5:00pm","end":"5:30pm"}],"2024-04-15":[{"start":"3:30pm","end":"4:00pm"},{"start":"6:00pm","end":"6:30pm"}],"2024-04-20":[{"start":"4:30pm","end":"5:00pm"}]},"CWB":{"2024-04-16":[{"start":"6:30pm","end":"7:00pm"},{"start":"6:00pm","end":"6:30pm"},{"start":"2:00pm","end":"2:30pm"}],"2024-04-19":[{"start":"5:00pm","end":"5:30pm"},{"start":"5:30pm","end":"6:00pm"},{"start":"2:30pm","end":"3:00pm"}],"2024-05-11":[{"start":"1:00pm","end":"1:30pm"}],"2024-04-15":[{"start":"2:30pm","end":"3:00pm"}]},"LP":{"2024-04-15":[{"start":"3:00pm","end":"3:30pm"},{"start":"4:00pm","end":"4:30pm"}],"2024-05-02":[{"start":"7:30pm","end":"8:00pm"}],"2024-04-26":[{"start":"6:30pm","end":"7:00pm"}],"2024-04-24":[{"start":"5:00pm","end":"5:30pm"}],"2024-04-23":[{"start":"1:00pm","end":"1:30pm"}]},"TST":{"2024-04-16":[{"start":"4:30pm","end":"5:00pm"}],"2024-04-18":[{"start":"6:30pm","end":"7:00pm"}]},"ST":{"2024-04-18":[{"start":"1:00pm","end":"1:30pm"},{"start":"1:30pm","end":"2:00pm"}],"2024-04-23":[{"start":"5:00pm","end":"5:30pm"}],"2024-04-22":[{"start":"12:00pm","end":"12:30pm"}],"2024-04-27":[{"start":"10:30am","end":"11:00am"}],"2024-04-19":[{"start":"2:00pm","end":"2:30pm"}]},"KT":{"2024-04-20":[{"start":"2:00pm","end":"2:30pm"},{"start":"6:00pm","end":"6:30pm"}],"2024-04-16":[{"start":"4:00pm","end":"4:30pm"}],"2024-04-18":[{"start":"3:00pm","end":"3:30pm"}],"2024-04-15":[{"start":"1:00pm","end":"1:30pm"}]},"TKO":{"2024-04-15":[{"start":"7:00pm","end":"7:30pm"}],"2024-04-25":[{"start":"4:00pm","end":"4:30pm"}],"2024-04-19":[{"start":"3:30pm","end":"4:00pm"}]},"YL":{"2024-04-16":[{"start":"3:00pm","end":"3:30pm"}],"2024-04-15":[{"start":"7:30pm","end":"8:00pm"},{"start":"7:00pm","end":"7:30pm"}]}};
  1057. 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"};
  1058. 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"};
  1059.  
  1060. var locationDict = {
  1061.    '銅鑼灣' : {
  1062.        days : [],
  1063.        avail_time : {}
  1064.    },
  1065.    '觀塘' : {
  1066.        days : [],
  1067.        avail_time : {}
  1068.    },  
  1069.    '旺角朗豪坊店' : {
  1070.        days : [],
  1071.        avail_time : {}
  1072.    },
  1073.    '將軍澳' : {
  1074.        days : [],
  1075.        avail_time : {}
  1076.    },
  1077.    '尖沙咀' : {
  1078.        days : [],
  1079.        avail_time : {}
  1080.    },
  1081.    '元朗' : {
  1082.        days : [],
  1083.        avail_time : {}
  1084.    },
  1085.    '沙田' : {
  1086.        days : [],
  1087.        avail_time : {}
  1088.    },
  1089.    '屯門' : {
  1090.        days : [],
  1091.        avail_time : {}
  1092.    },
  1093.    '荃灣' : {
  1094.        days : [],
  1095.        avail_time : {}
  1096.    },
  1097. };
  1098.  
  1099. for(shop in locationDict){
  1100.    if(typeof shop_week_data[regionToId[shop]]!=='undefined'){
  1101.        for(week_key in shop_week_data[regionToId[shop]]){
  1102.            if(week_key!='holiday'){
  1103.                locationDict[shop].days.push(parseInt(week_key));    
  1104.            }
  1105.            locationDict[shop].avail_time[week_key] = shop_week_data[regionToId[shop]][week_key];
  1106.        }
  1107.    }
  1108. }      
  1109.    
  1110.        
  1111. $(document).ready(function(){
  1112.         detectArea('tech');
  1113.    detectArea('booking-form');
  1114.    if($('.service').length > 0){
  1115.        detectArea('service');
  1116.        // $('.service.ease-fade-effect').addClass('animated');
  1117.        // $('.service .ease-fade-effect').addClass('animated');
  1118.    }
  1119.    detectArea('terms');
  1120.  
  1121.    $('.object-wrapper .ease-transform-effect').addClass('animated');
  1122.    $('.object-wrapper .ease-fade-effect').addClass('animated');
  1123.                      
  1124.                  
  1125.  
  1126.  
  1127.    body_part_max.big = 3;
  1128.    body_part_max.small = 3;
  1129.  
  1130.       if ($('.big_part:checked').length > body_part_max.big - 1  ){
  1131.        $('.big_part:not(:checked)').prop('disabled', true);  
  1132.    }
  1133.    if ($('.small_part:checked').length > body_part_max.small - 1){
  1134.        $('.small_part:not(:checked)').prop('disabled', true);  
  1135.    }
  1136.    $('.big_part').change(function(){
  1137.        if ($('.big_part:checked').length > body_part_max.big - 1 )
  1138.        {
  1139.            //disable unselected option
  1140.            $('.big_part:not(:checked)').prop('disabled', true);  
  1141.        } else {
  1142.            $('.big_part:not(:checked)').prop('disabled', false);  
  1143.        }
  1144.    });
  1145.    $('.small_part').change(function(){
  1146.        if ($('.small_part:checked').length > body_part_max.small - 1 )
  1147.        {
  1148.            //disable unselected option
  1149.            $('.small_part:not(:checked)').prop('disabled', true);  
  1150.        } else {
  1151.            $('.small_part:not(:checked)').prop('disabled', false);  
  1152.        }
  1153.    });
  1154.    $(window).resize(function(){
  1155.        if( $(window).width() >= 1200){
  1156.            if($('html').hasClass('open-menu')){
  1157.                $('html').removeClass('open-menu');
  1158.            }
  1159.        }
  1160.    });
  1161.    $(window).scroll(function(){
  1162.        if( $(window).scrollTop() > 400){
  1163.            $('.ui-to-top').addClass('active');
  1164.        } else {
  1165.            $('.ui-to-top').removeClass('active');
  1166.        }
  1167.                              detectArea('tech');
  1168.        detectArea('booking-form');
  1169.        if($('.service').length > 0){
  1170.             detectArea('service');
  1171.        }
  1172.        detectArea('terms');
  1173.        
  1174.                
  1175.        
  1176.                            });
  1177.    $('.ui-to-top').on('click',function(){
  1178.        goToTop();
  1179.    });
  1180.      
  1181.        var defaultShop = '將軍澳';
  1182.        var defaultDate = '';
  1183.        var defaultTime = '';
  1184.        
  1185.          
  1186.        $( "#datepicker" ).datepicker
  1187.        ({
  1188.            direction: "up",
  1189.            dateFormat: 'mm/dd/yy,D',
  1190.            minDate: 2,
  1191.            maxDate: 60,
  1192.            beforeShowDay : function(date){
  1193.                var day = parseInt(date.getDay());
  1194.                var avail_days = locationDict[$('#location option:selected').val()].days;
  1195.                var _month = date.getMonth() + 1;
  1196.                var _day = date.getDate();
  1197.                var compare_date = date.getFullYear() + '-' + (_month <10 ? '0'+_month : _month) + '-' + (_day <10 ? '0'+_day : _day);
  1198.                   var selected_location = $('#location option:selected').val();
  1199.                
  1200.            
  1201.                var region_location = typeof regionToLocation[selected_location] !=='undefined' ? regionToLocation[selected_location] : null;
  1202.                date_notavail = [];
  1203.                for(_shop in day_off_data){
  1204.                    if(_shop == 'all'){
  1205.                        for(i in day_off_data[_shop]){
  1206.                            date_notavail.push(day_off_data[_shop][i]);    
  1207.                        }
  1208.                    } else if(_shop == region_location){
  1209.                        for(i in day_off_data[_shop]){
  1210.                            date_notavail.push(day_off_data[_shop][i]);    
  1211.                        }
  1212.                    }
  1213.                }
  1214.                //check if holiday is off
  1215.                if( $.inArray( compare_date, holiday_data )!=-1){
  1216.                    var _shop_id = regionToId[selected_location];
  1217.                    if(typeof _shop_id!=='undefined'){
  1218.                        var _week_data = shop_week_data[_shop_id];
  1219.                        if(typeof _week_data!=='undefined'){
  1220.                            if(typeof _week_data['holiday']==='undefined'){
  1221.                                //holiday off
  1222.                                return [false,""];
  1223.                            }
  1224.                        }
  1225.                    }
  1226.                }
  1227.            
  1228.                
  1229.                if( $.inArray( day, avail_days )!=-1 &&   $.inArray( compare_date, date_notavail )==-1 ){
  1230.                    return [true,""];
  1231.                } else return [false,""];
  1232.            },
  1233.            onSelect: function(dateText, inst) {
  1234.                setTimepicker(dateText);
  1235.            }
  1236.        });
  1237.        $('#location').on('change',function(){
  1238.            if($('#location option:selected').val()!=''){
  1239.                //if($('#location option:selected').val() == '旺角朗豪坊店'){
  1240.                //    setDateTime(new Date(2022, 7 - 1, 23));
  1241.                //} else {
  1242.                    setDateTime();    
  1243.               // }
  1244.            } else {
  1245.                resetValues();
  1246.            }
  1247.        });
  1248.        //reset date and time picker value
  1249.        function resetValues(){
  1250.            $("#datepicker").val('');
  1251.            $('#timepicker').val("");        
  1252.            $( "#datepicker" ).prop('disabled',true);
  1253.            $( "#timepicker" ).prop('disabled',true);
  1254.            $("#datepicker").datepicker( "destroy" );
  1255.            $('#timepicker').timepicker('remove');
  1256.        }
  1257.      
  1258.        function setDateTime(mindate){
  1259.            resetValues();
  1260.            $( "#datepicker" ).datepicker
  1261.            ({
  1262.                direction: "up",
  1263.                dateFormat: 'mm/dd/yy,D',
  1264.                minDate:  typeof mindate === 'undefined' ?  2 : mindate,
  1265.                maxDate: 60  ,
  1266.                beforeShowDay : function(date){
  1267.                    var day = parseInt(date.getDay());
  1268.                    var avail_days = locationDict[$('#location option:selected').val()].days;
  1269.                    
  1270.                    var _month = date.getMonth() + 1;
  1271.                    var _day = date.getDate();
  1272.                    var compare_date = date.getFullYear() + '-' + (_month <10 ? '0'+_month : _month) + '-' + (_day <10 ? '0'+_day : _day);
  1273.                    var selected_location = $('#location option:selected').val();
  1274.                    
  1275.              
  1276.                    var region_location = typeof regionToLocation[selected_location] !=='undefined' ? regionToLocation[selected_location] : null;
  1277.                    date_notavail = [];
  1278.                    for(_shop in day_off_data){
  1279.                        if(_shop == 'all'){
  1280.                            for(i in day_off_data[_shop]){
  1281.                                date_notavail.push(day_off_data[_shop][i]);    
  1282.                            }
  1283.                        } else if(_shop == region_location){
  1284.                            for(i in day_off_data[_shop]){
  1285.                                date_notavail.push(day_off_data[_shop][i]);    
  1286.                            }
  1287.                        }
  1288.                    }
  1289.                    //check if holiday is off
  1290.                    if( $.inArray( compare_date, holiday_data )!=-1){
  1291.                        var _shop_id = regionToId[selected_location];
  1292.                        if(typeof _shop_id!=='undefined'){
  1293.                            var _week_data = shop_week_data[_shop_id];
  1294.                            if(typeof _week_data!=='undefined'){
  1295.                                if(typeof _week_data['holiday']==='undefined'){
  1296.                                    return [false,""];
  1297.                                }
  1298.                            }
  1299.                        }
  1300.                    }
  1301.                
  1302.                    if( $.inArray( day, avail_days )!=-1 &&   $.inArray( compare_date, date_notavail )==-1  ){
  1303.                        return [true,""];
  1304.                    } else return [false,""];
  1305.                },
  1306.                onSelect: function(dateText, inst) {
  1307.                    setTimepicker(dateText);
  1308.                }
  1309.            });
  1310.            $( "#datepicker" ).prop('disabled',false);
  1311.        }
  1312.        var time_init = false;
  1313.        function setTimepicker(dateText,value){
  1314.            if(dateText == '') return;
  1315.            var day = dateText.split(",");
  1316.            if(day.length <1) return;
  1317.            var weekofday = day[1];
  1318.            var date_chosen = day[0].split('/');
  1319.            date_chosen = date_chosen[2]+'-'+date_chosen[0]+'-'+date_chosen[1];
  1320.            var start_time = '';
  1321.            var end_time = '';
  1322.            var disabled = [];
  1323.            
  1324.            try {    
  1325.              //  var avail_time = locationDict[defaultShop].avail_time;
  1326.                var selected_location = $('#location option:selected').val();
  1327.                var avail_time = locationDict[$('#location option:selected').val()].avail_time;
  1328.                start_time = avail_time[ weekToInt[weekofday] ].start;
  1329.                end_time = avail_time[ weekToInt[weekofday] ].end;
  1330.              
  1331.                //check if day is holiday , set start and end time if available
  1332.                if( $.inArray( date_chosen, holiday_data )!=-1){
  1333.                    if(typeof avail_time['holiday']!=='undefined'){
  1334.                        start_time = avail_time['holiday'].start;
  1335.                        end_time = avail_time['holiday'].end;
  1336.                    }
  1337.                }
  1338.                //check if day occupied
  1339.                if(typeof occupied_data['all']!=='undefined'){ //for all shops
  1340.                    if(typeof occupied_data['all'][date_chosen]!=='undefined'){
  1341.                        disabled.push([occupied_data['all'][date_chosen].start, occupied_data['all'][date_chosen].end]);
  1342.                    }
  1343.                }
  1344.                if(typeof regionToLocation[selected_location]!=='undefined'){ //for selected shop only
  1345.                    var shop_occupied = occupied_data[regionToLocation[selected_location]];
  1346.                    if(typeof shop_occupied!=='undefined'){
  1347.                        if(typeof shop_occupied[date_chosen]!=='undefined'){
  1348.                            var occupied_time = {};
  1349.                            for(i in shop_occupied[date_chosen]){
  1350.                                if(typeof occupied_time[shop_occupied[date_chosen][i].start]==='undefined'){
  1351.                                    occupied_time[shop_occupied[date_chosen][i].start] = [];
  1352.                                }
  1353.                                occupied_time[shop_occupied[date_chosen][i].start].push(shop_occupied[date_chosen][i]);
  1354.                              //  disabled.push([ shop_occupied[date_chosen][i].start,shop_occupied[date_chosen][i].end]);
  1355.                            }
  1356.                            for(i in occupied_time){
  1357.                                if(occupied_time[i].length>=max_booking_allowed){
  1358.                                    for(j in occupied_time[i]){
  1359.                                         disabled.push([ occupied_time[i][j].start,occupied_time[i][j].end]);
  1360.                                    }
  1361.                                }
  1362.                            }
  1363.                        }
  1364.                    }
  1365.                }
  1366.              
  1367.                
  1368.                $('#timepicker').val("");
  1369.                $('#timepicker').timepicker('remove');
  1370.                $('#timepicker').timepicker
  1371.                ({
  1372.                    'disableTimeRanges' : disabled,
  1373.                    'minTime': start_time,
  1374.                    'maxTime': end_time,
  1375.                    'showDuration': false,
  1376.                  
  1377.                   'useSelect': true ,
  1378.                    'noneOption': [
  1379.                        {
  1380.                            'label': '-- 請選擇 --',
  1381.                            'value': ''
  1382.                        },
  1383.                    ],
  1384.                  
  1385.                    
  1386.                });
  1387.                $( "#timepicker" ).prop('disabled',false);
  1388.                                if(!(typeof value === 'undefined')){
  1389.                    if(value!=''){
  1390.                        $('#timepicker').timepicker('setTime', value);
  1391.                    }
  1392.                }
  1393.            } catch(e){
  1394.                console.log(e);
  1395.            }
  1396.        }
  1397.                          
  1398.            $('#heard_from').on('change',function(){
  1399.                if( $(this).find('option:selected').val() == '其他'){
  1400.                    $('#other_heard_from-field').removeClass('hide');
  1401.                } else {
  1402.                     $('#other_heard_from-field').addClass('hide');
  1403.                }
  1404.            });
  1405.                                                  
  1406.                                 CAPI('PageView');
  1407.             CAPI('ViewContent');
  1408.                        });
  1409.    function onFormSubmit(){
  1410.        var allow_time;
  1411.        if($('#timepicker').val()){
  1412.            allow_time = moment($('#timepicker').val(), ["h:mm A"]).format("HH:mm");
  1413.        }
  1414.        if(allow_time!='Invalid date'){
  1415.            $('#allow_time').val(allow_time);
  1416.        } else {
  1417.            $('#allow_time').val('');
  1418.        }
  1419.        
  1420.        $('.process-back').addClass('active');
  1421.        
  1422.    }
  1423.    function openTermsNP(){
  1424.        var box = '';
  1425.        $.ajax({
  1426.            type: 'GET',
  1427.            url: 'https://laserprocenter.com.hk/terms/home?np=1',
  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.    function openTerms(){
  1441.        var box = '';
  1442.        $.ajax({
  1443.            type: 'GET',
  1444.            url: 'https://laserprocenter.com.hk/terms/home',
  1445.            success: function(data) {
  1446.                box = bootbox.dialog({
  1447.                    message: data,
  1448.                });
  1449.                $('html').addClass('no-scroll');
  1450.                box.on("hidden.bs.modal", function() {
  1451.                    $('html').removeClass('no-scroll');
  1452.                    box.off("hidden.bs.modal");
  1453.                });
  1454.            }
  1455.        });
  1456.    }
  1457.    bootbox.setDefaults({ size: 'large' });
  1458.          fbq('track', 'ViewContent');
  1459.            
  1460. function CAPI(event, eventData) {
  1461.    let fbp = document.cookie.split(';').filter(function(c){ return c.includes('_fbp=');}).map(function(c){ return c.split('_fbp=')[1];})
  1462.    let fbc = document.cookie.split(';').filter(function(c){ return c.includes('_fbc=');}).map(function(c){ return c.split('_fbc=')[1];})
  1463.    fbp = (fbp.length && fbp[0]) || null;
  1464.    fbc = (fbc.length && fbc[0]) || null;
  1465.    if(!fbc && window.location.search.includes('fbclid=')){
  1466.        fbc = 'fb.1.'+ (+new Date()) +'.'+ window.location.search.split('fbclid=')[1];
  1467.    }
  1468.    const body = {
  1469.        'event': event,
  1470.        'event_data': eventData,
  1471.        'fbp': fbp,
  1472.        'fbclid': fbc,
  1473.        'user_agent': navigator.userAgent,
  1474.                 'url': window.location.origin + window.location.pathname
  1475.    }
  1476.    $.ajax({
  1477.        type: "POST",
  1478.        url: 'https://laserprocenter.com.hk/api/fb_conversion?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE3MTI5NDg0OTIsInN1YiI6Imxhc2VycHJvIGFwaSJ9.eBl96azetEnao_ub6DnIenmAFn82MqPCCvLZArtdx7w',
  1479.        data: JSON.stringify(body) ,
  1480.        processData: false,
  1481.        contentType: 'application/json',
  1482.        success: function(response){  
  1483.           //console.log(response)
  1484.        },
  1485.        error : function(  jqXHR,  textStatus,  errorThrown){  
  1486.        }
  1487.    });
  1488. }
  1489.  
  1490. </script>
  1491. </body>
  1492. </html>
Copyright © 2002-9 Sam Ruby, Mark Pilgrim, Joseph Walton, and Phil Ringnalda