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://www.myvipon.com/post/1593951/Undress-Navigating-Social-Dimensions-amazon-coupons

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4.    <title>The Rise of Contemporary Fireplace Design – Blending Form and Function in Modern Homes | Vipon</title>
  5.    <meta name="keywords" content="coupons, Amazon, deals, discounts, freebies, frugal, promo codes" />
  6.    <meta name="description" content="Save more than 50% with Amazon coupons and promo codes. Get the hottest Amazon products at the lowest price possible." />
  7.    <meta property="og:title" content="The Rise of Contemporary Fireplace Design – Blending Form and Function in Modern Homes">
  8.    <meta property="og:description" content="What a useful article, check it out on Vipon now. Here you can save 50% or more with our awesome Amazon deals!">
  9.        <meta property="og:image" content="https://vipon.s3.amazonaws.com/img/8640589fcab758083bb69824c83ae66ffbf3d8770aeda3.jpg" />
  10.        <meta http-equiv="pragma" content="no-cache"/>
  11. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  12. <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"  />
  13. <meta name="google-site-verification" content="L2fMXpTvVfn8lLbdplkfuyUbzUQkJi0JmQg-Jb2tEtI" />
  14.  
  15. <!--SEO-->
  16. <meta property="fb:app_id" content="281351757175256" />
  17. <meta property="og:site_name" content="Vipon" />
  18. <meta property="og:locale" content="en_US" />
  19. <meta property="og:url" content="http://www.myvipon.com/post/1593951/Undress-Navigating-Social-Dimensions-amazon-coupons" />
  20.  
  21. <meta property="og:type" content="article">
  22. <!--<meta property="og:type" content="article"> 分享到Facebook的-->
  23. <link rel="canonical" href="https://www.myvipon.com/post/1593951/Undress-Navigating-Social-Dimensions-amazon-coupons" />
  24. <!-- 分享到Facebook的图片URL<meta property="og:image" content="http://static01.nyt.com/images/2015/02/19/arts/international/19iht-btnumbers19A/19iht-btnumbers19A-facebookJumbo-v2.jpg" />-->
  25. <!--SEO-->
  26. <link href='https://fonts.googleapis.com/css?family=Roboto:400,300,700' rel='stylesheet' type='text/css' />
  27. <link rel="stylesheet" type="text/css" href="/css/bootstrap.min.css" media="all" />
  28. <script type="text/javascript" src="/js/jquery-1.11.1.min.js"></script>
  29. <script type="text/javascript" src="/js/bootstrap.min.js"></script>
  30. <link rel="stylesheet" type="text/css" href="/css/head_foot.css?v=20250530" />
  31.  
  32.  
  33. <!-- Facebook Pixel Code -->
  34. <script>
  35.    !function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?
  36.        n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;
  37.        n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;
  38.        t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,
  39.        document,'script','https://connect.facebook.net/en_US/fbevents.js');
  40.    fbq('init', '484493295249936');
  41.    fbq('track', 'PageView');
  42. </script>
  43. <noscript><img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=484493295249936&ev=PageView&noscript=1" alt="Amazon Coupons"/></noscript>
  44. <!-- DO NOT MODIFY -->
  45. <!-- End Facebook Pixel Code -->
  46.  
  47. <!-- Onesignal -->
  48. <script src="https://cdn.onesignal.com/sdks/OneSignalSDK.js" async=""></script>
  49. <script>
  50.    var OneSignal = window.OneSignal || [];
  51.    OneSignal.push(function() {
  52.        OneSignal.init({
  53.            //appId: "5f6a6d4f-e4fe-41dc-ae8e-14841a69f0f8",
  54.            appId: "c604b41d-8b5f-4b64-8ba9-1b7fc8b0470c",
  55.        });
  56.    });
  57. </script>
  58. <!-- Onesignal end -->
  59.  
  60. <!-- Google Tag Manager -->
  61. <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
  62.        new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
  63.        j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
  64.        'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
  65.    })(window,document,'script','dataLayer','GTM-KMV692H');</script>
  66. <!-- End Google Tag Manager -->
  67.  
  68. <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
  69. <script>
  70.    (adsbygoogle = window.adsbygoogle || []).push({
  71.        google_ad_client: "ca-pub-2612751635182671",
  72.        enable_page_level_ads: true
  73.    });
  74. </script>    <link rel="stylesheet" type="text/css" href="/css/vipon-sign.css?v=20250530">
  75.    <!--    遮罩层-->
  76.    <link rel="stylesheet" type="text/css" href="/fonts/iconfont.css"/>
  77.    <link rel="stylesheet" type="text/css" href="/css/article_detail.css?v=20250530"/>
  78.    <script type="text/javascript" charset="utf8" src="/js/art_list.js"></script>
  79.    <!--Featured Deals-->
  80.    <style type="text/css">
  81.        /*遮罩层样式,需要*/
  82.  
  83.        body {
  84.            padding: 0;
  85.            margin: 0;
  86.            position: relative;
  87.            width: 100%;
  88.        }
  89.  
  90.        .back_drop {
  91.            width: 100%;
  92.            position: fixed;
  93.            z-index: 10000;
  94.            top: 0;
  95.            left: 0;
  96.            display: none;
  97.            background-color: rgba(0, 160, 223, .7);
  98.        }
  99.  
  100.        .text_complain {
  101.            width: 60%;
  102.            margin-left: 20px;
  103.            color: white;
  104.            font-size: 32px;
  105.            font-family: sans-serif;
  106.            margin-top: 40%;
  107.        }
  108.  
  109.        .get_method {
  110.            height: 50px;
  111.            width: 150px;
  112.            margin-top: 80px;
  113.            margin-left: 20px;
  114.        }
  115.  
  116.        /*遮罩层下的网页样式,不需要*/
  117.        .get_method > img {
  118.            height: 100%;
  119.            width: 100%;
  120.            /*background-color: white;*/
  121.            /*padding: 0 20px;*/
  122.            border-radius: 5px;
  123.        }
  124.  
  125.        .product {
  126.            height: 450px;
  127.            width: 250px;
  128.            float: left;
  129.            margin: 20px 50px;
  130.            border-radius: 6px;
  131.            background-color: white;
  132.        }
  133.  
  134.        .product > p {
  135.            line-height: 10px;
  136.            padding: 0 10px;
  137.        }
  138.  
  139.        .product > img {
  140.            display: block;
  141.            height: 200px;
  142.            width: 230px;
  143.            padding: 15px 10px;
  144.            border-bottom: 1px solid #ccc;
  145.        }
  146.  
  147.        .instant_price {
  148.            font-size: 24px;
  149.            font-weight: 600;
  150.            text-align: center;
  151.        }
  152.  
  153.        .instant_title {
  154.            font-size: 13px;
  155.            font-weight: 600;
  156.            height: 25px;
  157.        }
  158.  
  159.        .instant_classify {
  160.            font-size: 10px;
  161.            color: #ccc;
  162.        }
  163.  
  164.        .instant_deal {
  165.            height: 30px;
  166.            width: 230px;
  167.            color: white;
  168.            background-color: rgb(69, 197, 203);
  169.            line-height: 30px;
  170.            font-weight: 600;
  171.            text-align: center;
  172.            margin: 0 auto;
  173.            border-radius: 6px;
  174.        }
  175.  
  176.        .fulfilled {
  177.            font-size: 12px;
  178.            text-align: center;
  179.            color: #aaa;
  180.        }
  181.  
  182.        .price-flow {
  183.            font-size: 14px;
  184.            text-align: center;
  185.        }
  186.  
  187.        .icon-clear {
  188.            position: absolute;
  189.            right: 10px;
  190.            top: 10px;
  191.            font-size: 20px;
  192.            color: #666;
  193.        }
  194.  
  195.        /*遮罩层 END*/
  196.        .async-hide {
  197.            opacity: 0 !important
  198.        }
  199.  
  200.        .vmc-container {
  201.            position: relative;
  202.            height: 355px;
  203.        }
  204.  
  205.        .vmc-viewport {
  206.            overflow: hidden;
  207.            height: 355px;
  208.        }
  209.  
  210.        #elevator_item {
  211.            width: 60px;
  212.            height: 100px;
  213.            position: fixed;
  214.            right: 15px;
  215.            bottom: 15px;
  216.            -webkit-transition: opacity .4s ease-in-out;
  217.            -moz-transition: opacity .4s ease-in-out;
  218.            -o-transition: opacity .4s ease-in-out;
  219.            opacity: 1;
  220.            z-index: 10;
  221.            display: none;
  222.        }
  223.  
  224.        #elevator_item.off {
  225.            opacity: 0;
  226.            visibility: hidden
  227.        }
  228.  
  229.        #elevator {
  230.            display: block;
  231.            width: 60px;
  232.            height: 50px;
  233.            background: url(/images/icon_top.png) center center no-repeat;
  234.            background-color: #444;
  235.            background-color: rgba(0, 0, 0, .6);
  236.            border-radius: 2px;
  237.            box-shadow: 0 1px 3px rgba(0, 0, 0, .2);
  238.            cursor: pointer;
  239.            margin-bottom: 10px
  240.        }
  241.  
  242.        #elevator:hover {
  243.            background-color: rgba(0, 0, 0, .7)
  244.        }
  245.  
  246.        #elevator:active {
  247.            background-color: rgba(0, 0, 0, .75)
  248.        }
  249.  
  250.        #elevator_item .qr {
  251.            display: block;
  252.            width: 60px;
  253.            height: 40px;
  254.            border-radius: 2px;
  255.            box-shadow: 0 1px 3px rgba(0, 0, 0, .2);
  256.            cursor: pointer;
  257.            background: url(/images/love2.png) center center no-repeat;
  258.            background-color: #444;
  259.            background-color: rgba(0, 0, 0, .6)
  260.        }
  261.  
  262.        #elevator_item .qr:active {
  263.            background-color: rgba(0, 0, 0, .75)
  264.        }
  265.        .p-container p{margin-bottom: 15px;}
  266.        .post-item .video-play button{
  267.            opacity: 0;
  268.            transition: opacity .3s;
  269.        }
  270.  
  271.        .post-item:hover .video-play button{
  272.            opacity: 1;
  273.        }
  274.        .other-post .post-item .post-item-img img{
  275.            position: absolute;
  276.        }
  277.        .p-container img{
  278.            max-width: 100%;
  279.        }
  280.  
  281.        .video-error{
  282.            display: none;
  283.            position: absolute;
  284.            top: 0;
  285.            left: 0;
  286.            width: 100%;
  287.            height: 100%;
  288.            justify-content: center;
  289.            align-items: center;
  290.            flex-direction: column;
  291.        }
  292.  
  293.        .video-error img{
  294.            width: 60px;
  295.        }
  296.  
  297.        .video-error div{
  298.            color: #fff;
  299.            margin-top: 20px;
  300.        }
  301.  
  302.        .red_border {
  303.            border-color: rgb(244, 76, 68) !important;
  304.        }
  305.    </style>
  306.    <script type='text/javascript' src='https://platform-api.sharethis.com/js/sharethis.js#property=5e5a2493e0a1dd00128c7fd1&product=inline-share-buttons&cms=website' async='async'></script>
  307.  <script>
  308.        /*
  309.            *
  310.            *   Get size settings for pictures left margin-left
  311.            *
  312.            * */
  313.        function getImgSize(arrayElement,scale=1) {
  314.            let width = parseInt($(arrayElement).css('width'));
  315.            let height = parseInt($(arrayElement).css('height'));
  316.            if(width>0&&height>0){
  317.                if(width/height>=scale){
  318.                    $(arrayElement).css({
  319.                        'height':'100%',
  320.                        'width':'auto'
  321.                    });
  322.                    let timer = setTimeout(function () {
  323.                        clearTimeout(timer);
  324.                        width = parseInt($(arrayElement).css('width'));
  325.                        $(arrayElement).css({
  326.                            'left':'-'+(width-parseInt($(arrayElement).parent().width()))/2+'px',
  327.                            top:0
  328.                        })
  329.                    },500)
  330.                }else{
  331.                    $(arrayElement).css({
  332.                        'width':'100%',
  333.                        'height':'auto',
  334.                    })
  335.                    let timer = setTimeout(function () {
  336.                        clearTimeout(timer);
  337.                        height = parseInt($(arrayElement).css('height'));
  338.                        $(arrayElement).css({
  339.                            'top': '-' + (height - parseInt($(arrayElement).parent().height())) / 2 + 'px',
  340.                            left: 0
  341.                        })
  342.                    },500)
  343.                }
  344.            }
  345.        }
  346.        function getVideoImgSize(arrayElement) {
  347.            let width = parseInt($(arrayElement).css('width'));
  348.            let height = parseInt($(arrayElement).css('height'));
  349.            let width1 = parseInt($(arrayElement).parent().css('width'));
  350.            let height1 = parseInt($(arrayElement).parent().css('height'));
  351.            if(width>0&&height>0){
  352.                if(width/height>=1){
  353.                    $(arrayElement).css({
  354.                        'height':'100%',
  355.                        'width':'auto'
  356.                    });
  357.                    let timer = setTimeout(()=>{
  358.                        clearTimeout(timer);
  359.                        let width = parseInt($(arrayElement).css('width'));
  360.                        if(width1>width){
  361.                            $(arrayElement).css({
  362.                                'width':'100%',
  363.                                'height':'auto',
  364.                            })
  365.                        }
  366.                    },500)
  367.  
  368.                }else{
  369.                    $(arrayElement).css({
  370.                        'width':'100%',
  371.                        'height':'auto',
  372.                    })
  373.                    let timer = setTimeout(()=>{
  374.                        clearTimeout(timer);
  375.                        let height = parseInt($(arrayElement).css('height'));
  376.                        if(height1>height){
  377.                            $(arrayElement).css({
  378.                                'height':'100%',
  379.                                'width':'auto'
  380.                            });
  381.                        }
  382.                    },500)
  383.                }
  384.            }
  385.        }
  386.        function videoEnd(e) {
  387.            $(e.target.value).parent().find('button').css('display','inline-block')
  388.        }
  389.    </script>
  390. </head>
  391. <body>
  392. <!-- Google Tag Manager (noscript) -->
  393. <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-KMV692H" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
  394. <!-- End Google Tag Manager (noscript) --><script src="/js/vue.min.js"></script>
  395.  
  396. <script src="/js/iview.min.js?v=2"></script>
  397. <script src="https://www.google.com/recaptcha/enterprise.js?render=6Le0fJknAAAAAJqA20Vf1yAl4yD4yj2_esN0aSj1"></script>
  398. <!-- 引入样式 -->
  399. <link rel="stylesheet" href="/css/theme-chalk/index.css">
  400. <!-- 引入组件库 -->
  401. <script src="/js/lib/index.js"></script>
  402. <script src="https://accounts.google.com/gsi/client" async></script>
  403. <link rel="stylesheet" href="/css/menu.css?v=20250530">
  404.  
  405. <div id="menuvue">
  406.    <div id="header">
  407.        <div >
  408.            <div class="logo">
  409.                <a href="/">
  410.                    <img src="https://vipon.s3.amazonaws.com/img/268511307d0d511cd3a1f4a168e28b9463e41218ea9a66.svg" alt="Amazon Coupons">
  411.                    <img src="https://vipon.s3.amazonaws.com/img/559899da9aeaa49b417ca0d3a1e8c1c15b2ce424d83bba.svg" alt="Amazon Coupons">
  412.                </a>
  413.            </div>
  414.            <div class="header-home">
  415.                <span class="categories-more-icon"></span>
  416.                <span class="text">CATEGORIES </span>
  417.                <ul class="list-unstyled">
  418.                    <li><a href="/promotion/coupons?group=art_crafts_sewing&ref=menu_category" class="category">Arts, Crafts &amp; Sewing</a></li>
  419.                    <li><a href="/promotion/coupons?group=automotive_industrial&ref=menu_category" class="category">Automotive & Industrial</a></li>-->
  420.                    <li><a href="/promotion/coupons?group=baby&ref=menu_category" class="category">Baby</a></li>
  421.                    <li><a href="/promotion/coupons?group=beauty&ref=menu_category" class="category">Beauty</a></li>
  422.                    <li><a href="/promotion/coupons?group=cell_phone-accessories&ref=menu_category" class="category">Cell Phones & Accessories</a></li>
  423.                    <li><a href="/promotion/coupons?group=electronics&ref=menu_category" class="category">Electronics</a></li>
  424.                    <li><a href="/promotion/coupons?group=health_personal_care&ref=menu_category" class="category">Health & Personal Care</a></li>-->
  425.                    <li><a href="/promotion/coupons?group=home_kitchen&ref=menu_category" class="category">Home & Kitchen</a></li>
  426.                    <li><a href="/promotion/coupons?group=home_improvement&ref=menu_category" class="category">Home Improvement</a></li>
  427.                    <li><a href="/promotion/coupons?group=jewelry&ref=menu_category" class="category">Jewelry</a></li>
  428.                    <li><a href="/promotion/coupons?group=man_clothe&ref=menu_category" class="category">Men’s Clothing</a></li>
  429.                    <li><a href="/promotion/coupons?group=man_shoes&ref=menu_category" class="category">Men’s Shoes</a></li>
  430.                    <li><a href="/promotion/coupons?group=office_products&ref=menu_category" class="category">Office Products</a></li>
  431.                    <li><a href="/promotion/coupons?group=pet_supplies&ref=menu_category" class="category">Pet Supplies</a></li>
  432.                    <li><a href="/promotion/coupons?group=patio_lawn_garden&ref=menu_category" class="category">Patio, Lawn & Garden</a></li>
  433.                    <li><a href="/promotion/coupons?group=sports_outdoors&ref=menu_category" class="category">Sports & Outdoors</a></li>
  434.                    <li><a href="/promotion/coupons?group=toys_games&ref=menu_category" class="category">Toys & Games</a></li>
  435.                    <li><a href="/promotion/coupons?group=woman_clothe&ref=menu_category" class="category">Women’s Clothing</a></li>
  436.                    <li><a href="/promotion/coupons?group=woman_shoes&ref=menu_category" class="category">Women’s Shoes</a></li>
  437.                    <li><a href="/promotion/coupons?group=watches&ref=menu_category" class="category">Watches</a></li>
  438.                    <li><a href="/promotion/coupons?group=adult_products&ref=menu_category" class="category">Adult Products</a></li>
  439.                    <li><a href="/promotion/coupons?group=others&ref=menu_category" class="category">Others</a></li>
  440.                </ul>
  441.            </div>
  442.            <div class="head-search">
  443.                <button type="button" class="btn dropdown-toggle" id="dropdownMenu1" data-toggle="dropdown">
  444.                    <span>
  445.                        <span class="text-category">CATEGORIES</span>
  446.                        <span class="caret"></span>
  447.                    </span>
  448.                </button>
  449.                <div class="search-input">
  450.                    <input type="text" placeholder="Search Coupons & Deals" value="" />
  451.                    <ul class="list-unstyled" style="z-index:999">
  452.                    </ul>
  453.                    <div class="recommend-lists" style="position: absolute;top:50px;width:100%;height:20px;">
  454.                        <div id="hot_list" style="width:100%;color: rgb(153, 153, 153);text-decoration: none;display: flex;"></div>
  455.                    </div>
  456.                </div>
  457.                <button type="button" class="btn btn-search"><span class="search-icon"></span></button>
  458.  
  459.                <!--搜索框的分类-->
  460.                <ul class="dropdown-menu" role="menu" >
  461.                    <li role="presentation">
  462.                        <a role="menuitem" tabindex="-1" href="javascript:;" data-group="" class="active" data-value="">All</a>
  463.                    </li>
  464.                                                <li role="presentation">
  465.                                <a role="menuitem" tabindex="-1" href="javascript:;"data-group=14 data-value=14>Arts, Crafts & Sewing</a>                            </li>
  466.                                                <li role="presentation">
  467.                                <a role="menuitem" tabindex="-1" href="javascript:;"data-group=19 data-value=19>Automotive & Industrial</a>                            </li>
  468.                                                <li role="presentation">
  469.                                <a role="menuitem" tabindex="-1" href="javascript:;"data-group=16 data-value=16>Baby</a>                            </li>
  470.                                                <li role="presentation">
  471.                                <a role="menuitem" tabindex="-1" href="javascript:;"data-group=5 data-value=5>Beauty & Personal Care</a>                            </li>
  472.                                                <li role="presentation">
  473.                                <a role="menuitem" tabindex="-1" href="javascript:;"data-group=11 data-value=11>Cell Phones & Accessories</a>                            </li>
  474.                                                <li role="presentation">
  475.                                <a role="menuitem" tabindex="-1" href="javascript:;"data-group=8 data-value=8>Electronics</a>                            </li>
  476.                                                <li role="presentation">
  477.                                <a role="menuitem" tabindex="-1" href="javascript:;"data-group=9 data-value=9>Health & Household</a>                            </li>
  478.                                                <li role="presentation">
  479.                                <a role="menuitem" tabindex="-1" href="javascript:;"data-group=1 data-value=1>Home & Kitchen</a>                            </li>
  480.                                                <li role="presentation">
  481.                                <a role="menuitem" tabindex="-1" href="javascript:;"data-group=4 data-value=4>Jewelry</a>                            </li>
  482.                                                <li role="presentation">
  483.                                <a role="menuitem" tabindex="-1" href="javascript:;"data-group=15 data-value=15>Men Clothing, Shoes & Accessories</a>                            </li>
  484.                                                <li role="presentation">
  485.                                <a role="menuitem" tabindex="-1" href="javascript:;"data-group=18 data-value=18>Office Products</a>                            </li>
  486.                                                <li role="presentation">
  487.                                <a role="menuitem" tabindex="-1" href="javascript:;"data-group=13 data-value=13>Patio, Lawn & Garden</a>                            </li>
  488.                                                <li role="presentation">
  489.                                <a role="menuitem" tabindex="-1" href="javascript:;"data-group=17 data-value=17>Pet Supplies</a>                            </li>
  490.                                                <li role="presentation">
  491.                                <a role="menuitem" tabindex="-1" href="javascript:;"data-group=12 data-value=12>Sports & Outdoors</a>                            </li>
  492.                                                <li role="presentation">
  493.                                <a role="menuitem" tabindex="-1" href="javascript:;"data-group=7 data-value=7>Tools & Home Improvement</a>                            </li>
  494.                                                <li role="presentation">
  495.                                <a role="menuitem" tabindex="-1" href="javascript:;"data-group=6 data-value=6>Toys & Games</a>                            </li>
  496.                                                <li role="presentation">
  497.                                <a role="menuitem" tabindex="-1" href="javascript:;"data-group=3 data-value=3>Watches</a>                            </li>
  498.                                                <li role="presentation">
  499.                                <a role="menuitem" tabindex="-1" href="javascript:;"data-group=2 data-value=2>Women Clothing, Shoes & Accessories</a>                            </li>
  500.                                                <li role="presentation">
  501.                                <a role="menuitem" tabindex="-1" href="javascript:;"data-group=20 data-value=20>Others</a>                            </li>
  502.                                                <li role="presentation">
  503.                                <a role="menuitem" tabindex="-1" href="javascript:;"data-group=10 data-value=10>Adult Products</a>                            </li>
  504.                                    </ul>
  505.            </div>
  506.            <div class="header-right">
  507.                <div class='subscribe-to'>
  508.                    <img src="/images/letter.webp" alt="">
  509.                    <span id='entry_copy'></span>
  510.  
  511.                    <div class='windowBox'>
  512.                        <div class='newclose'>
  513.                            <img src="/images/close.webp" alt="">
  514.                        </div>
  515.                        <p class='p1'>Exclusive</p>
  516.                        <p class='p2' id='guide_copy'>
  517.                            To get our best deals and discounts Subscribe Below!
  518.                        </p>
  519.  
  520.                        <form action="https://vipon.us10.list-manage.com/subscribe/post?u=6b9aae568164012e59e677c6a&amp;id=238794d600"
  521.                            method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate"
  522.                            target="_blank" novalidate>
  523.                            <input type="email" id="emailInput" name="EMAIL" placeholder="Enter your email">
  524.                            <span id="emailError" style="color:red; display:none;">Please enter the correct email address.</span>
  525.                            <button type="submit" class="btn-subscribe">Subscribe</button>
  526.                        </form>
  527.  
  528.                    </div>
  529.                </div>
  530.  
  531.                                    <div class="video">
  532.                        <!-- <button type="button" class="btn" class="dropdown-toggle" data-toggle="dropdown" aria-expanded="true" title="Create a post" id="btn-post-add">
  533.                            + Post
  534.                        </button> -->
  535.                        <ul class="dropdown-menu" role="menu" aria-labelledby="btn-post-add">
  536.                                                            <li role="presentation">
  537.                                    <a role="menuitem"  tabindex="-1" @click="to_login(103)">Deal</a>
  538.                                </li>
  539.                                <li role="presentation">
  540.                                    <a role="menuitem"  tabindex="-1" @click="to_login(104)">Video</a>
  541.                                </li>
  542.                                <li role="presentation">
  543.                                    <a role="menuitem"  tabindex="-1" @click="to_login(105)">Article</a>
  544.                                </li>
  545.                                                            
  546.                        </ul>
  547.                        <div class="guide">
  548.                            <img src="https://vipon.s3.amazonaws.com/img/347332bd14cd6baa1e551c530a0879577446d9f4486189.png" alt="">
  549.                            <p>New Feature. You can post a deal now, try to post your first deal to help others save money. </p>
  550.                            <a href="#">OK</a>
  551.                        </div>
  552.                        <div class="guide-modal"></div>
  553.                    </div>
  554.                                <div class="dropdown message">
  555.                                            <a @click="to_login">
  556.                            <span class="icon-msg"></span>
  557.                        </a>
  558.                                    </div>
  559.                <div class="flag">
  560.                    <a href="javascript:;" class="dropdown-toggle" data-toggle="dropdown" aria-expanded="true" id="dropdownMenu2">
  561.                        <img class="active_flag" id="active_flag"
  562.                            src="/images/flags/1/om.svg" alt="Amazon Coupons">
  563.                        <span class="caret"></span>
  564.                    </a>
  565.                    <ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu2">
  566.                        <li data-domain="www.amazon.com">
  567.                            <a href="javascript:;">
  568.                                <img src="/images/flags/1/om.svg" alt="Amazon Coupons">
  569.                            </a>
  570.                        </li>
  571.                        <li data-domain="www.amazon.ca">
  572.                            <a href="javascript:;">
  573.                                <img src="/images/flags/1/ca.svg" alt="Amazon Coupons">
  574.                            </a>
  575.                        </li>
  576.                        <li data-domain="www.amazon.co.uk">
  577.                            <a href="javascript:;">
  578.                                <img src="/images/flags/1/uk.svg" alt="Amazon Coupons">
  579.                            </a>
  580.                        </li>
  581.                        <li data-domain="www.amazon.de">
  582.                            <a href="javascript:;">
  583.                                <img src="/images/flags/1/de.svg" alt="Amazon Coupons">
  584.                            </a>
  585.                        </li>
  586.                        <li data-domain="www.amazon.fr">
  587.                            <a href="javascript:;">
  588.                                <img src="/images/flags/1/fr.svg" alt="Amazon Coupons">
  589.                            </a>
  590.                        </li>
  591.                        <li data-domain="www.amazon.es">
  592.                            <a href="javascript:;">
  593.                                <img src="/images/flags/1/es.svg" alt="Amazon Coupons">
  594.                            </a>
  595.                        </li>
  596.                        <li data-domain="www.amazon.it">
  597.                            <a href="javascript:;">
  598.                                <img src="/images/flags/1/it.svg" alt="Amazon Coupons">
  599.                            </a>
  600.                        </li>
  601.                        <li data-domain="www.amazon.co.jp">
  602.                            <a href="javascript:;">
  603.                                <img src="/images/flags/1/jp.svg" alt="Amazon Coupons">
  604.                            </a>
  605.                        </li>
  606.                        <li data-domain="www.amazon.in">
  607.                            <a href="javascript:;">
  608.                                <img src="/images/flags/1/in.svg" alt="Amazon Coupons">
  609.                            </a>
  610.                        </li>
  611.                    </ul>
  612.                </div>
  613.                                    <div class="user" style="cursor: pointer;">
  614.                        <a @click="box_switch(6, true)">Log
  615.                            in </a>
  616.                        <a class="sign-up" @click="box_switch(8)" >Sign
  617.                            Up</a>
  618.                    </div>
  619.                                <div class="seller">
  620.                    <a href="https://seller.myvipon.com" target="_blank" class="btn" rel="nofollow">Seller Center</a>                </div>
  621.            </div>
  622.            <div class="new_source_page_box">
  623.                <div class="new_source_page">
  624.                    <div class="new_source_page_header">
  625.                        <div class="close_new_source_page">Close</div>
  626.                        <div class="new_source_page_header_title1">How did you find Vipon?</div>
  627.                        <div class="new_source_page_header_title2">Thanks for being a part of Vipon! To help us improve, please let us know how you found out about Vipon?</div>
  628.                    </div>
  629.                    <div class="new_source_page_header_bottom"></div>
  630.                    <div class="new_source_page_body_box">
  631.                        <div class="new_source_page_body_title">Where did you learn about Vipon?</div>
  632.                        <div class="new_source_page_body">
  633.                        </div>
  634.                    </div>
  635.                    <input placeholder="How did you hear about us? (Type Here)" class="new_source_page_body_input" type="text" >
  636.                    <div id="new_source_submit" class="new_source_page_body_nosubmit">Submit</div>
  637.                    <div class="new_source_submit_toast">Thank you for completing the form. We appreciate your feedback! </div>
  638.                </div>
  639.            </div>
  640.            <!--app下载弹窗-->
  641.            <div class="download-app-entrances-box">
  642.                <div class="download-app-page">
  643.                    <div class="download-app-page-header">
  644.                        <img src="/images/close_grey.png" alt=""
  645.                             style="width:12px;cursor: pointer;margin: 20px 20px 0px 628px;"
  646.                             @click="close_download_app_page()">
  647.                    </div>
  648.                    <div class="desc">
  649.                        <div class="logo" style="margin-bottom: 18px;">
  650.                            <img src="/images/new_vipon/group31.png" alt="">
  651.                        </div>
  652.                        <div class="text">
  653.                            <span>Want the best deals? Download the Vipon APP</span>
  654.                        </div>
  655.                    </div>
  656.                    <div class="select" style="display: flex;margin-left: 40px;margin-top: 22px;">
  657.                        <div class="box" id="app-box1" @click="select_app_box(1)">
  658.                            <div class="app-download-icon-head">
  659.                                <div class="icon">
  660.                                    <img src="/images/group29.png" alt="">
  661.                                </div>
  662.                            </div>
  663.                            <div id="download-body">
  664.                                <div class="download-button" id="app-button1" @click="app_download_button_click(1)"
  665.                                   onclick="app_click(14,1)">App Store
  666.                                </div>
  667.                                <div class="app-introduce">Vipon IOS app</div>
  668.                            </div>
  669.                        </div>
  670.                        <div class="box" id="app-box2" @click="select_app_box(2)">
  671.                            <div>
  672.                                <div class="icon">
  673.                                    <img src="/images/group32.png" alt="">
  674.                                </div>
  675.                            </div>
  676.                            <div id="download-body">
  677.                                <div class="download-button" id="app-button2" @click="app_download_button_click(2)"
  678.                                onclick="app_click(15,4)">Google Play</div>
  679.                                <div class="app-introduce">Vipon Android app</div>
  680.                            </div>
  681.                        </div>
  682.                        <div class="box" id="app-box3" @click="select_app_box(3)">
  683.                            <div>
  684.                                <div class="icon">
  685.                                    <img src="/images/group32.png" alt="">
  686.                                </div>
  687.                            </div>
  688.                            <div id="download-body">
  689.                                <div class="download-button" id="app-button3" @click="app_download_button_click(3)"
  690.                                onclick="app_click(14,20)">Google Play</div>
  691.                                <div class="app-introduce">Vipon Lite Android app</div>
  692.                            </div>
  693.                        </div>
  694.                    </div>
  695.                </div>
  696.            </div>
  697.            <div class='head-text-top'>Vipon may earn commissions on qualifying purchases. </div>
  698.                                </div>
  699.  
  700.        <div class="flex">
  701.            <div class="header-home" style="display: none">
  702.                <span class="categories-more-icon"></span>
  703.                <span class="text">CATEGORIES</span>
  704.                <ul class="list-unstyled">
  705.                    <li><a href="/promotion/index?group=handmade&amp;ref=menu_category" class="category">Arts, Crafts &amp;
  706.                            Sewing</a></li>
  707.                    <li><a href="/promotion/index?group=automotive&amp;ref=menu_category" class="category">Automotive &amp;
  708.                            Industrial</a></li>
  709.                    <li><a href="/promotion/index?group=beauty&amp;ref=menu_category" class="category">Beauty &amp;
  710.                            Grooming</a></li>
  711.                    <li><a href="/promotion/index?group=phone-accessories&amp;ref=menu_category" class="category">Cell
  712.                            Phones &amp; Accessories</a></li>
  713.                    <li><a href="/promotion/index?group=electronics&amp;ref=menu_category" class="category">Electronics
  714.                            &amp; Office</a></li>
  715.                    <li><a href="/promotion/index?group=health&amp;ref=menu_category" class="category">Health &amp;
  716.                            Household</a></li>
  717.                    <li><a href="/promotion/index?group=home&amp;ref=menu_category" class="category">Home &amp; Garden</a>
  718.                    </li>
  719.                    <li><a href="/promotion/index?group=jewelry&amp;ref=menu_category" class="category">Jewelry</a></li>
  720.                    <li><a href="/promotion/index?group=kitchen&amp;ref=menu_category" class="category">Kitchen &amp;
  721.                            Dining</a></li>
  722.                    <li><a href="/promotion/index?group=men-clothing&amp;ref=menu_category" class="category">Men's Clothing
  723.                            &amp; Shoes</a></li>
  724.                    <li><a href="/promotion/index?group=pet&amp;ref=menu_category" class="category">Pet Supplies</a></li>
  725.                    <li><a href="/promotion/index?group=sports-outdoors&amp;ref=menu_category" class="category">Sports &amp;
  726.                            Outdoors</a></li>
  727.                    <li><a href="/promotion/index?group=toys-kids&amp;ref=menu_category" class="category">Toys, Kids &amp;
  728.                            Baby</a></li>
  729.                    <li><a href="/promotion/index?group=watches&amp;ref=menu_category" class="category">Watches</a></li>
  730.                    <li><a href="/promotion/index?group=women-clothing&amp;ref=menu_category" class="category">Women's
  731.                            Clothing &amp; Shoes</a></li>
  732.                    <li><a href="/promotion/index?group=other&amp;ref=menu_category" class="category">Other</a></li>
  733.                    <li><a href="/promotion/index?group=adult-products&amp;ref=menu_category" class="category" onclick="clickRecord(31)">Adult Products</a></li>
  734.                </ul>
  735.  
  736.            </div>
  737.            <div class="clearfix">
  738.                <div class="pull-left pull-CATEGORIES" style=" padding-left: 40px;margin-left:0;">
  739.                <span class="categories-more-icon"></span>
  740.                <a href="javascript:" class="header-text CATEGORIES">CATEGORIES</a>
  741.                <ul class="list-unstyled">
  742.                        <!--    首页分类            -->
  743.                                        <li >
  744.                        <a class="category" href="/promotion/coupons?category_id=14&amp;ref=menu_category&amp;module=21&amp;click_module=67">Arts, Crafts &amp; Sewing</a>                    </li>
  745.                                        <li >
  746.                        <a class="category" href="/promotion/coupons?category_id=19&amp;ref=menu_category&amp;module=21&amp;click_module=67">Automotive &amp; Industrial</a>                    </li>
  747.                                        <li >
  748.                        <a class="category" href="/promotion/coupons?category_id=16&amp;ref=menu_category&amp;module=21&amp;click_module=67">Baby</a>                    </li>
  749.                                        <li >
  750.                        <a class="category" href="/promotion/coupons?category_id=5&amp;ref=menu_category&amp;module=21&amp;click_module=67">Beauty &amp; Personal Care</a>                    </li>
  751.                                        <li >
  752.                        <a class="category" href="/promotion/coupons?category_id=11&amp;ref=menu_category&amp;module=21&amp;click_module=67">Cell Phones &amp; Accessories</a>                    </li>
  753.                                        <li >
  754.                        <a class="category" href="/promotion/coupons?category_id=8&amp;ref=menu_category&amp;module=21&amp;click_module=67">Electronics</a>                    </li>
  755.                                        <li >
  756.                        <a class="category" href="/promotion/coupons?category_id=9&amp;ref=menu_category&amp;module=21&amp;click_module=67">Health &amp; Household</a>                    </li>
  757.                                        <li >
  758.                        <a class="category" href="/promotion/coupons?category_id=1&amp;ref=menu_category&amp;module=21&amp;click_module=67">Home &amp; Kitchen</a>                    </li>
  759.                                        <li >
  760.                        <a class="category" href="/promotion/coupons?category_id=4&amp;ref=menu_category&amp;module=21&amp;click_module=67">Jewelry</a>                    </li>
  761.                                        <li >
  762.                        <a class="category" href="/promotion/coupons?category_id=15&amp;ref=menu_category&amp;module=21&amp;click_module=67">Men Clothing, Shoes &amp; Accessories</a>                    </li>
  763.                                        <li >
  764.                        <a class="category" href="/promotion/coupons?category_id=18&amp;ref=menu_category&amp;module=21&amp;click_module=67">Office Products</a>                    </li>
  765.                                        <li >
  766.                        <a class="category" href="/promotion/coupons?category_id=13&amp;ref=menu_category&amp;module=21&amp;click_module=67">Patio, Lawn &amp; Garden</a>                    </li>
  767.                                        <li >
  768.                        <a class="category" href="/promotion/coupons?category_id=17&amp;ref=menu_category&amp;module=21&amp;click_module=67">Pet Supplies</a>                    </li>
  769.                                        <li >
  770.                        <a class="category" href="/promotion/coupons?category_id=12&amp;ref=menu_category&amp;module=21&amp;click_module=67">Sports &amp; Outdoors</a>                    </li>
  771.                                        <li >
  772.                        <a class="category" href="/promotion/coupons?category_id=7&amp;ref=menu_category&amp;module=21&amp;click_module=67">Tools &amp; Home Improvement</a>                    </li>
  773.                                        <li >
  774.                        <a class="category" href="/promotion/coupons?category_id=6&amp;ref=menu_category&amp;module=21&amp;click_module=67">Toys &amp; Games</a>                    </li>
  775.                                        <li >
  776.                        <a class="category" href="/promotion/coupons?category_id=3&amp;ref=menu_category&amp;module=21&amp;click_module=67">Watches</a>                    </li>
  777.                                        <li >
  778.                        <a class="category" href="/promotion/coupons?category_id=2&amp;ref=menu_category&amp;module=21&amp;click_module=67">Women Clothing, Shoes &amp; Accessories</a>                    </li>
  779.                                        <li >
  780.                        <a class="category" href="/promotion/coupons?category_id=20&amp;ref=menu_category&amp;module=21&amp;click_module=67">Others</a>                    </li>
  781.                                        <li >
  782.                        <a class="category" href="/promotion/coupons?category_id=10&amp;ref=menu_category&amp;module=21&amp;click_module=67">Adult Products</a>                    </li>
  783.                            
  784.                </ul>
  785.                </div>
  786.                                <div class="pull-left"><a href="/promotion/coupons?type=coupons&module=8&click_module=57"
  787.                        class="header-text " onclick="clickRecord(106)">AMAZON COUPONS</a></div>
  788.                <div class="pull-left"><a href="/sale/index?module=23&click_module=58"
  789.                                        class="header-text " onclick="clickRecord(106)">DAILY COUPONS</a></div>
  790.                <div class="pull-left">
  791.                    <a href="/direct/index?click_module=72" id="direct-flag"
  792.                       class="header-text ">
  793.                        AMAZON DEALS
  794.                    </a>
  795.                </div>
  796.                <div style = "display:none" class="pull-left"><a href="https://loveefeel.com/" target="_blank" class="header-text">PERSONALIZED</a></div>
  797.                
  798.                <div class="pull-left new_blog">
  799.                    <a href="https://blog.myvipon.com/" class = 'header-text' target="_blank">BLOG</a>
  800.                </div>
  801.        
  802.            </div>
  803.            <div class="pull-right new_source_page_switch">
  804.                <div class='prize_btn' ref='prize_btn'>
  805.                    <div>
  806.                        <img src="/images/prize/card_min.webp" alt="">
  807.                    </div>
  808.                    <span>Enter Giveaway</span>
  809.                </div>
  810.  
  811.                <img src="/images/new_source_page_switch.png" alt="">
  812.                <span class="new_source_page_switch_title1" >SURVEY</span>
  813.                <span  class="new_source_page_switch_title2">How Did You Hear About Us?</span>
  814.            </div>
  815.        </div>
  816.    </div>
  817.        <!-- 注册登录验证流程弹窗  -->
  818.    <div class="sign_login_bg" id="sign_login_bg_Visible" v-show="sign_login_bg_Visible" @click= "close_bg($event)">
  819.        <div class="sign_login_box">
  820.            <div class="sign_login_box_left">
  821.                <img src="/images/sign_login_box_left.png" alt="" srcset="">
  822.            </div>
  823.            <!-- 注册弹窗  -->
  824.            <div class="sign_login_box_right" v-show="signVisible">
  825.                <div class="close_grey" @click = "close_all()"></div>
  826.  
  827.                <div class="sign_login_box_right_title">
  828.                    Join Vipon
  829.                </div>
  830.                <div class="sign_login_box_right_title2">
  831.                    Find and share great deals
  832.                </div>
  833.                
  834.                <div id="google_account1"></div>
  835.                <div class="cut_off">
  836.                    <span class="cut_off_line"></span>
  837.                    <span class="cut_off_text">Or Countinue With</span>
  838.                    <span class="cut_off_line"></span>
  839.                </div>
  840.                <el-form :model="signForm"  v-loading="loading" ref="signForm" :rules="rules" class="demo-ruleForm">
  841.                  <el-form-item prop="email" style='margin-bottom: 22px'>
  842.                    <el-input placeholder="Email" v-model="signForm.email"></el-input>
  843.                  </el-form-item>
  844.                  <el-form-item  prop="pass" style='margin-bottom: 22px'>
  845.                    <el-input placeholder="Password" type="password" show-password v-model="signForm.pass" autocomplete="off"></el-input>
  846.                  </el-form-item>
  847.                  <el-form-item  prop="checkPass" style='margin-bottom: 22px'>
  848.                    <el-input placeholder="Confirm Password" type="password" show-password v-model="signForm.checkPass" autocomplete="off"></el-input>
  849.                  </el-form-item>
  850.                  <el-form-item  prop="type">
  851.                        <el-checkbox v-model="signForm.type" name="type">
  852.                            Subscribe to Vipon newsletter to receive <span style="color:#FE9F4D;">the best deals, coupons and special offers</span>
  853.                        </el-checkbox>
  854.                  </el-form-item>
  855.                  <div id="recaptcha_reg" style="display:flex;justify-content:center;margin-bottom:20px;"></div>
  856.                    <el-form-item>
  857.                      <el-button class="sign_button" type="primary" @click="submitForm('signForm',1)">Join Now</el-button>
  858.                    </el-form-item>
  859.                </el-form>
  860.                <div class="Terms_of_Service">
  861.                    By creating an account, you agree to our
  862.                    <a class="href_text" href="/terms-of-service" target="_blank">Terms of Service</a>
  863.                    and
  864.                    <a class="href_text" href="/privacy-policy" target="_blank">Privacy Policy</a>
  865.                </div>
  866.                <div class="bottm_text">
  867.                    <div class="grey_text">
  868.                        Already a member?
  869.                        <span class="href_text" @click = "box_switch(1)">Log in</span>
  870.                    </div>
  871.                </div>
  872.            </div>
  873.            <!-- 登录弹窗  -->
  874.            <div class="sign_login_box_right" v-show="loginVisible" >
  875.                <div class="close_grey" @click = "close_all()"></div>
  876.  
  877.                <div class="sign_login_box_right_title">
  878.                    Welcome to Vipon
  879.                </div>
  880.                <div class="sign_login_box_right_title2">
  881.                    Log In to start saving
  882.                </div>
  883.                <div id="google_account2"></div>
  884.  
  885.                <div class="cut_off">
  886.                    <span class="cut_off_line"></span>
  887.                    <span class="cut_off_text">Or Countinue With</span>
  888.                    <span class="cut_off_line"></span>
  889.                </div>
  890.                <el-form :model="loginForm" v-loading="loading"  ref="loginForm" :rules="rules" class="demo-ruleForm">
  891.                    <el-form-item prop="email" style='margin-bottom: 22px'>
  892.                        <el-input placeholder="Email" v-model="loginForm.email"></el-input>
  893.                    </el-form-item>
  894.                    <el-form-item  prop="pass">
  895.                        <el-input placeholder="Password" type="password" show-password v-model="loginForm.pass" autocomplete="off"></el-input>
  896.                    </el-form-item>
  897.                    <div style='padding: 0 50px;display: flex;flex-direction: row-reverse;'>
  898.                        <a class="href_text" href="/request-password-reset">Forgot Password</a>
  899.                    </div>
  900.  
  901.                    <div id="recaptcha_login" style="display:flex;justify-content:center;margin-bottom:20px;"></div>
  902.                    <el-form-item>
  903.                        <el-button class="login_button" type="primary" @click="submitForm('loginForm',2)">Log in</el-button>
  904.                    </el-form-item>
  905.  
  906.                    <p style='font-size: 12px;color: #999999;cursor: pointer;' v-if='isItAnAllianceProduct' @click='getCodeCollection'>Continue As A Guest</p>
  907.                </el-form>
  908.  
  909.                <div class="bottm_text">
  910.                    <div class="grey_text">
  911.                        Not a member?  
  912.                        <span class="href_text" @click = "box_switch(2)">Create an account</span>
  913.                    </div>
  914.                </div>
  915.            </div>
  916.            <!-- 验证邮箱弹窗  -->
  917.            <div class="sign_login_box_right" v-show="sign_Verify_Visible">
  918.                <div class="href_text not_now" @click="box_switch(3)">Not now</div>
  919.                <div class="sign_login_box_right_title" style="margin-top: 87px;">
  920.                    Verify email address
  921.                </div>
  922.                <div class="sign_login_box_right_title2" style="margin-bottom:0 ;">
  923.                    To verify your email, we've sent a verification code to {{signForm.email}}  
  924.                </div>
  925.                <div class="grey_text">
  926.                    Didn't get the email?
  927.                    <span class="href_text" @click="resend_email(2)">Resend</span>
  928.                </div>
  929.                <el-form :model="loginForm"  ref="VerifyForm" class="demo-ruleForm">
  930.                    <el-form-item prop="Verify">
  931.                        <el-input placeholder="Enter verification code" v-model="VerifyForm.Verify">
  932.                        </el-input>
  933.                    </el-form-item>
  934.                    <el-form-item>
  935.                        <el-button class="Verify_button" type="primary" @click="submitForm('VerifyForm',3)">Verify</el-button>
  936.                    </el-form-item>
  937.                </el-form>
  938.                <div class="tip_text">
  939.                    Tips: Check your spam folder if you can't find the verification email
  940.                </div>
  941.                <div class="grey_text trY_30" style="color:#333">
  942.                    Already verified?  
  943.                    <span class="href_text " @click="box_switch(10)">Click here to refresh</span>
  944.                </div>
  945.                <div class="Verify_cut_off  trY_30"></div>
  946.                <div class="sign_login_box_right_title2" style="margin-bottom:22px ;">
  947.                    The following methods can also be used to quickly login without verification.
  948.                </div>
  949.                <div id="google_account3"></div>
  950.  
  951.  
  952.                <div class="grey_text" style="line-height:26px;margin-top: 22px;">
  953.                    Contact
  954.                    <a class="href_text" href="/cdn-cgi/l/email-protection#8efdfbfefee1fcfacee3f7f8e7fee1e0a0ede1e3"><span class="__cf_email__" data-cfemail="91e2e4e1e1fee3e5d1fce8e7f8e1feffbff2fefc">[email&#160;protected]</span></a>
  955.                    for help if you still have troubles.
  956.                </div>
  957.            </div>
  958.        </div>
  959.    </div>
  960.  
  961.        <!-- not-now触发验证邮箱弹窗 -->
  962.    <div class="sign_login_bg" id="trigger_verify_bg_Visible" v-show="trigger_verify_bg_Visible" @click= "close_bg($event)">
  963.        <div class="trigger_verify_box">
  964.            <div class="close_grey" @click = "box_switch(5)"></div>
  965.            <div class="trigger_verify_title1">
  966.                Verify email address
  967.            </div>
  968.            <div class="trigger_verify_title2">
  969.                Uh oh! It looks like your email is not yet verified. Please take a moment to verify your email before access this feature!
  970.            </div>
  971.            <div>
  972.                <el-input style="margin-bottom: 25px;" placeholder v-model="account_email" :disabled = "true" class="account_email_box">
  973.                </el-input>
  974.                <el-button v-if="!has_send_email" class="account_email_button" @click="resend_email(1)">Send Verification Email</el-button>
  975.                <el-button v-else style="background: #CCCCCC;pointer-events: none;" class="account_email_button" >Resend in {{resend_time}}s</el-button>
  976.            </div>
  977.  
  978.            <div>
  979.                <el-input placeholder="Enter Verification Code" v-model="VerifyForm.Verify" class="account_email_box">
  980.                </el-input>
  981.                <el-button class="checkcode_button" @click="submitForm('VerifyForm',3)">Verify</el-button>
  982.            </div>
  983.            <div class="grey_text" style="font-style:oblique;line-height: 20px;text-align: start;width: 100%;height: auto">
  984.                Check your spam folder if you can't find the verification email
  985.            </div>
  986.            <div class="grey_text" style="line-height: 20px;text-align: start;margin-top: 20px;width: 100%;color: #333;">
  987.                Already verified?  
  988.                <span class="href_text" @click="box_switch(10)">Click here to refresh</span>
  989.            </div>
  990.            <div class="bottm_text" style="width: 522px;left: 0;border-radius: 0px 0 20px 20px;">
  991.                <div class="grey_text" style="width:100%">
  992.                    Contact  
  993.                    <a class="href_text" href="/cdn-cgi/l/email-protection#70030500001f0204301d090619001f1e5e131f1d"><span class="__cf_email__" data-cfemail="ddaea8adadb2afa99db0a4abb4adb2b3f3beb2b0">[email&#160;protected]</span></a>
  994.                    for help if you still have troubles.
  995.                </div>
  996.            </div>
  997.        </div>
  998.    </div>
  999.        <!-- 机器验证弹窗 -->
  1000.    <div class="sign_login_bg" id="recaptcha_tg_Visible" v-if="recaptcha_tg_Visible" @click= "close_bg($event)">
  1001.        <div class="recaptcha_tg">
  1002.            <div class="recaptcha_tg_tag">
  1003.                <img src="/images/recaptcha_tg.png" alt="">
  1004.            </div>
  1005.            <div class="recaptcha_tg_title">
  1006.                Suspicious Browsing Activity
  1007.            </div>
  1008.            <div class="recaptcha_tg_text">
  1009.                Your current activity has been intercepted by our system due to suspicious browsing activity. We recommend restarting your device or using a different browser before attempting again. If you continue to encounter this message, please contact<span style="color: #39C3CB;"> <a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="0f7c7a7f7f607d7b4f627679667f6061216c6062">[email&#160;protected]</a> </span>for assistance.
  1010.            </div>
  1011.            <div class="recaptcha_tg_btn" @click="recaptcha_tg_Visible=false">
  1012.                OK
  1013.            </div>
  1014.        </div>
  1015.    </div>
  1016.    <!-- 谷歌v2验证弹窗 -->
  1017.    <div class="sign_login_bg" id="recaptcha_v2_Visible" v-if="recaptcha_v2_Visible">
  1018.        <div class="recaptcha_v2_bg">
  1019.            <img class="recaptcha_v2_img" src="/images/recaptcha_robot.png" />
  1020.            <div class="recaptcha_v2_title">Wait a minute! Are you human?</div>
  1021.            <div class="recaptcha_v2_tips">Please confirm that you are not a robot</div>
  1022.            <div id="recaptcha_get_code"></div>
  1023.        </div>
  1024.    </div>
  1025.    <!-- 来源弹窗 -->
  1026.    <div class="sign_login_bg" id="new_source_from_Visible" v-if="new_source_from_Visible" @click= "close_bg($event)">
  1027.        <div class="new_source_from_bg">
  1028.            <div class="new_source_from_bg_left"></div>
  1029.            <div class="new_source_from_bg_right"></div>
  1030.            <div class="close_white" @click="new_source_from_Visible=false">
  1031.            </div>
  1032.  
  1033.            <div class="new_source_from_title">Verified Successfully</div>
  1034.            <div class="new_source_from_title2">Thanks for joining Vipon! You can now access all the fantastic deals and discounts available on our platform.</div>
  1035.            <div class="new_source_from_box" >
  1036.                <div class="new_source_from_box_title1">Where did you learn about Vipon?<span class="new_source_from_box_title2">( Please take a few seconds to complete the survey below )</span></div>
  1037.                <div class="new_source_from_tag_box">
  1038.                    <div :class="index==new_source_check_index?'new_source_from_tag_active':'new_source_from_tag'" v-for="(value,index) in questionnaire_from_type_kv" :key="value" @click="new_source_check_index = index">
  1039.                        <div :class="index==new_source_check_index?'new_source_from_tag_text_active':'new_source_from_tag_text'">{{value}}</div>
  1040.                    </div>
  1041.                </div>
  1042.            </div>
  1043.            <div v-if="new_source_check_index!=''" class="new_source_from_submit" @click="new_source_from_submit"></div>
  1044.            <div v-else class="new_source_from_submit_noselect"></div>
  1045.  
  1046.        </div>
  1047.  
  1048.    </div>
  1049.  
  1050.    <!-- 黑五弹窗 -->
  1051.    <div class="sign_login_bg" id="black_friday_Visible" v-show="black_friday_Visible" v-loading="loading" element-loading-background="rgba(0, 0, 0, 0.6)">
  1052.        <div class="black_friday_bg">
  1053.            <div class="black_friday_close" @click="showBlackFridayModal('',false)"></div>
  1054.  
  1055.            <!-- 转盘页 -->
  1056.            <div v-show="blackFridayModal.showLottery" style="display: flex;flex-direction: column;justify-content: center;align-items: center;">
  1057.                <div class="black_friday_title">{{blackFridayModal.subject}}</div>
  1058.                <div class="black_friday_lottery">
  1059.                    <div class="turntable-img" :style="wheel_img" ref="turntable_img"></div>
  1060.                    <div class="pointer-img" @click="ratating();lotteryTrace(2);"></div>
  1061.                </div>
  1062.                <div class="black_friday_rules">{{blackFridayModal.note}}</div>
  1063.            </div>
  1064.            <div class="black_friday_content" v-show="blackFridayModal.showLottery">
  1065.                <div class="black_friday_coupon" v-for="item in blackFridayModal.activity">
  1066.                    {{item.desc}}
  1067.                    <a :href="item.link" target="_blank"><div class="coupon-btn" @click="lotteryTrace(item.trace_type)">{{item.btn_desc}}</div></a>
  1068.                </div>
  1069.            </div>
  1070.  
  1071.            <!-- 结果页 -->
  1072.            <div class="black_friday_content" v-show="blackFridayModal.showResult">
  1073.                <!-- 未中奖 -->
  1074.                <div v-show="blackFridayModal.resultType == 'fail'">
  1075.                    <div class="black_friday_content_title">{{blackFridayModal.prize.subject}}</div>
  1076.                    <div class="black_friday_jackpot">
  1077.                        <img :src="this.blackFridayModal.prize.img" class="black_friday_jackpot_img" alt="">
  1078.                        <div class="black_friday_jackpot_title fail">{{blackFridayModal.subject}}</div>
  1079.                        <div class="black_friday_jackpot_msg">{{blackFridayModal.note}}</div>
  1080.                    </div>
  1081.                </div>
  1082.  
  1083.                <!-- 中奖领奖 -->
  1084.                <div v-show="blackFridayModal.resultType == 'claim'">
  1085.                    <div class="black_friday_content_title">{{blackFridayModal.subject}}</div>
  1086.                    <div class="black_friday_jackpot">
  1087.                        <img :src="this.blackFridayModal.prize.img" class="black_friday_jackpot_img" alt="">
  1088.                        <div class="">
  1089.                            <span class="black_friday_content_prize">{{blackFridayModal.prize.subject}}</span><span class="black_friday_content_prize_note">{{blackFridayModal.prize.note}}</span>
  1090.  
  1091.                        </div>
  1092.                        
  1093.                        <div
  1094.                            class="black_friday_jackpot_claim"
  1095.                            :class="{disabled:blackFridayModal.claimDisabled}"
  1096.                            @click="blackFridayModal.claimDisabled = true;"
  1097.                        >{{blackFridayModal.lottery_get.button}}</div>
  1098.                        <div class="black_friday_jackpot_tips" v-if="blackFridayModal.claimDisabled">{{blackFridayModal.lottery_get.desc}}</div>
  1099.                        <div class="black_friday_jackpot_input" v-if="blackFridayModal.claimDisabled">
  1100.                            <input type="text" :placeholder="blackFridayModal.lottery_get.placeholder" v-model.trim="blackFridayModal.paypalAccount" />
  1101.                            <div
  1102.                                class="black_friday_jackpot_submit"
  1103.                                :class="{disabled: blackFridayModal.paypalAccount == ''}"
  1104.                                @click="lotteryClaim"
  1105.                            >{{blackFridayModal.lottery_get.submit}}</div>
  1106.                        </div>
  1107.                    </div>
  1108.                </div>
  1109.  
  1110.                <!-- 完成领奖 -->
  1111.                <div v-show="blackFridayModal.resultType == 'success'">
  1112.                    <div class="black_friday_content_title">{{blackFridayModal.success_title}}</div>
  1113.                    <div class="black_friday_jackpot">
  1114.                        <img :src="this.blackFridayModal.prize.img" class="black_friday_jackpot_img" alt="">
  1115.                        <div class="">
  1116.                            <span class="black_friday_content_prize">{{blackFridayModal.prize.subject}}</span><span class="black_friday_content_prize_note">{{blackFridayModal.prize.note}}</span>
  1117.                        </div>
  1118.                        
  1119.                        <div class="black_friday_jackpot_title success">{{blackFridayModal.subject}}</div>
  1120.                        <div class="black_friday_jackpot_msg">{{blackFridayModal.note}}</div>
  1121.                    </div>
  1122.                </div>
  1123.                
  1124.                <div class="black_friday_line"></div>
  1125.                <div class="black_friday_coupon" v-for="item in blackFridayModal.activity">
  1126.                    {{item.desc}}
  1127.                    <a :href="item.link" target="_blank"><div class="coupon-btn" @click="lotteryTrace(item.trace_type)">{{item.btn_desc}}</div></a>
  1128.                </div>
  1129.            </div>
  1130.  
  1131.            <!-- 中奖记录列表 -->
  1132.            <div class="black_friday_content" v-show="blackFridayModal.showRecord">
  1133.                <div class="black_friday_content_title">The record of my prize</div>
  1134.                <div class="black_friday_record">
  1135.                    <div class="black_friday_record_item" v-for="item in blackFridayModal.myLotteryWinList">
  1136.                        <div class="black_friday_record_item_price">{{item.prize.subject}} <span class="black_friday_record_item_price_note">{{item.prize.note}}</span></div>
  1137.                        <div class="black_friday_record_item_btn" @click="seeLotteryDetail(item.id)">See more</div>
  1138.                    </div>
  1139.                </div>
  1140.                <div class="black_friday_line"></div>
  1141.                <div class="black_friday_coupon" v-for="item in blackFridayModal.activity">
  1142.                    {{item.desc}}
  1143.                    <a :href="item.link" target="_blank"><div class="coupon-btn" @click="lotteryTrace(item.trace_type)">{{item.btn_desc}}</div></a>
  1144.                </div>
  1145.            </div>
  1146.  
  1147.            <!-- 中奖记录详情 -->
  1148.            <div class="black_friday_content" v-show="blackFridayModal.showDetail">
  1149.                <!-- 未领奖 -->
  1150.                <div v-show="blackFridayModal.myLotteryWin.is_receive == 0">
  1151.                    <div class="black_friday_content_title">{{blackFridayModal.subject}}</div>
  1152.                    <div class="black_friday_jackpot">
  1153.                        <img :src="this.blackFridayModal.prize.img" class="black_friday_jackpot_img" alt="">
  1154.                        <div class="">
  1155.                            <span class="black_friday_content_prize">{{blackFridayModal.myLotteryWin.prize.subject}}</span><span class="black_friday_content_prize_note">{{blackFridayModal.prize.note}}</span>
  1156.                        </div>
  1157.                      
  1158.                        <div
  1159.                            class="black_friday_jackpot_claim"
  1160.                            :class="{disabled:blackFridayModal.claimDisabled}"
  1161.                            @click="blackFridayModal.claimDisabled = true"
  1162.                        >{{blackFridayModal.lottery_get.button}}</div>
  1163.                        <div class="black_friday_jackpot_tips" v-if="blackFridayModal.claimDisabled">{{blackFridayModal.lottery_get.desc}}</div>
  1164.                        <div class="black_friday_jackpot_input" v-if="blackFridayModal.claimDisabled">
  1165.                            <input type="text" placeholder="Paypal account" v-model.trim="blackFridayModal.paypalAccount" />
  1166.                            <div
  1167.                                class="black_friday_jackpot_submit"
  1168.                                :class="{disabled: blackFridayModal.paypalAccount == ''}"
  1169.                                @click="lotteryClaim"
  1170.                            >{{blackFridayModal.lottery_get.submit}}</div>
  1171.                        </div>
  1172.                    </div>
  1173.                </div>
  1174.  
  1175.                <!-- 已领奖 -->
  1176.                <div v-show="blackFridayModal.myLotteryWin.is_receive == 1">
  1177.                    <div class="black_friday_content_title">{{blackFridayModal.success_title}}</div>
  1178.                    <div class="black_friday_jackpot">
  1179.                        <img :src="this.blackFridayModal.prize.img" class="black_friday_jackpot_img" alt="">
  1180.                        <div class="">
  1181.                            <span class="black_friday_content_prize">{{blackFridayModal.myLotteryWin.prize.subject}}</span><span class="black_friday_content_prize_note">{{blackFridayModal.prize.note}}</span>
  1182.                        </div>
  1183.                        
  1184.                        <div class="black_friday_jackpot_title success">{{blackFridayModal.subject}}</div>
  1185.                        <div class="black_friday_jackpot_msg">{{blackFridayModal.note}}</div>
  1186.                    </div>
  1187.                </div>
  1188.  
  1189.                <div class="black_friday_coupon" v-for="item in blackFridayModal.activity">
  1190.                    {{item.desc}}
  1191.                    <a :href="item.link"><div class="coupon-btn" @click="lotteryTrace(item.trace_type)">{{item.btn_desc}}</div></a>
  1192.                </div>
  1193.            </div>
  1194.  
  1195.            <div
  1196.                class="black_friday_see_record"
  1197.                v-show="[2, 3].includes(blackFridayModal.lottery_sta) && !blackFridayModal.showRecord"
  1198.                @click="showBlackFridayModal('record')"
  1199.            >
  1200.                The record of my prize
  1201.            </div>
  1202.        </div>
  1203.    </div>
  1204. </div>
  1205.  
  1206. <!--消息-->
  1207. <div class="modal fade" id="headerMsg" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel">
  1208.    <div class="modal-dialog modal-lg" role="document">
  1209.        <div class="modal-content">
  1210.            <div class="modal-header">
  1211.                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
  1212.                <h4 class="modal-title">Message</h4>
  1213.            </div>
  1214.            <div class="modal-body">
  1215.                <p>Updata</p>
  1216.                <div class="msg-content-body">
  1217.                    <div>The points you applied for are now passed and transferred to PayPal account. The points will be reduced accordingly.</div>
  1218.                </div>
  1219.                <button class="btn" data-dismiss="modal">I Know It</button>
  1220.            </div>
  1221.        </div>
  1222.    </div>
  1223. </div>
  1224.  
  1225. <!--Co-editing Notice-->
  1226. <div class="modal fade" id="headerMsgCoEditing" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel">
  1227.    <div class="modal-dialog modal-lg" role="document">
  1228.        <div class="modal-content">
  1229.            <div class="modal-header">
  1230.                <h4 class="modal-title">Notice of V Show</h4>
  1231.            </div>
  1232.            <div class="modal-body">
  1233.                <p>Hey! Thank you so much for your support and quality posts for V Show!<br> And congratulations on becoming our Vipon <span class="bold">Associated Editor</span>.</p>
  1234.                <p>From now on, in addition to getting 10 points for each post (up to 30 points daily), we will regularly review each of your articles, and each approved article (tagged with <span class="bold">Featured</span> label) will be paid an additional $50.
  1235.                    <br>Note: Not all articles you posted will get $50, only those that meet our requirements will be paid, and articles or contents that do not meet the requirements will be removed.</p>
  1236.                <p>Please continue to produce high quality content for organic likes. Our shoppers love seeing your stories & posts!</p>
  1237.                <div class="flex">
  1238.                    <button class="btn" data-dismiss="modal">OK</button>
  1239.                </div>
  1240.            </div>
  1241.        </div>
  1242.    </div>
  1243. </div>
  1244.  
  1245. <!--Paid articles Notice-->
  1246. <div class="modal fade" id="headerMsgPaidArticles" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel">
  1247.    <div class="modal-dialog modal-lg" role="document">
  1248.        <div class="modal-content">
  1249.            <div class="modal-header">
  1250.                <h4 class="modal-title">Notice of V Show</h4>
  1251.            </div>
  1252.            <div class="modal-body">
  1253.                <p>Congratulations! Your V SHOW post <span class="blue" style="cursor: pointer">Planting Tips</span> has become our Featured content, we will pay <span class="blue" style="cursor: pointer">$50</span> for this post. Please check on your balance. Please continue to produce high quality original content!</p>
  1254.                <div class="flex">
  1255.                    <button class="btn" data-dismiss="modal">OK</button>
  1256.                </div>
  1257.            </div>
  1258.        </div>
  1259.    </div>
  1260. </div>
  1261. <!-- 注册抽奖 -->
  1262. <div class="modal fade" id="loginActivity" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel" data-backdrop="static" >
  1263.    <div class="modal-dialog modal-lg" role="document" >
  1264.        <div class="bg-img">
  1265.            <img src="/images/activity/minclose.png" alt="">
  1266.            <div class="but-out">
  1267.                <div class="but"></div>
  1268.            </div>
  1269.            <a class="loginActivity_rule" target="_blank" href="https://help.myvipon.com/article/268-vipon-sweepstakes-rules">Check the Rule</a>
  1270.        </div>
  1271.    </div>
  1272. </div>
  1273. <!--卖家回复-->
  1274. <div class="modal fade" id="headerSellerMsg" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel">
  1275.    <div class="modal-dialog modal-lg" role="document">
  1276.        <div class="modal-content">
  1277.            <div class="modal-header">
  1278.                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
  1279.                <h4 class="modal-title">Reply to your report</h4>
  1280.            </div>
  1281.            <div class="modal-body">
  1282.                <a href="#" target="_blank" class="product-msg flex">
  1283.                    <div class="msg-left-img">
  1284.                        <img src="" alt="">
  1285.                    </div>
  1286.                    <div class="product-msg-title"></div>
  1287.                </a>
  1288.                <div class="buyer-msg">
  1289.                    <div class="buyer-msg-time"></div>
  1290.                    <div class="buyer-msg-text"></div>
  1291.                </div>
  1292.                <div class="seller-msg">
  1293.                    <div class="seller-msg-time flex">
  1294.                        <img src="https://vipon.s3.amazonaws.com/img/732080e658c6f1f63edee09a3834b16a40e2356cad10ea.svg" alt="">
  1295.                        <span></span>
  1296.                    </div>
  1297.                    <div class="seller-msg-text"></div>
  1298.                </div>
  1299.                <div class="msg-show-product flex">
  1300.                    <a href="#" target="_blank" class="btn">View Product Details</a>
  1301.                </div>
  1302.                
  1303.            </div>
  1304.        </div>
  1305.    </div>
  1306. </div>
  1307.  
  1308. <script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script><script>
  1309.    let goodsurl = 'https://msapi.myvipon.com/v1/trace/push-goods-exposure-data-pc'
  1310.  
  1311.    $('#sign_login_bg_Visible').css('display','block')
  1312.    $('#recaptcha_tg_Visible').css('display','block')
  1313.    $('#recaptcha_v2_Visible').css('display','block')
  1314.    $("#new_source_from_Visible").css('display','block')
  1315.    $("#trigger_verify_bg_Visible").css('display','block')
  1316.    $("#black_friday_Visible").css('display','block')
  1317.  
  1318.    //验证登录
  1319.    function to_login(btn_code, product_id) {
  1320.        window.event ? window.event.cancelBubble = true : e.stopPropagation();
  1321.  
  1322.        if (!product_id) {
  1323.            menuvue.box_switch(6)
  1324.            menuvue.isItAnAllianceProduct = false
  1325.        }else{
  1326.            menuvue.select_product_id = product_id
  1327.            $.ajax({
  1328.                url: "/code/get-code?id=" + product_id,
  1329.                type: 'post',
  1330.                success: function (data) {
  1331.                    data = JSON.parse(data);
  1332.                    if (data.code == 403) {
  1333.                        menuvue.isItAnAllianceProduct = data.isGuestGetCode
  1334.                        menuvue.box_switch(6)
  1335.                    } else if(response.msg == 'Invalid Request.'){
  1336.                        menuvue.$message.error('Too many attempts. Try again later.')
  1337.                    } else{
  1338.                        menuvue.$message({
  1339.                            message: data.msg,
  1340.                            type: 'error',
  1341.                        });
  1342.                    }
  1343.                },
  1344.                error: function (xhr, status, error) {
  1345.                    console.error('AJAX request failed:', status, error);
  1346.                }
  1347.            });
  1348.        }
  1349.  
  1350.        if (btn_code) {
  1351.            clickRecord(btn_code)
  1352.        }
  1353.    }
  1354.    //注册
  1355.        function to_sign(btn_code) {
  1356.        window.event ? window.event.cancelBubble = true : e.stopPropagation();
  1357.  
  1358.        menuvue.box_switch(8)
  1359.    }
  1360.  
  1361.    //验证登陆状态和邮箱验证状态
  1362.    function to_verify_email(btn_code, product_id){
  1363.        window.event ? window.event.cancelBubble = true : e.stopPropagation();
  1364.  
  1365.        console.log("to_verify_email");
  1366.        if ("0">0) {
  1367.            console.log(menuvue.is_verify_email);
  1368.            if (menuvue.is_verify_email) {
  1369.                return true
  1370.            }else{
  1371.                menuvue.box_switch(9)
  1372.            }
  1373.        }else{
  1374.            if (btn_code) {
  1375.                clickRecord(btn_code)
  1376.            }
  1377.            touristCodeCollection(product_id)
  1378.        }
  1379.    }
  1380.  
  1381.    function touristCodeCollection(product_id) {
  1382.        if (!product_id) {
  1383.            menuvue.box_switch(6)
  1384.            menuvue.isItAnAllianceProduct = false
  1385.        }else{
  1386.            menuvue.select_product_id = product_id
  1387.            
  1388.            $.ajax({
  1389.                url: "/code/get-code?id=" + product_id,
  1390.                type: 'post',
  1391.                success: function (data) {
  1392.                    data = JSON.parse(data);
  1393.                    if (data.code == 403) {
  1394.                        menuvue.isItAnAllianceProduct = data.isGuestGetCode
  1395.                        menuvue.box_switch(6)
  1396.                    } else if(response.msg == 'Invalid Request.'){
  1397.                        menuvue.$message.error('Too many attempts. Try again later.')
  1398.                    } else {
  1399.                        menuvue.$message({
  1400.                            message: data.msg,
  1401.                            type: 'error',
  1402.                        });
  1403.                    }
  1404.                },
  1405.                error: function (xhr, status, error) {
  1406.                    console.error('AJAX request failed:', status, error);
  1407.                }
  1408.            });
  1409.        }
  1410.    }
  1411.  
  1412.    function getParameterByName(name, url) {
  1413. name = name.replace(/[[\]]/g, '\\$&'); // 修正正则表达式
  1414. var regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)'),
  1415. results = regex.exec(url);
  1416. if (!results) return null;
  1417. if (!results[2]) return '';
  1418. return decodeURIComponent(results[2].replace(/\+/g, ' '));
  1419. }
  1420.  
  1421.    //直降商品跳转
  1422.    function direct_descent(url, search_tid='',position,click_module){
  1423.        const slValue = this.getParameterByName('sl', url) || ''; // 提取 sl 参数值
  1424.        $.ajax({
  1425.            url: "/product/param",
  1426.            type: 'post',
  1427.            data: {
  1428.                f: search_tid === '' ? 'ama_web_detail' : 'serach_web_detail',
  1429.                event_type: search_tid === '' ? '' : 'search',
  1430.                search_tid: search_tid === '' ? '' : search_tid,
  1431.                position: search_tid === '' ? '' : position,
  1432.                click_module: click_module,
  1433.                sl: url.indexOf('?sl') > -1 ? '' : $("#sl").val()
  1434.            },
  1435.            error: function (xhr, status, error) {
  1436.                console.error('AJAX request failed:', status, error);
  1437.            }
  1438.        });
  1439.        const cleanUrl = url.split('?')[0]; // 清理 URL
  1440.        window.open(cleanUrl);
  1441.    }
  1442.  
  1443.    //跳转领码页面
  1444.    function menu_get_code(productid,f,type,searchid,position,event_type,sl) {
  1445.        window.event ? window.event.cancelBubble = true : e.stopPropagation();
  1446.        if ("0">0) {
  1447.            if (menuvue.is_verify_email) {
  1448.                let _href = ""
  1449.                let _f  = ""
  1450.                let _searchid = ""
  1451.                let _position = ""
  1452.                let _event_type = ""
  1453.                let _sl = ""
  1454.  
  1455.                // 谷歌人机验证
  1456.                const _recaptchaVerify = (token, version) => {
  1457.                    return $.ajax({
  1458.                        url:'/api2/passport/google-recaptcha',
  1459.                        type:'post',
  1460.                        dataType:'json',
  1461.                        data: {
  1462.                            google_recaptcha_token: token,
  1463.                            google_recaptcha_version: version,
  1464.                        },
  1465.                    })
  1466.                }
  1467.  
  1468.                // 人机验证通过后的执行函数
  1469.                const _afterRecaptcha = () => {
  1470.                    if (type=="code") {
  1471.                        fbq('track', 'Get Coupon');
  1472.                        _href = " /code/get-code?id="
  1473.                    }else{
  1474.                        _href = " /product/toamazon?id="
  1475.                    }
  1476.                    if (f) {
  1477.                        _f = "&f=" + f
  1478.                    }
  1479.                    if (searchid) {
  1480.                        _searchid = "&search_tid=" + searchid
  1481.                    }
  1482.                    if (position) {
  1483.                        _position = "&position=" + position
  1484.                    }
  1485.                    if (event_type) {
  1486.                        _event_type = "&event_type=" + event_type
  1487.                    }
  1488.                    if (sl) {
  1489.                        _sl = "&sl=" + sl
  1490.                    }
  1491.                    menuvue.recaptcha_v2_Visible = false
  1492.                    if (type == "code") {
  1493.                       getUserCodeCollection(productid,f,searchid,position,event_type,sl)
  1494.                    } else {
  1495.                        window.open(_href + productid + _f + _searchid + _position + _event_type + _sl)
  1496.                    }
  1497.  
  1498.                }
  1499.  
  1500.                const _sleep = (ms) => {
  1501.                    return new Promise(resolve => {
  1502.                        setTimeout(resolve, ms);
  1503.                    });
  1504.                }
  1505.  
  1506.                if ('0' == 1) {
  1507.                    grecaptcha.enterprise.ready(async () => {
  1508.                        // 谷歌v3验证
  1509.                        const v3_token = await grecaptcha.enterprise.execute('6Le0fJknAAAAAJqA20Vf1yAl4yD4yj2_esN0aSj1', {action: 'LOGIN'});
  1510.                        const v3_res = await _recaptchaVerify(v3_token, 'v3');
  1511.                        if(v3_res.code == 104){
  1512.                            menuvue.box_switch(11);
  1513.                            await _sleep(500);
  1514.                            const v2_token = await menuvue.recaptchaV2('#recaptcha_get_code', 'GETCODE');
  1515.                            const v2_res = await _recaptchaVerify(v2_token, 'v2');
  1516.                            _afterRecaptcha();
  1517.                        }else if(v3_res.code == 101){
  1518.                            window.open('/code/google-recaptcha')
  1519.                        }else{
  1520.                            _afterRecaptcha();
  1521.                        }
  1522.                    });
  1523.                }else {
  1524.                    return $.ajax({
  1525.                        url:'/api2/passport/google-recaptcha',
  1526.                        type:'post',
  1527.                        dataType:'json',
  1528.                    }).then(res => {
  1529.                        if (res.code == 101) {
  1530.                            window.open('/code/google-recaptcha')
  1531.                        }else{
  1532.                            _afterRecaptcha()
  1533.                        }
  1534.                    })
  1535.                }
  1536.            }else{
  1537.                to_verify_email(false,productid,f)
  1538.            }
  1539.        }else{
  1540.            to_login(false,productid,f)
  1541.        }
  1542.        
  1543.    }
  1544.  
  1545.    // 领码
  1546.    function code_collection(productid,search_tid, f,position){
  1547.        $.get(`/code/get-code?id=${productid || ''}&search_tid=${search_tid || ''}&position=${productid || ''}&f=${f || ''}`, function(response) {
  1548.            // 处理成功的响应
  1549.            response = JSON.parse(response)
  1550.            if (response.code == '403' && !response.isGuestGetCode) {
  1551.                to_login()
  1552.            }else if(response.isGuestGetCode){
  1553.                to_login(false, productid)
  1554.            }else if(response.code == 200 || response.code == 700){
  1555.                window.open('/product/' + productid)
  1556.            } else if (response.msg == 'Invalid Request.'){
  1557.                menuvue.$message.error('Too many attempts. Try again later.')
  1558.            } else {
  1559.                menuvue.$message({
  1560.                    message: response.msg,
  1561.                    type: 'error',
  1562.                });
  1563.            }
  1564.                    
  1565.        }).fail(function(jqXHR, textStatus, errorThrown) {
  1566.            // 处理错误
  1567.            console.error('请求失败:', textStatus, errorThrown);
  1568.        });
  1569.    }
  1570.  
  1571.    /* 解析 token */
  1572.    const decodeJwt = (token) => {
  1573.        console.log(token);
  1574.        const base64Url = token.split('.')[1];
  1575.        const base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');
  1576.        const jsonPayload = decodeURIComponent(
  1577.            window
  1578.            .atob(base64)
  1579.            .split('')
  1580.            .map(function (c) {
  1581.                return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
  1582.            })
  1583.            .join(''),
  1584.        );
  1585.        return JSON.parse(jsonPayload);
  1586.    }
  1587.  
  1588.    // 显示黑五弹窗
  1589.    function show_black_friday_modal(){
  1590.        if(menuvue.loading) return;
  1591.        menuvue.getLotteryInfo();
  1592.        menuvue.setLotteryModal();
  1593.    }
  1594.    // 黑五追踪
  1595.    function lottery_trace(trace_type){
  1596.        menuvue.lotteryTrace(trace_type);
  1597.    }
  1598.    // 黑五主动弹窗上报
  1599.    function set_lottery_modal(){
  1600.        menuvue.setLotteryModal();
  1601.    }
  1602.  
  1603.     var menuvue = new Vue({
  1604.      el: '#menuvue',
  1605.        data: function() {
  1606.        var validatePass = (rule, value, callback) => {
  1607.                if (value === '') {
  1608.                callback(new Error('Please enter the password'));
  1609.                } else {
  1610.                if (this.signForm.checkPass !== '') {
  1611.                    this.$refs.signForm.validateField('checkPass');
  1612.                }
  1613.                callback();
  1614.                }
  1615.            };
  1616.            var validatePass2 = (rule, value, callback) => {
  1617.                if (value === '') {
  1618.                callback(new Error('Please re-enter the password'));
  1619.                } else if (value !== this.signForm.pass) {
  1620.                callback(new Error('Passwords must match!'));
  1621.                } else {
  1622.                callback();
  1623.                }
  1624.            };
  1625.        return {
  1626.            signVisible:false,
  1627.            loginVisible:false,
  1628.            sign_Verify_Visible:false,
  1629.            sign_login_bg_Visible:false,
  1630.            black_friday_Visible:false,
  1631.            f_lottery_source:false,
  1632.            trigger_verify_bg_Visible:false,
  1633.            account_email:'',
  1634.            is_verify_email:"",
  1635.            new_source_from_Visible:false,
  1636.            recaptcha_tg_Visible:false,
  1637.            recaptcha_v2_Visible:false,
  1638.            questionnaire_from_type_kv:JSON.parse('{"1":"Recommended by Family \/ Friends \/ Colleagues (word of mouth)","2":"Ads on Google \/ Search Engine","3":"Organic Search \/ Google Search","4":"Via Another Website","5":"Via A Blog Post - About Vipon","6":"App Store \/ Google Play Ads","7":"App Store \/ Google Play Search","8":"Facebook Ads","9":"Facebook Posts","10":"Youtube Videos","11":"TikTok Videos","12":"Reddit Posts","13":"Instagram Posts","14":"Other"}'),
  1639.            new_source_check_index:"",
  1640.            signForm: {
  1641.                email: '',
  1642.                pass:'',
  1643.                checkPass:'',
  1644.                type:''
  1645.            },
  1646.            rules: {
  1647.                pass: [
  1648.                    { validator: validatePass, trigger: 'blur' }
  1649.                ],
  1650.                checkPass: [
  1651.                    { validator: validatePass2, trigger: 'blur' }
  1652.                ],
  1653.                email:[{ required: true, message: 'Please enter the email address', trigger: 'blur' },
  1654.                      { type: 'email', message: 'Please enter a valid email address', trigger: ['blur', 'change']}
  1655.                ]
  1656.            },
  1657.            loginForm: {
  1658.                email: '',
  1659.                pass:'',
  1660.            },
  1661.            VerifyForm:{
  1662.                Verify:''
  1663.            },
  1664.            blackFridayModal:{
  1665.                showLottery:false,
  1666.                showResult:false,
  1667.                showRecord:false,
  1668.                showDetail:false,
  1669.                resultType:'', // fail claim success
  1670.                // 转盘
  1671.                on:true, // 开启抽奖
  1672.                diff: 0, // 指针初始化指向位置角度
  1673.                rdm: 2160, // 最少转多少圈
  1674.                // 按钮
  1675.                claimDisabled:false,
  1676.                submitDisabled:true,
  1677.                prize:{
  1678.                    subject:'',
  1679.                    button:'',
  1680.                    img:'',
  1681.                    note:''
  1682.                },
  1683.                lottery_get:{
  1684.                    button:'',
  1685.                    submit:'',
  1686.                    placeholder:'',
  1687.                    desc:'',
  1688.                },
  1689.                paypalAccount:'', // 用户输入的paypal账号
  1690.                // 数据
  1691.                bf_count_down_sec:-1, // 距离活动正式开始的倒计时秒数
  1692.                bf_sta:-1, // 活动状态: 0活动未开始 - 1预热期 - 2活动期 - 3已结束
  1693.                is_today_lottery:-1, // 当日是否抽奖:0未抽奖 1未中奖 2已中奖
  1694.                lottery_sta:-1, // 用户全局抽奖状态:0未抽奖 1未中奖 2已中奖 3已领奖
  1695.                subject:'', // 活动弹窗主题
  1696.                note:'', // 活动弹窗描述
  1697.                activity:[], // 跳转页面信息
  1698.                myLotteryWinList:[], // 中奖记录列表
  1699.                myLotteryWin:{
  1700.                    prize:{
  1701.                        subject:'',
  1702.                    }
  1703.                }, // 中奖详情
  1704.                success_title:'', // 领奖完成的标题,
  1705.            },
  1706.            has_send_email:false,
  1707.            resend_time:"120",
  1708.            loading:false,
  1709.            wheel_img:'',
  1710.            isItAnAllianceProduct: false,
  1711.            select_product_id: 0,
  1712.            select_f: '',
  1713.            //选中的app下载盒子
  1714.            selectAppId: 0,
  1715.        }
  1716.      },
  1717.        methods: {
  1718.            //三方登录
  1719.            third_login(tk){
  1720.                $.ajax({
  1721.                        url:"/api2/passport/third-login",
  1722.                        data:{
  1723.                            
  1724.                            client:'google',
  1725.                            access_token:tk,
  1726.                            f_lottery : menuvue.f_lottery_source?"1":"0",
  1727.                        },
  1728.                        dataType:"json",
  1729.                        type:"post",
  1730.                        success:function(data){
  1731.                            if (data.code==0) {
  1732.                                window.location.reload()
  1733.                            }else{
  1734.                                menuvue.$message({
  1735.                                                message:data.message,
  1736.                                                type: 'warning'
  1737.                                                });
  1738.                            }
  1739.                        }
  1740.                    })
  1741.            },
  1742.            //重发邮件
  1743.            resend_email(type){
  1744.                $.ajax({
  1745.                        url:"/api2/passport/resend-verify-email",
  1746.                        data:{
  1747.                            
  1748.                            f_lottery : menuvue.f_lottery_source?"1":"0",
  1749.                        },
  1750.                        dataType:"json",
  1751.                        type:"post",
  1752.                        success:function(data){
  1753.                            if (data.code==0) {
  1754.                                if (type==1) {
  1755.                                    menuvue.has_send_email =true
  1756.                                    let resend_time = 120
  1757.                                    let resend_timer = setInterval(() => {
  1758.                                        menuvue.resend_time = resend_time
  1759.                                        resend_time--
  1760.                                        if (resend_time==0) {
  1761.                                            menuvue.has_send_email = false
  1762.                                            clearInterval(resend_timer)
  1763.                                        }
  1764.                                    }, 1000);
  1765.  
  1766.                                }else{
  1767.                                    menuvue.$message({
  1768.                                                message:"A new verification email has been sent!",
  1769.                                                type: 'success'
  1770.                                                });
  1771.                                }
  1772.  
  1773.                            }else{
  1774.                                    menuvue.$message({
  1775.                                                message:data.message,
  1776.                                                type: 'warning'
  1777.                                                });
  1778.                            }
  1779.                        },
  1780.                        error:function(){
  1781.                                menuvue.$message({
  1782.                                                message:"err",
  1783.                                                type: 'warning'
  1784.                                                });
  1785.                        }
  1786.                    })
  1787.            },
  1788.            //点击阴影关闭
  1789.            close_bg(e){
  1790.                const target = e.target;
  1791.                console.log(target.className);
  1792.                if(target.className=="sign_login_bg"){
  1793.                    this.signVisible = false
  1794.                    this.loginVisible = false
  1795.                    this.sign_login_bg_Visible = false
  1796.                    this.trigger_verify_bg_Visible = false
  1797.                    this.recaptcha_tg_Visible = false
  1798.                    this.recaptcha_v2_Visible = false
  1799.                    this.black_friday_Visible = false
  1800.                }
  1801.            },
  1802.            close_all(){
  1803.                this.signVisible = false
  1804.                this.loginVisible = false
  1805.                this.sign_login_bg_Visible = false
  1806.                this.trigger_verify_bg_Visible = false
  1807.                this.recaptcha_tg_Visible = false
  1808.                this.recaptcha_v2_Visible = false
  1809.                this.black_friday_Visible = false
  1810.            },
  1811.            //跳转
  1812.            box_switch(type, flge){
  1813.                if(flge) this.isItAnAllianceProduct = false
  1814.                switch (type) {
  1815.                    //跳转登录
  1816.                    case 1:
  1817.                        this.googleLoginH5(document.querySelector('#google_account2'))
  1818.                        this.signVisible = false
  1819.                        this.loginVisible = true
  1820.                    break;
  1821.                    //跳转注册
  1822.                    case 2:
  1823.                        this.googleLoginH5(document.querySelector('#google_account1'))
  1824.                        this.signForm = {
  1825.                                email: '',
  1826.                                pass:'',
  1827.                                checkPass:'',
  1828.                                type:''
  1829.                            }
  1830.                        this.signVisible = true
  1831.                        this.loginVisible = false
  1832.                    break;
  1833.                    //关闭验证页面
  1834.                    case 3:
  1835.                        this.sign_login_bg_Visible = false
  1836.                        this.sign_Verify_Visible = false
  1837.                        window.location.reload()
  1838.                    break;
  1839.                    //注册成功跳转验证
  1840.                    case 4:
  1841.                        this.googleLoginH5(document.querySelector('#google_account3'))
  1842.                        this.signVisible = false
  1843.                        this.sign_Verify_Visible = true
  1844.                    break;
  1845.                    //关闭弹窗验证
  1846.                    case 5:
  1847.                        this.trigger_verify_bg_Visible = false
  1848.                    break;
  1849.                    //未登录跳转登录
  1850.                    case 6:
  1851.                        this.sign_login_bg_Visible = true
  1852.                        this.loginVisible = true
  1853.                        this.googleLoginH5(document.querySelector('#google_account2'))
  1854.                    break;
  1855.                    //谷歌机器验证失败弹窗
  1856.                    case 7:
  1857.                        this.sign_login_bg_Visible = false
  1858.                        this.recaptcha_tg_Visible = true
  1859.                        this.googleLoginH5(document.querySelector('#google_account2'))
  1860.                    break;
  1861.                    //未登录跳转注册
  1862.                    case 8:
  1863.                        this.sign_login_bg_Visible = true
  1864.                        this.signVisible = true
  1865.                        this.googleLoginH5(document.querySelector('#google_account1'))
  1866.                    break;
  1867.                    //打开邮件验证弹窗
  1868.                    case 9:
  1869.                        this.trigger_verify_bg_Visible = true
  1870.  
  1871.  
  1872.                    break;
  1873.                    //验证邮件是否验证
  1874.                    case 10:
  1875.                        $.ajax({
  1876.                        url:'/api2/passport/email-status',
  1877.                        type:'post',
  1878.                        dataType:'json',
  1879.                        data:{
  1880.                            
  1881.                        },
  1882.                        success:function (data) {
  1883.                            console.log(data);
  1884.                            if (data.data.email_confirmed==1) {
  1885.                                menuvue.is_verify_email = true
  1886.                                menuvue.sign_login_bg_Visible = false
  1887.                                menuvue.trigger_verify_bg_Visible = false
  1888.                                menuvue.new_source_from_Visible = true
  1889.                            }else {
  1890.                            menuvue.is_verify_email = false
  1891.                            menuvue.$message({
  1892.                            message: 'Oops, It seems that your email address has not been verified.',
  1893.                            type: 'warning'
  1894.                            });
  1895.                            }
  1896.                        },
  1897.                        error:function (e) {
  1898.  
  1899.                        }})
  1900.  
  1901.                    break;
  1902.                    // 谷歌人机验证v2弹窗
  1903.                    case 11:
  1904.                        this.sign_login_bg_Visible = false
  1905.                        this.recaptcha_v2_Visible = true
  1906.                    break;
  1907.                    default:
  1908.                        break;
  1909.  
  1910.                }
  1911.            },
  1912.             //谷歌登录初始化
  1913.            googleLoginH5 ($btnDom, cb) {
  1914.            // 初始化谷歌登录
  1915.            const _googleInit = () => {
  1916.                    google.accounts.id.initialize({
  1917.                    //client_id: "425416007627-suuhe1q51rh68pfmojthsn0num8fusco.apps.googleusercontent.com", // 客户端ID(创建应用第三步中获得的id)
  1918.                    client_id: "217282056431-1ntreks8anlb0p9j2b9tfgcb48scqe63.apps.googleusercontent.com", // 客户端ID(创建应用第三步中获得的id)
  1919.                    callback: (res) => {
  1920.                        // 登录成功回调
  1921.                        menuvue.third_login(res.credential);
  1922.                    },
  1923.                    itp_support: true
  1924.                    });
  1925.                };
  1926.                _googleInit()
  1927.                // 绘制谷歌登录按钮
  1928.                google.accounts.id.renderButton($btnDom, {
  1929.                type: 'standard',
  1930.                shape: 'rectangular',
  1931.                theme: 'filled_blue',
  1932.                text: 'continue_with',
  1933.                size: 'large',
  1934.                locale: 'en',
  1935.                logo_alignment: 'left',
  1936.                width: '340',
  1937.                });
  1938.            },
  1939.            //表单提交
  1940.            submitForm(formName,type) {
  1941.                this.loading = true
  1942.                let loading_timer = setTimeout(()=>{
  1943.                    clearTimeout(loading_timer)
  1944.                    this.loading = false
  1945.                },5000)
  1946.                console.log('1','0');
  1947.                if ("1"==1 && '0' == 1) {
  1948.                grecaptcha.enterprise.ready(async () => {
  1949.                    const token = await grecaptcha.enterprise.execute('6Le0fJknAAAAAJqA20Vf1yAl4yD4yj2_esN0aSj1', {action: 'LOGIN'});
  1950.                    console.log(token);
  1951.                    menuvue.$refs[formName].validate((valid) => {
  1952.                        console.log("valid",valid);
  1953.                        if (valid) {
  1954.                        console.log("type",type);
  1955.                            switch (type) {
  1956.                                case 1:
  1957.                                    menuvue.passportReg(token);
  1958.                                break;
  1959.                                case 2:
  1960.                                    menuvue.passportLogin(token);
  1961.                                
  1962.                                break;
  1963.                                case 3:
  1964.                                console.log(this.VerifyForm);
  1965.                                $.ajax({
  1966.                                    url:'/api2/passport/verify-email',
  1967.                                    type:'post',
  1968.                                    dataType:'json',
  1969.                                    data:{
  1970.                                        verify_code:this.VerifyForm.Verify
  1971.                                    },
  1972.                                    
  1973.                                    success:function (data) {
  1974.                                        if (data.code==0) {
  1975.                                            menuvue.sign_login_bg_Visible = false
  1976.                                            menuvue.sign_Verify_Visible = false
  1977.                                            menuvue.new_source_from_Visible = true
  1978.                                        }else{
  1979.                                            menuvue.$message({
  1980.                                                message:data.message,
  1981.                                                type: 'warning'
  1982.                                                });
  1983.                                        }
  1984.                                    },
  1985.                                    error:function (e) {
  1986.  
  1987.                                    }
  1988.                                })
  1989.                                break;
  1990.  
  1991.                                default:
  1992.                                    break;
  1993.                            }
  1994.  
  1995.                        } else {
  1996.                            console.log('error submit!!');
  1997.                            return false;
  1998.                        }
  1999.                    });
  2000.                    });
  2001.                }else{
  2002.                    menuvue.$refs[formName].validate((valid) => {
  2003.                        console.log("valid",valid);
  2004.                        if (valid) {
  2005.                        console.log("type",type);
  2006.                            switch (type) {
  2007.                                case 1:
  2008.                                    menuvue.passportReg_new();
  2009.                                break;
  2010.                                case 2:
  2011.                                    menuvue.passportLogin_new();
  2012.                                break;
  2013.                                case 3:
  2014.                                console.log(this.VerifyForm);
  2015.                                $.ajax({
  2016.                                    url:'/api2/passport/verify-email',
  2017.                                    type:'post',
  2018.                                    dataType:'json',
  2019.                                    data:{
  2020.                                        verify_code:this.VerifyForm.Verify
  2021.                                    },
  2022.                                    success:function (data) {
  2023.                                        if (data.code==0) {
  2024.                                            menuvue.sign_login_bg_Visible = false
  2025.                                            menuvue.sign_Verify_Visible = false
  2026.                                            menuvue.new_source_from_Visible = true
  2027.                                        }else{
  2028.                                            menuvue.$message({
  2029.                                                message:data.message,
  2030.                                                type: 'warning'
  2031.                                            });
  2032.                                        }
  2033.                                    },
  2034.                                })
  2035.                                break;
  2036.                                default:
  2037.                                    break;
  2038.                            }
  2039.                        } else {
  2040.                            console.log('error submit!!');
  2041.                            return false;
  2042.                        }
  2043.                    });
  2044.                }
  2045.            },
  2046.            // 注册接口
  2047.            async passportReg(token){
  2048.                const fd = {
  2049.                    email: menuvue.signForm.email,
  2050.                    password: menuvue.signForm.pass,
  2051.                    is_sub: menuvue.signForm.type?"1":"0",
  2052.                    f_lottery: menuvue.f_lottery_source?"1":"0",
  2053.                    google_recaptcha_token:token,
  2054.                    google_recaptcha_version:'v3'
  2055.                }
  2056.  
  2057.                const _queryFn = (fd) => {
  2058.                    return  $.ajax({
  2059.                        url:'/api2/passport/reg',
  2060.                        type:'post',
  2061.                        dataType:'json',
  2062.                        data: fd,
  2063.                    })
  2064.                }
  2065.  
  2066.                const _resHandler = (data)=>{
  2067.                    if (data.code==0) {
  2068.                        menuvue.box_switch(4)
  2069.                    }else if (data.code==101) {
  2070.                        menuvue.box_switch(7)
  2071.                    }else {
  2072.                        menuvue.$message({
  2073.                            message: data.message,
  2074.                            type: 'error',
  2075.                        });
  2076.                    }
  2077.                }
  2078.  
  2079.                try {
  2080.                    menuvue.loading = false;
  2081.                    const res1 = await _queryFn(fd);
  2082.                    if (res1.code==104){
  2083.                        // v3人机验证分数过低,开启v2验证
  2084.                        const v2_token = await menuvue.recaptchaV2('#recaptcha_reg', 'REGISTER');
  2085.                        menuvue.loading = true;
  2086.                        const res2 = await _queryFn({
  2087.                            ...fd,
  2088.                            google_recaptcha_token:v2_token,
  2089.                            google_recaptcha_version:'v2'
  2090.                        });
  2091.                        menuvue.loading = false;
  2092.                        _resHandler(res2);
  2093.                    } else {
  2094.                        _resHandler(res1);
  2095.                    }
  2096.                } catch (error) {}
  2097.            },
  2098.            //跳过人机验证注册
  2099.            passportReg_new(){
  2100.                const fd = {
  2101.                    email: menuvue.signForm.email,
  2102.                    password: menuvue.signForm.pass,
  2103.                    is_sub: menuvue.signForm.type?"1":"0",
  2104.                    f_lottery: menuvue.f_lottery_source?"1":"0",
  2105.                }
  2106.  
  2107.                $.ajax({
  2108.                    url:'/api2/passport/reg',
  2109.                    type:'post',
  2110.                    dataType:'json',
  2111.                    data: fd,
  2112.                }).then(res => {
  2113.                    if (res.code == 0) {
  2114.                         menuvue.box_switch(4)
  2115.                    }else{
  2116.                        menuvue.$message({
  2117.                            message: res.message,
  2118.                            type: 'error',
  2119.                        });
  2120.                    }
  2121.                }).fail((jqXHR, textStatus, errorThrown) => {
  2122.                    menuvue.$message({
  2123.                        message: jqXHR.responseJSON.message,
  2124.                        type: 'error',
  2125.                    });
  2126.                });
  2127.            },
  2128.  
  2129.            // 登录接口
  2130.            async passportLogin(token){
  2131.                const fd = {
  2132.                    email: menuvue.loginForm.email,
  2133.                    password: menuvue.loginForm.pass,
  2134.                    google_recaptcha_token:token,
  2135.                    google_recaptcha_version:'v3'
  2136.                }
  2137.  
  2138.                const _queryFn = (fd) => {
  2139.                    return  $.ajax({
  2140.                        url:'/api2/passport/login',
  2141.                        type:'post',
  2142.                        dataType:'json',
  2143.                        data: fd,
  2144.                    })
  2145.                }
  2146.  
  2147.                const _resHandler = (res)=>{
  2148.                    if (res.code==0) {
  2149.                        window.location.reload()
  2150.                    }else if (res.code==101) {
  2151.  
  2152.                        menuvue.box_switch(7)
  2153.                    }else {
  2154.                        menuvue.$message({
  2155.                        message: res.message,
  2156.                        type: 'error',
  2157.                        });
  2158.                    }
  2159.                }
  2160.  
  2161.                try {
  2162.                    menuvue.loading = false;
  2163.                    const res1 = await _queryFn(fd);
  2164.                    if (res1.code==104){
  2165.                        // v3人机验证分数过低,开启v2验证
  2166.                        const v2_token = await menuvue.recaptchaV2('#recaptcha_login', 'LOGIN');
  2167.                        menuvue.loading = true;
  2168.                        const res2 = await _queryFn({
  2169.                            ...fd,
  2170.                            google_recaptcha_token:v2_token,
  2171.                            google_recaptcha_version:'v2'
  2172.                        });
  2173.                        menuvue.loading = false;
  2174.                        _resHandler(res2);
  2175.                    } else {
  2176.                        _resHandler(res1);
  2177.                    }
  2178.                } catch (error) {}
  2179.            },
  2180.  
  2181.            //跳过人机验证登录
  2182.            passportLogin_new(){
  2183.                const fd = {
  2184.                    email: menuvue.loginForm.email,
  2185.                    password: menuvue.loginForm.pass,
  2186.                }
  2187.  
  2188.               $.ajax({
  2189.                    url:'/api2/passport/login',
  2190.                    type:'post',
  2191.                    dataType:'json',
  2192.                    data: fd,
  2193.                }).then(res => {
  2194.                    if (res.code == 0) {
  2195.                        window.location.reload()
  2196.                    }else{
  2197.                        menuvue.$message({
  2198.                            message: res.message,
  2199.                            type: 'error',
  2200.                        });
  2201.                    }
  2202.                })
  2203.            },
  2204.  
  2205.            // 加载v2人机验证,返回token
  2206.            recaptchaV2(elName, action) {
  2207.                const $el = document.querySelector(elName);
  2208.                return new Promise ((resolve, reject) => {
  2209.                    grecaptcha.enterprise.render($el, {
  2210.                        'sitekey' : '6LeS_JAnAAAAAO70yksdPjVAwYyGVwka62CQyquj',
  2211.                        'action': action,
  2212.                        'callback': function(v2_token) {
  2213.                            resolve(v2_token)
  2214.                        }
  2215.                    });
  2216.                })
  2217.            },
  2218.            new_source_from_submit(){
  2219.                if (this.new_source_check_index!="") {
  2220.                    $.ajax({
  2221.                    url:'/main/questionnaire-add',
  2222.                    type:'post',
  2223.                    dataType:'json',
  2224.                    data:{
  2225.                        from:this.new_source_check_index
  2226.                    },
  2227.                    success:function (data) {
  2228.                        menuvue.new_source_from_Visible = false
  2229.                        window.location.reload()
  2230.                    }
  2231.                })
  2232.                }
  2233.                
  2234.            },
  2235.            // 显示/隐藏黑五弹窗 fail claim success detail
  2236.            showBlackFridayModal(type, show = true){
  2237.                const {lottery_sta, is_today_lottery} = this.blackFridayModal;
  2238.  
  2239.                // 初始化弹窗状态
  2240.                this.black_friday_Visible = show;
  2241.                this.blackFridayModal.showLottery = false;
  2242.                this.blackFridayModal.showResult = false;
  2243.                this.blackFridayModal.showRecord = false;
  2244.                this.blackFridayModal.showDetail = false;
  2245.                this.blackFridayModal.claimDisabled = false;
  2246.  
  2247.                switch(type){
  2248.                    // 抽奖转盘
  2249.                    case 'lottery':
  2250.                        this.blackFridayModal.showLottery = show;
  2251.                        break;
  2252.                    // 显示结果
  2253.                    case 'result':
  2254.                        this.blackFridayModal.showResult = show;
  2255.                        if(is_today_lottery == 1){ // 未中奖
  2256.                            this.blackFridayModal.resultType = 'fail';
  2257.                        }else if(is_today_lottery == 2){ // 已中奖
  2258.                            this.blackFridayModal.resultType = 'claim';
  2259.                            if(lottery_sta == 3){ // 已中奖且已领奖
  2260.                                this.blackFridayModal.resultType = 'success';
  2261.                            }
  2262.                        }
  2263.                        break;
  2264.                    // 显示记录列表
  2265.                    case 'record':
  2266.                        this.blackFridayModal.showRecord = show;
  2267.                        this.getLotteryRecord();
  2268.                        break;
  2269.                    // 显示中奖详情
  2270.                    case 'detail':
  2271.                        this.blackFridayModal.showDetail = show;
  2272.                        break;
  2273.                }
  2274.            },
  2275.            seeLotteryDetail(lottery_id){
  2276.                const _this = this;
  2277.                _this.loading = true;
  2278.                $.ajax({
  2279.                    url:"/api2/black-friday/my-lottery-win-detail",
  2280.                    type:'post',
  2281.                    dataType:'json',
  2282.                    data:{lottery_id},
  2283.                    success:function (res) {
  2284.                        const {code, data, message} = res;
  2285.                        // console.log('seeLotteryDetail => ',data);
  2286.                        if(code != 0) return;
  2287.                        
  2288.                        _this.blackFridayModal.myLotteryWin = {};
  2289.                        Object.assign(_this.blackFridayModal,data);
  2290.                        _this.showBlackFridayModal('detail');
  2291.                    },
  2292.                    error:function (err) {},
  2293.                    complete(){
  2294.                        _this.loading = false;
  2295.                    }
  2296.                });
  2297.            },
  2298.            /* 黑五转盘 */
  2299.            ratating() {
  2300.                // 未登录
  2301.                if("0" <= 0) {
  2302.                    this.box_switch(6);
  2303.                    this.black_friday_Visible = false;
  2304.                    return;
  2305.                }
  2306.  
  2307.                // 已点过抽奖
  2308.                if(!this.blackFridayModal.on) return;
  2309.                this.blackFridayModal.on = false;
  2310.  
  2311.                const _this = this;
  2312.                _this.loading = true;
  2313.                // timer计时器
  2314.                let timer = null;
  2315.                // 盛放奖品的里边转盘div
  2316.                const inBox = document.querySelector('.turntable-img');
  2317.  
  2318.                $.ajax({
  2319.                    url:"/api2/black-friday/lottery-req",
  2320.                    type:'post',
  2321.                    dataType:'json',
  2322.                    success:function (res) {
  2323.                        const {code, data, message} = res;
  2324.                        if(code == 0){
  2325.                            _this.blackFridayModal.activity = data.activity;
  2326.  
  2327.                            // 旋转时长,这里倒计时的时长和css设置的时长对应(transition: all 3s;)
  2328.                            _this.blackFridayModal.diff = 360 - data.prize.wheel*45;
  2329.                            _this.blackFridayModal.rdm += _this.blackFridayModal.diff;
  2330.                            inBox.style.transform = 'rotate(' + _this.blackFridayModal.rdm + 'deg)';
  2331.                            timer = setTimeout(function() {
  2332.                                let is_today_lottery_r
  2333.                                if (data.prize_code>0) {
  2334.                                    is_today_lottery_r = 2
  2335.                                }else{
  2336.                                    is_today_lottery_r = 1
  2337.  
  2338.                                }
  2339.                                Object.assign(_this.blackFridayModal, data, { is_today_lottery: is_today_lottery_r });
  2340.                                _this.showBlackFridayModal('result');
  2341.                            }, 3000);
  2342.                        }else{
  2343.                            _this.$message({
  2344.                                message:message,
  2345.                                type: 'warning'
  2346.                            });
  2347.                        }
  2348.                    },
  2349.                    complete(){
  2350.                        _this.loading = false;
  2351.                        // 转盘转三秒,三秒后再解除限制
  2352.                        setTimeout(() => {
  2353.                            _this.blackFridayModal.on = true;
  2354.                        }, 3000);
  2355.                    }
  2356.                });
  2357.            },
  2358.            getLotteryInfo(){
  2359.                const _this = this;
  2360.                _this.loading = true;
  2361.                $.ajax({
  2362.                    url:"/api2/black-friday/lottery-info",
  2363.                    type:'post',
  2364.                    dataType:'json',
  2365.                    success:function (res) {
  2366.                        const {code, data, message} = res;
  2367.                        _this.wheel_img = {
  2368.                            'background':'url("'+data.wheel_img+'")no-repeat center',
  2369.                            'background-size': 'contain'
  2370.                        }
  2371.                        // 盛放奖品的里边转盘div
  2372.                        // console.log('/api2/black-friday/lottery-info => ',data);
  2373.                        if(code == 0){
  2374.                            Object.assign(_this.blackFridayModal,data);
  2375.                            if(data.is_today_lottery == 0){
  2376.                                _this.showBlackFridayModal('lottery');
  2377.                            }else{
  2378.                                _this.showBlackFridayModal('result');
  2379.                            }
  2380.                        }else{
  2381.                            _this.$message({
  2382.                                message:message,
  2383.                                type: 'warning'
  2384.                            });
  2385.                        }
  2386.                    },
  2387.                    error:function (err) {},
  2388.                    complete(){
  2389.                        _this.loading = false;
  2390.                    }
  2391.                });
  2392.            },
  2393.            getLotteryRecord(){
  2394.                const _this = this;
  2395.                _this.loading = true;
  2396.                $.ajax({
  2397.                    url:"/api2/black-friday/my-lottery-win-list",
  2398.                    type:'post',
  2399.                    dataType:'json',
  2400.                    success:function (res) {
  2401.                        const {code, data, message} = res;
  2402.                        // console.log('getLotteryRecord => ',data);
  2403.                        if(code == 0){
  2404.                            Object.assign(_this.blackFridayModal,data);
  2405.                        }else{
  2406.                            _this.$message({
  2407.                                message:message,
  2408.                                type: 'warning'
  2409.                            });
  2410.                        }
  2411.                    },
  2412.                    error:function (err) {},
  2413.                    complete(){
  2414.                        _this.loading = false;
  2415.                    }
  2416.                });
  2417.            },
  2418.            lotteryClaim(){
  2419.                if(this.blackFridayModal.paypalAccount == '') return;
  2420.                this.lotteryTrace(5);
  2421.                
  2422.                const _this = this;
  2423.                _this.loading = true;
  2424.  
  2425.                $.ajax({
  2426.                    url:"/api2/black-friday/lottery-claim",
  2427.                    type:'post',
  2428.                    dataType:'json',
  2429.                    data:{
  2430.                        paypal_account: _this.blackFridayModal.paypalAccount
  2431.                    },
  2432.                    success:function (res) {
  2433.                        const {code, data, message} = res;
  2434.                        // console.log('lotteryClaim => ',data);
  2435.                        if(code == 0){
  2436.                            Object.assign(_this.blackFridayModal,data,{lottery_sta:3});
  2437.                            _this.showBlackFridayModal('result');
  2438.                        }else{
  2439.                            _this.$message({
  2440.                                message:message,
  2441.                                type: 'warning'
  2442.                            });
  2443.                        }
  2444.                    },
  2445.                    error:function (err) {},
  2446.                    complete(){
  2447.                        _this.loading = false;
  2448.                    }
  2449.                });
  2450.            },
  2451.            // 点击追踪 追踪类型:0未知 - 1黑五抽奖通栏点击 - 2点击抽奖 - 3抽奖弹窗get coupon按钮 - 4抽奖弹窗see deal按钮 - 5领奖按钮
  2452.            lotteryTrace(trace_type){
  2453.                $.ajax({
  2454.                    url:"/api2/black-friday/trace",
  2455.                    type:'post',
  2456.                    dataType:'json',
  2457.                    data:{trace_type}
  2458.                });
  2459.            },
  2460.            // 上报用户当日大转盘主动弹窗
  2461.            setLotteryModal(){
  2462.                $.ajax({
  2463.                    url:"/api2/black-friday/lottery-modal",
  2464.                    type:'post',
  2465.                    dataType:'json',
  2466.                });
  2467.            },
  2468.  
  2469.            //获取抽奖入口是不展示信息
  2470.            getgiveaway(){
  2471.                let _this = this
  2472.                $.ajax({
  2473.                    url: "/prize/is-giveaway",
  2474.                    method: 'post',
  2475.                    cache: false,
  2476.                    dataType:'json',
  2477.                    success: function (data) {
  2478.                        if(data.code == 200){
  2479.                            if (data.data.is_show == 1) {
  2480.                                _this.$refs.prize_btn.style.display = 'block'
  2481.                            }
  2482.                        }
  2483.                    }
  2484.                });
  2485.            },
  2486.  
  2487.            // 游客领码
  2488.            getCodeCollection() {
  2489.                let _this = this
  2490.                $.get(`/code/get-code?id=${_this.select_product_id}&continue_get_code=1`, function(response) {
  2491.                    // 处理成功的响应
  2492.                    response = JSON.parse(response)
  2493.                    console.log(response);
  2494.                    this.sign_login_bg_Visible = false
  2495.                    const h = menuvue.$createElement;
  2496.                    let href = window.location.href;
  2497.  
  2498.                    if(href.indexOf('/product') != -1) {
  2499.                        menuvue.$message({
  2500.                            message: h("p", { style: "display: flex" }, [
  2501.                                h(
  2502.                                    "span",
  2503.                                    { style: "font-size: 12px;color: #FFFFFF;margin:0 0 0 6px;font-weight: bold" },
  2504.                                    `${response.msg.data.msg}`
  2505.                                ),
  2506.                            ]),
  2507.                            iconClass: "iconfont",
  2508.                            offset: 500,
  2509.                            customClass: "customClasssuccess"
  2510.                            // duration: 0
  2511.                        });
  2512.                        
  2513.                        const match = href.match(/\/product\/(\d+)/);
  2514.  
  2515.                        let productId = null;
  2516.                        if (match && match[1]) productId = match[1];
  2517.  
  2518.                        console.log(productId,_this.select_product_id);
  2519.                        
  2520.                        if (productId == _this.select_product_id) {
  2521.                            setTimeout(() => {
  2522.                                window.location.reload();
  2523.                            }, 1000);
  2524.                        }else{
  2525.                            if(response.code == 200 || response.code == 700){
  2526.                                _this.sign_login_bg_Visible = false
  2527.                                window.open(`/product/${_this.select_product_id}`)
  2528.                            } else if (response.msg == 'Invalid Request.'){
  2529.                                menuvue.$message.error('Too many attempts. Try again later.')
  2530.                            } else{
  2531.                                menuvue.$message({
  2532.                                    message: response.msg,
  2533.                                    type: 'error',
  2534.                                });
  2535.                            }
  2536.                        }
  2537.  
  2538.                    }else{
  2539.                        _this.sign_login_bg_Visible = false
  2540.                        window.open(`/product/${_this.select_product_id}`)
  2541.                    }
  2542.                    
  2543.                }).fail(function(jqXHR, textStatus, errorThrown) {
  2544.                    // 处理错误
  2545.                    console.error('请求失败:', textStatus, errorThrown);
  2546.                });
  2547.            },
  2548.            //选中app下载盒子
  2549.            select_app_box(index) {
  2550.                if (this.selectAppId!==0) {
  2551.                    //去除选中态
  2552.                    this.select_app_box_deactive(this.selectAppId)
  2553.                }
  2554.                //选中态
  2555.                this.select_app_box_active(index)
  2556.            },
  2557.            //关闭app下载弹窗
  2558.            close_download_app_page() {
  2559.                document.querySelector(".download-app-entrances-box").style.display = "none"
  2560.                //去除选中app下载盒子
  2561.                this.select_app_box_deactive(this.selectAppId)
  2562.                this.selectAppId = 0
  2563.            },
  2564.            //app下载盒子选中态
  2565.            select_app_box_active(index) {
  2566.                this.selectAppId = index
  2567.                document.querySelector("#app-box" + this.selectAppId).className="box-active"
  2568.                document.querySelector("#app-button" + this.selectAppId).className="download-button-active"
  2569.            },
  2570.            //app下载盒子去除选中态
  2571.            select_app_box_deactive(index) {
  2572.                document.querySelector("#app-box" + index).className="box"
  2573.                document.querySelector("#app-button" + index).className="download-button"
  2574.            },
  2575.            //点击app下载按钮 跳转处理
  2576.            app_download_button_click(index) {
  2577.                if (index === 1) {
  2578.                    window.open("https://apps.apple.com/us/app/vipon-amazon-coupon/id1272023223")
  2579.                }else if (index === 2) {
  2580.                    window.open("https://play.google.com/store/apps/details?id=com.vipon")
  2581.                }else if (index === 3) {
  2582.                    window.open("https://play.google.com/store/apps/details?id=com.vipon.uniapp")
  2583.                }
  2584.            }
  2585.        },
  2586.        mounted() {
  2587.            this.getgiveaway()
  2588.  
  2589.            if ("0">0) {
  2590.                $.ajax({
  2591.                    url:'/api2/passport/email-status',
  2592.                    type:'post',
  2593.                    dataType:'json',
  2594.                    data:{
  2595.                        
  2596.                    },
  2597.                    success:function (data) {
  2598.                        console.log(data);
  2599.                        if (data.data.email_confirmed==1) {
  2600.                            menuvue.is_verify_email = true
  2601.                        }else {
  2602.                           menuvue.is_verify_email = false
  2603.                        }
  2604.                        console.log(menuvue.is_verify_email);
  2605.                    },
  2606.                    error:function (e) {
  2607.  
  2608.                    }})
  2609.            }else{
  2610.                this.googleLoginH5(document.querySelector('#google_account1'))
  2611.                google.accounts.id.prompt()
  2612.            }
  2613.  
  2614.        },
  2615.        computed:{
  2616.  
  2617.        }
  2618.    })
  2619.  
  2620.    var timerCount;
  2621.    // 监听页面窗口关闭
  2622.    $(window).unload(function(){
  2623.        if(timerCount){
  2624.            clearInterval(timerCount);
  2625.        }
  2626.    });
  2627.    // 判断是否显示注册抽奖窗口
  2628.    function isShowLoginActivity(){
  2629.        let href = window.location.href;
  2630.        let self = this;
  2631.        if(href.indexOf('/login') < 0 && href.indexOf('/signup') < 0){
  2632.            timerCount = setInterval(()=>{
  2633.                console.log("计时结束")
  2634.                clearInterval(self.timerCount);
  2635.                showLoginActivity();
  2636.            },15000);
  2637.        }
  2638.    }
  2639.    function showLoginActivity(){
  2640.        let isOneDataShowThree = false;// 是否一天显示了三次
  2641.        let date = new Date();
  2642.        const dateData = date.getFullYear().toString() + (date.getMonth()+1).toString() +date.getDate().toString();
  2643.        let saveDataValue = localStorage.getItem("OneDataShowThreeData")
  2644.        if(saveDataValue){
  2645.            const value = JSON.parse(saveDataValue)
  2646.            if(value.timer == dateData){
  2647.                if(parseInt(value.number) > 3){
  2648.                    isOneDataShowThree = true;
  2649.                }else{
  2650.                    localStorage.setItem("OneDataShowThreeData", JSON.stringify({
  2651.                        timer:dateData,
  2652.                        number: parseInt(value.number) + 1
  2653.                    }));
  2654.                }
  2655.            }else{
  2656.                localStorage.setItem("OneDataShowThreeData", JSON.stringify({
  2657.                    timer:dateData,
  2658.                    number:1
  2659.                }));
  2660.            }
  2661.        }else{
  2662.            localStorage.setItem("OneDataShowThreeData", JSON.stringify({
  2663.                timer:dateData,
  2664.                number:1,
  2665.            }));
  2666.        }
  2667.        if(!isOneDataShowThree){
  2668.            menuvue.f_lottery_source = true
  2669.            $('#loginActivity').modal('show');// 显示注册抽奖弹窗
  2670.            regLotteryTrace(1);// 数据埋点;2:跳转;1:显示
  2671.            console.log('menuvue.f_lottery_source',menuvue.f_lottery_source);
  2672.        }
  2673.    }
  2674.  
  2675.    var other_reason = ""
  2676.  
  2677.    localStorage.setItem("new_source_page_item_select","")
  2678.    console.log(localStorage.getItem("new_source_page_item_select"));
  2679.    var new_source_page_list = JSON.parse('{"1":"Recommended by Family \/ Friends \/ Colleagues (word of mouth)","2":"Ads on Google \/ Search Engine","3":"Organic Search \/ Google Search","4":"Via Another Website","5":"Via A Blog Post - About Vipon","6":"App Store \/ Google Play Ads","7":"App Store \/ Google Play Search","8":"Facebook Ads","9":"Facebook Posts","10":"Youtube Videos","11":"TikTok Videos","12":"Reddit Posts","13":"Instagram Posts","14":"Other"}')
  2680.    console.log(new_source_page_list);
  2681.    for (const key in new_source_page_list) {
  2682.        if (Object.hasOwnProperty.call(new_source_page_list, key)) {
  2683.            const element = new_source_page_list[key];
  2684.            $(".new_source_page_body").append('<div class="new_source_page_item_blur" index="'+key+'" ><div class="new_source_page_item_text" >'+element+'</div></div>')
  2685.        }
  2686.    }
  2687.  
  2688.    $(".new_source_page_body").click((e)=>{
  2689.        document.querySelectorAll(".new_source_page_item_active").forEach((element)=>{
  2690.            element.className="new_source_page_item_blur"
  2691.        })
  2692.        e.target.className="new_source_page_item_active"
  2693.  
  2694.        if (document.querySelector(".new_source_page_body_nosubmit")) {
  2695.            document.querySelector(".new_source_page_body_nosubmit").className="new_source_page_body_submit"
  2696.        }
  2697.        var new_source_page_item_select = e.target.getAttribute("index")
  2698.        localStorage.setItem("new_source_page_item_select",new_source_page_item_select)
  2699.        if (new_source_page_item_select == 14) {
  2700.            $('.new_source_page_body_input').css('display','block')
  2701.  
  2702.        }else{
  2703.            $('.new_source_page_body_input').css('display','none')
  2704.            $('.new_source_page_body_input').val('')
  2705.            other_reason = ""
  2706.        }
  2707.    })
  2708.    $(".close_new_source_page").click(()=>{
  2709.        document.querySelector(".new_source_page_box").style.display = "none"
  2710.        let url = window.location.href;
  2711.        if(url.indexOf('verified') >= 0){
  2712.        let urlStr = url.split('?')[1];
  2713.        if(urlStr.indexOf('&')>=0){
  2714.            arrayUrl = urlStr.split('&');
  2715.            urlStr = '';
  2716.            for(let i=0;i<arrayUrl.length;i++){
  2717.                if(arrayUrl[i].indexOf('verified')>=0){
  2718.                    urlStr = arrayUrl[i];
  2719.                }
  2720.            }
  2721.            if(urlStr.split('=')[1]){
  2722.                document.querySelector(".close_new_source_page").innerHTML = "Skip"
  2723.                $('#is_man').modal('show')
  2724.            }
  2725.        }
  2726.    }
  2727.    })
  2728.    $("#new_source_submit").click(()=>{
  2729.        let item = localStorage.getItem("new_source_page_item_select")
  2730.        
  2731.        $.ajax({
  2732.            url:'/main/questionnaire-add',
  2733.            type:'post',
  2734.            dataType:'json',
  2735.            data:{
  2736.                from:item,
  2737.                reason:$('.new_source_page_body_input').val()
  2738.            },
  2739.            success:function (data) {
  2740.                document.querySelector(".new_source_submit_toast").style.display = "block"
  2741.                let time1 = setTimeout(()=>{
  2742.                    clearTimeout(time1)
  2743.                    document.querySelector(".new_source_submit_toast").style.display = "none"
  2744.                    document.querySelector(".new_source_page_box").style.display = "none"
  2745.                    let url = window.location.href;
  2746.                    if(url.indexOf('verified') >= 0){
  2747.                    let urlStr = url.split('?')[1];
  2748.                    if(urlStr.indexOf('&')>=0){
  2749.                        arrayUrl = urlStr.split('&');
  2750.                        urlStr = '';
  2751.                        for(let i=0;i<arrayUrl.length;i++){
  2752.                            if(arrayUrl[i].indexOf('verified')>=0){
  2753.                                urlStr = arrayUrl[i];
  2754.                            }
  2755.                        }
  2756.                        if(urlStr.split('=')[1]){
  2757.                            document.querySelector(".close_new_source_page").innerHTML = "Skip"
  2758.                            $('#is_man').modal('show')
  2759.                        }
  2760.                    }
  2761.                }
  2762.                },3000)
  2763.            },
  2764.            error:function (e) {
  2765.  
  2766.            }
  2767.        })
  2768.    })
  2769.  
  2770.    // 点击关闭注册抽奖窗口
  2771.    $('#loginActivity img').click(function(){
  2772.        console.log("点击关闭注册抽奖窗口")
  2773.        $('#loginActivity').modal('hide');
  2774.        if(timerCount){
  2775.            clearInterval(timerCount);
  2776.        }
  2777.    })
  2778.    // 点击注册抽奖跳转按钮
  2779.    $('#loginActivity .but').click(function(){
  2780.        console.log("点击注册抽奖跳转按钮")
  2781.        $('#loginActivity').modal('hide');
  2782.        regLotteryTrace(2);// 数据埋点;2:跳转;1:显示
  2783.        to_verify_email()
  2784.        $('#sign_login_bg_Visible').css('display','block')
  2785.        menuvue.f_lottery_source == true
  2786.        
  2787.    })
  2788.    function regLotteryTrace(trace_type) {
  2789.        $.ajax({
  2790.            url:"/account/reg-lottery-trace",
  2791.            type:'post',
  2792.            dataType:'json',
  2793.            data:{
  2794.                trace_type: trace_type,
  2795.            },
  2796.            success:function (data) {},
  2797.            error:function (err) {}
  2798.        });
  2799.    }
  2800.  
  2801.    $(function () {
  2802.        $('[data-toggle="tooltip"]').tooltip()
  2803.    });
  2804.  
  2805.    //按钮点击记录,用于运营统计
  2806.    function clickRecord(btn_code) {
  2807.        $.ajax({
  2808.            url:"/main/click-record",
  2809.            type:'post',
  2810.            dataType:'json',
  2811.            data:{
  2812.                btn_code: btn_code,
  2813.            },
  2814.            success:function (data) {
  2815.  
  2816.            },
  2817.            error:function (err) {
  2818.  
  2819.            }
  2820.        });
  2821.    }
  2822.    // 追踪产品点击
  2823.    function productClickRecord(product_id, position) {
  2824.        $.ajax({
  2825.            url: '/api2/product/click-trace',
  2826.            method: 'POST',
  2827.            data: {
  2828.                product_id: product_id,
  2829.                position: position
  2830.            },
  2831.            dataType: "json"
  2832.        });
  2833.    }
  2834.    const getTextWidht = (text)=>{
  2835.        let dom = document.createElement('span');
  2836.        let width = null;
  2837.            dom.style.display = 'inline-block'
  2838.            dom.textContent = text;
  2839.            document.body.appendChild(dom)
  2840.         width = dom.clientWidth;
  2841.            document.body.removeChild(dom)
  2842.            return width
  2843.    }
  2844.    const getHotWord = ()=>{
  2845.        const offsetWidth = document.getElementById("hot_list").offsetWidth;
  2846.        let textWidth = 0;
  2847.        const nowDate = +new Date();
  2848.        const { date, list } = localStorage.getItem("vipon_hot")?JSON.parse(localStorage.getItem("vipon_hot")):{};
  2849.        
  2850.        if(list && date > nowDate){
  2851.            let str = "";
  2852.            list.forEach((val)=>{
  2853.                textWidth += getTextWidht(val.keyword) + 15;
  2854.                if(textWidth>offsetWidth)return;
  2855.                str += `<span style="margin-right: 15px;display: block;"><a style="display: block;width: max-content;color:${val.color||'rgb(153, 153, 153)'}" href="/promotion/index?search=${val.keyword}&group=&module=20&click_module=60">${val.keyword}</a></span>`
  2856.                })
  2857.            $("#hot_list").append(str)
  2858.            return
  2859.        }
  2860.        $.ajax({
  2861.            url:"https://search.myvipon.com/api/hot/category",
  2862.            type:'get',
  2863.            data:{
  2864.                domain: "www.amazon.com",
  2865.            },
  2866.            success:function ({code, data}) {
  2867.                const historyDate = +new Date() + 30*60*1000;
  2868.                let str = "";
  2869.                if(data.searchKeywordTop&&data.searchKeywordTop.length){
  2870.  
  2871.                    let list = data.searchKeywordTop.splice(0,8);
  2872.  
  2873.                    list.forEach(val=>{
  2874.                        textWidth += getTextWidht(val.keyword) + 15;
  2875.                        if(textWidth>offsetWidth)return;
  2876.                    str += `<span style="margin-right: 15px;display: block;"><a style="display: block;width: max-content;color:${val.color||'rgb(153, 153, 153)'}" href="/promotion/index?search=${val.keyword}&group=&module=20&click_module=60">${val.keyword}</a></span>`
  2877.                })
  2878.                $("#hot_list").append(str)
  2879.                localStorage.setItem("vipon_hot",JSON.stringify({date:historyDate, list}))
  2880.            }
  2881.  
  2882.            },
  2883.            error:function (err) {
  2884.  
  2885.            }
  2886.        });
  2887.    }
  2888.    getHotWord()
  2889.  
  2890.    //黑五统计
  2891.    function blackFridayTrace(stat_type, btn_code) {
  2892.        $.ajax({
  2893.            url:"/api/black-friday/trace",
  2894.            type:'post',
  2895.            dataType:'json',
  2896.            data:{
  2897.                stat_type: stat_type,
  2898.                btn_code: btn_code,
  2899.            },
  2900.            success:function (data) {
  2901.  
  2902.            },
  2903.            error:function (err) {
  2904.  
  2905.            }
  2906.        });
  2907.    }
  2908.  
  2909.   function christmasCountTime(timestamp){
  2910.        if(timestamp<0){
  2911.            window.location.reload();
  2912.            return;
  2913.        }
  2914.        let timer = setTimeout(function (){
  2915.            let d = Math.floor(timestamp / 86400);
  2916.            let h = Math.floor(((timestamp % 86400)) / 3600);
  2917.            let m = Math.floor((timestamp % 86400 % 3600) / 60);
  2918.            let s = Math.floor((timestamp % 86400 % 3600) % 60);
  2919.            if(d<10) d="0"+d;
  2920.            if(h<10) h="0"+h;
  2921.            if(m<10) m="0"+m;
  2922.            if(s<10) s="0"+s;
  2923.            let html = `<div class="flex">
  2924.                     <div class="num_col">
  2925.                     <span class="time-number">${d}</span>
  2926.                     </div>
  2927.                     <span class="time-text">Days</span>
  2928.                 </div>
  2929.                 <div class="flex">
  2930.                     <div class="num_col">
  2931.                     <span class="time-number">${h}</span>
  2932.                     </div>
  2933.                     <span class="time-text">Hours</span>
  2934.                 </div>
  2935.                 <div class="flex">
  2936.                     <div class="num_col">
  2937.                     <span class="time-number">${m}</span>
  2938.                     </div>
  2939.                     <span class="time-text">Mins</span>
  2940.                 </div>
  2941.                 <div class="flex">
  2942.                     <div class="num_col">
  2943.                     <span class="time-number">${s}</span>
  2944.                     </div>
  2945.                     <span class="time-text">Secs</span>
  2946.                 </div>`;
  2947.            $('.christmas_time .countdown .countdown-time').html(html);
  2948.            timestamp-=1;
  2949.            clearTimeout(timer);
  2950.            christmasCountTime(timestamp);
  2951.        },1000)
  2952.   }
  2953.    let christmasTimestamp = 0;
  2954.    if(christmasTimestamp>0){
  2955.        christmasCountTime(christmasTimestamp);
  2956.    }
  2957.    $('#btn-vshow').click(function () {
  2958.        window.open('/vshow/list');
  2959.        clickRecord(108);
  2960.    });
  2961.  
  2962.    // 退出登录清除每日登录发放积分成功的cookie
  2963.    $('.log-out').click(function () {
  2964.        clearCookie('login_point');
  2965.    })
  2966.  
  2967.    // 设置cookie
  2968.    function setCookies(cname, cvalue, exdays) {
  2969.        var d = new Date();
  2970.        d.setTime(d.getTime() + (exdays * 2460 * 60 * 1000));
  2971.        var expires = "expires" + d.toUTCString();
  2972.        document.cookie = cname + "=" + cvalue + "; " + expires + "; path=/";
  2973.    }
  2974.  
  2975.    // 获取cookie
  2976.    function getCookies(cname) {
  2977.        var name = cname + "=";
  2978.        var ca = document.cookie.split(';');
  2979.        for (var i = 0; i < ca.length; i++) {
  2980.            var c = ca[i];
  2981.            while ((c.charAt(0) == ' ')) c = c.substring(1);
  2982.            if (c.indexOf(name) != -1) return c.substring(name.length, c.length);
  2983.        }
  2984.        return "";
  2985.    }
  2986.  
  2987.    // 清除cookie
  2988.    function clearCookie(name) {
  2989.        setCookies(name, "", -1);
  2990.    }
  2991.  
  2992.    $('#btn-post-add').click(function () {
  2993.        clickRecord(102);
  2994.    });
  2995.  
  2996.        // clear message red
  2997.    function clearMessageRed(This){
  2998.        var newThis = $(This);
  2999.        var data={
  3000.            message_id:$(This).attr('data-message'),
  3001.            reviewer_id:0        }
  3002.        $.ajax({
  3003.            url:"/shopper/message-center/show",
  3004.            type:'post',
  3005.            data:data,
  3006.            dataType:'json',
  3007.            success:function (data) {
  3008.                if(data.code==200){
  3009.                    if(data.data.group==3||data.data.group==4){
  3010.                        $('#headerMsg .msg-content-body div').html(data.data.content);
  3011.                        $('#headerMsg').modal('show');
  3012.                    }
  3013.                    if(newThis.find('.msg-head-title').length>0&&newThis.find('.msg-head-title').css('display')!='none'){
  3014.                        newThis.find('.msg-head-title').css('display','none');
  3015.                        var num = $('#header .dropdown .btn .number').html()-1;
  3016.                        if(num>0){
  3017.                            $('#header .dropdown .btn .number').html(num);
  3018.                        }else{
  3019.                            $('#header .dropdown .btn .number').html(0);
  3020.                        }
  3021.                    }
  3022.  
  3023.                }
  3024.            },
  3025.            error:function (err) {
  3026.  
  3027.            }
  3028.        })
  3029.    }
  3030.  
  3031.    $('#header .message ul a:not(.more-msg)').on('click',function(){
  3032.        if ($('#headerSellerMsg .seller-msg a').length!=0) {
  3033.            $('#headerSellerMsg .seller-msg a').remove()
  3034.        }
  3035.    
  3036.        if($(this).attr('data-toggle')) {
  3037.            if($(this).attr('href')=='#headerMsgPaidArticles'){
  3038.                let tip = $(this).attr('data-vshowTop');
  3039.                let price = $(this).attr('data-vshowPrice');
  3040.                let url = $(this).attr('data-vshowUrl');
  3041.                $($('#headerMsgPaidArticles span')[0]).html(tip);
  3042.                $($('#headerMsgPaidArticles span')[1]).html('$'+price);
  3043.                $('#headerMsgPaidArticles span').unbind();
  3044.                $($('#headerMsgPaidArticles span')[0]).on('click',function (){
  3045.                    window.location.href='/post/'+url;
  3046.                })
  3047.                $($('#headerMsgPaidArticles span')[1]).on('click',function (){
  3048.                    window.location.href='/shopper/thumbs/index?ref=shopper_post';
  3049.                })
  3050.            }
  3051.            clearMessageRed(this);
  3052.            return ;
  3053.        }
  3054.        if(!$(this).hasClass("noTarget")){
  3055.            window.location.href=$(this).attr('href');
  3056.        }else if($(this).attr('data-id')){
  3057.            var newThis = $(this);
  3058.            var data={
  3059.                art_product_report_id:$(this).attr('data-id'),
  3060.                message_id:$(this).attr('data-message')
  3061.            }
  3062.            console.log("发送");
  3063.  
  3064.            $.ajax({
  3065.                url:"/shopper/my/seller-reply",
  3066.                type:'post',
  3067.                data:data,
  3068.                dataType:'json',
  3069.                success:function (data) {
  3070.                    if(data.code==200){
  3071.                        $('#headerSellerMsg .product-msg').attr('href',"https://www.myvipon.com/product/"+data.data.product_id);
  3072.                        $('#headerSellerMsg .msg-show-product .btn').attr('href',"https://www.myvipon.com/product/"+data.data.product_id);
  3073.                        $('#headerSellerMsg .product-msg .msg-left-img img').attr('src',data.data.image_large);
  3074.                        $('#headerSellerMsg .product-msg .product-msg-title').html(data.data.art_name);
  3075.                        $('#headerSellerMsg .buyer-msg .buyer-msg-time').html(data.data.c_time);
  3076.                        $('#headerSellerMsg .buyer-msg .buyer-msg-text').html(data.data.feedback_reason);
  3077.                        $('#headerSellerMsg .seller-msg .seller-msg-time span').html(data.data.r_time);
  3078.                        $('#headerSellerMsg .seller-msg .seller-msg-text').html(data.data.seller_reply);
  3079.                        console.log("发送成功开始添加");
  3080.                        if (data.data.reply_image[0]!=''){
  3081.                            data.data.reply_image.forEach((x)=>{
  3082.                                $('#headerSellerMsg .seller-msg').append('<a  target="_blank" href="'+x+'"><img class="seller-msg_img" src="'+x+'" alt=""></a>')
  3083.                            })
  3084.                        }
  3085.                        $('#headerSellerMsg').modal('show');
  3086.                        if(newThis.find('.msg-head-title').length>0&&newThis.find('.msg-head-title').css('display')!='none'){
  3087.                            newThis.find('.msg-head-title').css('display','none');
  3088.                            var num = $('#header .dropdown .btn .number').html()-1;
  3089.                            if(num>0){
  3090.                                $('#header .dropdown .btn .number').html(num);
  3091.                            }else{
  3092.                                $('#header .dropdown .btn .number').html(0);
  3093.                            }
  3094.                        }
  3095.                    }
  3096.                },
  3097.                error:function (err) {
  3098.                }
  3099.            })
  3100.        }else{
  3101.            clearMessageRed(this);
  3102.        }
  3103.    });
  3104.  
  3105.    //Category select
  3106.    $('#header .head-search .dropdown-menu > li > a').on('click', function (e) {
  3107.        e.preventDefault();
  3108.        $('#dropdownMenu1 .text-category').html($(this).html());
  3109.        $('#header .head-search .dropdown-menu > li > a.active').removeClass('active');
  3110.        $(this).addClass('active');
  3111.  
  3112.        //成人分类点击追踪
  3113.        if ($(this).attr('data-group') == 'adult-products') {
  3114.            clickRecord(32)
  3115.        }
  3116.    })
  3117.    //flag select
  3118.    $('.flag .dropdown-menu>li').bind('click', function () {
  3119.        var domain = $(this).data('domain');
  3120.        var flag_src = $(this).find('img').attr('src');
  3121.        $('.flag>a img').attr("src", flag_src);
  3122.        setCookie("d2018", domain, 365);
  3123.        $.ajax({
  3124.            url:"/main/change-domain",
  3125.            type:'post',
  3126.            data:{"domain":domain},
  3127.            dataType:'json',
  3128.            success:function (data) {
  3129.                window.location.reload();
  3130.            },
  3131.            error:function (err) {}
  3132.        });
  3133.    });
  3134.  
  3135.    function setCookie(name, value, days) {
  3136.        var exp = new Date();
  3137.        exp.setTime(exp.getTime() + days * 24 * 60 * 60 * 1000);
  3138.        document.cookie = name + "=" + value + ";expires=" + exp.toGMTString() + ';domain=.myvipon.com;path=/';
  3139.    }
  3140.  
  3141.    $(function () {
  3142.        /*自动完成获取推荐关键词*/
  3143.        var ajaxPost = false;
  3144.        var search_index = 0;
  3145.        $("#header .head-search input").bind("input propertychange", function () {
  3146.            if ($(this).val() != "") {
  3147.                if ($(this).attr('id') == 'search') {
  3148.                    search_index = 0
  3149.                } else if ($(this).attr('id') == 'm_search') {
  3150.                    search_index = 1
  3151.                }
  3152.                ;
  3153.                if (ajaxPost != false) {
  3154.                    ajaxPost.abort();
  3155.                }
  3156.                $(".completer-container").eq(search_index).hide();
  3157.                ajaxPost = $.post("/completion/search", {"keywords": $(this).val()}, function (data) {
  3158.  
  3159.                    if (data.data.length > 0) {
  3160.                        var html = '';
  3161.                        $.each(data.data, function (i, item) {
  3162.                            html += "<li role=\"presentation\">\n" +
  3163.                                "     <a role=\"menuitem\" tabindex=\"-1\" href=\"#\">" + item.keyword + "</a>\n" +
  3164.                                "</li>"
  3165.                        })
  3166.                        $("#header .search-input ul").html(html);
  3167.                        $("#header .search-input ul").show();
  3168.                        /*推荐关键词绑定点击事件*/
  3169.                        $("#header .head-search .search-input a").on('click', function (e) {
  3170.                            e.preventDefault();
  3171.                            var search = $(this).text();
  3172.                            $("#header .head-search input").val(search);
  3173.                            if (search != '') {
  3174.                                search = search.replace(/<|>/g, "");
  3175.                                var search = encodeURIComponent(search);
  3176.                                window.location.href = "/promotion/index" + "?search=" + search + '&group=' + $('#header .head-search .dropdown-menu > li > a.active').attr('data-group')+'&click_module=60';
  3177.                            }
  3178.                        });
  3179.                    }
  3180.                })
  3181.            } else {
  3182.                if (ajaxPost != false) {
  3183.                    ajaxPost.abort();
  3184.                }
  3185.            }
  3186.        })
  3187.  
  3188.  
  3189.    })
  3190.    $(document).on('click', function () {
  3191.        $("#header .head-search .search-input ul").hide();
  3192.    })
  3193.    $(".new_source_page_switch").on('click', function () {
  3194.        $(".new_source_page_box").show();
  3195.        other_reason = ""
  3196.        $(".new_source_page_body_input").val('');
  3197.    })
  3198.    //点击APP下载入口 弹窗显示
  3199.    $(".download-app-entrances").on('click', function () {
  3200.        $(".download-app-entrances-box").show();
  3201.    })
  3202.    $('.prize_btn').on('click', function (event) {
  3203.        event.stopPropagation(); // 阻止事件冒泡
  3204.        window.location.href = "/prize/index";
  3205.    });
  3206.  
  3207.  
  3208.    //菜单关键字搜索事件
  3209.    $('#header .head-search .btn-search').on('click', function () {
  3210.        <!-- BingConversion -->
  3211.        <!-- BingConversion end -->
  3212.  
  3213.        var search = $('#header .head-search input').val();
  3214.        search = search.replace(/<|>/g, "");
  3215.        var search = encodeURIComponent(search);
  3216.        // console.log($('#header .head-search .dropdown-menu > li > a.active').text())
  3217.        window.location.href = "/promotion/index" + "?search=" + search + '&module=20' + '&group=' + $('#header .head-search .dropdown-menu > li > a.active').attr('data-group')+'&click_module=60';
  3218.    });
  3219.    $('#header .head-search input').on('keydown', function (e) {//enter搜索
  3220.        if (e.keyCode === 13) {
  3221.            var search = $('#header .head-search input').val();
  3222.            search = search.replace(/<|>/g, "");
  3223.            var search = encodeURIComponent(search);
  3224.            window.location.href = "/promotion/index" + "?search=" + search + '&group=' + $('#header .head-search .dropdown-menu > li > a.active').attr('data-group')+ '&module=20'+'&click_module=60';
  3225.        }
  3226.    })
  3227.  
  3228.        function adjustmentImgSize(arrayElement,scale=1) {
  3229.        let width = parseInt($(arrayElement).css('width'));
  3230.        let height = parseInt($(arrayElement).css('height'));
  3231.        if(width>0&&height>0){
  3232.            if(width/height>=scale){
  3233.                $(arrayElement).css({
  3234.                    'height':'100%',
  3235.                    'width':'auto'
  3236.                });
  3237.                let timer = setTimeout(function () {
  3238.                    clearTimeout(timer);
  3239.                    width = parseInt($(arrayElement).css('width'));
  3240.                    $(arrayElement).css({
  3241.                        'left':'-'+(width-parseInt($(arrayElement).parent().width()))/2+'px',
  3242.                        top:0
  3243.                    })
  3244.                },500)
  3245.            }else{
  3246.                $(arrayElement).css({
  3247.                    'width':'100%',
  3248.                    'height':'auto',
  3249.                })
  3250.                let timer = setTimeout(function () {
  3251.                    clearTimeout(timer);
  3252.                    height = parseInt($(arrayElement).css('height'));
  3253.                    $(arrayElement).css({
  3254.                        'top': '-' + (height - parseInt($(arrayElement).parent().height())) / 2 + 'px',
  3255.                        left: 0
  3256.                    })
  3257.                },500)
  3258.            }
  3259.        }
  3260.    }
  3261.    $('#headerSellerMsg').on('shown.bs.modal',function () {
  3262.        adjustmentImgSize($('.product-msg img')[0])
  3263.    })
  3264.    let headerMyCarouselText = JSON.parse(`["Congratulations! \u3010Angel05\u3011 has earned $52 from Vipon.","Congratulations! \u3010Nexus7\u3011 has earned $20 from Vipon.","Congratulations! \u3010kalipsobg\u3011 has earned $30 from Vipon.","Congratulations! \u3010VIPON_111568333049\u3011 has earned $20 from Vipon.","Congratulations! \u3010VIPON_931568569102\u3011 has earned $22 from Vipon.","Congratulations! \u3010VIPON_951572900907\u3011 has earned $21 from Vipon.","Congratulations! \u3010V_e3071\u3011 has earned $20 from Vipon.","Congratulations! \u3010V_05HTN3M3\u3011 has earned $20 from Vipon.","Congratulations! \u3010V_e5335\u3011 has earned $20 from Vipon.","Congratulations! \u3010V_27EMNGTQ\u3011 has earned $20 from Vipon.","Congratulations! \u3010V_18EOOS7T\u3011 has earned $20 from Vipon.","Congratulations! \u3010V3363\u3011 has earned $20 from Vipon.","Congratulations! \u3010VIPON_251575263306\u3011 has earned $20 from Vipon.","Congratulations! \u3010V_S2IBUSG0\u3011 has earned $20 from Vipon.","Congratulations! \u3010V_V1G3DURF\u3011 has earned $20 from Vipon.","Congratulations! \u3010V_E05RR923\u3011 has earned $20 from Vipon.","Congratulations! \u3010V_4MON659P\u3011 has earned $20 from Vipon.","Congratulations! \u3010VIPON_451570262726\u3011 has earned $20 from Vipon.","Congratulations! \u3010V_CLURMIIO\u3011 has earned $20 from Vipon.","Congratulations! \u3010JBayron\u3011 has earned $20 from Vipon.","Congratulations! \u3010SP\u3011 has earned $20 from Vipon.","Congratulations! \u3010Richie Rich\u3011 has earned $20 from Vipon.","Congratulations! \u3010V_06RJJ08E\u3011 has earned $20 from Vipon.","Congratulations! \u3010V_e4051\u3011 has earned $20 from Vipon.","Congratulations! \u3010V_e5912\u3011 has earned $20 from Vipon.","Congratulations! \u3010VIPON_611575901144\u3011has received 15 points from Vipon.","Congratulations! \u3010VIPON_221575954084\u3011has received 10 points from Vipon.","Congratulations! \u3010GETALLCODE\u3011has received 15 points from Vipon.","Congratulations! \u3010VIPON_991576769526\u3011has received 20 points from Vipon.","Congratulations! \u3010V8801\u3011has received 15 points from Vipon.","Congratulations! \u3010AHCB2020\u3011has received 20 points from Vipon.","Congratulations! \u3010V_3QBALPN6\u3011has received 15 points from Vipon.","Congratulations! \u3010VIPON_471568907017\u3011has received 50 points from Vipon.","Congratulations! \u3010VIPON_281568173093\u3011has received 15 points from Vipon.","Congratulations! \u3010VIPON_371577025179\u3011has received 10 points from Vipon.","Congratulations! \u3010V_TDMAV7LQ\u3011has received 20 points from Vipon.","Congratulations! \u3010V_e1050\u3011has received 20 points from Vipon.","Congratulations! \u3010V_OPSFR7A4\u3011has received 10 points from Vipon.","Congratulations! \u3010thepsenevyfx\u3011has received 10 points from Vipon.","Congratulations! \u3010DORYAHOO\u3011has received 15 points from Vipon.","Congratulations! \u3010VIPON_411575900788\u3011has received 15 points from Vipon.","Congratulations! \u3010V_25888DC2\u3011has received 15 points from Vipon.","Congratulations! \u3010GETALLCODE\u3011has received 15 points from Vipon.","Congratulations! \u3010cacasan\u3011has received 50 points from Vipon.","Congratulations! \u3010GETALLCODE\u3011has received 20 points from Vipon.","Congratulations! \u3010V_PHQAO667\u3011has received 15 points from Vipon.","Congratulations! \u3010V_3JFUPLPT\u3011has received 15 points from Vipon.","Congratulations! \u3010V_O9LD8GR1\u3011has received 10 points from Vipon.","Congratulations! \u3010VIPON_931577940805\u3011has received 10 points from Vipon.","Congratulations! \u3010V_6J3PDJH3\u3011has received 100 points from Vipon.","Congratulations! \u3010theesishsod\u3011has received 50 points from Vipon.","Congratulations! \u3010VIPON_861570032966\u3011has received 20 points from Vipon.","Congratulations! \u3010VIPON_901577025418\u3011has received 15 points from Vipon.","Congratulations! \u3010Agustina01\u3011has received 15 points from Vipon.","Congratulations! \u3010VIPON_331568626110\u3011has received 10 points from Vipon.","Congratulations! \u3010V_IQUTQB2M\u3011has received 10 points from Vipon.","Congratulations! \u3010V_6V8IL7EN\u3011has received 10 points from Vipon.","Congratulations! \u3010V_PHQAO667\u3011has received 10 points from Vipon.","Congratulations! \u3010V_S7FMAOTK\u3011has received 10 points from Vipon.","Congratulations! \u3010V_7CKG779U\u3011has received 10 points from Vipon.","Congratulations! \u3010V_1GKPPFIO\u3011has received 1000 points from Vipon.","Congratulations! \u3010VIPON_611573168213\u3011has received 15 points from Vipon.","Congratulations! \u3010VIPON_501602401694\u3011has received 10 points from Vipon.","Congratulations! \u3010V_e3463\u3011has received 10 points from Vipon.","Congratulations! \u3010VIPON_511577477363\u3011has received 10 points from Vipon.","Congratulations! \u3010V_JB8DFRH7\u3011has received 20 points from Vipon.","Congratulations! \u3010VIPON_341568906889\u3011has received 20 points from Vipon.","Congratulations! \u3010VIPON_491577024779\u3011has received 10 points from Vipon.","Congratulations! \u3010VIPON_161568744638\u3011has received 15 points from Vipon.","Congratulations! \u3010V4280\u3011has received 10 points from Vipon.","Congratulations! \u3010V_TF8CDAFM\u3011has received 10 points from Vipon.","Congratulations! \u3010V_DFE4C6S9\u3011has received 1000 points from Vipon.","Congratulations! \u3010V_GBEBB3RE\u3011has received 15 points from Vipon.","Congratulations! \u3010V_M7LBPQP9\u3011has received 20 points from Vipon.","Congratulations! \u3010V_V05C6JVG\u3011has received 10 points from Vipon.","Congratulations! \u3010V_1CLQKACU\u3011has received 10 points from Vipon.","Congratulations! \u3010V_E05RR923\u3011has received 10 points from Vipon.","Congratulations! \u3010V_IQUTQB2M\u3011has received 15 points from Vipon.","Congratulations! \u3010V_N5N0IBM7\u3011has received 20 points from Vipon.","Congratulations! \u3010V_3JFUPLPT\u3011has received 15 points from Vipon.","Congratulations! \u3010V_OK67LGE4\u3011has received 10 points from Vipon.","Congratulations! \u3010V_O9LD8GR1\u3011has received 20 points from Vipon.","Congratulations! \u3010VIPON_791575080320\u3011has received 15 points from Vipon.","Congratulations! \u3010Amazon Customer\u3011has received 10 points from Vipon.","Congratulations! \u3010VIPON_701628445859\u3011has received 15 points from Vipon.","Congratulations! \u3010VIPON_811568906918\u3011has received 15 points from Vipon.","Congratulations! \u3010V_BE84LG4B\u3011has received 20 points from Vipon.","Congratulations! \u3010VIPON_371574823387\u3011has received 10 points from Vipon.","Congratulations! \u3010 wow.wow@usa.com \u3011has received 100 points from Vipon.","Congratulations! \u3010V_KF21DRCO\u3011has received 15 points from Vipon.","Congratulations! \u3010V_e6184\u3011has received 15 points from Vipon.","Congratulations! \u3010VIPON_791575080320\u3011has received 10 points from Vipon.","Congratulations! \u3010V_E05RR923\u3011has received 15 points from Vipon.","Congratulations! \u3010V_V9TGLLLO\u3011has received 20 points from Vipon.","Congratulations! \u3010V_TG3S9ABF\u3011has received 15 points from Vipon.","Congratulations! \u3010V_5LSBNSG9\u3011has received 10 points from Vipon.","Congratulations! \u3010V_7VKD5EKI\u3011has received 15 points from Vipon.","Congratulations! \u3010V_3JFUPLPT\u3011has received 10 points from Vipon.","Congratulations! \u3010V_O9LD8GR1\u3011has received 10 points from Vipon.","Congratulations! \u3010V_TF8CDAFM\u3011has received 10 points from Vipon.","Congratulations! \u3010V_N5B3JFHO\u3011has received 15 points from Vipon.","Congratulations! \u3010V_DM002EKV\u3011has received 10 points from Vipon.","Congratulations! \u3010V_EJ813CJV\u3011has received 10 points from Vipon.","Congratulations! \u3010VIPON_741570729781\u3011has received 10 points from Vipon.","Congratulations! \u3010V_H5HHGJP6\u3011has received 10 points from Vipon.","Congratulations! \u3010VIPON_921571158018\u3011has received 20 points from Vipon.","Congratulations! \u3010V_UJHOHFBU\u3011has received 20 points from Vipon.","Congratulations! \u3010V_D12G5VAJ\u3011has received 15 points from Vipon.","Congratulations! \u3010V_E5V2V7TT\u3011has received 10 points from Vipon.","Congratulations! \u3010V_5LSBNSG9\u3011has received 10 points from Vipon.","Congratulations! \u3010V_PHQAO667\u3011has received 20 points from Vipon.","Congratulations! \u3010V_3JFUPLPT\u3011has received 10 points from Vipon.","Congratulations! \u3010V_2T5G0OEA\u3011has received 15 points from Vipon.","Congratulations! \u3010V_V1G3DURF\u3011has received 15 points from Vipon.","Congratulations! \u3010V_O9LD8GR1\u3011has received 10 points from Vipon.","Congratulations! \u3010V_O016E5F2\u3011has received 50 points from Vipon.","Congratulations! \u3010V_9HBGE2U8\u3011has received 15 points from Vipon.","Congratulations! \u3010V_N5B3JFHO\u3011has received 15 points from Vipon.","Congratulations! \u3010V_1GKPPFIO\u3011has received 1000 points from Vipon.","Congratulations! \u3010V_DE3T5PIL\u3011has received 20 points from Vipon.","Congratulations! \u3010V_e4161\u3011has received 10 points from Vipon.","Congratulations! \u3010V_e3062\u3011has received 15 points from Vipon.","Congratulations! \u3010VIPON_381575900469\u3011has received 10 points from Vipon.","Congratulations! \u3010VIPON_571570941448\u3011has received 10 points from Vipon.","Congratulations! \u3010V_HJ3SA0I6\u3011has received 15 points from Vipon.","Congratulations! \u3010V_MOPUDBI9\u3011has received 1000 points from Vipon.","Congratulations! \u3010V_AHFSQO9T\u3011has received 15 points from Vipon.","Congratulations! \u3010V_E5V2V7TT\u3011has received 10 points from Vipon.","Congratulations! \u3010V_PHQAO667\u3011has received 10 points from Vipon.","Congratulations! \u3010V_OK67LGE4\u3011has received 10 points from Vipon.","Congratulations! \u3010V_UFJ9L5H8\u3011has received 20 points from Vipon.","Congratulations! \u3010V_7CKG779U\u3011has received 20 points from Vipon.","Congratulations! \u3010V_PEG9S2CS\u3011has received 10 points from Vipon.","Congratulations! \u3010VIPON_661578126740\u3011has received 20 points from Vipon.","Congratulations! \u3010 wow.wow@usa.com \u3011has received 20 points from Vipon.","Congratulations! \u3010VIPON_331568424020\u3011has received 10 points from Vipon.","Congratulations! \u3010VIPON_531640026417\u3011has received 10 points from Vipon.","Congratulations! \u3010VIPON_111605287668\u3011has received 10 points from Vipon.","Congratulations! \u3010VIPON_341568906889\u3011has received 10 points from Vipon.","Congratulations! \u3010V_e3062\u3011has received 10 points from Vipon.","Congratulations! \u3010GETALLCODE\u3011has received 10 points from Vipon.","Congratulations! \u3010VIPON_331568626110\u3011has received 10 points from Vipon.","Congratulations! \u3010VIPON_361578242118\u3011has received 15 points from Vipon.","Congratulations! \u3010VIPON_891575900580\u3011has received 10 points from Vipon.","Congratulations! \u3010V_8VCVKRP4\u3011has received 100 points from Vipon.","Congratulations! \u3010V_FSPM5M6R\u3011has received 10 points from Vipon.","Congratulations! \u3010VIPON_751571771065\u3011has received 10 points from Vipon.","Congratulations! \u3010V_DBVV0I3U\u3011has received 100 points from Vipon.","Congratulations! \u3010V_IQ1F5VOD\u3011has received 10 points from Vipon.","Congratulations! \u3010V_1GKPPFIO\u3011has received 10 points from Vipon.","Congratulations! \u3010V_N5B3JFHO\u3011has received 10 points from Vipon.","Congratulations! \u3010V_ETVRUKDT\u3011has received 15 points from Vipon.","Congratulations! \u3010V_UFJ9L5H8\u3011has received 10 points from Vipon.","Congratulations! \u3010VIPON_491577024779\u3011has received 15 points from Vipon.","Congratulations! \u3010V_95PTTL8R\u3011has received 20 points from Vipon.","Congratulations! \u3010V_E05RR923\u3011has received 20 points from Vipon.","Congratulations! \u3010V_E5V2V7TT\u3011has received 10 points from Vipon.","Congratulations! \u3010V_V9TGLLLO\u3011has received 10 points from Vipon.","Congratulations! \u3010V_894L4GVV\u3011has received 10 points from Vipon.","Congratulations! \u3010V_3JFUPLPT\u3011has received 10 points from Vipon.","Congratulations! \u3010V_V1G3DURF\u3011has received 10 points from Vipon.","Congratulations! \u3010V_DC3KOMRC\u3011has received 10 points from Vipon.","Congratulations! \u3010V_RGI74HDI\u3011has received 15 points from Vipon.","Congratulations! \u3010VIPON_581584811524\u3011has received 20 points from Vipon.","Congratulations! \u3010VIPON_331568626110\u3011has received 10 points from Vipon.","Congratulations! \u3010V_e1082\u3011has received 10 points from Vipon.","Congratulations! \u3010V_e9608\u3011has received 10 points from Vipon.","Congratulations! \u3010VIPON_741629583729\u3011has received 1000 points from Vipon.","Congratulations! \u3010V3301\u3011has received 100 points from Vipon.","Congratulations! \u3010V2329\u3011has received 15 points from Vipon.","Congratulations! \u3010VIPON_341568906889\u3011has received 10 points from Vipon.","Congratulations! \u3010VIPON_771573740474\u3011has received 10 points from Vipon.","Congratulations! \u3010VIPON_861570032966\u3011has received 10 points from Vipon.","Congratulations! \u3010VIPON_571568394753\u3011has received 15 points from Vipon.","Congratulations! \u3010Knut21\u3011has received 10 points from Vipon.","Congratulations! \u3010GETALLCODE\u3011has received 10 points from Vipon.","Congratulations! \u3010VIPON_111569659334\u3011has received 15 points from Vipon.","Congratulations! \u3010JMKPriest\u3011has received 10 points from Vipon.","Congratulations! \u3010V_HJ3SA0I6\u3011has received 10 points from Vipon.","Congratulations! \u3010V_M7LBPQP9\u3011has received 20 points from Vipon.","Congratulations! \u3010V_MOPUDBI9\u3011has received 10 points from Vipon.","Congratulations! \u3010V_3R2G8P5Q\u3011has received 20 points from Vipon.","Congratulations! \u3010V_4MON659P\u3011has received 10 points from Vipon.","Congratulations! \u3010V_UKL839I2\u3011has received 10 points from Vipon.","Congratulations! \u3010V_LAI0GTBH\u3011has received 10 points from Vipon.","Congratulations! \u3010V_MEGADFM5\u3011has received 15 points from Vipon.","Congratulations! \u3010V_O9LD8GR1\u3011has received 20 points from Vipon.","Congratulations! \u3010VIPON_581569816267\u3011has received 20 points from Vipon.","Congratulations! \u3010V_A7C71BBF\u3011has received 10 points from Vipon.","Congratulations! \u3010S. Taylor\u3011has received 10 points from Vipon.","Congratulations! \u3010V1412\u3011has received 15 points from Vipon.","Congratulations! \u3010Volantis\u3011has received 15 points from Vipon.","Congratulations! \u3010VIPON_811568906918\u3011has received 15 points from Vipon.","Congratulations! \u3010V3301\u3011has received 10 points from Vipon.","Congratulations! \u3010VIPON_721629625797\u3011has received 15 points from Vipon.","Congratulations! \u3010VIPON_991575899643\u3011has received 100 points from Vipon.","Congratulations! \u3010VIPON_181575901532\u3011has received 15 points from Vipon.","Congratulations! \u3010VIPON_561568705747\u3011has received 10 points from Vipon.","Congratulations! \u3010V_03PDBMAC\u3011has received 10 points from Vipon.","Congratulations! \u3010V_e1050\u3011has received 10 points from Vipon."]`);
  3265.    if (headerMyCarouselText.length > 0) {
  3266.        let html = '';
  3267.        headerMyCarouselText.map(function (val) {
  3268.            html += `<li>${val}</li>`
  3269.        })
  3270.        $('.carousel-text .carousel-text-main1 ul').html(html);
  3271.        $('.carousel-text .carousel-text-main1').width(headerMyCarouselText.length*500+'%')
  3272.    } else {
  3273.        $('#header .carousel-text').hide();
  3274.        $('#header > div:last-child').addClass('carousel-text-not');
  3275.    }
  3276.  
  3277.    function carouselText() {
  3278.        let speed = 30; //数字越du大速度越慢
  3279.        let tab = document.querySelector('#header .carousel-text-border');
  3280.        let tab1 = document.querySelector("#header .carousel-text-main2");
  3281.        let tab2 = document.querySelector("#header .carousel-text-main3");
  3282.  
  3283.        function Marquee() {
  3284.            if (tab2.offsetWidth - tab.scrollLeft <= 0) {
  3285.                tab.scrollLeft -= tab1.offsetWidth;
  3286.            } else {
  3287.                tab.scrollLeft++;
  3288.            }
  3289.        }
  3290.  
  3291.        this.myCarouselText = setInterval(Marquee, speed);
  3292.    }
  3293.    $('.recommend-lists').children().css({"color":"#999999","text-decoration": "none"});
  3294.    $('.orange').css({"color":"#FF6121"});
  3295.  
  3296.    // 获取cookie函数
  3297.    function getCookie(cname) {
  3298.        var name = cname + "=";
  3299.        var ca = document.cookie.split(';');
  3300.        for (var i = 0; i < ca.length; i++) {
  3301.            var c = ca[i].trim();
  3302.            if (c.indexOf(name) == 0) {
  3303.                return unescape(c.substring(name.length, c.length))
  3304.            }
  3305.        }
  3306.        return '';
  3307.    }
  3308.  
  3309.    $("#bf_entrance").click(function(){
  3310.        if($(".second-level").css('display')=='block'){
  3311.            $(".second-level").hide();
  3312.        }else{
  3313.            $(".second-level").show();
  3314.        }
  3315.    })
  3316.  
  3317.    //统计点击blog
  3318.    $(".new_blog").click(function () {
  3319.        $.ajax({
  3320.            url:"/main/blog-click",
  3321.            type:'post',
  3322.            dataType:'json',
  3323.            success:function (data) {},
  3324.            error:function (err) {}
  3325.        });
  3326.  
  3327.    })
  3328.  
  3329.    function isHomePage() {
  3330.        // 获取当前页面的路径
  3331.        const currentPath = window.location.pathname;
  3332.  
  3333.        // 判断路径是否为根路径或特定的首页文件
  3334.        return currentPath === '/' || currentPath === '/main/index';
  3335.    }
  3336.  
  3337.    if (isHomePage()) {
  3338.        $('.get_azm_promo').show()
  3339.        $('#header > div:first-child').css('padding','125px 40px 40px')
  3340.    }
  3341.  
  3342.    function isSalePage() {
  3343.        // 获取当前页面的路径
  3344.        const currentPath = window.location.pathname;
  3345.  
  3346.        // 判断路径是否为根路径或特定的首页文件
  3347.        return currentPath === '/sale';
  3348.    }
  3349.  
  3350.    if (isSalePage()) {
  3351.        $('.flex').css('display','none')
  3352.    }
  3353.  
  3354.    function getUserCodeCollection(prductId, f, searchid, position, eventType, sl) {
  3355.        let href = " /code/get-code?id=" + prductId
  3356.        if (f) href += "&f=" + f
  3357.        if (searchid) href += "&search_tid=" + searchid
  3358.        if (position) href += "&position=" + position
  3359.        if (eventType) href += "&event_type=" + eventType
  3360.        if (sl) href += "&sl=" + sl
  3361.        $.get(href, function (response) {
  3362.            response = JSON.parse(response)
  3363.  
  3364.            if(response.code == 200 || response.code == 700){
  3365.                window.open('/product/' + prductId)
  3366.            } else if (response.msg == 'Invalid Request.'){
  3367.                menuvue.$message.error('Too many attempts. Try again later.')
  3368.            } else {
  3369.                menuvue.$message({
  3370.                    message: response.msg,
  3371.                    type: 'error',
  3372.                });
  3373.            }
  3374.        }).fail(function (jqXHR, textStatus, errorThrown) {
  3375.            // 处理错误
  3376.            console.error('请求失败:', textStatus, errorThrown);
  3377.        });
  3378.    }
  3379.  
  3380.    $('.subscribe-to').each(function() {
  3381.        const $subscribeEl = $(this);
  3382.        const $windowBox = $subscribeEl.find('.windowBox');
  3383.        const newclose = $windowBox.find('.newclose');
  3384.  
  3385.        $subscribeEl.on('click', function(e) {
  3386.            e.stopPropagation();
  3387.            $windowBox.toggleClass('show');
  3388.        });
  3389.  
  3390.        $windowBox.on('click', function(e) {
  3391.            e.stopPropagation();
  3392.        });
  3393.  
  3394.        newclose.on('click', function() {
  3395.            $windowBox.removeClass('show');
  3396.            $('#emailInput').val('');
  3397.            $('#emailError').hide();
  3398.        });
  3399.  
  3400.    });
  3401.  
  3402.    $(document).ready(function() {
  3403.        function validateEmail(email) {
  3404.            var emailRegex = /^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$/;
  3405.            return emailRegex.test(email);
  3406.        }
  3407.  
  3408.        var $emailInput = $('#emailInput');
  3409.        var $emailError = $('#emailError');
  3410.        var $windowBox = $('.subscribe-to').find('.windowBox'); // 获取弹窗元素
  3411.  
  3412.        // 表单提交时校验
  3413.        $('#mc-embedded-subscribe-form').on('submit', function(e) {
  3414.            var email = $emailInput.val().trim();
  3415.            if(email === '' || !validateEmail(email)) {
  3416.                e.preventDefault(); // 阻止提交
  3417.                $emailError.show();
  3418.                $emailInput.focus();
  3419.            } else {
  3420.                $emailError.hide();
  3421.                // 邮箱格式正确,关闭弹窗并清空输入框
  3422.                $windowBox.removeClass('show');
  3423.                setTimeout(() => {
  3424.                    $emailInput.val('');
  3425.                }, 2000);
  3426.            }
  3427.        });
  3428.  
  3429.        // 输入时隐藏错误提示
  3430.        $emailInput.on('input', function() {
  3431.            $emailError.hide();
  3432.        });
  3433.  
  3434.        // 失焦时校验邮箱格式
  3435.        $emailInput.on('blur', function() {
  3436.            var email = $(this).val().trim();
  3437.            if(email !== '' && !validateEmail(email)) {
  3438.                $emailError.show();
  3439.            } else {
  3440.                $emailError.hide();
  3441.            }
  3442.        });
  3443.    });
  3444.  
  3445.  
  3446.  
  3447.    let homePageConfig = '{"entry_copy":"Subscribe To Our Newsletter","guide_copy":"To get our best deals and discounts - subscribe below!"}';
  3448.    homePageConfig = JSON.parse(homePageConfig);
  3449.    if(homePageConfig.entry_copy) $('#entry_copy').text(homePageConfig.entry_copy)
  3450.    if(homePageConfig.guide_copy) $('#guide_copy').text(homePageConfig.guide_copy)
  3451.  
  3452. </script>
  3453. <script>(function (a, s, y, n, c, h, i, d, e) {
  3454.        s.className += ' ' + y;
  3455.        h.start = 1 * new Date;
  3456.        h.end = i = function () {
  3457.            s.className = s.className.replace(RegExp(' ?' + y), '')
  3458.        };
  3459.        (a[n] = a[n] || []).hide = h;
  3460.        setTimeout(function () {
  3461.            i();
  3462.            h.end = null
  3463.        }, c);
  3464.        h.timeout = c;
  3465.    })(window, document.documentElement, 'async-hide', 'dataLayer', 4000,
  3466.        {'GTM-KMLCDG7': true});</script>
  3467.  
  3468.  
  3469. <section id="articals-detail">
  3470.    <div class="section-center article-container">
  3471.        <div class="section-detail row">
  3472.            <div class="vipon-post">
  3473.                <a href="/index.php"> Vipon</a>
  3474.                <span> &gt;</span>
  3475.                <a href="/vshow/list">V Show</a>
  3476.                <span> &gt;</span>
  3477.                <span class="wid88"> The Rise of Contemporary Fireplace Design – Blending Form and Function in Modern Homes</span>
  3478.                <a class="create-up" href="/login">
  3479.                    <img style="width: 16px;margin-left: 20px" src="https://vipon.s3.amazonaws.com/img/660453d737ab0698b98cad1c8668199e1fe8854878c5de.svg" alt="">
  3480.                    <span>Share great deals & products and save together.</span>
  3481.                </a>
  3482.            </div>
  3483.            <div class="articles-left review-detail col-lg-9 col-md-8 col-sm-12 col-xs-12">
  3484.                            <div class="review-detail-app">
  3485.                    <h3 style="margin-top: 10px;word-wrap: break-word;">The Rise of Contemporary Fireplace Design – Blending Form and Function in Modern Homes</h3>
  3486.                    <div class="articles-detail-number">
  3487.                        <span class="update-time">2025-04-17 06:19:46</span>
  3488.                        <div class="articles-detail-number-right">
  3489.                                                            <div class="thumbs-down-group">
  3490.                                    <button  onclick="articleThumb(this)" style="display: flex;line-height: 21px;text-decoration: none;align-items: center;padding:0;border: 0;outline: none;background-color: transparent">
  3491.                                        <span class="reply-deals-icon" style="text-decoration: none;background: url('https://vipon.s3.amazonaws.com/img/545940092352446298f64c029d0494db6dc9b697733f10.svg') no-repeat;height: 18px;"></span>
  3492.                                        <span class="text">0</span>
  3493.                                    </button>
  3494.                                </div>
  3495.  
  3496.                                                        <div class="thumbs-down-group">
  3497.                                <a href="javascript:;" class="comment-icon-top1" style="display: flex;line-height: 21px;text-decoration: none;align-items: center;">
  3498.                                    <span class="reply-deals-icon" style="text-decoration: none;margin:0;background: url('https://vipon.s3.amazonaws.com/img/9877959e17a5f0a10d33f93c78b6100a5ad596b9136ead.svg') no-repeat;height: 17px" aria-hidden="true"></span>
  3499.                                    <span class="text comment-number">0</span>
  3500.                                </a>
  3501.                            </div>
  3502.                            <div style="cursor: pointer" title="Report" data-toggle="modal" data-target="#report">
  3503.                                <img src="https://vipon.s3.amazonaws.com/img/405667e80f6a5ad5c023c5acd7f4d31f6510359d7d0ecc.svg" alt="">
  3504.                                <span class="text" style="color: #4A576A">Report</span>
  3505.                            </div>
  3506.                            <div class="sharethis-inline-share-buttons" style="width:100px;margin-left:23px;"></div>
  3507.                        </div>
  3508.                    </div>
  3509.                                            <div class="p-container" style="word-wrap: break-word;padding-top: 10px;overflow: hidden">
  3510.                            <p dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt;"><span style="font-size:10pt;font-family:Arial,sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;">In recent years, the world of interior design has witnessed a significant transformation, with </span><a href="https://modusfireplaces.com" style="text-decoration:none;"><span style="font-size:10pt;font-family:Arial,sans-serif;color:#0000ff;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;">contemporary fireplaces</span></a><span style="font-size:10pt;font-family:Arial,sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;"> becoming central features in stylish, modern homes. Once considered primarily a source of warmth, fireplaces today have evolved into striking design statements—combining aesthetics, innovation, and functionality.</span></p><p dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt;"><span style="font-size:10pt;font-family:Arial,sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;"><br></span></p><p dir="ltr" style="text-align: center; line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;"><img src="https://vipon.s3.amazonaws.com/img/358225079f261ba3f52ed7faeb37252d729ff443862287.jpg" style="width: 50%;"><span style="font-size:10pt;font-family:Arial,sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;"><br></span></p><h3 dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt;"><span style="font-size:12pt;font-family:Tahoma,sans-serif;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;">A New Era in Fireplace Design</span></h3><p dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt;"><span style="font-size:10pt;font-family:Arial,sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;">Contemporary fireplaces are defined by their clean lines, minimalistic form, and versatile materials. Unlike traditional hearths, these modern installations are designed to seamlessly integrate into living spaces, often acting as focal points without overpowering the room. The rise in open-plan living and pared-down interior schemes has fueled demand for fireplaces that are sleek, understated, and elegant.</span></p><p dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt;"><span style="font-size:10pt;font-family:Arial,sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;">One of the most notable trends is the increase in </span><span style="font-size:10pt;font-family:Arial,sans-serif;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;">hole in the wall fireplaces</span><span style="font-size:10pt;font-family:Arial,sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;">. These are built into the wall for a flush, integrated look, ideal for urban apartments and modern homes where space is at a premium. Their unobtrusive design complements both minimalist and luxurious interiors, offering a chic alternative to traditional models.</span></p><h3 dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt;"><span style="font-size:12pt;font-family:Tahoma,sans-serif;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;">Suspended Fireplaces: Style Meets Innovation</span></h3><p dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt;"><span style="font-size:10pt;font-family:Arial,sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;">Another standout trend is the growing popularity of </span><span style="font-size:10pt;font-family:Arial,sans-serif;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;">hanging or suspended fireplaces</span><span style="font-size:10pt;font-family:Arial,sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;">. These designs—often seen in high-end architectural projects—give the illusion of a floating fire, creating a dramatic centrepiece that enhances spatial flow. In addition to their aesthetic appeal, suspended fireplaces allow for 360-degree heat distribution, making them both stylish and practical.</span></p><h3 dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt;"><span style="font-size:12pt;font-family:Tahoma,sans-serif;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;">Eco-Conscious Choices</span></h3><p dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt;"><span style="font-size:10pt;font-family:Arial,sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;">Sustainability also plays a significant role in the popularity of contemporary fireplace designs. Homeowners and designers alike are increasingly opting for </span><span style="font-size:10pt;font-family:Arial,sans-serif;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;">gas and electric fireplaces</span><span style="font-size:10pt;font-family:Arial,sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;"> that offer cleaner, more efficient burning compared to wood-burning models. Many modern systems are programmable, app-controlled, and built with energy-saving features, appealing to environmentally aware consumers.</span></p><h3 dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt;"><span style="font-size:12pt;font-family:Tahoma,sans-serif;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;">Design Flexibility and Personalisation</span></h3><p dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt;"><span style="font-size:10pt;font-family:Arial,sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;">Contemporary fireplaces offer tremendous flexibility in terms of materials and finishes. From glass and brushed steel to concrete and natural stone, today's fireplaces can be customised to match virtually any design aesthetic. This adaptability is one reason why contemporary designs are not only popular in homes but also in hotels, offices, and restaurants.</span></p><h3 dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt;"><span style="font-size:12pt;font-family:Tahoma,sans-serif;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;">Enhancing Property Value and Lifestyle</span></h3><p dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt;"><span style="font-size:10pt;font-family:Arial,sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;">Installing a contemporary fireplace can also add significant value to a property. Beyond their visual appeal, these fireplaces offer comfort, warmth, and a sense of ambience that is hard to replicate with other forms of heating. Many homeowners consider them an essential part of a modern lifestyle, especially as winter evenings call for cosy, inviting interiors.</span></p><p dir="ltr" style="line-height:1.2;border-bottom:solid #000000 0.5pt;margin-top:6pt;margin-bottom:6pt;"><br></p><p dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt;"><span style="font-size:10pt;font-family:Arial,sans-serif;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;">Conclusion:</span></p><p dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt;"><span id="docs-internal-guid-7d97ce53-7fff-a68d-2555-7a0cc2ad02ec"><span style="font-size: 10pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; vertical-align: baseline; white-space-collapse: preserve;">Contemporary fireplaces are redefining what it means to heat a home in style. From </span><span style="font-size: 10pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 700; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; vertical-align: baseline; white-space-collapse: preserve;">hole in the wall designs</span><span style="font-size: 10pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; vertical-align: baseline; white-space-collapse: preserve;"> to </span><span style="font-size: 10pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 700; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; vertical-align: baseline; white-space-collapse: preserve;">suspended fireplaces</span><span style="font-size: 10pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; vertical-align: baseline; white-space-collapse: preserve;">, the options are both varied and inspiring. As design trends continue to shift toward minimalism, sustainability, and customisation, fireplaces will remain at the heart of the modern home—delivering warmth, elegance, and timeless appeal.</span></span></p>                        </div>
  3511.                    
  3512.                </div>
  3513.                <div class="articles-left-pc">
  3514.                    <h3 class="flex" style="margin-top: 10px;word-wrap: break-word;">
  3515.                                                <span>The Rise of Contemporary Fireplace Design – Blending Form and Function in Modern Homes</span>
  3516.                    </h3>
  3517.                    <div class="articles-detail-number">
  3518.                        <div class="update-time">
  3519.                            <div class="articles-detail-look">
  3520.                                <span class="num-icon"></span>
  3521.                                <span>2.9k</span>
  3522.                            </div>
  3523.                            <div>2025-04-17 06:19:46</div>
  3524.                        </div>
  3525.                        <div class="articles-detail-number-right">
  3526.                                                            <div class="thumbs-down-group">
  3527.                                    <a href="/login"   style="display: flex;line-height: 21px;text-decoration: none;align-items: center;">
  3528.                                        <span class="reply-deals-icon" style="text-decoration: none;background: url('https://vipon.s3.amazonaws.com/img/545940092352446298f64c029d0494db6dc9b697733f10.svg') no-repeat;height: 18px;"></span>
  3529.                                        <span class="text">0</span>
  3530.                                    </a>
  3531.                                </div>
  3532.                            
  3533.                            <div class="thumbs-down-group">
  3534.                                <a href="javascript:;" class="comment-icon-top1" style="display: flex;line-height: 21px;text-decoration: none;align-items: center;">
  3535.                                    <span class="reply-deals-icon" style="text-decoration: none;margin:0;background: url('https://vipon.s3.amazonaws.com/img/9877959e17a5f0a10d33f93c78b6100a5ad596b9136ead.svg') no-repeat;height: 17px" aria-hidden="true"></span>
  3536.                                    <span class="text comment-number">0</span>
  3537.                                </a>
  3538.                            </div>
  3539.                                                            <div style="cursor: pointer" title="Report">
  3540.                                    <a href="/login" style="text-decoration: none">
  3541.                                        <img src="https://vipon.s3.amazonaws.com/img/405667e80f6a5ad5c023c5acd7f4d31f6510359d7d0ecc.svg" alt="">
  3542.                                        <span class="text" style="color: #4A576A">Report</span>
  3543.                                    </a>
  3544.                                </div>
  3545.                            
  3546.                            <div class="sharethis-inline-share-buttons" style="width: 140px"></div>
  3547.                        </div>
  3548.                    </div>
  3549.                                            <div class="p-container vshow-content-target" style="word-wrap: break-word;padding-top: 10px;overflow: hidden">
  3550.                            <p dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt;"><span style="font-size:10pt;font-family:Arial,sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;">In recent years, the world of interior design has witnessed a significant transformation, with </span><a href="https://modusfireplaces.com" style="text-decoration:none;"><span style="font-size:10pt;font-family:Arial,sans-serif;color:#0000ff;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;">contemporary fireplaces</span></a><span style="font-size:10pt;font-family:Arial,sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;"> becoming central features in stylish, modern homes. Once considered primarily a source of warmth, fireplaces today have evolved into striking design statements—combining aesthetics, innovation, and functionality.</span></p><p dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt;"><span style="font-size:10pt;font-family:Arial,sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;"><br></span></p><p dir="ltr" style="text-align: center; line-height: 1.2; margin-top: 0pt; margin-bottom: 0pt;"><img src="https://vipon.s3.amazonaws.com/img/358225079f261ba3f52ed7faeb37252d729ff443862287.jpg" style="width: 50%;"><span style="font-size:10pt;font-family:Arial,sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;"><br></span></p><h3 dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt;"><span style="font-size:12pt;font-family:Tahoma,sans-serif;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;">A New Era in Fireplace Design</span></h3><p dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt;"><span style="font-size:10pt;font-family:Arial,sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;">Contemporary fireplaces are defined by their clean lines, minimalistic form, and versatile materials. Unlike traditional hearths, these modern installations are designed to seamlessly integrate into living spaces, often acting as focal points without overpowering the room. The rise in open-plan living and pared-down interior schemes has fueled demand for fireplaces that are sleek, understated, and elegant.</span></p><p dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt;"><span style="font-size:10pt;font-family:Arial,sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;">One of the most notable trends is the increase in </span><span style="font-size:10pt;font-family:Arial,sans-serif;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;">hole in the wall fireplaces</span><span style="font-size:10pt;font-family:Arial,sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;">. These are built into the wall for a flush, integrated look, ideal for urban apartments and modern homes where space is at a premium. Their unobtrusive design complements both minimalist and luxurious interiors, offering a chic alternative to traditional models.</span></p><h3 dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt;"><span style="font-size:12pt;font-family:Tahoma,sans-serif;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;">Suspended Fireplaces: Style Meets Innovation</span></h3><p dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt;"><span style="font-size:10pt;font-family:Arial,sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;">Another standout trend is the growing popularity of </span><span style="font-size:10pt;font-family:Arial,sans-serif;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;">hanging or suspended fireplaces</span><span style="font-size:10pt;font-family:Arial,sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;">. These designs—often seen in high-end architectural projects—give the illusion of a floating fire, creating a dramatic centrepiece that enhances spatial flow. In addition to their aesthetic appeal, suspended fireplaces allow for 360-degree heat distribution, making them both stylish and practical.</span></p><h3 dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt;"><span style="font-size:12pt;font-family:Tahoma,sans-serif;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;">Eco-Conscious Choices</span></h3><p dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt;"><span style="font-size:10pt;font-family:Arial,sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;">Sustainability also plays a significant role in the popularity of contemporary fireplace designs. Homeowners and designers alike are increasingly opting for </span><span style="font-size:10pt;font-family:Arial,sans-serif;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;">gas and electric fireplaces</span><span style="font-size:10pt;font-family:Arial,sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;"> that offer cleaner, more efficient burning compared to wood-burning models. Many modern systems are programmable, app-controlled, and built with energy-saving features, appealing to environmentally aware consumers.</span></p><h3 dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt;"><span style="font-size:12pt;font-family:Tahoma,sans-serif;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;">Design Flexibility and Personalisation</span></h3><p dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt;"><span style="font-size:10pt;font-family:Arial,sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;">Contemporary fireplaces offer tremendous flexibility in terms of materials and finishes. From glass and brushed steel to concrete and natural stone, today's fireplaces can be customised to match virtually any design aesthetic. This adaptability is one reason why contemporary designs are not only popular in homes but also in hotels, offices, and restaurants.</span></p><h3 dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt;"><span style="font-size:12pt;font-family:Tahoma,sans-serif;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;">Enhancing Property Value and Lifestyle</span></h3><p dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt;"><span style="font-size:10pt;font-family:Arial,sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;">Installing a contemporary fireplace can also add significant value to a property. Beyond their visual appeal, these fireplaces offer comfort, warmth, and a sense of ambience that is hard to replicate with other forms of heating. Many homeowners consider them an essential part of a modern lifestyle, especially as winter evenings call for cosy, inviting interiors.</span></p><p dir="ltr" style="line-height:1.2;border-bottom:solid #000000 0.5pt;margin-top:6pt;margin-bottom:6pt;"><br></p><p dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt;"><span style="font-size:10pt;font-family:Arial,sans-serif;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;">Conclusion:</span></p><p dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt;"><span id="docs-internal-guid-7d97ce53-7fff-a68d-2555-7a0cc2ad02ec"><span style="font-size: 10pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; vertical-align: baseline; white-space-collapse: preserve;">Contemporary fireplaces are redefining what it means to heat a home in style. From </span><span style="font-size: 10pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 700; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; vertical-align: baseline; white-space-collapse: preserve;">hole in the wall designs</span><span style="font-size: 10pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; vertical-align: baseline; white-space-collapse: preserve;"> to </span><span style="font-size: 10pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 700; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; vertical-align: baseline; white-space-collapse: preserve;">suspended fireplaces</span><span style="font-size: 10pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; vertical-align: baseline; white-space-collapse: preserve;">, the options are both varied and inspiring. As design trends continue to shift toward minimalism, sustainability, and customisation, fireplaces will remain at the heart of the modern home—delivering warmth, elegance, and timeless appeal.</span></span></p>                        </div>
  3551.                                        
  3552.                    
  3553.  
  3554.                </div>
  3555.                <div id="comment">
  3556.                    <div id="nowComment">
  3557.                                                    <div class="unlogin">
  3558.                                <div class="left-login">
  3559.                                    <div class="login-logo">
  3560.                                        <img src="/images/vipon-logo3x.png" alt="Amazon Coupons">
  3561.                                    </div>
  3562.                                    <div class="login-text">
  3563.                                        <a href="/login">Log in</a> or <a href="/signup">Sign up</a> for a Vipon account to post comment
  3564.                                    </div>
  3565.                                </div>
  3566.                                <div class="right-login">
  3567.                                    <a href="/login" class="btn">Log In</a>
  3568.                                    <a href="/signup" class="btn">Sign Up</a>
  3569.                                </div>
  3570.                            </div>
  3571.                                            </div>
  3572.                    <div id="comments">
  3573.                        <h3>Comments <span></span></h3>
  3574.                        <div class="comments-list">
  3575.                        </div>
  3576.                    </div>
  3577.                </div>
  3578.            </div>
  3579.  
  3580.            <div class="articles-right col-lg-3 col-md-4 col-sm-12 col-xs-12">
  3581.                <div class="author">
  3582.                    <div class="author-dtail">
  3583.                        <div class="author-img-dis">
  3584.                            <div class="author-img-bor">
  3585.                                                                <a href="/disclose/my-center?type=1&page=1&limit=12&b_reviewer_id=4390329" target="_blank" class="author-img">
  3586.                                    <img src="https://vipon.s3.amazonaws.com/img/97358637f28c0e9c7c45a2851e790ea7a858d1994a7803.png" onload="getImgSize(this)" alt="">
  3587.                                </a>
  3588.                            </div>
  3589.  
  3590.                            <div class="author-dis" style="justify-content: center">
  3591.                                <a class="author-name" href="/disclose/my-center?type=1&page=1&limit=12&b_reviewer_id=4390329" target="_blank">VIPON_331741702858</a>
  3592.                                
  3593.                                <div class="author-like" style="margin-top: 13px">
  3594.                                    <a href="/disclose/my-center?type=1&page=1&limit=12&b_reviewer_id=4390329" >
  3595.                                        <span class="number">2</span>
  3596.                                        <span class="author-dtail-group">Posts</span>
  3597.                                    </a>
  3598.                                </div>
  3599.                            </div>
  3600.                        </div>
  3601.                                                                                    <button class="follow">Follow</button>
  3602.                                                    
  3603.                    </div>
  3604.                    <div class="author-dtail-ep">
  3605.                        <div class="author-dtail-ep-num">
  3606.  
  3607.                        </div>
  3608. <!--                        <div class="line"></div>-->
  3609. <!--                        <div class="author-dtail-ep-num">-->
  3610. <!--                            <span class="number">--><?//= $red_info['verified_count'] ?><!--</span>-->
  3611. <!--                            <span class="author-dtail-group">Likes</span>-->
  3612. <!--                        </div>-->
  3613.                    </div>
  3614.                </div>
  3615.                                    <div class="other-post">
  3616.                    <h3>Recommended</h3>
  3617.                    <div class="post-list">
  3618.                                                <div class="post-item">
  3619.                                                    <div class="post-item-img" onclick="window.open('http://www.myvipon.com/post/1547319/Anxiety-Counselling-How-Therapy-Helps-You-amazon-coupons')" style="cursor: pointer">
  3620.                                <img src="https://vipon.s3.amazonaws.com/img/612491251eddcf1ecac7d68369246f8f444cb6b4a6f438.png" onload="getImgSize(this,2)" alt="">
  3621.                            </div>
  3622.                                                    <div class="post-item-content" >
  3623.                                <div class="describe" style="cursor: pointer" onclick="window.open('http://www.myvipon.com/post/1547319/Anxiety-Counselling-How-Therapy-Helps-You-amazon-coupons')">Anxiety Counselling – How Therapy Helps You Regain Control</div>
  3624.                                <div  class="post-item-information">
  3625.                                    <div class="post-item-information-author" data-id="4390329">
  3626.                                        <div style="position: relative">
  3627.                                                                                        <div class="post-item-information-img" >
  3628.                                                <img onload="getImgSize(this)" src="https://vipon.s3.amazonaws.com/img/97358637f28c0e9c7c45a2851e790ea7a858d1994a7803.png" alt="">
  3629.                                            </div>
  3630.                                        </div>
  3631.                                        <div class="post-item-information-name">VIPON_331741702858</div>
  3632.                                    </div>
  3633.                                    <div class="volume">
  3634.                                        <span class="volume-icon"></span>
  3635.                                        <span class="volume-num">1307.3k</span>
  3636.                                    </div>
  3637.                                </div>
  3638.                            </div>
  3639.                        </div>
  3640.  
  3641.                                                <div class="post-item">
  3642.                                                    <div class="post-item-img" onclick="window.open('http://www.myvipon.com/post/1624119/The-Best-Day-Trips-from-MontrealThe-amazon-coupons')" style="cursor: pointer">
  3643.                                <img src="https://vipon.s3.amazonaws.com/img/9985207b41d4434fc64f1d1f9487513d313cda901501c8.png" onload="getImgSize(this,2)" alt="">
  3644.                            </div>
  3645.                                                    <div class="post-item-content" >
  3646.                                <div class="describe" style="cursor: pointer" onclick="window.open('http://www.myvipon.com/post/1624119/The-Best-Day-Trips-from-MontrealThe-amazon-coupons')">The Best Day Trips from MontrealThe Best Day Trips from Montreal</div>
  3647.                                <div  class="post-item-information">
  3648.                                    <div class="post-item-information-author" data-id="4292776">
  3649.                                        <div style="position: relative">
  3650.                                                                                        <div class="post-item-information-img" >
  3651.                                                <img onload="getImgSize(this)" src="https://vipon.s3.amazonaws.com/img/97358637f28c0e9c7c45a2851e790ea7a858d1994a7803.png" alt="">
  3652.                                            </div>
  3653.                                        </div>
  3654.                                        <div class="post-item-information-name">VIPON_411727504669</div>
  3655.                                    </div>
  3656.                                    <div class="volume">
  3657.                                        <span class="volume-icon"></span>
  3658.                                        <span class="volume-num">326</span>
  3659.                                    </div>
  3660.                                </div>
  3661.                            </div>
  3662.                        </div>
  3663.  
  3664.                                                <div class="post-item">
  3665.                                                    <div class="post-item-video">
  3666.                                <video width="100%" height="198.5" preload="none" onended="videoEnd(this)" >
  3667.                                    <source src="https://vipon.nyc3.cdn.digitaloceanspaces.com/vipon/video/1956147d948a18cc40b4fbbbe40a4fd7c4619f6fc0b67fw.mp4" type="video/mp4">
  3668.                                </video>
  3669.                                <div class="poster-img">
  3670.                                    <img src="https://vipon.s3.amazonaws.com/img/677590977a2cc18f5488099409c8460cb325d458356ec7.jpg" onload="getImgSize(this,2)" alt="">
  3671.                                </div>
  3672.                                <button>
  3673.                                    <img src="https://vipon.s3.amazonaws.com/img/590810b9667f3e58289266aab9df1ddeddef0b9cfb4363.svg" alt="">
  3674.                                    <img style="display: none" src="https://vipon.s3.amazonaws.com/img/8040592c6706fd348946a428f613e5d221e945790e367f.svg" alt="">
  3675.                                </button>
  3676.                            </div>
  3677.                                                    <div class="post-item-content" >
  3678.                                <div class="describe" style="cursor: pointer" onclick="window.open('http://www.myvipon.com/post/1623386/Master-topics-with-exam-questions-answers-amazon-coupons')">Master topics with ai-900 exam questions and answers pdf DumpsQueen</div>
  3679.                                <div  class="post-item-information">
  3680.                                    <div class="post-item-information-author" data-id="4428210">
  3681.                                        <div style="position: relative">
  3682.                                                                                        <div class="post-item-information-img" >
  3683.                                                <img onload="getImgSize(this)" src="https://vipon.s3.amazonaws.com/img/97358637f28c0e9c7c45a2851e790ea7a858d1994a7803.png" alt="">
  3684.                                            </div>
  3685.                                        </div>
  3686.                                        <div class="post-item-information-name">ai900examquestions</div>
  3687.                                    </div>
  3688.                                    <div class="volume">
  3689.                                        <span class="volume-icon"></span>
  3690.                                        <span class="volume-num">205</span>
  3691.                                    </div>
  3692.                                </div>
  3693.                            </div>
  3694.                        </div>
  3695.  
  3696.                                            </div>
  3697.                </div>
  3698.                            </div>
  3699.  
  3700.        </div>
  3701.    </div>
  3702. </section>
  3703.  
  3704. <div id="elevator_item">
  3705.    <a id="elevator" onclick="return false;" title="Top"></a>
  3706.            <a class="qr" title="Login My Account"
  3707.           href="/login"></a>
  3708.        <div class="qr-popup">
  3709.        <div class="arr"></div>
  3710.    </div>
  3711. </div>
  3712. <div class="modal fade" id="followed" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  3713.    <div class="modal-dialog">
  3714.        <div class="modal-content">
  3715.            <div class="modal-header">
  3716.                <h3>
  3717.                    <span>Cancel Following</span>
  3718.                    <button data-dismiss="modal" aria-hidden="true"><img src="https://vipon.s3.amazonaws.com/img/54253850dae5e71f8e1ccde5394e148e96846e063ef033.svg" alt=""></button>
  3719.                </h3>
  3720.            </div>
  3721.            <div class="modal-body">
  3722.                <p>Are you sure you want to stop following?</p>
  3723.                <div>
  3724.                    <button data-dismiss="modal" aria-hidden="true">No</button>
  3725.                    <button>Yes</button>
  3726.                </div>
  3727.            </div>
  3728.        </div><!-- /.modal-content -->
  3729.    </div><!-- /.modal -->
  3730. </div>
  3731. <!--遮罩层视图-->
  3732. <div class="back_drop">
  3733.    <span class="iconfont icon-clear">&#xe606;</span>
  3734.    <div class="text_complain">Download Vipon App to get great deals now!</div>
  3735.    <div class="get_method">
  3736.        <img src="" alt="..."/>
  3737.    </div>
  3738. </div>
  3739. <!--遮罩层-->
  3740.  
  3741. <!--            提示-->
  3742. <div class="modal fade " id="favoritesTitle" tabindex="-1" role="dialog"  aria-hidden="true">
  3743.                <div class="modal-dialog modal-sm">
  3744.                    <div class="modal-content">
  3745.                        <div class="modal-body">
  3746.                            <div class="thumb-title"></div>
  3747.                        </div>
  3748.                    </div><!-- /.modal-content -->
  3749.                </div><!-- /.modal-dialog -->
  3750.            </div>
  3751.            <!-- /.modal -->
  3752. <!--            加载-->
  3753.            <div id="loading">
  3754.                <div>
  3755. <!--                    <div class="text">Comments are being submitted</div>-->
  3756.                    <div class="div-img">
  3757.                        <img src="https://vipon.s3.amazonaws.com/img/452004003c36249b5456fb551d846eb2095ff2e8230810.gif" alt="Amazon Coupons">
  3758.                        <span>Loading…</span>
  3759.                    </div>
  3760.                </div>
  3761.  
  3762.            </div>
  3763. <!--            展示评论图片-->
  3764.            <div class="modal fade" id="showImg" tabindex="-1" role="dialog"  aria-hidden="true">
  3765.                <div class="modal-dialog" style="margin: 30px auto;top: 0;">
  3766.                    <div class="modal-content" style="border-radius: 0;border: 0;background-color: transparent;box-shadow: 0 0 0 0;">
  3767.                        <img src="" alt="Amazon Coupons" style="margin-bottom: 0">
  3768.                    </div><!-- /.modal-content -->
  3769.                </div><!-- /.modal -->
  3770.            </div>
  3771. <!--            展示评论图片-->
  3772. <div class="modal fade" id="report" tabindex="-1" role="dialog"  aria-hidden="true">
  3773.    <div class="modal-dialog">
  3774.        <div class="modal-content">
  3775.            <div class="report-header">
  3776.                <h4>
  3777.                    <span>Report</span>
  3778.                    <button style="background-color: transparent;padding: 0;border: 0;" data-dismiss="modal" aria-hidden="true"><img src="https://vipon.s3.amazonaws.com/img/54253850dae5e71f8e1ccde5394e148e96846e063ef033.svg" alt=""></button>
  3779.                </h4>
  3780.            </div>
  3781.            <div class="report-list">
  3782.                <div class="report-group">
  3783.                    <input type="radio" data-num="1" name="report" id="report0">
  3784.                    <label for="report0">Sexual content</label>
  3785.                </div>
  3786.                <div class="report-group">
  3787.                    <input type="radio" data-num="2" name="report" id="report1">
  3788.                    <label for="report1">Violent or repulsive content</label>
  3789.                </div>
  3790.                <div class="report-group">
  3791.                    <input type="radio" data-num="3" name="report" id="report2">
  3792.                    <label for="report2">Hateful or abusive content</label>
  3793.                </div>
  3794.                <div class="report-group">
  3795.                    <input type="radio" data-num="4" name="report" id="report3">
  3796.                    <label for="report3">Harmful dangerous acts</label>
  3797.                </div>
  3798.                <div class="report-group">
  3799.                    <input type="radio" data-num="5" name="report" id="report4">
  3800.                    <label for="report4">Child abuse</label>
  3801.                </div>
  3802.                <div class="report-group">
  3803.                    <input type="radio" data-num="6" name="report" id="report5">
  3804.                    <label for="report5">Promotes terrorism</label>
  3805.                </div>
  3806.                <div class="report-group">
  3807.                    <input type="radio" data-num="7" name="report" id="report6">
  3808.                    <label for="report6">Spam or misleading</label>
  3809.                </div>
  3810.                <div class="report-group">
  3811.                    <input type="radio" data-num="8" name="report" id="report7">
  3812.                    <label for="report7">Infringes my rights</label>
  3813.                </div>
  3814.                <div class="report-group">
  3815.                    <input type="radio" data-num="9" name="report" id="report8">
  3816.                    <label for="report8">Captions issue</label>
  3817.                </div>
  3818.            </div>
  3819.            <div class="text">* Flagged videos and users are reviewed by Vipon staff 24 hours a day, seven days a week to determine whether they violate Community Guidelines. Accounts are penalized for Community Guidelines violations, and serious or repeated violations can lead to account termination.</div>
  3820.            <div class="submit">
  3821.                <button>Report</button>
  3822.            </div>
  3823.        </div><!-- /.modal-content -->
  3824.    </div><!-- /.modal -->
  3825. </div>
  3826.  
  3827. <!-- Modal Wait -->
  3828. <div class="modal fade" id="waitModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"
  3829. xmlns="http://www.w3.org/1999/html">
  3830.    <div class="modal-dialog">
  3831.        <div class="modal-content">
  3832.            <div class="modal-body">
  3833.             <i class="fa fa-spin fa-spinner"></i> Please Wait...
  3834.            </div>
  3835.        </div><!-- /.modal-content -->
  3836.    </div><!-- /.modal-dialog -->
  3837. </div><!-- /.modal -->
  3838.  
  3839. <!-- Modal Video -->
  3840. <div class="modal fade" id="videoModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  3841. <div class="modal-dialog modal-lg">
  3842.        <div class="modal-content">
  3843.            <div class="modal-body">
  3844.             <div class="video-container" style="padding-top:33px">
  3845.            </div>
  3846.            </div>
  3847.        </div><!-- /.modal-content -->
  3848.    </div><!-- /.modal-dialog -->
  3849. </div><!-- /.modal -->
  3850.  
  3851. <!-- Modal Product -->
  3852. <div class="modal fade" id="productModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  3853.    <div class="modal-dialog modal-lg">
  3854.        <div class="modal-content">
  3855.            <div class="modal-body">
  3856.             <i class="fa fa-spin fa-spinner"></i> Please Wait...
  3857.            </div>
  3858.        </div><!-- /.modal-content -->
  3859.    </div><!-- /.modal-dialog -->
  3860. </div><!-- /.modal -->
  3861.  
  3862.  
  3863. <!-- Modal Account -->
  3864. <div class="modal fade" id="accountModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  3865.    <div class="modal-dialog" style="margin-top: 150px;width: 992px;">
  3866.        <div class="modal-content">
  3867.            <div class="modal-body" style="padding: 0px;text-align: center;">
  3868.             <i class="fa fa-spin fa-spinner"></i> Please Wait...
  3869.            </div>
  3870.        </div><!-- /.modal-content -->
  3871.    </div><!-- /.modal-dialog -->
  3872. </div><!-- /.modal -->
  3873.  
  3874.  
  3875.  
  3876. <!-- Modal Send Email -->
  3877. <div class="modal fade" id="sendEmailModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  3878. <div class="modal-dialog">
  3879. <div class="modal-content">
  3880. <div class="modal-header">
  3881. <h4 class="modalName" style="text-align:center">Get our BEST offers straight to your inbox!</h4>
  3882. </div>
  3883. <div class="modal-body">
  3884. <input type="email" class="form-control" name="email" placeholder="Email" autocomplete="off" style="width: 250px; margin: 0 auto 15px auto;">
  3885. <div style="text-align:center"><button type="button" class="btn btn-primary" style="width: 250px;" onclick="mc_subscribe('mc-optin-footer')">Subscribe</button></div>
  3886. </div>
  3887. </div><!-- /.modal-content -->
  3888. </div><!-- /.modal-dialog -->
  3889. </div><!-- /.modal -->
  3890.  
  3891.  
  3892. <!-- Modal Post Sign Up -->
  3893. <div class="modal fade" id="postSignUpModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  3894.    <div class="modal-dialog">
  3895.        <div class="modal-content">
  3896.            <div class="modal-header">
  3897.                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
  3898.                <h4 class="modalName">You've signed up!</h4>
  3899.            </div>
  3900.            <div class="modal-body">
  3901.             <p>Congrats! You are now a member!</p>
  3902.             <p>Start requesting vouchers for promo codes by clicking the <strong>Request Deal</strong> buttons on products you want.</p>
  3903.            </div>
  3904.            <div class="modal-footer">
  3905.                <button type="button" class="btn btn-primary" data-dismiss="modal" onclick="show_last_product();">Got it!</button>
  3906.            </div>
  3907.  
  3908.        </div><!-- /.modal-content -->
  3909.    </div><!-- /.modal-dialog -->
  3910. </div><!-- /.modal -->
  3911.  
  3912.  
  3913. <!-- Modal Post Sign In -->
  3914. <div class="modal fade" id="postSignInModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  3915.    <div class="modal-dialog">
  3916.        <div class="modal-content">
  3917.            <div class="modal-header">
  3918.                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
  3919.                <h4 class="modalName">You've signed in!</h4>
  3920.            </div>
  3921.            <div class="modal-body">
  3922.             <p>Start requesting vouchers for promo codes by clicking the <strong>Request Deal</strong> buttons on products you want.</p>
  3923.            </div>
  3924.            <div class="modal-footer">
  3925.                <button type="button" class="btn btn-primary" data-dismiss="modal" onclick="show_last_product();">Got it!</button>
  3926.            </div>
  3927.  
  3928.        </div><!-- /.modal-content -->
  3929.    </div><!-- /.modal-dialog -->
  3930. </div><!-- /.modal -->
  3931.  
  3932. <!-- Modal Seller Sign In -->
  3933. <div class="modal fade" id="sellerSignInModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  3934.    <div class="modal-dialog">
  3935.        <div class="modal-content">
  3936.            <div class="modal-header">
  3937.                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
  3938.                <h4 class="modalName">Seller Sign In</h4>
  3939.            </div>
  3940.            <div class="modal-body">
  3941.             <p>Sellers of Amazon products are required to sign in at <a href="https://www.amztracker.com">www.amztracker.com</a></p>
  3942.             <p>More information about placing your products on this site can be found <a href="join-as-seller.php">here</a>.</p>
  3943.            </div>
  3944.            <div class="modal-footer">
  3945.                <button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
  3946.                <a href="https://www.amztracker.com" class="btn btn-primary">Go to www.amztracker.com</a>
  3947.            </div>
  3948.  
  3949.        </div><!-- /.modal-content -->
  3950.    </div><!-- /.modal-dialog -->
  3951. </div><!-- /.modal -->
  3952.  
  3953. <!-- Modal Contact Us -->
  3954. <div class="modal fade" id="contactModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  3955. <div class="modal-dialog">
  3956.        <div class="modal-content">
  3957.            <div class="modal-header">
  3958.                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
  3959.                <h4 class="modalName">How Can We Help You?</h4>
  3960.            </div>
  3961.            <div class="modal-body">
  3962.  
  3963. <div class="form-group">
  3964. <label for="contact_email_name">Your Name</label>
  3965. <input type="text" class="form-control" id="contact_email_name" name="contact_email_name" placeholder="">
  3966. </div>
  3967.  
  3968. <div class="form-group">
  3969. <label for="contact_email_address">Your Email</label>
  3970. <input type="text" class="form-control" id="contact_email_address" name="contact_email_address" placeholder="">
  3971. </div>
  3972.  
  3973. <div class="form-group">
  3974. <label for="contact_email_body">Question</label>
  3975. <textarea class="form-control" id="contact_email_body" name="contact_email_body" rows="6" placeholder=""></textarea>
  3976. </div>
  3977.  
  3978. <div class="please-wait">
  3979. <i class="fa fa-spin fa-spinner"></i> Please Wait...
  3980. </div>
  3981.  
  3982.            </div>
  3983.  
  3984.            <div class="modal-footer" style="margin-top:0">
  3985.                <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
  3986.                <button type="button" class="btn btn-primary" onclick="contact_email_send()">Submit</button>
  3987.            </div>
  3988.        </div><!-- /.modal-content -->
  3989.    </div><!-- /.modal-dialog -->
  3990. </div><!-- /.modal -->
  3991.  
  3992. <!-- Modal Report Seller -->
  3993. <div class="modal fade" id="reportSellerModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  3994. <div class="modal-dialog">
  3995.        <div class="modal-content">
  3996.            <div class="modal-header">
  3997.                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
  3998.                <h4 class="modalName">Report a Problem</h4>
  3999.            </div>
  4000.            <div class="modal-body">
  4001.             <select class="form-control" name="report-reason" style="margin-bottom: 15px;">
  4002.             <option value="Select Report Reason...">Select Report Reason...</option>
  4003.                             <option value="Code is not valid" selected="selected">Code is not valid</option>
  4004.                             <option value="Code has expired">Code has expired</option>
  4005.                             <option value="Code has not yet begun">Code has not yet begun</option>
  4006.                             <option value="Code cannot be applied to your purchase">Code cannot be applied to your purchase</option>
  4007.                             <option value="Price or discount is not as advertised">Price or discount is not as advertised</option>
  4008.                             <option value="Shipping method is not as advertised">Shipping method is not as advertised</option>
  4009.                             <option value="Product currently unavailable or no link to buy">Product currently unavailable or no link to buy</option>
  4010.                             <option value="Other">Other</option>
  4011.                             <option value="Price gouging or inflated price">Price gouging or inflated price</option>
  4012.                             <option value="Expired">Expired</option>
  4013.                             <option value="Not a good price">Not a good price</option>
  4014.                             <option value="Not a good product">Not a good product</option>
  4015.                             <option value="Incorrect Information">Incorrect Information</option>
  4016.                             <option value="Repost">Repost</option>
  4017.                             <option value="Spam">Spam</option>
  4018.                             </select>
  4019.             <textarea class="form-control" id="report-seller-reason" name="report_reason" rows="5" placeholder="Explain problem further here."></textarea>
  4020.             <input type="hidden" name="request_id">
  4021.             <input type="hidden" name="product_id">
  4022.  
  4023.            </div>
  4024.  
  4025.            <div class="modal-footer" style="margin-top:0">
  4026.                <button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
  4027.                <button type="button" class="btn btn-primary" onclick="report_seller_send()">Submit Report</button>
  4028.            </div>
  4029.        </div><!-- /.modal-content -->
  4030.    </div><!-- /.modal-dialog -->
  4031. </div><!-- /.modal -->
  4032.  
  4033.  
  4034. <!-- Modal Voucher Problems -->
  4035. <div class="modal fade" id="voucherProblemsModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  4036. <div class="modal-dialog">
  4037.        <div class="modal-content">
  4038.            <div class="modal-header">
  4039.                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
  4040.                <h4 class="modalName">Report a Problem</h4>
  4041.            </div>
  4042.            <div class="modal-body">
  4043.  
  4044.             <p>Are you having problems purchasing a product with the supplied voucher? If so, please contact the seller via the supplied email.</p>
  4045.             <p>Also, please be patient. Sellers are pretty busy people and it can take awhile to respond to your emails.</p>
  4046.             <p><strong>After 2 days of receiving a voucher</strong> you can report the seller to us (using the same button) if you cannot resolve this issue with the seller.</p>
  4047.             <br>
  4048.             <p>For more information <a href="http://help.amzreviewtrader.com/article/111-help-with-the-voucher-codes" target="_blank" rel="nofollow">click here</a>.</p>
  4049.  
  4050.            </div>
  4051.  
  4052.            <div class="modal-footer" style="margin-top:0">
  4053.                <button type="button" class="btn btn-default" data-dismiss="modal">Got it!</button>
  4054.            </div>
  4055.        </div><!-- /.modal-content -->
  4056.    </div><!-- /.modal-dialog -->
  4057. </div><!-- /.modal -->
  4058.  
  4059.  
  4060. <!-- Modal Hide Request Wait -->
  4061. <div class="modal fade" id="hideRequestWaitModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  4062. <div class="modal-dialog">
  4063.        <div class="modal-content">
  4064.            <div class="modal-header">
  4065.                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
  4066.                <h4 class="modalName">Thank you for your report!</h4>
  4067.            </div>
  4068.            <div class="modal-body">
  4069.             <p>We have taken note and will also convey the problems to the seller on your behalf.</p>
  4070.             <p>Usually the seller will rectify it soon, we suggest now you can remove this request from your dashboard and choose another deal.</p>
  4071.             <p>If you love this deal most, we suggest you can try to request this deal after 2 days.</p>
  4072.            </div>
  4073.  
  4074.            <div class="modal-footer" style="margin-top:0">
  4075.                <button type="button" class="btn btn-default" data-dismiss="modal">Got it!</button>
  4076.            </div>
  4077.        </div><!-- /.modal-content -->
  4078.    </div><!-- /.modal-dialog -->
  4079. </div><!-- /.modal -->
  4080.  
  4081. <!-- Modal Review URL -->
  4082. <div class="modal fade" id="reviewURLModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  4083. <div class="modal-dialog">
  4084.        <div class="modal-content">
  4085.            <div class="modal-header">
  4086.                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
  4087.                <h4 class="modalName">Purchased!</h4>
  4088.            </div>
  4089.            <div class="modal-body">
  4090.             <input type="hidden" name="request_id">
  4091.            <p>This will mark the product as purchased. The voucher will be permanently removed from your dashboard shortly after. Are you sure?</p>
  4092.            </div>
  4093.  
  4094.            <div class="modal-footer" style="margin-top:0">
  4095.                <button type="button" class="btn btn-default" data-dismiss="modal">Oops, I haven't purchased this yet.</button>
  4096.                <button type="button" class="btn btn-primary" onclick="submit_review_url()">Remove product</button>
  4097.            </div>
  4098.        </div><!-- /.modal-content -->
  4099.    </div><!-- /.modal-dialog -->
  4100. </div><!-- /.modal -->
  4101.  
  4102. <!-- Modal Message -->
  4103. <div class="modal fade" id="messageModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  4104. <div class="modal-dialog">
  4105.        <div class="modal-content">
  4106.            <div class="modal-header">
  4107.                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
  4108.                <h4 class="modalName"></h4>
  4109.            </div>
  4110.  
  4111.            <div class="modal-body">
  4112.            </div>
  4113.  
  4114.            <div class="modal-footer" style="margin-top:0">
  4115.                <button type="button" class="btn btn-primary" data-dismiss="modal">OK</button>
  4116.            </div>
  4117.        </div><!-- /.modal-content -->
  4118.    </div><!-- /.modal-dialog -->
  4119. </div><!-- /.modal -->
  4120.  
  4121. <!-- Modal Request Bypassed -->
  4122. <div class="modal fade" id="requestBypassedModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  4123. <div class="modal-dialog">
  4124.        <div class="modal-content">
  4125.            <div class="modal-header">
  4126.                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
  4127.                <h4 class="modalName">Why Wasn't I Selected?</h4>
  4128.            </div>
  4129.  
  4130.            <div class="modal-body">
  4131.             <p>You are essentially competing with a whole lot of other buyers when requesting to purchase a product. The seller only has a limited amount of vouchers to give out too.</p>
  4132.            </div>
  4133.  
  4134.            <div class="modal-footer" style="margin-top:0">
  4135.                <button type="button" class="btn btn-primary" data-dismiss="modal">Got It!</button>
  4136.            </div>
  4137.        </div><!-- /.modal-content -->
  4138.    </div><!-- /.modal-dialog -->
  4139. </div><!-- /.modal -->
  4140.  
  4141.  
  4142. <!-- Modal Job Application -->
  4143. <div class="modal fade" id="jobApplicationModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  4144. <div class="modal-dialog">
  4145. <div class="modal-content">
  4146. <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
  4147. <div class="vipon-dialog">
  4148. <form name="job_message">
  4149. <div class="job_content">
  4150. <div class="job_title">Apply for The Job</div>
  4151. <div class="job_detail_amztracker_message">
  4152. <textarea class="form-control" rows="8" id="job_application_message" name="job_application_message" onblur="if (value ==''){value='say some thing about why you are good for the job.'}" onfocus="if(value=='say some thing about why you are good for the job.'){value=''}">say some thing about why you are good for the job.</textarea>
  4153. </div>
  4154. <div class="btn_job_application">
  4155. <button type="button" class="btn btn-primary btn-message" data-dismiss="modal" onclick="get_message();">Apply</button>
  4156. </div>
  4157. </div>
  4158. <div class="clear"></div>
  4159. </form>
  4160. </div>
  4161. </div><!-- /.modal-content -->
  4162. </div><!-- /.modal-dialog -->
  4163. </div><!-- /.modal -->
  4164.  
  4165.  
  4166. <!-- Modal Report Seller/Product On Product Pages -->
  4167. <div class="modal fade" id="reportSellerProductPageModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  4168. <div class="modal-dialog">
  4169.        <div class="modal-content">
  4170.            <div class="modal-header">
  4171.                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
  4172.                <h4 class="modalName">Report a Problem</h4>
  4173.            </div>
  4174.            <div class="modal-body">
  4175.  
  4176.             <p>Before you report a product, please read important information found <a href="http://help.amzreviewtrader.com/article/124-reporting-issues-with-sellers#product" target="_blank" rel="nofollow">here</a>.</p>
  4177.             <br>
  4178.  
  4179.             <select class="form-control" name="report_reason" style="margin-bottom: 15px;">
  4180.             <option value="Select Report Reason...">Select Report Reason...</option>
  4181. <option value="Price changed or incorrect">Price changed or incorrect</option>
  4182. <option value="Shipping price incorrect">Shipping price incorrect</option>
  4183. <option value="False original price">False original price</option>
  4184. <option value="Picture incorrect">Picture incorrect</option>
  4185. <option value="Wrong product category">Wrong product category</option>
  4186. <option value="Possible scam or dishonest">Possible scam or dishonest</option>
  4187. <option value="Other. Please explain.">Other. Please explain.</option>
  4188. </select>
  4189.  
  4190.  
  4191.             <textarea class="form-control" name="report_reason" rows="5" placeholder="Explain problem further here. Detailed reports make it easier for us to investigate the matter."></textarea>
  4192.             <input type="hidden" name="product_id">
  4193.  
  4194.            </div>
  4195.  
  4196.            <div class="modal-footer report-form" style="margin-top:0">
  4197.                <button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
  4198.                <button type="button" class="btn btn-primary" onclick="report_seller_product_send()">Submit Report</button>
  4199.            </div>
  4200.  
  4201.        </div><!-- /.modal-content -->
  4202.    </div><!-- /.modal-dialog -->
  4203. </div><!-- /.modal -->
  4204.  
  4205. <!-- Modal Job Application -->
  4206. <div class="modal fade" id="jobRequestModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  4207. <div class="modal-dialog">
  4208. <div class="modal-content">
  4209. <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
  4210.  
  4211. <div class="row" style="padding:20px;">
  4212. <div class="col-sm-12 col-xs-12">
  4213. <h3>Apply for The Job</h3>
  4214.  
  4215. <p class="error" style="color: #f00; display: none; padding-bottom: 8px; text-align: center;"></p>
  4216.  
  4217. <form class="form-horizontal">
  4218. <div class="form-group">
  4219. <input id="skype-id" class="form-control" placeholder="Your skype ID." />
  4220. </div>
  4221. </form>
  4222.  
  4223. <form class="form-horizontal">
  4224. <div class="form-group">
  4225. <textarea id="message-txt" class="form-control" rows="3" placeholder="Say some thing about why you are good for the job."></textarea>
  4226. </div>
  4227. <button type="button" class="btn btn-primary pull-right" onclick="get_message();">Apply</button>
  4228. </form>
  4229.  
  4230. </div>
  4231. </div>
  4232. </div><!-- /.modal-content -->
  4233. </div><!-- /.modal-dialog -->
  4234. </div><!-- /.modal -->
  4235.  
  4236. <!-- Modal Job Application -->
  4237. <div class="modal fade" id="jobCompleteModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  4238. <div class="modal-dialog">
  4239. <div class="modal-content">
  4240. <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
  4241.  
  4242. <div class="row" style="padding:20px;">
  4243. <div class="col-sm-12 col-xs-12">
  4244. <h3>Submit your work</h3>
  4245.  
  4246. <p class="error" style="color: #f00; display: none; padding-bottom: 8px; text-align: center;"></p>
  4247.  
  4248. <form class="form-horizontal">
  4249. <input type="hidden" id="application-id" value="0">
  4250. <div class="form-group">
  4251. <textarea id="work-message-txt" class="form-control" rows="3" placeholder="If your work is done, make sure your employer receives it."></textarea>
  4252. </div>
  4253. <button type="button" class="btn btn-primary pull-right" onclick="submit_work_message();">Submit</button>
  4254. </form>
  4255.  
  4256. </div>
  4257. </div>
  4258. </div><!-- /.modal-content -->
  4259. </div><!-- /.modal-dialog -->
  4260. </div><!-- /.modal -->
  4261.  
  4262. <!-- Modal Product Groups -->
  4263. <div class="modal fade" id="productGroupModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  4264. <div class="modal-dialog">
  4265. <div class="modal-content">
  4266. <div class="modal-header">
  4267. <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
  4268. <h4 class="modalName">Select Product Groups</h4>
  4269. </div>
  4270. <div class="modal-body">
  4271. <p class="select-all" onclick="$('#productGroupModal .modal-body .product-groups p').addClass('selected'); update_product_groups();">Select All Groups</p>
  4272. <p class="select-none" onclick="$('#productGroupModal .modal-body p').removeClass('selected'); update_product_groups();">✕</p>
  4273. <hr style="clear: both;">
  4274.  
  4275. <div class="row">
  4276. <div class="col-xs-12 col-sm-6">
  4277. <p class="product-group-option " onclick="$(this).toggleClass('selected'); update_product_groups();">Adult Products</p>
  4278. </div>
  4279. </div>
  4280.  
  4281. <div class="product-groups">
  4282. <div class="row">
  4283. <div class="col-xs-12 col-sm-6">
  4284. <p class="product-group-option " onclick="$(this).toggleClass('selected'); update_product_groups();">Arts, Crafts & Sewing</p>
  4285. </div>
  4286. <!--
  4287. <div class="col-xs-12 col-sm-6">
  4288. <p class="product-group-option " onclick="$(this).toggleClass('selected'); update_product_groups();"></p>
  4289. </div>
  4290. --> </div>
  4291. <div class="row">
  4292. <div class="col-xs-12 col-sm-6">
  4293. <p class="product-group-option " onclick="$(this).toggleClass('selected'); update_product_groups();">Automotive & Industrial</p>
  4294. </div>
  4295. <!--
  4296. <div class="col-xs-12 col-sm-6">
  4297. <p class="product-group-option " onclick="$(this).toggleClass('selected'); update_product_groups();"></p>
  4298. </div>
  4299. --> </div>
  4300. <div class="row">
  4301. <div class="col-xs-12 col-sm-6">
  4302. <p class="product-group-option " onclick="$(this).toggleClass('selected'); update_product_groups();">Beauty & Grooming</p>
  4303. </div>
  4304. <!--
  4305. <div class="col-xs-12 col-sm-6">
  4306. <p class="product-group-option " onclick="$(this).toggleClass('selected'); update_product_groups();"></p>
  4307. </div>
  4308. --> </div>
  4309. <div class="row">
  4310. <div class="col-xs-12 col-sm-6">
  4311. <p class="product-group-option " onclick="$(this).toggleClass('selected'); update_product_groups();">Cell Phones & Accessories</p>
  4312. </div>
  4313. <!--
  4314. <div class="col-xs-12 col-sm-6">
  4315. <p class="product-group-option " onclick="$(this).toggleClass('selected'); update_product_groups();"></p>
  4316. </div>
  4317. --> </div>
  4318. <div class="row">
  4319. <div class="col-xs-12 col-sm-6">
  4320. <p class="product-group-option " onclick="$(this).toggleClass('selected'); update_product_groups();">Electronics & Office</p>
  4321. </div>
  4322. <!--
  4323. <div class="col-xs-12 col-sm-6">
  4324. <p class="product-group-option " onclick="$(this).toggleClass('selected'); update_product_groups();"></p>
  4325. </div>
  4326. --> </div>
  4327. <div class="row">
  4328. <div class="col-xs-12 col-sm-6">
  4329. <p class="product-group-option " onclick="$(this).toggleClass('selected'); update_product_groups();">Health & Household</p>
  4330. </div>
  4331. <!--
  4332. <div class="col-xs-12 col-sm-6">
  4333. <p class="product-group-option " onclick="$(this).toggleClass('selected'); update_product_groups();"></p>
  4334. </div>
  4335. --> </div>
  4336. <div class="row">
  4337. <div class="col-xs-12 col-sm-6">
  4338. <p class="product-group-option " onclick="$(this).toggleClass('selected'); update_product_groups();">Home & Garden</p>
  4339. </div>
  4340. <!--
  4341. <div class="col-xs-12 col-sm-6">
  4342. <p class="product-group-option " onclick="$(this).toggleClass('selected'); update_product_groups();"></p>
  4343. </div>
  4344. --> </div>
  4345. <div class="row">
  4346. <div class="col-xs-12 col-sm-6">
  4347. <p class="product-group-option " onclick="$(this).toggleClass('selected'); update_product_groups();">Jewelry</p>
  4348. </div>
  4349. <!--
  4350. <div class="col-xs-12 col-sm-6">
  4351. <p class="product-group-option " onclick="$(this).toggleClass('selected'); update_product_groups();"></p>
  4352. </div>
  4353. --> </div>
  4354. <div class="row">
  4355. <div class="col-xs-12 col-sm-6">
  4356. <p class="product-group-option " onclick="$(this).toggleClass('selected'); update_product_groups();">Kitchen & Dining</p>
  4357. </div>
  4358. <!--
  4359. <div class="col-xs-12 col-sm-6">
  4360. <p class="product-group-option " onclick="$(this).toggleClass('selected'); update_product_groups();"></p>
  4361. </div>
  4362. --> </div>
  4363. <div class="row">
  4364. <div class="col-xs-12 col-sm-6">
  4365. <p class="product-group-option " onclick="$(this).toggleClass('selected'); update_product_groups();">Men's Clothing & Shoes</p>
  4366. </div>
  4367. <!--
  4368. <div class="col-xs-12 col-sm-6">
  4369. <p class="product-group-option " onclick="$(this).toggleClass('selected'); update_product_groups();"></p>
  4370. </div>
  4371. --> </div>
  4372. <div class="row">
  4373. <div class="col-xs-12 col-sm-6">
  4374. <p class="product-group-option " onclick="$(this).toggleClass('selected'); update_product_groups();">Pet Supplies</p>
  4375. </div>
  4376. <!--
  4377. <div class="col-xs-12 col-sm-6">
  4378. <p class="product-group-option " onclick="$(this).toggleClass('selected'); update_product_groups();"></p>
  4379. </div>
  4380. --> </div>
  4381. <div class="row">
  4382. <div class="col-xs-12 col-sm-6">
  4383. <p class="product-group-option " onclick="$(this).toggleClass('selected'); update_product_groups();">Sports & Outdoors</p>
  4384. </div>
  4385. <!--
  4386. <div class="col-xs-12 col-sm-6">
  4387. <p class="product-group-option " onclick="$(this).toggleClass('selected'); update_product_groups();"></p>
  4388. </div>
  4389. --> </div>
  4390. <div class="row">
  4391. <div class="col-xs-12 col-sm-6">
  4392. <p class="product-group-option " onclick="$(this).toggleClass('selected'); update_product_groups();">Toys, Kids & Baby</p>
  4393. </div>
  4394. <!--
  4395. <div class="col-xs-12 col-sm-6">
  4396. <p class="product-group-option " onclick="$(this).toggleClass('selected'); update_product_groups();"></p>
  4397. </div>
  4398. --> </div>
  4399. <div class="row">
  4400. <div class="col-xs-12 col-sm-6">
  4401. <p class="product-group-option " onclick="$(this).toggleClass('selected'); update_product_groups();">Watches</p>
  4402. </div>
  4403. <!--
  4404. <div class="col-xs-12 col-sm-6">
  4405. <p class="product-group-option " onclick="$(this).toggleClass('selected'); update_product_groups();"></p>
  4406. </div>
  4407. --> </div>
  4408. <div class="row">
  4409. <div class="col-xs-12 col-sm-6">
  4410. <p class="product-group-option " onclick="$(this).toggleClass('selected'); update_product_groups();">Women's Clothing & Shoes</p>
  4411. </div>
  4412. <!--
  4413. <div class="col-xs-12 col-sm-6">
  4414. <p class="product-group-option " onclick="$(this).toggleClass('selected'); update_product_groups();"></p>
  4415. </div>
  4416. --> </div>
  4417. <div class="row">
  4418. <div class="col-xs-12 col-sm-6">
  4419. <p class="product-group-option " onclick="$(this).toggleClass('selected'); update_product_groups();">Other</p>
  4420. </div>
  4421. <!--
  4422. <div class="col-xs-12 col-sm-6">
  4423. <p class="product-group-option " onclick="$(this).toggleClass('selected'); update_product_groups();"></p>
  4424. </div>
  4425. --> </div>
  4426. <div class="row">
  4427. <div class="col-xs-12 col-sm-6">
  4428. <p class="product-group-option " onclick="$(this).toggleClass('selected'); update_product_groups();">Adult Products</p>
  4429. </div>
  4430. <!--
  4431. <div class="col-xs-12 col-sm-6">
  4432. <p class="product-group-option " onclick="$(this).toggleClass('selected'); update_product_groups();"></p>
  4433. </div>
  4434. --> </div>
  4435. </div>
  4436.  
  4437. </div>
  4438.  
  4439. <div class="modal-footer" style="margin-top:0">
  4440. <button type="button" class="btn btn-primary" data-dismiss="modal">OK</button>
  4441. </div>
  4442. </div><!-- /.modal-content -->
  4443. </div><!-- /.modal-dialog -->
  4444. </div><!-- /.modal -->
  4445.  
  4446. <div class="modal fade" id="Suspend_Sellers" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  4447.    <div class="modal-dialog modal-lg">
  4448.        <div class="modal-content">
  4449.            <div class="modal-header">
  4450.                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
  4451.                <h8 class="modalName">Suspend</h8>
  4452.            </div>
  4453.            <div class="modal-body">
  4454.             <div class="row" style="margin-top: 20px;">
  4455.                            <div class="col-xs-12">
  4456.                                <form class="form-horizontal" action="suspend_product.php" method="POST">
  4457.                                    <input type="hidden" name="product_id" id="model_id" />
  4458.                                    <textarea class="form-control" id="suspend_reason" name="reason" placeholder="Suspend Sellers reason." rows="10"></textarea>
  4459.                                    <button type="button" class="btn btn-primary" onclick="suspend()" style="margin-top: 10px">Suspend Sellers</button>
  4460.                                </form>
  4461.                            </div>
  4462.                         </div>
  4463.            </div>
  4464.        </div><!-- /.modal-content -->
  4465.    </div><!-- /.modal-dialog -->
  4466. </div><!-- /.modal -->
  4467.  
  4468. <script>
  4469.  
  4470. //  Contact Us
  4471.  
  4472. $('#contactModal').on('show.bs.modal', function (e) {
  4473. $('#contactModal .please-wait').hide();
  4474. });
  4475.  
  4476. function contact_email_send() {
  4477. if ($('#contactModal #contact_email_address').val() == '') {
  4478. alert('Please fill in your email address.');
  4479. return;
  4480. }
  4481.  
  4482. if ($('#contactModal #contact_email_body').val() == '') {
  4483. alert('You forgot to write us a question.');
  4484. return;
  4485. }
  4486.  
  4487. var contact_email = $('#contactModal #contact_email_address').val();
  4488. var contact_name = $('#contactModal #contact_email_name').val();
  4489. var contact_body = $('#contactModal #contact_email_body').val();
  4490.  
  4491. $('#contactModal .form-group').hide();
  4492. $('#contactModal .btn-primary').hide();
  4493. $('#contactModal .please-wait').html('<i class="fa fa-spin fa-spinner"></i> Please Wait...').show();
  4494.  
  4495.    $.ajax({
  4496.        url: "/send_email.php",
  4497.        method: 'POST',
  4498.        cache: false,
  4499.        data: {
  4500.         body: contact_body + '\r\n\r\nFrom:' + contact_email,
  4501.         from_email: contact_email,
  4502.         from_name: contact_name,
  4503.         to_email: "",   //$site_email
  4504.         notHTML: true
  4505.  
  4506.        },
  4507.        success: function(data) {
  4508.         console.log(data);
  4509. $('#contactModal .please-wait').html('Message Sent! <br><br> We will get back to you ASAP.');
  4510.        }
  4511.    });
  4512.  
  4513.  
  4514. }
  4515.  
  4516. // How it works
  4517.  
  4518. $('#videoModal').on('hidden.bs.modal', function (e) {
  4519. $('#videoModal iframe').attr('src', '');
  4520. });
  4521.  
  4522. function how_it_works() {
  4523. $('#videoModal .video-container').html('<iframe src="//www.youtube.com/embed/6nDs6cYhpdE?rel=0&vq=hd720&showinfo=0&modestbranding=1&autohide=1&autoplay=1" frameborder="0" allowfullscreen></iframe>');
  4524. $('#videoModal').modal('show');
  4525. }
  4526.  
  4527.  
  4528. // Review URL
  4529.  
  4530. $('#reviewURLModal').on('shown.bs.modal', function () {
  4531.    $('#reviewURLModal #review_url').focus();
  4532. });
  4533.  
  4534. </script>
  4535.  
  4536. <div id="footer">
  4537.    <div>
  4538.                    <div class="app">
  4539.                <div>Get Vipon</div>
  4540.                <div>
  4541.                    <a href="https://itunes.apple.com/us/app/vipon-amazon-coupon/id1272023223?mt=8" onclick="app_click(1,1,0)" rel="nofollow" class="app-store" target="_blank">
  4542.                        <img src="/images/icon_APP.svg" alt="">
  4543.                    </a>
  4544.                </div>
  4545.                <div>
  4546.                    <a href="https://play.google.com/store/apps/details?id=com.vipon" class="app-play" rel="nofollow" onclick="app_click(1,4,0)" target="_blank">
  4547.                        <img src="/images/icon_Google.webp" alt="">
  4548.                    </a>
  4549.                </div>
  4550.            </div>
  4551.            <div class="app">
  4552.                <div>Get Vipon Lite</div>
  4553.                <div>
  4554.                    <a href="https://play.google.com/store/apps/details?id=com.vipon.uniapp" class="app-play" rel="nofollow" onclick="app_click(1,20,0)" target="_blank">
  4555.                       <img src="/images/icon_Google.webp" alt="">
  4556.                    </a>
  4557.                </div>
  4558.            </div>
  4559.        
  4560.        <div>
  4561.            <div><a>About</a></div>
  4562.            <div>
  4563.                <a href="https://www.myvipon.com/about-vipon?ref=menu_aboutvipon" target="_blank">What is Vipon</a>
  4564.            </div>
  4565.            <div><a href="https://help.myvipon.com/" target="_blank" onclick="clickRecord(200)">FAQ</a></div>
  4566.            <div>
  4567.                <a href="https://affiliate.blhltd.com/#/login?redirect=%2Fdashboard" target="_blank" rel="nofollow">
  4568.                    Seller Affiliates
  4569.                </a>
  4570.            </div>
  4571.        </div>
  4572.        <div>
  4573.            <div><a>Vipon Seller</a></div>
  4574.            <a href="https://seller.myvipon.com" target="_blank" class="btn" rel="nofollow">Seller Center</a>            <div>
  4575.                <a href="https://seller.myvipon.com/main/index?from=advertising#firstAnchor" target="_blank" rel="nofollow">
  4576.                    Advertising Opportunities
  4577.                </a>
  4578.            </div>
  4579.        </div>
  4580.        <div>
  4581.            <div><a>Contact Us</a></div>
  4582.            <div><a>Shopper: <span class="__cf_email__" data-cfemail="eb989e9b9b84999fab86929d829b8485c5888486">[email&#160;protected]</span></a></div>
  4583.            <div><a>Seller: <span class="__cf_email__" data-cfemail="aad9cfd8dcc3c9cfeac7d3dcc3dac5c484c9c5c7">[email&#160;protected]</span></a></div>
  4584.            <div><a>Business: <span class="__cf_email__" data-cfemail="6b1b0a191f050e192b06121d021b040545080406">[email&#160;protected]</span></a></div>
  4585.                    </div>
  4586.        <div>
  4587.            <div><a>Community</a></div>
  4588.            <div>
  4589.                <a href="/deal" rel="nofollow" target="_blank">
  4590.                    Other Deals
  4591.                </a>
  4592.            </div>
  4593.            <div>
  4594.                <a onclick='govshow()' rel="nofollow">
  4595.                    V Show
  4596.                </a>
  4597.            </div>
  4598.        </div>
  4599.        <!-- <div>
  4600.            <div><a>Newsletter</a></div>
  4601.            <div><a href="https://www.myvipon.com/newsletter" target="_blank">Be the first to get the best Amazon deals</a></div>
  4602.            <form action="https://vipon.us10.list-manage.com/subscribe/post?u=6b9aae568164012e59e677c6a&amp;id=238794d600"
  4603.                  method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate"
  4604.                  target="_blank" novalidate>
  4605.                <div style="position: absolute; left: -5000px;" aria-hidden="true">
  4606.                    <input type="text" name="b_6b9aae568164012e59e677c6a_238794d600" tabindex="-1" value="">
  4607.                </div>
  4608.            <div class="send-email"><input type="email" value="" name="EMAIL" class="required email" id="mce-EMAIL" placeholder="Your Email Address…"><button type="submit"><img src="https://vipon.s3.amazonaws.com/img/1565592e19b5f03249448fb939da2165a59628644e34ba.png" alt=""></button></div>
  4609.            </form>
  4610.        </div> -->
  4611.    </div>  
  4612.    <div class="other">
  4613.        <div>
  4614.            <a href="https://www.facebook.com/groups/196767718347452" target="_blank"
  4615.                onclick="clickRecord(202)" rel="nofollow">
  4616.                <img src="https://vipon.s3.amazonaws.com/img/3642717de3a38f1369beb3b871a9ef592c550b8f97c187.png" alt="">
  4617.            </a>
  4618.        </div>
  4619.        <div>
  4620.            <a href="https://www.youtube.com/@MyVipon" target="_blank" rel="nofollow">
  4621.                <img src="../../../images/youtube_social_circle_red.png" alt="" style="width: 30px;">
  4622.            </a>
  4623.        </div>
  4624.        <div>
  4625.            <a href="https://www.instagram.com/vipon_deals/" target="_blank" rel="nofollow">
  4626.                <img src="https://vipon.s3.amazonaws.com/img/725886ef86997ad7088cb581387442974b1e215ead82f2.png" alt="">
  4627.            </a>
  4628.        </div>
  4629.        <div>
  4630.            <a href="https://www.tiktok.com/@vipon_deals" target="_blank" rel="nofollow">
  4631.                <img src="https://vipon.s3.amazonaws.com/images/v-tk.webp" alt="" width="30">
  4632.            </a>
  4633.        </div>
  4634.    </div>
  4635.    <p>©Copyright 2025 Vipon All Right Reserved
  4636.    <span>·</span>
  4637.        <a href="https://www.myvipon.com/privacy-policy" target="_blank">Privacy Policy</a>
  4638.        <span>·</span>
  4639.        <a href="https://www.myvipon.com/terms-of-service" target="_blank">Terms of Service</a>
  4640.        <span>·</span>
  4641.        <a href="/info/personal-info" target="_blank">Do Not Sell My Personal Information</a>
  4642.    </p>
  4643.    
  4644.    <p style='margin-top: 7px;color:rgba(255, 255, 255, 0.6)'>
  4645.        Certain content in this page comes from Amazon. The content is provided as is, and is subject
  4646.        to change or removal at <br> any time. Amazon and the Amazon logo are trademarks of Amazon.com,
  4647.        Inc. or its affiliates.
  4648.    </p>
  4649. </div>
  4650. <!-- 模态框(Modal) -->
  4651. <div class="modal fade" id="feedBack" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  4652.    <div class="modal-dialog">
  4653.        <div class="modal-content">
  4654.            <div class="modal-header">
  4655.                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
  4656.                <h4 class="modal-title" id="myModalLabel">Feedback</h4>
  4657.            </div>
  4658.            <div class="modal-body">
  4659.                <form>
  4660.                    <div class="form-group">
  4661.                        <label for="feedBackText"><span>*</span><span>Feedback</span></label>
  4662.                        <textarea id="feedBackText" placeholder="Problem and Suggestion: Describe your issue using at least 10 characters so that we can help troubleshoot your issue more quickly. If you have any suggestions for this site, you can also let us know here."></textarea>
  4663.                    </div>
  4664.                    <div class="form-group">
  4665.                        <div class="copy-label"><span></span><span>screenshots (Optional):</span></div>
  4666.                        <div style="display: flex">
  4667.                            <div class="imgs">
  4668.                            </div>
  4669.                            <div class="img-group">
  4670.                                <label for="imgEx">
  4671.                                    <img src="https://vipon.s3.amazonaws.com/img/3060483300cfc0ad8582dd0d8496c79e2601ea886ad30c.svg" alt="">
  4672.                                </label>
  4673.                                <input type="file" accept=".jpg,.png" id="imgEx">
  4674.                            </div>
  4675.                        </div>
  4676.  
  4677.                    </div>
  4678.                    <div class="form-group submit-back">
  4679.                        <button class="submit-feed-back" disabled="disabled" data-no="0"><img src="../../../images/waiting-1.gif" style="width: 16px;margin-right: 3px;display: none" alt="">Submit</button>
  4680.                    </div>
  4681.                </form>
  4682.            </div>
  4683.        </div><!-- /.modal-content -->
  4684.    </div><!-- /.modal -->
  4685. </div>
  4686.  
  4687. <!--change domain -->
  4688.  
  4689. <div class="modal fade" id="change-domain" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"  data-backdrop="static">
  4690.    <div class="modal-dialog" style="top: 50%;margin-top: -170px;width: 660px;height: 360px;background: #F8F8F8;border-radius: 4px;">
  4691.        <div class="modal-content">
  4692.  
  4693.            <div class="modal-body" style="width: 660px;height: 360px;background: #F8F8F8;border-radius: 4px;">
  4694.                <div style="text-align: center;margin-top: 30px;"><img style="width: 160px;height: 31px;" src="https://vipon.s3.amazonaws.com/img/268511307d0d511cd3a1f4a168e28b9463e41218ea9a66.svg"></div>
  4695.                <div style="text-align: center;margin-top: 40px;"><label style="width: 412px;height: 28px;font-size: 24px;font-family: Roboto-Bold, Roboto;font-weight: bold;color: #333333;line-height: 28px;">Vipon has been updated to a new site!</label></div>
  4696.                <div style="text-align: center;margin-top: 20px;"><label style="width: 400px;height: 40px;font-size: 14px;font-family: Roboto-Regular, Roboto;font-weight: 400;color: #333333;line-height: 20px;">Our new website address is <a href="https://www.myvipon.com"  style="color:#4DCAC1">www.myvipon.com</a><br>Please update your Favorites/Bookmark to add our new website.</label></div>
  4697.                <div style="text-align: center;margin-top: 30px;"><button id="jump_to_new_domain" style="width: 100px;height: 32px;background: #4DCAC1;border-radius: 16px;color:white;border:none;">OK</button></div>
  4698.                <div style="text-align: center;margin-top: 14px;"><label style="width: 306px;height: 20px;font-size: 12px;font-family: Roboto-Regular, Roboto;font-weight: 400;color: #999999;line-height: 20px;">You will be re-directed to www.myvipon.com in <label style="color: #4DCAC1" id="mes">5</label> seconds</label></div>
  4699.            </div>
  4700.        </div><!-- /.modal-content -->
  4701.    </div><!-- /.modal -->
  4702. </div>
  4703.  
  4704. <!-- 上传feedback提示 -->
  4705. <div class="modal fade " id="feedBackTiTitle" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  4706.    <div class="modal-dialog modal-sm">
  4707.        <div class="modal-content">
  4708.            <div class="modal-body">
  4709.                Thank you for your feedback
  4710.            </div>
  4711.        </div><!-- /.modal-content -->
  4712.    </div><!-- /.modal -->
  4713. </div>
  4714. <script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script><script>
  4715.    var host_name = window.location.hostname ;
  4716.    if(host_name == 'www.vipon.com'){
  4717.        $(function(){
  4718.            $('#change-domain').modal('show');
  4719.  
  4720.            window.onload = function(){
  4721.                var i = 4;
  4722.                var intervalid;
  4723.                intervalid = setInterval(fun, 1000);
  4724.                function fun() {
  4725.                    if (i == 0) {
  4726.                        window.location.href="https://www.myvipon.com";
  4727.                        clearInterval(intervalid);
  4728.                    }
  4729.                    document.getElementById("mes").innerHTML = i;
  4730.                    i--;
  4731.                }
  4732.            }
  4733.  
  4734.            $(document).on('click','#jump_to_new_domain',function(){
  4735.                window.location.href="https://www.myvipon.com";
  4736.            });
  4737.  
  4738.        });
  4739.    }
  4740.  
  4741.    /*
  4742.     * app  click
  4743.     * */
  4744.    function app_click(click,device,is_black_friday=0) {
  4745.        if (is_black_friday == 0) {
  4746.            $.ajax({
  4747.                url: "/amazon/download",
  4748.                type: 'get',
  4749.                data: {
  4750.                    click: click,device:device
  4751.                },
  4752.                error: function (error) {
  4753.  
  4754.                },
  4755.                success: function (data) {
  4756.  
  4757.                }
  4758.            });
  4759.        }else {
  4760.            if (device == 1) {
  4761.                blackFridayTrace(11, 0)
  4762.            }else if (device == 4) {
  4763.                blackFridayTrace(11, 1)
  4764.            }
  4765.        }
  4766.    }
  4767.    //黑五统计
  4768.    function blackFridayTrace(stat_type, btn_code) {
  4769.        $.ajax({
  4770.            url:"/api/black-friday/trace",
  4771.            type:'post',
  4772.            dataType:'json',
  4773.            data:{
  4774.                stat_type: stat_type,
  4775.                btn_code: btn_code,
  4776.            },
  4777.            success:function (data) {
  4778.  
  4779.            },
  4780.            error:function (err) {
  4781.  
  4782.            }
  4783.        });
  4784.    }
  4785.    function getImgSizeLeft(arrayElement) {
  4786.        let width = parseInt($(arrayElement).css('width'));
  4787.        let height = parseInt($(arrayElement).css('height'));
  4788.        if(width>0&&height>0){
  4789.            if(width/height>=1){
  4790.                $(arrayElement).css({
  4791.                    'height':'100%',
  4792.                    'width':'auto'
  4793.                });
  4794.                width = parseInt($(arrayElement).css('width'));
  4795.                height = parseInt($(arrayElement).css('height'));
  4796.                $(arrayElement).css({
  4797.                    'left':'-'+(width-parseInt($(arrayElement).parent().width()))/2+'px',
  4798.                    top:0
  4799.                })
  4800.  
  4801.            }else{
  4802.                $(arrayElement).css({
  4803.                    'width':'100%',
  4804.                    'height':'auto',
  4805.                })
  4806.                width = parseInt($(arrayElement).css('width'));
  4807.                height = parseInt($(arrayElement).css('height'));
  4808.                $(arrayElement).css({
  4809.                    'top': '-' + (height - parseInt($(arrayElement).parent().height())) / 2 + 'px',
  4810.                    left: 0
  4811.                })
  4812.            }
  4813.        }
  4814.    }
  4815.  
  4816.    function govshow(){
  4817.        window.open('/vshow/list');
  4818.  
  4819.        $.ajax({
  4820.            url:"/main/click-record",
  4821.            type:'post',
  4822.            dataType:'json',
  4823.            data:{
  4824.                btn_code: 108,
  4825.            },
  4826.        });
  4827.    }
  4828.  
  4829.    </script>
  4830. <script src="/js/lazyload-product.js?v=20250530"></script>
  4831. <script>
  4832.    $("#elevator").click(function () {
  4833.        $("html,body").animate({scrollTop: 0}, 500);
  4834.    });
  4835.    $(".qr").hover(function () {
  4836.        $(".qr-popup").show();
  4837.    }, function () {
  4838.        $(".qr-popup").hide();
  4839.    });
  4840.    //遮罩层
  4841.    var heiht = $(window).height();
  4842.    $(".back_drop").height(heiht);
  4843.    function checkAndriodIos() {
  4844.        if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) {
  4845.            $(".back_drop").show();
  4846.            $(".get_method img").attr("src", "/images/apple_app.png");
  4847.        } else if (/(Android)/i.test(navigator.userAgent)) {
  4848.            $(".back_drop").show();
  4849.            $(".get_method img").attr("src", "/images/google_app.png");
  4850.        } else {
  4851.            localStorage.removeItem("appDownload");
  4852.        }
  4853.    }
  4854.    if (!localStorage["appDownload"]) {
  4855.        checkAndriodIos();
  4856.        $(".get_method").on("click", function () {
  4857.  
  4858.            if ($(this).children().attr("src") == "/images/apple_app.png") {
  4859.                window.location.href = "https://itunes.apple.com/us/app/vipon-amazon-coupon/id1272023223?mt=8";
  4860.            } else {
  4861.                window.location.href = "https://play.google.com/store/apps/details?id=com.vipon";
  4862.            }
  4863.        });
  4864.        $(".icon-clear").on("click", function () {
  4865.            $(".back_drop").hide();
  4866.        });
  4867.        window.localStorage.setItem("appDownload", "true");
  4868.    }
  4869.  
  4870. //评论图片点击
  4871. function commentImg(){
  4872.        $('.btn-list a').unbind();
  4873.        $('.btn-list a').on('click',function (e) {
  4874.            e.preventDefault();
  4875.            // $('#showImg img').attr('src',$(this).find('img').attr('src'));
  4876.            let imgs = JSON.parse($(this).attr('data-imgs'));
  4877.            let index = $(this).attr('data-index');
  4878.            let html = `<div id="myCarousel" class="carousel slide">
  4879.                        <ol class="carousel-indicators">`;
  4880.  
  4881.            /* html+=`<li data-target="#myCarousel" data-slide-to="0" class="active"></li>
  4882.             <li data-target="#myCarousel" data-slide-to="1"></li>
  4883.             <li data-target="#myCarousel" data-slide-to="2"></li>`;*/
  4884.  
  4885.            html+=`</ol>
  4886.                        <div class="carousel-inner">`;
  4887.            for(let i=0;i<imgs.length;i++){
  4888.                if(i==index){
  4889.                    html+=`<div class="item active">
  4890.                                    <div>
  4891.                                        <img src="${imgs[i]}" alt="First slide">
  4892.                                    </div>
  4893.                                    </div>`;
  4894.                }else{
  4895.                    html+=`<div class="item">
  4896.                                    <div>
  4897.                                        <img src="${imgs[i]}" alt="First slide">
  4898.                                    </div>
  4899.                                    </div>`;
  4900.                }
  4901.  
  4902.            }
  4903.            html+=`</div>
  4904.                        <a class="left carousel-control" href="#myCarousel" role="button" data-slide="prev">
  4905.                            <span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>
  4906.                            </a>
  4907.                            <a class="right carousel-control" href="#myCarousel" role="button" data-slide="next">
  4908.                            <span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
  4909.                            </a>
  4910.                        </div>`
  4911.            $('#showImg .modal-content').html(html);
  4912.            $("#myCarousel").carousel('pause');
  4913.            document.onkeydown=function(e){ //键盘按下事件绑定
  4914.                var e=window.event||e;
  4915.                switch(e.keyCode){
  4916.                    case 37: //左
  4917.                        $("#myCarousel").carousel('prev');
  4918.                        break;
  4919.                    case 39:  //右
  4920.                        $("#myCarousel").carousel('next');
  4921.                        break;
  4922.                }
  4923.            }
  4924.            $('#showImg').modal('show');
  4925.        })
  4926.    }
  4927.    function titleModel(close,time=3000) {
  4928.        $('#favoritesTitle').modal('show');
  4929.        if(close){
  4930.            var timer = setTimeout(function () {
  4931.                $('#favoritesTitle').modal('hide');
  4932.                $('#favoritesTitle .modal-body>div').css('display','none');
  4933.                clearTimeout(timer);
  4934.            },time)
  4935.        }else{
  4936.            $('#favoritesTitle').on('hidden.bs.modal', function() {
  4937.                $('#favoritesTitle .modal-body>div').css('display','none');
  4938.            })
  4939.        }
  4940.  
  4941.    }
  4942.  
  4943.    //积分弹窗
  4944.    $('#detail-money').on('click', function (e) {
  4945.        e.preventDefault();
  4946.        $('#showIntegral').modal('show');
  4947.    })
  4948.  
  4949.    function showDisabledComment(){
  4950.        $('#disabledComment').modal('show');
  4951.        let timer = setTimeout(function () {
  4952.            clearTimeout(timer);
  4953.            $('#disabledComment').modal('hide');
  4954.        },3000)
  4955.    }
  4956.    $('.comment-icon-top').on('click',function () {
  4957.        let top = parseInt($('#comment')[0].offsetTop)-30-parseInt($('body').css('padding-top'));
  4958.        $("html,body").animate({"scrollTop": top}, 300);
  4959.    })
  4960.  
  4961.    //分页
  4962.    function getPageHtml(newPage,totalPage){
  4963.        var html='';
  4964.        if(newPage==1){
  4965.            html+='<li><a href="javascript:;" class="noClick"  data-totalPage="'+totalPage+'">Previous</a></li>';
  4966.        }else{
  4967.            html+='<li><a href="javascript:;" data-totalPage="'+totalPage+'">Previous</a></li>';
  4968.        }
  4969.        if(totalPage==1){
  4970.            html+='<li class="active"><a href="javascript:;" class="noClick" data-totalPage="'+totalPage+'">1</a></li>';
  4971.            html+='<li><a href="javascript:;" class="noClick"  data-totalPage="'+totalPage+'">Next</a></li>';
  4972.        }else if(totalPage<=5){
  4973.            for(var i=0;i<totalPage;i++){
  4974.                if(parseInt(newPage)==(i+1)){
  4975.                    html+='<li class="active"><a href="javascript:;" class="noClick" data-totalPage="'+totalPage+'">'+(i+1)+'</a></li>';
  4976.                }else{
  4977.                    html+='<li><a href="javascript:;" data-totalPage="'+totalPage+'">'+(i+1)+'</a></li>';
  4978.                }
  4979.            }
  4980.            if(newPage<totalPage){
  4981.                html+='<li><a href="javascript:;"  data-totalPage="'+totalPage+'">Next</a></li>';
  4982.            }else{
  4983.                html+='<li><a href="javascript:;" class="noClick"  data-totalPage="'+totalPage+'">Next</a></li>';
  4984.            }
  4985.        }else{
  4986.            if(newPage<4){
  4987.                for (var i=0;i<4;i++){
  4988.                    if(parseInt(newPage)==(i+1)){
  4989.                        html+='<li class="active"><a href="javascript:;" class="noClick" data-totalPage="'+totalPage+'">'+(i+1)+'</a></li>';
  4990.                    }else{
  4991.                        html+='<li><a href="javascript:;" data-totalPage="'+totalPage+'">'+(i+1)+'</a></li>';
  4992.                    }
  4993.                }
  4994.                html+='<li><a href="javascript:;" class="noClick">...</a></li><li><a href="javascript:;">'+totalPage+'</a></li>';
  4995.                html+='<li><a href="javascript:;"  data-totalPage="'+totalPage+'">Next</a></li>';
  4996.            }else{
  4997.                if((parseInt(newPage)+1)==totalPage||parseInt(newPage)==parseInt(totalPage)){
  4998.                    html+='<li><a href="javascript:;" data-totalPage="'+totalPage+'">1</a></li>';
  4999.                    html+='<li><a href="javascript:;" class="noClick">...</a></li>';
  5000.                    html+='<li><a href="javascript:;"  data-totalPage="'+totalPage+'">'+(parseInt(totalPage)-2)+'</a></li>';
  5001.                    if((parseInt(newPage)+1)==totalPage){
  5002.                        html+='<li class="active"><a href="javascript:;" class="noClick" data-totalPage="'+totalPage+'">'+(parseInt(totalPage)-1)+'</a></li>';
  5003.                    }else{
  5004.                        html+='<li><a href="javascript:;"  data-totalPage="'+totalPage+'">'+(parseInt(totalPage)-1)+'</a></li>';
  5005.                    }
  5006.                    if(parseInt(newPage)==parseInt(totalPage)){
  5007.                        html+='<li class="active"><a href="javascript:;" class="noClick" data-totalPage="'+totalPage+'">'+parseInt(totalPage)+'</a></li>';
  5008.                        html+='<li><a href="javascript:;" class="noClick"  data-totalPage="'+totalPage+'">Next</a></li>';
  5009.                    }else{
  5010.  
  5011.                        html+='<li><a href="javascript:;"  data-totalPage="'+totalPage+'">Next</a></li>';
  5012.                        html+='<li><a href="javascript:;"  data-totalPage="'+totalPage+'">'+parseInt(totalPage)+'</a></li>';
  5013.                    }
  5014.                }else{
  5015.                    html+='<li><a href="javascript:;" data-totalPage="'+totalPage+'">1</a></li>';
  5016.                    html+='<li><a href="javascript:;" class="noClick">...</a></li>';
  5017.                    html+='<li><a href="javascript:;"  data-totalPage="'+totalPage+'">'+(parseInt(newPage)-1)+'</a></li>';
  5018.                    html+='<li class="active"><a href="javascript:;" class="noClick" data-totalPage="'+totalPage+'">'+newPage+'</a></li>';
  5019.                    html+='<li><a href="javascript:;"  data-totalPage="'+totalPage+'">'+(parseInt(newPage)+1)+'</a></li>';
  5020.                    html+='<li><a href="javascript:;" class="noClick">...</a></li>';
  5021.                    html+='<li><a href="javascript:;"  data-totalPage="'+totalPage+'">Next</a></li>';
  5022.                    html+='<li><a href="javascript:;"  data-totalPage="'+totalPage+'">'+totalPage+'</a></li>';
  5023.                }
  5024.            }
  5025.        }
  5026.        html+='<li><input type="text"> <a href="javascript:;" data-totalPage="'+totalPage+'">GO</a></li>';
  5027.        return html;
  5028.    }
  5029.    //分页点击
  5030.    function pageClick(func,comment_id,dom,isload) {
  5031.        $('.page-list a').unbind();
  5032.        $('.page-list .noClick').on('click',function (e) {
  5033.            e.preventDefault();
  5034.        })
  5035.        $('.page-list a:not(.noClick)').on('click',function (e) {
  5036.            e.preventDefault();
  5037.            var html=$(this).html();
  5038.            var totalPage = $(this).attr('data-totalPage');
  5039.            var nowPage='';
  5040.            switch (html) {
  5041.                case 'First':
  5042.                    nowPage=1;
  5043.                    break;
  5044.                case 'Previous':
  5045.                    nowPage = parseInt($(this).parent().parent().find('.active').find('a').html())-1;
  5046.                    if(nowPage<=0) return;
  5047.                    break;
  5048.                case 'Next':
  5049.                    nowPage = parseInt($(this).parent().parent().find('.active').find('a').html())+1;
  5050.                    if(nowPage>totalPage) return;
  5051.                    break;
  5052.                case 'Last':
  5053.                    nowPage=totalPage;
  5054.                    break;
  5055.                case 'GO':
  5056.                    nowPage=$(this).prev().val();
  5057.                    break;
  5058.                default:
  5059.                    nowPage=html;
  5060.            }
  5061.  
  5062.            if($(this).closest('ul').attr('data-fun')=='getReply'){
  5063.                getReply($(this).closest('ul').attr('data-comment'),nowPage,$(this).closest('ul').attr('data-dom'),$(this).closest('ul').attr('data-replyNum'),1,1);
  5064.            }else{
  5065.                getComments(nowPage);
  5066.            }
  5067.        })
  5068.    }
  5069.  
  5070.    let number=0;
  5071.    //添加上传图片
  5072.    function addImgUp(){
  5073.        $('.add-img').unbind();
  5074.        $('.add-img').on('change',function () {
  5075.            let newThis=$(this);
  5076.            let reads= new FileReader();
  5077.            let fileImg=newThis[0].files[0];
  5078.            if(!fileImg) return;
  5079.            let name = fileImg.name;
  5080.            let fileName=name.substring(name.lastIndexOf(".")+1).toLowerCase();
  5081.            if(fileName!='jpg'&&fileName!='png'&&fileName!='jpeg'){
  5082.                $('#favoritesTitle .img-replace').css('display','block');
  5083.                titleModel(true);
  5084.                return;
  5085.            }
  5086.            if(fileImg.size/1024/1024>1){
  5087.                $('#favoritesTitle .img-small').css('display','block');
  5088.                titleModel(true);
  5089.                return;
  5090.            }
  5091.            reads.readAsDataURL(fileImg);
  5092.            reads.onload=function (e) {
  5093.                // document.getElementById('show').src=this.result;
  5094.                newThis.parent().find('img').attr('src',this.result)
  5095.                newThis.parent().find('label').css('display','none');
  5096.                newThis.parent().find('.delect-img').css('display','block');
  5097.                if(newThis.parent().parent().find('.updata-img').length>=4) return;
  5098.                let html = getUpimg();
  5099.                newThis.parent().parent().append(html);
  5100.                addImgUp();
  5101.                delectImg();
  5102.            };
  5103.        })
  5104.    }
  5105.  
  5106.    //插入添加上传图片的代码字符串
  5107.    function getUpimg(){
  5108.        let html="<div class=\"updata-img input-img\">" +
  5109.            "<label for='addImgUp"+number+"'><span></span></label>" +
  5110.            "<input type=\"file\" id='addImgUp"+number+"' accept=\".jpg,.png\" class=\"add-img\">" +
  5111.            "<img src='' alt=\"\">" +
  5112.            "<div class=\"now-updata\" style=\"display: none;\">" +
  5113.            "<span class=\"percentage\">78%</span>" +
  5114.            "<span>uploading</span>" +
  5115.            "</div>" +
  5116.            "<a href=\"javascript:;\" class=\"delect-img\"><span></span></a>" +
  5117.            "</div>"
  5118.        number++;
  5119.        return html;
  5120.    }
  5121.  
  5122.    //删除上传的图片
  5123.    function delectImg(){
  5124.        $('.delect-img').unbind();
  5125.        $('.delect-img').on('click',function (e) {
  5126.            e.preventDefault();
  5127.            let upImgLength = $(this).parent().parent();
  5128.            $(this).parent().remove();
  5129.            upImgLength = upImgLength.find('.updata-img');
  5130.            if(upImgLength.length<4&&$(upImgLength[upImgLength.length-1]).find('img').attr('src')!=''){
  5131.                upImgLength.parent().append(getUpimg());
  5132.            }
  5133.        })
  5134.    }
  5135.    delectImg();
  5136.  
  5137.    /*
  5138.        *  @value isJump 是否需要跳转 1需要,0不需要
  5139.        *  @value commentId 需要跳转的评论的id
  5140.        *  @value commentPage 需要跳转的评论的页数
  5141.        *  @value replyPage 需要跳转的回复的页数
  5142.        *  @value replyId 需要跳转的回复的id
  5143.        *  @value ajaxNumber 记录ajax的数量
  5144.        *  @goToComment 是跳转评论还是回复 0回复 1评论
  5145.        *  是否需要跳转及需要跳转的参数
  5146.        *  getId() 获取需要的数据
  5147.        *  goTo() 跳转到制定位置
  5148.        * */
  5149.    var goJump={
  5150.        isJump:1,
  5151.        commentPage:0,
  5152.        commentId:0,
  5153.        replyId:0,
  5154.        replyPage:0,
  5155.        goToComment:5,
  5156.        ajaxNumber:0,
  5157.        getId:function () {
  5158.            var url = window.location.href;
  5159.            if(url.indexOf('?')>0&&url.indexOf('commentID')>0){
  5160.                url = url.split('?')[1];
  5161.                url = url.split('&');
  5162.                for(var i=0;i<url.length;i++){
  5163.                    var urlArray = url[i].split('=');
  5164.                    switch (urlArray[0]) {
  5165.                        case 'commentID':
  5166.                            this.commentId = urlArray[1];
  5167.                            break;
  5168.                        case 'commentPage':
  5169.                            this.commentPage = urlArray[1];
  5170.                            break;
  5171.                        case 'commentReplyID':
  5172.                            this.replyId = urlArray[1];
  5173.                            break;
  5174.                        case 'commentReplyPage':
  5175.                            this.replyPage = urlArray[1];
  5176.                            break;
  5177.                        case 'goToComment':
  5178.                            this.goToComment = urlArray[1];
  5179.                            break;
  5180.                    }
  5181.                }
  5182.            }else{
  5183.                this.isJump=0;
  5184.            }
  5185.        },
  5186.        goTo:function () {
  5187.            let timer = setInterval(function () {
  5188.                if(this.goToComment==0){
  5189.                    if($('#commentReplykey'+this.replyId).parent().parent().length>0){
  5190.                        clearInterval(timer);
  5191.                        let top = parseInt($('#commentReplykey'+this.replyId).parent().parent()[0].offsetTop)-60-parseInt($('#commentReplykey'+this.replyId).parent().parent().css('height'));
  5192.                        $("html,body").animate({"scrollTop": top}, 300);
  5193.                        this.isJump=0;
  5194.                    }
  5195.                }else{
  5196.                    if($('#key'+this.commentId).length>0){
  5197.                        clearInterval(timer);
  5198.                        let top = parseInt($('#key'+this.commentId)[0].offsetTop)-60-parseInt($('#key'+this.commentId).css('height'));
  5199.                        $("html,body").animate({"scrollTop": top}, 300);
  5200.                        this.isJump=0;
  5201.                    }
  5202.                }
  5203.  
  5204.            }.bind(this),200)
  5205.        }
  5206.    }
  5207.    goJump.getId();
  5208.  
  5209.    /*
  5210.                    *  @value data数据 数组
  5211.                    *  @value address 需要插入的地方
  5212.                    *  @value featured 是否是推荐的评论 0不是 1是
  5213.                    *  @value page 当前页数
  5214.                    *  @value totalPage 总页数
  5215.                    *  @value jump 是否需要滚动到最新一条评论
  5216.                    *  处理评论的数据
  5217.                    *
  5218.                    * */
  5219.    function handleData(data,address,featured,page,totalPage,jump) {
  5220.        let html='';
  5221.        for(let i=0;i<data.length;i++){
  5222.            html+=commentHtml(data[i],i);
  5223.        }
  5224.        if(featured==0){
  5225.            html+="<ul class=\"list-unstyled page-list\" data-fun='getComments'>";
  5226.            html+=getPageHtml(parseInt(page),parseInt(totalPage));
  5227.            html+="</ul>";
  5228.        }
  5229.        address.html(html);
  5230.        bindEvent();
  5231.        let timer = setInterval(function () {
  5232.            if(address.find('.comment-deals').length>0){
  5233.                clearInterval(timer);
  5234.                if(jump){
  5235.                    let top = parseInt($('.comments-list>.comment-deals')[0].offsetTop)-60-parseInt($('body').css('padding-top'));
  5236.                    $("html,body").animate({"scrollTop": top}, 300);
  5237.                }
  5238.                bindEvent();
  5239.            }
  5240.        },200);
  5241.    }
  5242.  
  5243.    /*
  5244.                  *  @value data数据 数组
  5245.                  *  @value dom 需要插入的地方
  5246.                  *  @value isload 是否加载过二级评论 0不是 1是
  5247.                  *  @value page 当前页数
  5248.                  *  @value totalPage 总页数
  5249.                  *  @value jump 是否需要滚动到最新一条评论
  5250.                  *  @value comment_id 当前评论的id
  5251.                  *  @value first 跳转到第一条 1跳转到第一条 0不用
  5252.                  *  处理回复的数据
  5253.                  *
  5254.                  * */
  5255.    function handReplyData(data,dom,isload,totalPage,page,comment_id,reply_num,first,jump) {
  5256.        let html='';
  5257.        if($('#'+dom).find('.child').length<=0){
  5258.            html += " <div class=\"child featured-comments\" >\n"
  5259.        }
  5260.        for(let i=0;i<data.length;i++){
  5261.            html += commentChildrenHtml(data[i],dom,comment_id,reply_num);
  5262.        }
  5263.  
  5264.        if(totalPage>1){
  5265.            html+="<ul class=\"list-unstyled page-list\" data-fun='getReply' data-comment='"+comment_id+"' data-dom='"+dom+"' data-replyNum='"+reply_num+"'>";
  5266.            html+=getPageHtml(parseInt(page),parseInt(totalPage));
  5267.            html+="</ul>";
  5268.        }
  5269.        if($('#'+dom).find('.child').length<=0){
  5270.            html +=" </div>";
  5271.            $('#'+dom).find('.comment-deals-text').append(html);
  5272.        }else{
  5273.            $('#'+dom).find('.child').html(html);
  5274.        }
  5275.        let timer1 = setTimeout(()=>{
  5276.            clearTimeout(timer1);
  5277.            bindEvent();
  5278.        },300)
  5279.        let timer = setInterval(function () {
  5280.            if($('#'+dom).find('.child').find('.comment-deals').length>0){
  5281.                clearInterval(timer);
  5282.                if(jump){
  5283.                    let top
  5284.                    if(first&&first==1){
  5285.                        top = parseInt($('#'+dom).find('.child').find('.comment-deals')[0].offsetTop)-60-parseInt($('body').css('padding-top'));
  5286.                    }else{
  5287.                        top = parseInt($('#'+dom).find('.child').find('.comment-deals')[$('#'+dom).find('.child').find('.comment-deals').length-1].offsetTop)-parseInt($('body').css('padding-top'))-parseInt($($('#'+dom).find('.child').find('.comment-deals')[$('#'+dom).find('.child').find('.comment-deals').length-1]).css('height'));
  5288.                    }
  5289.                    $("html,body").animate({"scrollTop": top}, 300);
  5290.                }
  5291.                if(totalPage>1) {
  5292.                    pageClick();
  5293.                }
  5294.                bindEvent();
  5295.            }
  5296.        },200)
  5297.    }
  5298.  
  5299.    //管理员删除评论或者活肤
  5300.    function delectComment(){
  5301.        $('.comment-deals .data-time .time-delete .btn.btn-primary').unbind();
  5302.        $('.comment-deals .data-time .time-delete .btn.btn-primary').on('click',function () {
  5303.            let url='';
  5304.            let data={};
  5305.            if($(this).attr('data-reply')){
  5306.                url = "/comment/del-second";
  5307.                data.id=$(this).attr('data-reply');
  5308.                data.source=3;
  5309.            }else if($(this).attr('data-comment')){
  5310.                url = "/comment/del";
  5311.                data.id=$(this).attr('data-comment');
  5312.                data.source=3;
  5313.            }
  5314.            $.ajax({
  5315.                url:url,
  5316.                type:'get',
  5317.                data:data,
  5318.                success:function (data) {
  5319.                    alert(data.msg);
  5320.                    if(data.code==200){
  5321.                        window.location.reload();
  5322.                    }
  5323.                },
  5324.                error:function (err) {
  5325.  
  5326.                }
  5327.            })
  5328.        })
  5329.    }
  5330.  
  5331.    //禁言
  5332.    function bannedUser(){
  5333.        $('.comment-deals .data-time .time-delete .banned').unbind();
  5334.        $('.comment-deals .data-time .time-delete .banned').on('click',function () {
  5335.            let data={
  5336.                id:$(this).attr('data-comment'),
  5337.                type:2
  5338.            };
  5339.            data.id=$(this).attr('data-comment');
  5340.            $.ajax({
  5341.                url:"/comment/forbidden",
  5342.                type:'get',
  5343.                data:data,
  5344.                success:function (data) {
  5345.                    alert(data.msg);
  5346.                    if(data.code==200){
  5347.                        window.location.reload();
  5348.                    }
  5349.                },
  5350.                error:function (err) {
  5351.  
  5352.                }
  5353.            })
  5354.        })
  5355.    }
  5356.    //点赞功能
  5357.    function addThumb(){
  5358.        $('.thumb').unbind();
  5359.        $('.thumb.no-click-thumb').on('click',function (e) {
  5360.            e.preventDefault();
  5361.                        window.location.href='/login';
  5362.                                });
  5363.        $('.thumb:not(.no-click-thumb)').on('click',function (e) {
  5364.            e.preventDefault();
  5365.                        window.location.href='/login';
  5366.            return;
  5367.                                    let nowDom = $(this);
  5368.            nowDom.attr('disabled','disabled');
  5369.            let data = {
  5370.                reviewer_id:-1,
  5371.                reply_id:$(this).attr('data-replyId'),
  5372.                reply_type:$(this).attr('data-replytype'),
  5373.                thumb_type:$(this).attr('data-thumbtype')
  5374.            };
  5375.  
  5376.            $.ajax({
  5377.                url:"/comment-thumb/add-thumb",
  5378.                type:'post',
  5379.                data:data,
  5380.                success:function (data) {
  5381.                    nowDom.removeAttr('disabled');
  5382.                    if(data.code==200){
  5383.                        $(nowDom.find('span')[1]).html(parseInt($(nowDom.find('span')[1]).html())+1);
  5384.                        nowDom.find('span').css('color','#3FC5CB');
  5385.                    }else if(data.code==201){
  5386.                        $('#favoritesTitle .thumb-title').css('display','block');
  5387.                        $('#favoritesTitle .thumb-title').html(data.msg);
  5388.                        titleModel(true);
  5389.                    }
  5390.                },
  5391.                error:function (err) {
  5392.                    nowDom.removeAttr('disabled');
  5393.                }
  5394.            })
  5395.        });
  5396.  
  5397.    }
  5398.    //评论
  5399.    $('.reply .reply-comnect .div-input').focus(function(){
  5400.        $(this).removeClass('red_border');
  5401.        $('#commment-result').html('').css('marginBottom','0');
  5402.    })
  5403.    $('.input-emoji>.comment-now').on('click',function () {
  5404.        if($.trim($(this).parent().parent().parent().find('.div-input').val())=='') {
  5405.            $('#favoritesTitle .thumb-title').css('display','block');
  5406.            $('#favoritesTitle .thumb-title').html('Please enter your comments');
  5407.            titleModel(true);
  5408.            return;
  5409.        }
  5410.        // if($.trim($(this).parent().parent().parent().find('.div-input').val()).length<2) {
  5411.        //     $('#favoritesTitle .thumb-title').css('display','block');
  5412.        //     $('#favoritesTitle .thumb-title').html('Please enter more than 2 characters');
  5413.        //     titleModel(true);
  5414.        //     return;
  5415.        // };
  5416.        if($.trim($(this).parent().parent().parent().find('.div-input').val()).length<20){
  5417.            $(this).parent().parent().parent().find('.div-input').addClass('red_border');
  5418.            $('#commment-result').html('The content should be no less than 20 characters.').css('marginBottom','15px');
  5419.            return;
  5420.        }else{
  5421.            $(this).parent().parent().parent().find('.div-input').removeClass('red_border');
  5422.            $('#commment-result').html('').css('marginBottom','0');
  5423.        }
  5424.        if($.trim($(this).parent().parent().parent().find('.div-input').val()).length>500) {
  5425.            $('#favoritesTitle .thumb-title').css('display','block');
  5426.            $('#favoritesTitle .thumb-title').html('Sorry, you can enter up to 500 characters.');
  5427.            titleModel(true);
  5428.            return;
  5429.        };
  5430.        $(this).attr('disabled','disabled');
  5431.        $('#loading').css('display','flex');
  5432.        let now = $(this)
  5433.        let imgNumber = $(this).parent().parent().find('.updata-img');
  5434.        let data={
  5435.            reviewer_id:-1,
  5436.            product_id:'1593951',
  5437.            content:$(this).parent().parent().parent().find('.div-input').val(),
  5438.            nickname:'',
  5439.            thumb_img:'',
  5440.            topic_type:3,
  5441.            domain:'www.amazon.com',
  5442.        };
  5443.        for(let i=0;i<imgNumber.length;i++){
  5444.            if($(imgNumber[i]).find('img').attr('src')!=''){
  5445.                data['imgJson'+(i+1)] = $(imgNumber[i]).find('input')[0].files[0];
  5446.            }
  5447.        }
  5448.  
  5449.        let formData = new FormData();
  5450.        for (var key in data){
  5451.            formData.append(key, data[key]);
  5452.        }
  5453.        fetch("/comment/add-comment", {
  5454.            method: "POST",
  5455.            header: {
  5456.                'Content-Type': 'multipart/form-data',
  5457.            },
  5458.            body: formData
  5459.        })
  5460.            .then(respones => respones.json())
  5461.            .then(data => {
  5462.                now.removeAttr("disabled");
  5463.                $('#loading').css('display','');
  5464.                if(data.code==200){
  5465.                    if(data.commentIntegral!=0){
  5466.                        $('#favoritesTitle .thumb-title').css('display','block');
  5467.                        // $('#favoritesTitle .thumb-title').html('Leave Comment <br> <span style="font-size: 16px;color: #3FC5CB;">'+"+"+data.commentIntegral+'</span> points');
  5468.                        $('#favoritesTitle .thumb-title').html('Thank you for your comment!');
  5469.                        titleModel(true);
  5470.                    }else{
  5471.                        $('#favoritesTitle .thumb-title').css('display','block');
  5472.                        $('#favoritesTitle .thumb-title').html('Thank you for your comment!');
  5473.                        titleModel(true);
  5474.                    }
  5475.                    now.parent().parent().parent().find('.div-input').val('');
  5476.                    now.parent().parent().find('.input-img-list').html(getUpimg());
  5477.                    if($('#comments').css('display')=='none'){
  5478.                        $('#comments').css('display','block');
  5479.                    }
  5480.                    handleData(data.data,$('.comments-list'),0,data.page,data.pageCount,1);
  5481.                    $('.comment-number').html(parseInt($('.comment-number').html())+1)
  5482.                }else if(data.code==403){
  5483.                    $('#favoritesTitle .thumb-title').css('display','block');
  5484.                    $('#favoritesTitle .thumb-title').html(data.msg);
  5485.                    titleModel(true);
  5486.  
  5487.                }
  5488.            })
  5489.            .catch(error => {
  5490.  
  5491.            })
  5492.    })
  5493.  
  5494.    //获取评论数据
  5495.    function getComments(page) {
  5496.        let newPage=page?page:1;
  5497.        let data={
  5498.            product_id:'1593951',
  5499.            page:newPage,
  5500.            topic_type:3
  5501.        }
  5502.        $.ajax({
  5503.            url:"/comment/list-comment",
  5504.            type:'post',
  5505.            dataType:'json',
  5506.            data:data,
  5507.            success:function (data) {
  5508.                if(data.code==200){
  5509.                    if(data.data.length>0){
  5510.                        $('#comments').css('display','block');
  5511.                        handleData(data.data,$('.comments-list'),0,data.page,data.pageCount);
  5512.                    }
  5513.                }
  5514.            },
  5515.            error:function (err) {
  5516.  
  5517.            }
  5518.        })
  5519.    }
  5520.    if(goJump.isJump==1&&goJump.commentPage!=0){//判断是否需要跳到指定位置
  5521.        getComments(goJump.commentPage);
  5522.    }else{
  5523.        getComments();
  5524.    }
  5525.  
  5526.    /*
  5527.    * @value comment_id 当前评论的id
  5528.    *  page 当前页数
  5529.    *  dom 是那一条评论的回复
  5530.    *  isload 是否加载过回复 0未加载 1加载
  5531.    *  upPage 从页面加载  1加载
  5532.    *  获取回复的数据
  5533.    *
  5534.    * */
  5535.    function getReply(comment_id,page,dom,isload,upPage,reply_num) {//value.comment_id,1,'key'+value.comment_id,0,value.reply_num
  5536.        let newPage = page?page:1
  5537.        let data={
  5538.            product_id:'1593951',
  5539.            page:newPage,
  5540.            comment_id:comment_id
  5541.        }
  5542.        $.ajax({
  5543.            url:"/comment-reply/list-comment-reply",
  5544.            type:'post',
  5545.            dataType:'json',
  5546.            data:data,
  5547.            success:function (data) {
  5548.                if(data.code==200){
  5549.                    if(upPage==1){
  5550.                        handReplyData(data.data,dom,isload,data.pageCount,data.page,comment_id,reply_num,1,1);
  5551.                    }else{
  5552.                        handReplyData(data.data,dom,isload,data.pageCount,data.page,comment_id,reply_num);
  5553.                    }
  5554.                }
  5555.            },
  5556.            error:function (err) {
  5557.  
  5558.            }
  5559.        })
  5560.    }
  5561.    //关闭其余的输入框
  5562.    function closeborder() {
  5563.        $('.reply-deals a').unbind();
  5564.        $('.reply-deals a').on('click',function (e) {
  5565.            e.preventDefault();
  5566.                        window.location.href='/login';
  5567.            return;
  5568.                                    let notDom = $(this).attr('href');
  5569.            $('.panel-collapse:not('+notDom+')').collapse('hide');
  5570.        })
  5571.    }
  5572.    //需要重新绑定的事件
  5573.    function bindEvent() {
  5574.        closeborder();
  5575.        addImgUp();
  5576.        replyMsg();
  5577.        delectImg();
  5578.        addThumb();
  5579.        pageClick();
  5580.        $('.panel-collapse').collapse('hide');
  5581.        commentImg();
  5582.        $("img.lazy").lazyload({effect: "fadeIn"});
  5583.        delectComment();
  5584.        bannedUser();
  5585.    }
  5586.    $(function () {
  5587.        bindEvent();
  5588.        //getImgSize($('.reply .head-img img')[0]);
  5589.    })
  5590.    //回复消息
  5591.    function replyMsg(){
  5592.        $('.comment-reply').unbind();
  5593.        $('.comment-reply').on('click',function (e) {
  5594.            e.preventDefault();
  5595.            if($(this).parent().parent().parent().find('.div-input').val()=='') {
  5596.                $('#favoritesTitle .thumb-title').css('display','block');
  5597.                $('#favoritesTitle .thumb-title').html('Please enter your comments ');
  5598.                titleModel(true);
  5599.                return;
  5600.            };
  5601.            if($(this).parent().parent().parent().find('.div-input').val().length<20) {
  5602.                $('#favoritesTitle .thumb-title').css('display','block');
  5603.                $('#favoritesTitle .thumb-title').html('Please enter more than 20 characters');
  5604.                titleModel(true);
  5605.                return;
  5606.            };
  5607.            if($(this).parent().parent().parent().find('.div-input').val().length>500) {
  5608.                $('#favoritesTitle .thumb-title').css('display','block');
  5609.                $('#favoritesTitle .thumb-title').html('Sorry, you can enter up to 500 characters.');
  5610.                titleModel(true);
  5611.                return;
  5612.            };
  5613.            $(this).attr('disabled','disabled');
  5614.            $('#loading').css('display','flex');
  5615.            let now = $(this);
  5616.            let data={
  5617.                reviewer_id:-1,
  5618.                from_uid:-1,
  5619.                from_nickname:'',
  5620.                from_thumb_img:'',
  5621.                to_uid:$(this).attr('data-id'),
  5622.                to_nickname:$(this).attr('data-name'),
  5623.                comment_id:$(this).attr('data-comment'),
  5624.                product_id:'1593951',
  5625.                content:$(this).parent().parent().parent().find('.div-input').val(),
  5626.                reply_num:$(this).attr('data-replynum'),
  5627.                topic_type:3,
  5628.                domain:'www.amazon.com',
  5629.                reply_id:$(this).attr('data-replyId')
  5630.            };
  5631.            let imgNumber = $(this).parent().parent().find('.updata-img');
  5632.            for(let i=0;i<imgNumber.length;i++){
  5633.                if($(imgNumber[i]).find('img').attr('src')!=''){
  5634.                    data['imgJson'+(i+1)] = $(imgNumber[i]).find('input')[0].files[0];
  5635.                }
  5636.            }
  5637.            if($(this).attr("data-reply")){
  5638.                data.to_content=$(this).closest(".comment-deals-text").find('p').html();
  5639.            }
  5640.            let formData = new FormData();
  5641.            for (var key in data){
  5642.                formData.append(key, data[key]);
  5643.            }
  5644.            fetch("/comment-reply/add-comment-reply", {
  5645.                method: "POST",
  5646.                header: {
  5647.                    'Content-Type': 'multipart/form-data',
  5648.                },
  5649.                body: formData
  5650.            })
  5651.                .then(respones => respones.json())
  5652.                .then(data => {
  5653.                    now.removeAttr("disabled");
  5654.                    $('#loading').css('display','');
  5655.                    if(data.code==200){
  5656.                        now.parent().parent().parent().find('.div-input').val('');
  5657.                        now.parent().parent().find('.input-img-list').html(getUpimg());
  5658.                        if(data.commentReplyIntegral!=0){
  5659.                            $('#favoritesTitle .thumb-title').css('display','block');
  5660.                            // $('#favoritesTitle .thumb-title').html('Leave Comment <br> <span style="font-size: 16px;color: #3FC5CB;">'+'+'+data.commentReplyIntegral+'</span> points');
  5661.                            $('#favoritesTitle .thumb-title').html('Thank you for your comment!');
  5662.                            titleModel(true);
  5663.                        }else{
  5664.                            $('#favoritesTitle .thumb-title').css('display','block');
  5665.                            $('#favoritesTitle .thumb-title').html('Thank you for your comment!');
  5666.                            titleModel(true);
  5667.                        }
  5668.                        if($('#comments').css('display')=='none'){
  5669.                            $('#comments').css('display','block');
  5670.                        }
  5671.                        handReplyData(data.data,now.attr('data-dom'),now.attr('data-isload'),data.pageCount,data.page,now.attr('data-comment'),$(this).attr('data-replynum'),0,1)
  5672.                        $('.comment-number').html(parseInt($('.comment-number').html())+1);
  5673.                    }else if(data.code==403){
  5674.                        $('#favoritesTitle .thumb-title').css('display','block');
  5675.                        $('#favoritesTitle .thumb-title').html(data.msg);
  5676.                        titleModel(true);
  5677.  
  5678.                    }
  5679.                })
  5680.                .catch(error => {
  5681.                    now.removeAttr("disabled");
  5682.                    $('#loading').css('display','');
  5683.                })
  5684.  
  5685.        })
  5686.    }
  5687.  
  5688.    function commentHtml(value) {
  5689.        let isroad=0;
  5690.        if(value.reply_num>0){
  5691.            if(goJump.isJump==1&&goJump.commentId==value.comment_id){
  5692.                getReply(value.comment_id,goJump.replyPage,'key'+value.comment_id,0,0,value.reply_num);
  5693.            }else{
  5694.                getReply(value.comment_id,1,'key'+value.comment_id,0,0,value.reply_num);
  5695.            }
  5696.            isroad=1;
  5697.        }
  5698.        if(goJump.isJump==1&&goJump.commentId==value.comment_id){
  5699.            goJump.goTo();
  5700.        }
  5701.        let html='';
  5702.        html+="<div class=\"comment-deals\" id='key"+value.comment_id+"'>" +
  5703.            " <div style='position: relative'>" ;
  5704.        if(value.is_v==1){
  5705.            html+="<img class='left-v' src='https://vipon.s3.amazonaws.com/img/5432644b7b0b2a66a36d9bff91cbd056b2eb9dbed4bcc2.svg' />"
  5706.        }
  5707.        html+="<div class=\"head-img\">" +
  5708.            " <img class=\"lazy\" data-original='" ;
  5709.        if(value.thumb_img!=''){
  5710.            html+=value.thumb_img;
  5711.        }else{
  5712.            html+="https://vipon.s3.amazonaws.com/img/97358637f28c0e9c7c45a2851e790ea7a858d1994a7803.png";
  5713.        }
  5714.        html+= "' onload='getImgSize(this)'>" +
  5715.            " </div></div>\n" +
  5716.            " <div class=\"comment-deals-text\">\n" +
  5717.            "     <div class=\"data-time\">\n" +
  5718.            "         <div>\n" +
  5719.            "             <div class=\"name\">" +value.nickname;
  5720.        html += "</div>\n" +
  5721.            "             <!--<div class=\"date\">\n" +
  5722.            "                 <span class=\"icon\"></span>\n" +
  5723.            "                 <span>Joined Sep 2012</span>\n" +
  5724.            "             </div>-->\n" +
  5725.            "         </div>\n" +
  5726.            "         <div class=\"time-delete\">" +
  5727.                        "         <div class=\"time\">"+value.create_time+"</div>\n" +
  5728.            "</div>\n" +
  5729.            "     </div>\n" +
  5730.            "     <p>"+value.content+"</p>\n" +
  5731.            " <div class=\"btn-img-list\">\n" +
  5732.            "     <div class=\"btn-list\">\n" ;
  5733.        let imgArray=JSON.parse(value.content_img);
  5734.        if(imgArray[0]&&imgArray.length>0){
  5735.            for(let i=0;i<imgArray.length;i++){
  5736.                html+="<div><a href='javascript:;' class='center-img' data-imgs='"+value.content_img+"' data-index='"+i+"'><img class=\"lazy\" data-original='"+imgArray[i]+"' onload='getImgSize(this)' alt=\"\"></a></div>" ;
  5737.            }
  5738.        }
  5739.        html+= "</div>\n" +
  5740.            "     <ul class=\"list-unstyled\">\n" +
  5741.            "         <!--<li class=\"report-deals\">\n" +
  5742.            "             <a href=\"javascript:;\">\n" +
  5743.            "                 <span class=\"report-icon\"></span>\n" +
  5744.            "                 <span>report</span>\n" +
  5745.            "             </a>\n" +
  5746.            "         </li>-->\n" +
  5747.            "         <li class=\"reply-deals\">\n" +
  5748.                        "             <a href=\"/login\" >\n" +
  5749.                        "                 <span class=\"reply-deals-icon\"></span>\n" +
  5750.            "                 <span>reply</span>\n" +
  5751.            "             </a>\n" +
  5752.            "         </li>\n" ;
  5753.        if(value.thumb_type==0){
  5754.            html+= "<li class=\"thumbs-up\">\n" +
  5755.                "      <button  class='thumb' data-replyId='"+value.comment_id+"'  data-replyType='1' data-thumbType='1'>\n" +
  5756.                "            <span style=\"color:#39393a;text-decoration: none;font-size:15px;\" class=\"glyphicon glyphicon-thumbs-up\" id=\"thumbs-up-tips\" aria-hidden=\"true\"></span>\n" +
  5757.                "           <span>"+value.like_num+"</span>\n" +
  5758.                "       </button>\n" +
  5759.                "    </li>\n" +
  5760.                "    <li class=\"thumbs-down\">\n" +
  5761.                "          <button  class='thumb' data-replyId='"+value.comment_id+"' data-replyType='1' data-thumbType='2'>\n" +
  5762.                "              <span style=\"color:#39393a;text-decoration: none;font-size:15px;\" class=\"glyphicon glyphicon-thumbs-down\" id=\"thumbs-down-tips\" aria-hidden=\"true\"></span>\n" +
  5763.                "               <span>"+value.down_num+"</span>\n" +
  5764.                "           </button>\n" +
  5765.                "     </li>\n" ;
  5766.        }else if(value.thumb_type==1){
  5767.            html+= "<li class=\"thumbs-up\">\n" +
  5768.                "      <button  class='thumb no-click-thumb' style='color:#3FC5CB;' data-replyId='"+value.comment_id+"' data-replyType='1' data-thumbType='1'>\n" +
  5769.                "            <span style=\"text-decoration: none;font-size:15px;\" class=\"glyphicon glyphicon-thumbs-up\" id=\"thumbs-up-tips\" aria-hidden=\"true\"></span>\n" +
  5770.                "           <span>"+value.like_num+"</span>\n" +
  5771.                "       </button>\n" +
  5772.                "    </li>\n" +
  5773.                "    <li class=\"thumbs-down\">\n" +
  5774.                "          <button  class='thumb no-click-thumb'  data-replyId='"+value.comment_id+"' data-replyType='1' data-thumbType='2'>\n" +
  5775.                "              <span style=\"color:#39393a;text-decoration: none;font-size:15px;\" class=\"glyphicon glyphicon-thumbs-down\" id=\"thumbs-down-tips\" aria-hidden=\"true\"></span>\n" +
  5776.                "               <span>"+value.down_num+"</span>\n" +
  5777.                "           </button>\n" +
  5778.                "     </li>\n" ;
  5779.        }else if(value.thumb_type==2){
  5780.            html+= "<li class=\"thumbs-up\">\n" +
  5781.                "      <button  class='thumb no-click-thumb'  data-replyId='"+value.comment_id+"' data-replyType='1' data-thumbType='1'>\n" +
  5782.                "            <span style=\"color:#39393a;text-decoration: none;font-size:15px;\" class=\"glyphicon glyphicon-thumbs-up\" id=\"thumbs-up-tips\" aria-hidden=\"true\"></span>\n" +
  5783.                "           <span>"+value.like_num+"</span>\n" +
  5784.                "       </button>\n" +
  5785.                "    </li>\n" +
  5786.                "    <li class=\"thumbs-down\">\n" +
  5787.                "          <button class='thumb no-click-thumb' style='color:#3FC5CB;' data-replyId='"+value.comment_id+"' data-replyType='1' data-thumbType='2'>\n" +
  5788.                "              <span style=\"color:#3FC5CB;text-decoration: none;font-size:15px;\" class=\"glyphicon glyphicon-thumbs-down\" id=\"thumbs-down-tips\" aria-hidden=\"true\"></span>\n" +
  5789.                "               <span>"+value.down_num+"</span>\n" +
  5790.                "           </button>\n" +
  5791.                "     </li>\n" ;
  5792.        }
  5793.        html+="     </ul>\n" +
  5794.            " </div>\n" +
  5795.            " <div id=\"featuredComment"+value.comment_id+"\" class=\"panel-collapse collapse\">\n" +
  5796.            "     <div class=\"reply\">\n" +
  5797.            "         <div class=\"reply-comnect\">\n" +
  5798.            "             <textarea class=\"div-input\"></textarea>\n" +
  5799.            "             <div class=\"input-img-emoji\">\n" +
  5800.            "<div class=\"input-img-list\">"+
  5801.            "<div class=\"updata-img input-img\">\n" +
  5802.            "                                        <label for=\"input-img"+value.comment_id+"\"><span></span></label>\n" +
  5803.            "                                        <input type=\"file\" id=\"input-img"+value.comment_id+"\" accept=\".jpg,.png\" class=\"add-img\">\n" +
  5804.            "                                        <img src=\"\" alt=\"\">\n" +
  5805.            "                                        <div class=\"now-updata\" style=\"display: none;\">\n" +
  5806.            "                                            <span class=\"percentage\">78%</span>\n" +
  5807.            "                                            <span>uploading</span>\n" +
  5808.            "                                        </div>\n" +
  5809.            "                                        <a href=\"javascript:;\" class=\"delect-img\"><span></span></a>\n" +
  5810.            "                                    </div>"+
  5811.            "</div>\n" +
  5812.            "                 <div class=\"input-emoji\">\n" +
  5813.            "                     <!-- <div class=\"input-emoji-down\">\n" +
  5814.            "                          <a href=\"#\" class=\"dropdown-toggle\" data-toggle=\"dropdown\" aria-expanded=\"false\"><span class=\"emoji\"></span></a>\n" +
  5815.            "                          <div class=\"dropdown-menu\">7897987</div>\n" +
  5816.            "                      </div>-->\n" +
  5817.            "                     <button class=\"btn comment-reply\" data-dom='key"+value.comment_id+"' data-replynum='"+value.reply_num+"'data-isload='"+isroad+"' data-comment='"+value.comment_id+"' data-id='"+value.from_uid+"' data-name='"+value.nickname+"'>Reply</button>\n" +
  5818.            "                 </div>\n" +
  5819.            "             </div>\n" +
  5820.            "         </div>\n" +
  5821.            "     </div>\n" +
  5822.            " </div>\n" +
  5823.  
  5824.            "     \n" +
  5825.  
  5826.            "     </div>\n" +
  5827.            " </div>"
  5828.  
  5829.        return html;
  5830.    }
  5831.  
  5832.    function commentChildrenHtml(value,dom,comment_id,reply_num) {
  5833.        html= "<div class=\"comment-deals\">" +
  5834.            "<div style='position:relative;'>\n" ;
  5835.  
  5836.        if(value.is_v==1){
  5837.            html+="<img class='left-v' src='https://vipon.s3.amazonaws.com/img/5432644b7b0b2a66a36d9bff91cbd056b2eb9dbed4bcc2.svg' />"
  5838.        }
  5839.        html += " <div class=\"head-img\">\n" +
  5840.            "     <img class=\"lazy\" data-original=\"" ;
  5841.        if(value.from_thumb_img!=''){
  5842.            html +=value.from_thumb_img;
  5843.        }else{
  5844.            html+="https://vipon.s3.amazonaws.com/img/97358637f28c0e9c7c45a2851e790ea7a858d1994a7803.png";
  5845.        }
  5846.        html +=  "\" onload='getImgSize(this)' alt=\"\">\n" +
  5847.            " </div></div>\n" +
  5848.            " <div class=\"comment-deals-text\">\n" +
  5849.            "     <div class=\"data-time\">\n" +
  5850.            "         <div>\n" ;
  5851.        if('1696596'==value.from_uid){
  5852.            html +="             <div class=\"reply\"><img style='margin: 0' src='https://vipon.s3.amazonaws.com/img/732080e658c6f1f63edee09a3834b16a40e2356cad10ea.svg'/>";
  5853.        }else{
  5854.            html +="             <div class=\"reply\">"+value.from_nickname;
  5855.        }
  5856.  
  5857.        if(value.is_from_admin==1){
  5858.            html += "<img src='/images/main/btn_vipon_editor.png'/>";
  5859.        }
  5860.        if(value.is_from_admin==3){
  5861.            html += "<img src='https://vipon.s3.amazonaws.com/img/464004f67bc4ce6eb5846ce2f1718e1b6c956ad79ee64f.svg'/>";
  5862.        }
  5863.        html += "</div>\n" +
  5864.            "             <div class=\"text\">reply</div>\n" ;
  5865.        if('1696596'==value.to_uid){
  5866.            html +=  "             <div class=\"replyed\"><img style='margin: 0' src='https://vipon.s3.amazonaws.com/img/732080e658c6f1f63edee09a3834b16a40e2356cad10ea.svg'/>";
  5867.        }else{
  5868.            html +=  "             <div class=\"replyed\">"+value.to_nickname;
  5869.        }
  5870.        if(value.is_to_admin==1){
  5871.            html += "<img src='/images/main/btn_vipon_editor.png'/>";
  5872.        }
  5873.        if(value.is_to_admin==3){
  5874.            html += "<img src='https://vipon.s3.amazonaws.com/img/464004f67bc4ce6eb5846ce2f1718e1b6c956ad79ee64f.svg'/>";
  5875.        }
  5876.        html +="</div>\n" +
  5877.            "         </div>\n" +
  5878.            "         <div class=\"time-delete\">" +
  5879.                        "         <div class=\"time\">"+value.create_time+"</div>\n" +
  5880.            "</div>\n" +
  5881.            "     </div>\n" +
  5882.            "     <p>"+value.content+"</p>\n" +
  5883.            "     <div class=\"btn-img-list\">\n" +
  5884.            "         <div class=\"btn-list\">\n" ;
  5885.        let imgArray = JSON.parse(value.content_img);
  5886.  
  5887.        if(imgArray[0]&&imgArray.length>0){
  5888.            for(let i=0;i<imgArray.length;i++){
  5889.                html += "<div><a href=\"javascript:;\" class='center-img' data-imgs='"+value.content_img+"' data-index='"+i+"'><img class=\"lazy\" data-original=\""+imgArray[i]+"\" onload='getImgSize(this)' alt=\"\"></a></div>\n" ;
  5890.            }
  5891.        }
  5892.        html += "         </div>\n" +
  5893.            "         <ul class=\"list-unstyled\">\n" +
  5894.            "             <!--<li class=\"report-deals\">\n" +
  5895.            "                 <a href=\"javascript:;\">\n" +
  5896.            "                     <span class=\"report-icon\"></span>\n" +
  5897.            "                     <span>report</span>\n" +
  5898.            "                 </a>\n" +
  5899.            "             </li>-->\n" +
  5900.            "             <li class=\"reply-deals\">\n" +
  5901.                        "                 <a href=\"/login"+value.comment_reply_id+"\">\n" +
  5902.                        "                     <span class=\"reply-deals-icon\"></span>\n" +
  5903.            "                     <span>reply</span>\n" +
  5904.            "                 </a>\n" +
  5905.            "             </li>\n" ;
  5906.        if(value.thumb_type==0){
  5907.            html+="             <li class=\"thumbs-up\">\n" +
  5908.                "                 <button  class='thumb' data-replyId='"+value.comment_reply_id+"' data-replyType='2' data-thumbType='1'>\n" +
  5909.                "                     <span style=\"color:#39393a;text-decoration: none;font-size:15px;\" class=\"glyphicon glyphicon-thumbs-up\" id=\"thumbs-up-tips\" aria-hidden=\"true\"></span>\n" +
  5910.                "                     <span>"+value.like_num+"</span>\n" +
  5911.                "                 </button>\n" +
  5912.                "             </li>\n" +
  5913.                "             <li class=\"thumbs-down\">\n" +
  5914.                "                 <button  class='thumb' data-replyId='"+value.comment_reply_id+"' data-replyType='2' data-thumbType='2'>\n" +
  5915.                "                     <span style=\"color:#39393a;text-decoration: none;font-size:15px;\" class=\"glyphicon glyphicon-thumbs-down\" id=\"thumbs-down-tips\" aria-hidden=\"true\"></span>\n" +
  5916.                "                     <span>"+value.down_num+"</span>\n" +
  5917.                "                 </button>\n" +
  5918.                "             </li>\n" ;
  5919.        }else if(value.thumb_type==1){
  5920.            html+="             <li class=\"thumbs-up\">\n" +
  5921.                "                 <button  class='thumb no-click-thumb' style='color:#3FC5CB;' data-replyId='"+value.comment_reply_id+"' data-replyType='2' data-thumbType='1'>\n" +
  5922.                "                     <span style=\"text-decoration: none;font-size:15px;\" class=\"glyphicon glyphicon-thumbs-up\" id=\"thumbs-up-tips\" aria-hidden=\"true\"></span>\n" +
  5923.                "                     <span>"+value.like_num+"</span>\n" +
  5924.                "                 </button>\n" +
  5925.                "             </li>\n" +
  5926.                "             <li class=\"thumbs-down\">\n" +
  5927.                "                 <button  class='thumb no-click-thumb' data-replyId='"+value.comment_reply_id+"' data-replyType='2' data-thumbType='2'>\n" +
  5928.                "                     <span style=\"color:#39393a;text-decoration: none;font-size:15px;\" class=\"glyphicon glyphicon-thumbs-down\" id=\"thumbs-down-tips\" aria-hidden=\"true\"></span>\n" +
  5929.                "                     <span>"+value.down_num+"</span>\n" +
  5930.                "                 </button>\n" +
  5931.                "             </li>\n" ;
  5932.        }else if(value.thumb_type==2){
  5933.            html+="             <li class=\"thumbs-up\">\n" +
  5934.                "                 <button  class='thumb no-click-thumb' data-replyId='"+value.comment_reply_id+"' data-replyType='2' data-thumbType='1'>\n" +
  5935.                "                     <span style=\"color:#39393a;text-decoration: none;font-size:15px;\" class=\"glyphicon glyphicon-thumbs-up\" id=\"thumbs-up-tips\" aria-hidden=\"true\"></span>\n" +
  5936.                "                     <span>"+value.like_num+"</span>\n" +
  5937.                "                 </button>\n" +
  5938.                "             </li>\n" +
  5939.                "             <li class=\"thumbs-down\">\n" +
  5940.                "                 <button  class='thumb no-click-thumb' style='color:#3FC5CB' data-replyId='"+value.comment_reply_id+"' data-replyType='2' data-thumbType='2'>\n" +
  5941.                "                     <span style=\"text-decoration: none;font-size:15px;\" class=\"glyphicon glyphicon-thumbs-down\" id=\"thumbs-down-tips\" aria-hidden=\"true\"></span>\n" +
  5942.                "                     <span  >"+value.down_num+"</span>\n" +
  5943.                "                 </button>\n" +
  5944.                "             </li>\n" ;
  5945.        }
  5946.  
  5947.        html+="         </ul>\n" +
  5948.            "     </div>\n" +
  5949.            "     <div id=\"commentReplykey"+value.comment_reply_id+"\" class=\"panel-collapse collapse\">\n" +
  5950.            "         <div class=\"reply\">\n" +
  5951.            "             <div class=\"reply-comnect\">\n" +
  5952.            "                <textarea class=\"div-input\"></textarea>\n" +
  5953.            "                 <div class=\"input-img-emoji\">\n" +
  5954.            "                     <div class=\"input-img-list\">\n" +
  5955.            "                         <div class=\"updata-img input-img\">\n" +
  5956.            "                             <label for=\"input-img-reply"+value.comment_reply_id+"\"><span></span></label>\n" +
  5957.            "                             <input type=\"file\" id=\"input-img-reply"+value.comment_reply_id+"\" accept=\".jpg,.png\" class=\"add-img\">\n" +
  5958.            "                             <img src=\"\" alt=\"\">\n" +
  5959.            "                             <div class=\"now-updata\" style=\"display: none;\">\n" +
  5960.            "                                 <span class=\"percentage\">78%</span>\n" +
  5961.            "                                 <span>uploading</span>\n" +
  5962.            "                             </div>\n" +
  5963.            "                             <a href=\"javascript:;\" class=\"delect-img\"><span></span></a>\n" +
  5964.            "                         </div>\n" +
  5965.            "                     </div>\n" +
  5966.            "                     <div class=\"input-emoji\">\n" +
  5967.            "                         <!--<div class=\"input-emoji-down\">\n" +
  5968.            "                             <a href=\"#\" class=\"dropdown-toggle\" data-toggle=\"dropdown\" aria-expanded=\"false\"><span class=\"emoji\"></span></a>\n" +
  5969.            "                             <div class=\"dropdown-menu\">7897987</div>\n" +
  5970.            "                         </div>-->\n" +
  5971.            "                         <button class=\"btn comment-reply\" data-replyNum='"+reply_num+"' data-id='"+value.from_uid+"' data-replyId='"+value.comment_reply_id+"' data-name='"+value.from_nickname+"'  data-dom='"+dom+"' data-isload='1' data-comment='"+comment_id+"' data-reply='true'>Reply</button>\n" +
  5972.            "                     </div>\n" +
  5973.            "                 </div>\n" +
  5974.            "             </div>\n" +
  5975.            "         </div>\n" +
  5976.            "     </div>\n" +
  5977.            " </div>\n" +
  5978.            " </div>"
  5979.        return html;
  5980.    }
  5981.    window.onresize = function(){
  5982.        autoVideoWidth();
  5983.    };
  5984.    //video play and pause
  5985. $('.other-post .post-item .post-item-video button').on('click',function(){
  5986.    if($(this).parent().find('.poster-img').css('display')!='none'){
  5987.        $(this).parent().find('.poster-img').css('display','none');
  5988.    }
  5989.    if(!$(this).parent().find('video')[0].paused){
  5990.        $(this).parent().find('video')[0].pause();
  5991.        $($(this).find('img')[0]).css('display','block');
  5992.        $($(this).find('img')[1]).css('display','none');
  5993.        $(this).parent().removeClass('video-play');
  5994.    }else{
  5995.        $(this).parent().find('video')[0].play();
  5996.        $($(this).find('img')[0]).css('display','none');
  5997.        $($(this).find('img')[1]).css('display','block');
  5998.        $(this).parent().addClass('video-play')
  5999.    }
  6000. })
  6001. if($('.section-detail > .review-detail video').length>0){
  6002.    $('.section-detail > .review-detail video')[0]['disablePictureInPicture'] = true;
  6003. }
  6004.    function autoVideoWidth() {
  6005.        let width = parseInt($('.other-post .post-item').css('width'));
  6006.        $('.other-post .post-item .post-item-video video').css({width:width,height:width/2});
  6007.        $('.other-post .post-item .post-item-video').css({height:width/2});
  6008.        $('.other-post .post-item .post-item-img').css({height:width/2});
  6009.        for(let i=0;i<$('.other-post .post-item .post-item-img img').length;i++){
  6010.            getVideoImgSize($('.hot-img img')[i]);
  6011.        }
  6012.    }
  6013.    autoVideoWidth();
  6014.    function give_a_like(e) {
  6015.                        window.location.href='/login';
  6016.            return;
  6017.                                    let nowDom = $(e);
  6018.            nowDom.attr('disabled','disabled');
  6019.            let data = {
  6020.                reviewer_id:-1,
  6021.                reply_type:3,
  6022.                reply_id:'1593951',
  6023.                thumb_type:1
  6024.            };
  6025.  
  6026.            $.ajax({
  6027.                url:"/comment-thumb/add-thumb",
  6028.                type:'post',
  6029.                data:data,
  6030.                success:function (data) {
  6031.                    nowDom.removeAttr('disabled');
  6032.                    if(data.code==200){
  6033.                        $(nowDom.find('span')[1]).html(parseInt($(nowDom.find('span')[1]).html())+1);
  6034.                        nowDom.find('span').css('color','#3FC5CB');
  6035.                    }else if(data.code==201){
  6036.                        $('#favoritesTitle .thumb-title').css('display','block');
  6037.                        $('#favoritesTitle .thumb-title').html(data.msg);
  6038.                        titleModel(true);
  6039.                    }
  6040.                },
  6041.                error:function (err) {
  6042.                    nowDom.removeAttr('disabled');
  6043.                }
  6044.            })
  6045.    }
  6046.    $('.viwe-more button').on('click',function(){
  6047.        $('.viwe-more').css('display','none');
  6048.        $('.modal-view-more').css('display','none');
  6049.        $('.p-container').css('height','');
  6050.    })
  6051.    $('.comment-icon-top1').on('click',function () {
  6052.        let top = parseInt($('#comment')[0].offsetTop)-parseInt($('body').css('padding-top'))+60;
  6053.        $("html,body").animate({"scrollTop": top}, 300);
  6054.    })
  6055.    window.onload=function(){
  6056.        if(window.location.href.indexOf('gocomment')>-1){
  6057.            let top = parseInt($('#comment')[0].offsetTop)-parseInt($('body').css('padding-top'))+60;
  6058.            $("html,body").animate({"scrollTop": top}, 300);
  6059.        }
  6060.    }
  6061. $('.other-post .post-item .post-item-video video').on('click',function () {
  6062.    playVideo(this);
  6063. })
  6064. $('.poster-img').on('click',function () {
  6065.    playVideo(this);
  6066. })
  6067. function playVideo(This){
  6068.    if($(This).parent().find('.poster-img').css('display')!='none'){
  6069.        $(This).parent().find('.poster-img').css('display','none')
  6070.    }
  6071.    if($(This).parent().find('video')[0].paused){
  6072.        $(This).parent().find('video')[0].play();
  6073.        $($(This).parent().find('button').find('img')[0]).css('display','none');
  6074.        $($(This).parent().find('button').find('img')[1]).css('display','block');
  6075.        $(This).parent().addClass('video-play');
  6076.    }
  6077. }
  6078.    $('.p-container img').on('error',function () {
  6079.        $(this).attr('src','https://vipon.s3.amazonaws.com/img/461468669080205f0dd5bd93562f6d505c3f3ba89ed709.svg')
  6080.    })
  6081.    $('.post-item .post-item-img img').on('error',function () {
  6082.        $(this).attr('src','https://vipon.s3.amazonaws.com/img/461468669080205f0dd5bd93562f6d505c3f3ba89ed709.svg')
  6083.    })
  6084.  
  6085. function articleThumb(e) {
  6086.    let nowDom = $(e);
  6087.    nowDom.attr('disabled','disabled');
  6088.    let data = {
  6089.        reviewer_id:-1,
  6090.        article_id:'1593951',
  6091.    };
  6092.  
  6093.    $.ajax({
  6094.        url:"/article/add-thumb",
  6095.        type:'post',
  6096.        data:data,
  6097.        success:function (data) {
  6098.            nowDom.removeAttr('disabled');
  6099.            if(data.code==200){
  6100.                $(nowDom.find('span')[1]).html(parseInt($(nowDom.find('span')[1]).html())+1);
  6101.                $(nowDom.find('span')[0]).css('background',"url('https://vipon.s3.amazonaws.com/img/27187209d591aaef26a138273710478e56ae194f3102c3.svg') 0 0/18px 18px no-repeat");
  6102.            }else {
  6103.                $('#favoritesTitle .thumb-title').css('display','block');
  6104.                $('#favoritesTitle .thumb-title').html(data.msg);
  6105.                titleModel(true);
  6106.            }
  6107.        },
  6108.        error:function (err) {
  6109.            nowDom.removeAttr('disabled');
  6110.        }
  6111.    })
  6112. }
  6113. $('#report .submit button').on('click',function () {
  6114.    if($('#report .report-group input:checked').length<1){
  6115.        return;
  6116.    }
  6117.    $(this).attr('disabled','disabled');
  6118.    let This = $(this);
  6119.    let data = {
  6120.        reviewer_id:-1,
  6121.        article_id:'1593951',
  6122.        source:0,
  6123.    };
  6124.    data.report_type=$('#report .report-group input:checked').attr('data-num');
  6125.    $.ajax({
  6126.        url:"/article/proposal",
  6127.        type:'post',
  6128.        dataType:'json',
  6129.        data:data,
  6130.        success:function (data) {
  6131.            This.removeAttr('disabled');
  6132.            $('#report').modal('hide');
  6133.            if(data.code==200){
  6134.                $('#favoritesTitle .thumb-title').css('display','block');
  6135.                $('#favoritesTitle .thumb-title').html('Thank you for the Report.');
  6136.                titleModel(true);
  6137.                $('#report .report-group input:checked').removeAttr('checked');
  6138.            }else{
  6139.                $('#favoritesTitle .thumb-title').css('display','block');
  6140.                $('#favoritesTitle .thumb-title').html(data.msg);
  6141.                titleModel(true);
  6142.            }
  6143.        },
  6144.        error:function (err) {
  6145.            This.removeAttr('disabled');
  6146.        }
  6147.    })
  6148. })
  6149. function followClick(){
  6150.    $('.follow').unbind();
  6151.    $('#followed .modal-body div > button:last-child').unbind();
  6152.    $('.followed').unbind();
  6153.    $('.follow').on('click',function () {
  6154.                window.location.href='/login';
  6155.        return;
  6156.                setfollow($(this),1)
  6157.    })
  6158.    $('.followed').on('click',function () {
  6159.                window.location.href='/login';
  6160.        return;
  6161.                $('#followed').modal('show');
  6162.    })
  6163.    $('#followed .modal-body div > button:last-child').on('click',function () {
  6164.        setfollow($('.followed'),0);
  6165.        $('#followed').modal('hide');
  6166.    })
  6167. }
  6168. followClick();
  6169. function setfollow(This,isfollow){
  6170.    This.attr('disabled','disabled');
  6171.    let data = {
  6172.        b_reviewer_id:4390329,
  6173.    };
  6174.    let url='';
  6175.    if(isfollow==1){
  6176.        url="/shopper/my/follow";
  6177.    }else{
  6178.        url="/shopper/my/unfollow";
  6179.    }
  6180.    $.ajax({
  6181.        url:url,
  6182.        type:'post',
  6183.        dataType:'json',
  6184.        data:data,
  6185.        success:function (data) {
  6186.            This.removeAttr('disabled');
  6187.            if(data.code==200){
  6188.                if(isfollow==1){
  6189.                    This.removeClass('follow').addClass('followed').html('Following');
  6190.                }else{
  6191.                    This.removeClass('followed').addClass('follow').html('Follow');
  6192.                }
  6193.                $('#favoritesTitle .thumb-title').css('display','block');
  6194.                $('#favoritesTitle .thumb-title').html(data.msg);
  6195.                titleModel(true);
  6196.                followClick();
  6197.            }else{
  6198.                $('#favoritesTitle .thumb-title').css('display','block');
  6199.                $('#favoritesTitle .thumb-title').html(data.msg);
  6200.                titleModel(true);
  6201.            }
  6202.        },
  6203.        error:function (err) {
  6204.            This.removeAttr('disabled');
  6205.        }
  6206.    })
  6207. }
  6208. $('.other-post .post-item .post-item-information-author').on('click',function (e) {
  6209.    e.stopPropagation();
  6210.    window.open('/disclose/my-center?type=1&page=1&limit=12&b_reviewer_id='+$(this).attr('data-id'));
  6211. })
  6212.    let ad = {
  6213.        isShow:true,
  6214.        isClose:true,
  6215.        init:function () {
  6216.            if($('#videoAc').length>0){
  6217.                $('#videoAc').on('play',function () {
  6218.                    if(this.isShow) {
  6219.                        $('.ad .ad-show').css('display','flex');
  6220.                        $('.ad .cat').hide();
  6221.                        this.isShow=false;
  6222.                        getImgSize($('.ad .ad-show .left-img img')[0]);
  6223.                    }
  6224.                }.bind(this))
  6225.                $('#videoAc').on('timeupdate',function () {
  6226.                    let  timeDisplay;
  6227.                    timeDisplay = Math.floor($('#videoAc')[0].currentTime);
  6228.                    if(timeDisplay == 5 && this.isClose){
  6229.                        $('.ad .ad-show').hide();
  6230.                        $('.ad .cat').show();
  6231.                        this.isClose=false
  6232.                    }
  6233.                }.bind(this))
  6234.                $('.ad .cat').on('click',function () {
  6235.                    $(this).hide();
  6236.                    $('.ad .ad-show').css('display','flex');
  6237.                })
  6238.                $('.ad .ad-show .close-ad-show').on('click',function () {
  6239.                    $('.ad .ad-show').hide();
  6240.                    $('.ad .cat').show();
  6241.                })
  6242.            }
  6243.        },
  6244.  
  6245.    }
  6246. ad.init();
  6247.  
  6248. //普通文章作品或视频作品中的文案中的链接 2020-05-27
  6249. $('.vshow-content-target a').click(function () {
  6250.    linkClickTrace(2);
  6251. });
  6252. //视频上悬浮的广告内链与外链
  6253. $('.ad-show a').click(function () {
  6254.    linkClickTrace(0);
  6255. });
  6256. //文章内链外链等点击记录,用于运营统计 2020-05-27
  6257. function linkClickTrace(linkType) {
  6258.    $.ajax({
  6259.        url:'/article/link-click-trace',
  6260.        type:'post',
  6261.        dataType:'json',
  6262.        data:{
  6263.            article_id: 1593951,
  6264.            article_type: 1,
  6265.            link_type: linkType
  6266.        },
  6267.        success:function (data) {},
  6268.        error:function (err) {}
  6269.    });
  6270. }
  6271. $('.create-up').on('click',function () {
  6272.    $.ajax({
  6273.        url:"/main/click-record",
  6274.        type:'post',
  6275.        dataType:'json',
  6276.        data:{
  6277.            btn_code: 401,
  6278.        },
  6279.        success:function (data) {
  6280.  
  6281.        },
  6282.        error:function (err) {
  6283.  
  6284.        }
  6285.    });
  6286. })
  6287.    $('#videoAc source').on('error',function () {
  6288.        console.log(555)
  6289.        $(this).parent().parent().find('.video-error').css('display','flex');
  6290.    })
  6291. </script>
  6292. <script>(function(){function c(){var b=a.contentDocument||a.contentWindow.document;if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'949d75698a272423',t:'MTc0ODkzNTU0OS4wMDAwMDA='};var a=document.createElement('script');a.nonce='';a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script></body>
  6293. </html>
  6294.  
Copyright © 2002-9 Sam Ruby, Mark Pilgrim, Joseph Walton, and Phil Ringnalda