/* Js for , Version=1793992253 */
 
var _hmt = _hmt || [];
(function() {
  var hm = document.createElement("script");
  hm.src = "https://hm.baidu.com/hm.js?8ef91a87681fb8372316d3b1e8331688";
  var s = document.getElementsByTagName("script")[0]; 
  s.parentNode.insertBefore(hm, s);
})();
;
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'G-CRNZWRGQD8');
;if(typeof(v) != "object") v = {};v.theme = {"template":"default","theme":"wide","device":"desktop"};;v.lang = {"confirmDelete":"Do you want to delete it?","deleteing":"Deleting","doing":"Doing","loading":"Loading","updating":"Updating","timeout":"Timeout. Please try it again.","errorThrown":"Error : ","continueShopping":"Continue shopping","required":"Required","back":"Back","continue":"Continue","bindWechatTip":"Posting sets the limit for binding WeChat. Please bind WeChat user first.","importTip":"Old layout data will be replaced","fullImportTip":"Old article, product, layout data will be replaced and import test data"};;
(function()
{
    function initNav()
    {
        if(!window.jQuery) return;
        var $ = window.jQuery;

        $(function()
        {
            var $link = $('#navbar').find('.js-try-for-free');
            if(!$link.length) return;

            var raw = $.cookie('siteContext');
            if(!raw) return;

            var siteContext = {};
            try
            {
                siteContext = JSON.parse(raw) || {};
            }
            catch(e)
            {
                return;
            }

            var siteNumber = parseInt(siteContext.siteNumber, 10);
            if(isNaN(siteNumber)) siteNumber = 0;

            var defaultTryUrl = $link.data('defaultTryUrl');
            var chooseSiteUrl = $link.data('chooseSiteUrl');
            var loginSiteTpl  = $link.data('loginSiteTpl');
            var siteID        = siteContext.siteID || '';
            var userSite      = siteContext.userSite || '';

            if(defaultTryUrl) $link.attr('href', defaultTryUrl);

            if(siteNumber > 1)
            {
                $link.attr('href', chooseSiteUrl);
                return;
            }

            if(siteNumber === 1 && userSite && siteID && loginSiteTpl)
            {
                $link.attr('href', loginSiteTpl.replace('__SITE_ID__', siteID));
            }
        });
    }

    if(document.readyState === 'loading') document.addEventListener('DOMContentLoaded', initNav);
    else initNav();
})();
;v.path = [3];;v.categoryID = 3;;v.pageLayout = "global";;placecc6f14573f04ddc705e878d8d8b5b198='IDLIST_PLACEHOLDER72,38,14,IDLIST_PLACEHOLDER';;$(document).ready(function()
{
    $('#copyBox').hide().find(':input').attr('disabled', true);
    $('#source').change(function()
    {
        $('#copyBox').hide().find(':input').attr('disabled', true);
        if($(this).val() != 'original') $('#copyBox').show().find(':input').attr('disabled', false);
    });

    /* Set current active topNav. */
    var hasActive = false;
    if(v.categoryID > 0 && $('.nav-article-' + v.categoryID).length >= 1)
    {
        hasActive = true;
        $('.nav-article-' + v.categoryID).addClass('active');
    }

    if(v.categoryPath && v.categoryPath.length)
    {
        $.each(v.categoryPath, function(index, category)
        {
            if(!hasActive)
            {
                if($('.nav-article-' + category).length >= 1) hasActive = true;
                $('.nav-article-' + category).addClass('active');
            }
        });
    }
    else if(v.path && v.path.length)
    {
        $.each(v.path, function(index, category)
        {
            if(!hasActive)
            {
                if($('.nav-article-' + category).length >= 1) hasActive = true;
                $('.nav-article-' + category).addClass('active');
            }
        });
        if(!hasActive) $('.nav-article-0').addClass('active');
    }

    if(v.categoryID !== 0) $('#category' + v.categoryID).parent().addClass('active');
    $('#navbar li.active').parents('li').addClass('active');
});
$(document).ready(function()
{
    var fieldName = 'addedDate';
    var orderType = 'desc';
    $(document).on('click', '.setOrder', function()
    {
        if($(this).data('field') == fieldName)
        {
            orderType = orderType == 'asc' ? 'desc' : 'asc';
            fieldName = $(this).data('field');
        }
        else
        {
            orderType = 'desc';
            fieldName = $(this).data('field');
        }

        $.cookie.raw = true;
        $.cookie('articleOrderBy[' + v.categoryID + ']', fieldName + '_' + orderType);

        r = Math.ceil(Math.random() * 1000000);
        url = location.href;
        url = url.indexOf('r=') != -1 ? url.substring(0, url.indexOf('r=') - 1) : url;
        if(config.requestType == 'GET' && url.indexOf('pageID') < 0) url = url + '&pageID=1';
        url = config.requestType == 'GET' ? url + '&r=' + r + ' #articleList' : url + '?r=' + r + ' #articleList';
        $('#mainContainer').load(url, function()
        {
            setSorterClass(orderType, fieldName)
            $('.pager > a').each(function()
            {
                href = $(this).attr('href');
                if(href.indexOf('r=') < 0) return true;
                $(this).attr('href', href.substring(0, href.indexOf('r=') - 1));
            });
        });
    });

    function setSorterClass(orderType, fieldName)
    {
        if(orderType == 'asc')
        {
            $("[data-field=" + fieldName + "]").parent().removeClass('header').addClass('headerSortUp');
        }
        if(orderType == 'desc')
        {
            $("[data-field=" + fieldName + "]").parent().removeClass('header').addClass('headerSortDown');
        }
    }

    var defaultOrder = $.cookie(`articleOrderBy[${v.categoryID}]`);
    if(defaultOrder)
    {
        var fieldName = defaultOrder.split('_')[0];
        var orderType = defaultOrder.split('_')[1];
        setSorterClass(orderType, fieldName);
    }
    else
    {
        setSorterClass('desc', 'addedDate');
    }
});
var lang = $.cookie('browseLang');
if (!lang) {
  var url = new URL(location.href);
  var isCnPath =
      url.pathname === '/cn' ||
      url.pathname.indexOf('/cn/') === 0;

  lang = isCnPath ? 'zh-cn' : (/^zh/i.test(navigator.language || '') ? 'zh-cn' : 'en');

  $.cookie('browseLang', lang, {
      expires: 365,
      path: ''/'',
      secure: true,
      sameSite: 'lax'
  });

  if (lang === 'en' && isCnPath) {
      // /cn、/cn/XXX -> /、/XXX
      url.pathname = url.pathname.substring(3) || '/';
      location.replace(url.href);
  } else if (lang === 'zh-cn' && !isCnPath) {
      // /、/XXX -> /cn/、/cn/XXX
      url.pathname = '/cn' + url.pathname;
      location.replace(url.href);
  }
}
;
$(document).ready(function()
{
    $('a[data-download=1]').each(function()
    {
        link = window.btoa(window.encodeURIComponent($(this).attr('href')));
        fileName = window.btoa(window.encodeURIComponent($(this).text()));
        $(this).attr('data-toggle', 'modal').attr('href', createLink('misc', 'download', 'link=' + link + '&fileName=' + fileName));
    });
})
;
function loadCartInfo(twinkle)
{
    $('#siteNav').load(createLink('misc', 'printTopBar'),
        function()
        {
            if(twinkle)
            {
                bootbox.dialog(
                {
                    message: v.addToCartSuccess,
                    buttons:
                    {
                        back:
                        {
                            label:     v.lang.continueShopping,
                            className: 'btn-primary',
                            callback:  function(){location.reload();}
                        },
                        cart:
                        {
                            label:     v.gotoCart,
                            className: 'btn-primary',
                            callback:  function(){location.href = createLink('cart', 'browse');}
                        }
                    }
                });
            }
        }
    );
}
;
var hash = window.location.hash.substring(1);
var browserLanguage = navigator.language || navigator.userLanguage;
var resolution      = screen.availWidth + ' X ' + screen.availHeight;
$.get(createLink('log', 'record', "hash=" + hash), {browserLanguage:browserLanguage, resolution:resolution});
