From 0f21667feeff085f861926e066a149ca89a28f56 Mon Sep 17 00:00:00 2001 From: xiaoxiao <xiaoxiao.hao@yoho.cn> Date: Tue, 31 May 2016 15:41:31 +0800 Subject: [PATCH] gelp ge --- static/dist/myohobuy/1.3.25/index-debug.js | 27000 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ static/dist/myohobuy/1.3.25/index.css | 2 +- static/dist/myohobuy/1.3.25/index.js | 12 ++++++------ static/dist/myohobuy/1.3.25/lib.js | 20 ++++++++++---------- static/dist/myohobuy/assets/img/sprite.guang.png | Bin 21841 -> 0 bytes static/dist/myohobuy/assets/img/sprite.me.png | Bin 23327 -> 0 bytes static/dist/myohobuy/assets/img/sprite.product.png | Bin 8985 -> 0 bytes 7 files changed, 13517 insertions(+), 13517 deletions(-) diff --git a/static/dist/myohobuy/1.3.25/index-debug.js b/static/dist/myohobuy/1.3.25/index-debug.js index 8320775..4c1d1d7 100644 --- a/static/dist/myohobuy/1.3.25/index-debug.js +++ b/static/dist/myohobuy/1.3.25/index-debug.js @@ -1,13849 +1,13849 @@ define("index", ["jquery","hammer","swiper","lazyload","mlellipsis","iscroll-probe","handlebars","source-map","index"], function(require, exports, module){ -var yohobuy; - -require("js/common"); - -require("js/category/entry"); -require("js/guang/entry"); -require("js/home/entry"); -require("js/index/entry"); -require("js/passport/entry"); -require("js/product/entry"); -require("js/me/entry"); -require("js/cart/entry"); - -module.exports = yohobuy; +var yohobuy; + +require("js/common"); + +require("js/category/entry"); +require("js/guang/entry"); +require("js/home/entry"); +require("js/index/entry"); +require("js/passport/entry"); +require("js/product/entry"); +require("js/me/entry"); +require("js/cart/entry"); + +module.exports = yohobuy; }); define("js/common", ["jquery","hammer"], function(require, exports, module){ -/** - * 页面公共逻辑 - * @author: xuqi<qi.xu@yoho.cn> - * @date: 2015/10/21 - */ -var $ = require("jquery"), - Hammer = require("hammer"); - -var $footer = $('#yoho-footer'), - $yohoPage = $('.yoho-page'), - $header = $('.yoho-header'); - -function cookie(name) { - var cookies = document.cookie, - cookieVal, - offset; - - if (document.cookie && document.cookie !== '') { - offset = cookies.indexOf(name + '='); - if (offset > -1) { - offset += name.length + 1; - - cookieVal = decodeURIComponent($.trim(cookies.substring(offset, cookies.indexOf(';', offset)))); - } - } - - return cookieVal; -} - -function setCookie(name, value, options) { - var expires = '', - path, - domain, - secure, - date; - - if (typeof value !== 'undefined') { - options = options || {}; - if (value === null) { - value = ''; - options.expires = -1; - } - - if (options.expires && - (typeof options.expires === 'number' || options.expires.toUTCString)) { - if (typeof options.expires === 'number') { - date = new Date(); - date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000)); - } else { - date = options.expires; - } - expires = '; expires=' + date.toUTCString(); - } - path = options.path ? '; path=' + options.path : ''; - domain = options.domain ? '; domain=' + options.domain : ''; - secure = options.secure ? '; secure' : ''; - document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join(''); - } -} - -function isCookiesEnabled() { - var cookieEnabled = (navigator.cookieEnabled) ? true : false; - - if (typeof navigator.cookieEnabled === 'undefined' && !cookieEnabled) { - document.cookie = 'testcookie'; - cookieEnabled = (document.cookie.indexOf('testcookie') !== -1) ? true : false; - } - - return (cookieEnabled); -} - -function getUser() { - var c = cookie('_UID'), - user; - - if (typeof c === 'undefined') { - return 0; - } - - user = c.split('::'); - - if (typeof user === 'undefined' || user.length < 4) { - return 0; - } - - return user; -} - -function getUid() { - var user = getUser(); - - if (user === 0) { - return 0; - } - - return user[1]; -} - -function getShoppingKey() { - var c = cookie('_g'); - - if (typeof c === 'undefined') { - return ''; - } - - return JSON.parse(c).k; -} - -//根据页面内容重新设置通用底部的显示 -function rePosFooter() { - var winH; - - if ($footer.length === 0) { - return; - } - - winH = Math.min($(window).height(), window.screen.availHeight); - - if ($('body').height() <= winH - parseInt($footer.css('height'), 0)) { - $footer.addClass('bottom'); - } else { - $footer.removeClass('bottom'); - } -} - -/** - * - * add extra margin-bottom for footer to show yoho copyright when there is fixed bottom element on page - * @param {String} The jquery selecor of the fixed bottom element - * @return undefined - */ -function reMarginFooter(fixedElement) { - var fixedElH = $(fixedElement).outerHeight(); - - if (fixedElement) { - $footer.css('margin-bottom', fixedElH + 'px'); - } -} - -//页面通用底部位置及status设置 -(function() { - var $op = $footer.children('.op-row'), - $backToTop = $('.back-to-top'); - - var user = getUser(); - - var backToTopHammer; - - rePosFooter(); //计算底部位置 - - if (user === 0) { - - //未登录 - $op.prepend( - '<a href="//m.yohobuy.com/signin.html?refer=' + location.href + '">登录</a>' + - '<span class="sep-line">|</span>' + - '<a href="//m.yohobuy.com/reg.html">注册</a>' - ); - } else { - - //已登录 - $op.prepend( - '<span>Hi,</span>' + - '<a class="user-name" href="//m.yohobuy.com/home?tmp=' + Math.random() + '">' + user[0] + '</a>' + - '<a href="//m.yohobuy.com/passport/signout/index?token=' + user[3] + '">退出</a>' - ); - } - - if ($backToTop.length > 0) { - backToTopHammer = new Hammer($backToTop[0]); - backToTopHammer.on('tap', function(e) { - $(window).scrollTop(0); - e.srcEvent.preventDefault(); - return false; - }); - } - - $footer.removeClass('hide'); -}()); - -(function(w, d, s, j, f) { - var a = d.createElement(s); - var m = d.getElementsByTagName(s)[0]; - - w.YohoAcquisitionObject = f; - - w[f] = function() { - w[f].p = arguments; - }; - - a.async = 1; - a.src = j; - m.parentNode.insertBefore(a, m); -})(window, document, 'script', ('https:' === document.location.protocol ? 'https' : 'http') + '://' + 'cdn.yoho.cn/yas-jssdk/1.0.15/yas-debug.js', '_yas'); - -(function() { - var uid = getUid(); - - uid = uid === 0 ? '' : uid; - - window._ozuid = uid;//暴露ozuid - - if (window._yas) { - window._yas(1 * new Date(), '1.0.15', 'yohobuy_m', uid, '', ''); - $('.buriedpoint').click(function(e) { - var bpIdArr = $(this).attr('data-bp-id').split('_'); - var jsonData = { - page: bpIdArr[0], - floor: bpIdArr[1], - data: bpIdArr[2] - }; - console.log(jsonData); - console.log(Boolean(parseInt(bpIdArr[3]))); - window._yas.sendCustomInfo(jsonData, Boolean(parseInt(bpIdArr[3]))); - }); - } -}()); - -$header.on('touchstart', 'a', function() { - $header.find('a').removeClass('highlight'); - $(this).addClass('highlight'); -}).on('touchend touchcancel', 'a', function() { - $(this).removeClass('highlight'); -}); - -$yohoPage.on('touchstart', '.tap-hightlight', function() { - $(this).siblings('.tap-hightlight').removeClass('highlight'); - $(this).addClass('highlight'); -}).on('touchend touchcancel', '.tap-hightlight', function() { - $(this).removeClass('highlight'); -}); - -$('.nav-home').on('touchstart', function() { - $('.homebuttom').toggleClass('hide'); -}); - -(function() { - var lastTime = 0, - prefixes = 'webkit moz ms o'.split(' '), - requestAnimationFrame = window.requestAnimationFrame, - cancelAnimationFrame = window.cancelAnimationFrame, - prefix, - i; - - //通过遍历各浏览器前缀,来得到requestAnimationFrame和cancelAnimationFrame在当前浏览器的实现形式 - for (i = 0; i < prefixes.length; i++) { - if (requestAnimationFrame && cancelAnimationFrame) { - break; - } - prefix = prefixes[i]; - requestAnimationFrame = requestAnimationFrame || window[prefix + 'RequestAnimationFrame']; - cancelAnimationFrame = cancelAnimationFrame || window[prefix + 'CancelAnimationFrame'] || - window[prefix + 'CancelRequestAnimationFrame']; - } - - //如果当前浏览器不支持requestAnimationFrame和cancelAnimationFrame,则会退到setTimeout - if (!requestAnimationFrame || !cancelAnimationFrame) { - requestAnimationFrame = function(callback, element) { - var currTime = new Date().getTime(); - - //为了使setTimteout的尽可能的接近每秒60帧的效果 - var timeToCall = Math.max(0, 16 - (currTime - lastTime)); - var id = window.setTimeout(function() { - callback(currTime + timeToCall); - }, timeToCall); - - lastTime = currTime + timeToCall; - return id; - }; - - cancelAnimationFrame = function(id) { - window.clearTimeout(id); - }; - } - - window.requestAnimationFrame = requestAnimationFrame; - window.cancelAnimationFrame = cancelAnimationFrame; -}()); - -// 给jQuery 扩展 queryString函数 -$.extend({ - queryString: function() { - var vars = [], - hash, - i; - var hashes = window.location.search.slice(1).split('&'); - - for (i = 0; i < hashes.length; i++) { - hash = hashes[i].split('='); - vars.push(hash[0]); - vars[hash[0]] = hash[1]; - } - return vars; - } -}); - -//临时修改 footer -function phoneHidden(phone) { - return phone.replace(/(\d{3})\d{4}(\d{4})/, '$1****$2'); -} - -if ($footer.find('.user-name').text().length === 11) { - $footer.find('.user-name').html(phoneHidden($footer.find('.user-name').text())); -} - -//暴露公共接口 -window.cookie = cookie; - -window.setCookie = setCookie; - -window.isCookiesEnabled = isCookiesEnabled; - -window.getUser = getUser; - -window.getUid = getUid; - -window.getShoppingKey = getShoppingKey; - -window.rePosFooter = rePosFooter; - -window.reMarginFooter = reMarginFooter; - - - +/** + * 页面公共逻辑 + * @author: xuqi<qi.xu@yoho.cn> + * @date: 2015/10/21 + */ +var $ = require("jquery"), + Hammer = require("hammer"); + +var $footer = $('#yoho-footer'), + $yohoPage = $('.yoho-page'), + $header = $('.yoho-header'); + +function cookie(name) { + var cookies = document.cookie, + cookieVal, + offset; + + if (document.cookie && document.cookie !== '') { + offset = cookies.indexOf(name + '='); + if (offset > -1) { + offset += name.length + 1; + + cookieVal = decodeURIComponent($.trim(cookies.substring(offset, cookies.indexOf(';', offset)))); + } + } + + return cookieVal; +} + +function setCookie(name, value, options) { + var expires = '', + path, + domain, + secure, + date; + + if (typeof value !== 'undefined') { + options = options || {}; + if (value === null) { + value = ''; + options.expires = -1; + } + + if (options.expires && + (typeof options.expires === 'number' || options.expires.toUTCString)) { + if (typeof options.expires === 'number') { + date = new Date(); + date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000)); + } else { + date = options.expires; + } + expires = '; expires=' + date.toUTCString(); + } + path = options.path ? '; path=' + options.path : ''; + domain = options.domain ? '; domain=' + options.domain : ''; + secure = options.secure ? '; secure' : ''; + document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join(''); + } +} + +function isCookiesEnabled() { + var cookieEnabled = (navigator.cookieEnabled) ? true : false; + + if (typeof navigator.cookieEnabled === 'undefined' && !cookieEnabled) { + document.cookie = 'testcookie'; + cookieEnabled = (document.cookie.indexOf('testcookie') !== -1) ? true : false; + } + + return (cookieEnabled); +} + +function getUser() { + var c = cookie('_UID'), + user; + + if (typeof c === 'undefined') { + return 0; + } + + user = c.split('::'); + + if (typeof user === 'undefined' || user.length < 4) { + return 0; + } + + return user; +} + +function getUid() { + var user = getUser(); + + if (user === 0) { + return 0; + } + + return user[1]; +} + +function getShoppingKey() { + var c = cookie('_g'); + + if (typeof c === 'undefined') { + return ''; + } + + return JSON.parse(c).k; +} + +//根据页面内容重新设置通用底部的显示 +function rePosFooter() { + var winH; + + if ($footer.length === 0) { + return; + } + + winH = Math.min($(window).height(), window.screen.availHeight); + + if ($('body').height() <= winH - parseInt($footer.css('height'), 0)) { + $footer.addClass('bottom'); + } else { + $footer.removeClass('bottom'); + } +} + +/** + * + * add extra margin-bottom for footer to show yoho copyright when there is fixed bottom element on page + * @param {String} The jquery selecor of the fixed bottom element + * @return undefined + */ +function reMarginFooter(fixedElement) { + var fixedElH = $(fixedElement).outerHeight(); + + if (fixedElement) { + $footer.css('margin-bottom', fixedElH + 'px'); + } +} + +//页面通用底部位置及status设置 +(function() { + var $op = $footer.children('.op-row'), + $backToTop = $('.back-to-top'); + + var user = getUser(); + + var backToTopHammer; + + rePosFooter(); //计算底部位置 + + if (user === 0) { + + //未登录 + $op.prepend( + '<a href="//m.yohobuy.com/signin.html?refer=' + location.href + '">登录</a>' + + '<span class="sep-line">|</span>' + + '<a href="//m.yohobuy.com/reg.html">注册</a>' + ); + } else { + + //已登录 + $op.prepend( + '<span>Hi,</span>' + + '<a class="user-name" href="//m.yohobuy.com/home?tmp=' + Math.random() + '">' + user[0] + '</a>' + + '<a href="//m.yohobuy.com/passport/signout/index?token=' + user[3] + '">退出</a>' + ); + } + + if ($backToTop.length > 0) { + backToTopHammer = new Hammer($backToTop[0]); + backToTopHammer.on('tap', function(e) { + $(window).scrollTop(0); + e.srcEvent.preventDefault(); + return false; + }); + } + + $footer.removeClass('hide'); +}()); + +(function(w, d, s, j, f) { + var a = d.createElement(s); + var m = d.getElementsByTagName(s)[0]; + + w.YohoAcquisitionObject = f; + + w[f] = function() { + w[f].p = arguments; + }; + + a.async = 1; + a.src = j; + m.parentNode.insertBefore(a, m); +})(window, document, 'script', ('https:' === document.location.protocol ? 'https' : 'http') + '://' + 'cdn.yoho.cn/yas-jssdk/1.0.15/yas-debug.js', '_yas'); + +(function() { + var uid = getUid(); + + uid = uid === 0 ? '' : uid; + + window._ozuid = uid;//暴露ozuid + + if (window._yas) { + window._yas(1 * new Date(), '1.0.15', 'yohobuy_m', uid, '', ''); + $('.buriedpoint').click(function(e) { + var bpIdArr = $(this).attr('data-bp-id').split('_'); + var jsonData = { + page: bpIdArr[0], + floor: bpIdArr[1], + data: bpIdArr[2] + }; + console.log(jsonData); + console.log(Boolean(parseInt(bpIdArr[3]))); + window._yas.sendCustomInfo(jsonData, Boolean(parseInt(bpIdArr[3]))); + }); + } +}()); + +$header.on('touchstart', 'a', function() { + $header.find('a').removeClass('highlight'); + $(this).addClass('highlight'); +}).on('touchend touchcancel', 'a', function() { + $(this).removeClass('highlight'); +}); + +$yohoPage.on('touchstart', '.tap-hightlight', function() { + $(this).siblings('.tap-hightlight').removeClass('highlight'); + $(this).addClass('highlight'); +}).on('touchend touchcancel', '.tap-hightlight', function() { + $(this).removeClass('highlight'); +}); + +$('.nav-home').on('touchstart', function() { + $('.homebuttom').toggleClass('hide'); +}); + +(function() { + var lastTime = 0, + prefixes = 'webkit moz ms o'.split(' '), + requestAnimationFrame = window.requestAnimationFrame, + cancelAnimationFrame = window.cancelAnimationFrame, + prefix, + i; + + //通过遍历各浏览器前缀,来得到requestAnimationFrame和cancelAnimationFrame在当前浏览器的实现形式 + for (i = 0; i < prefixes.length; i++) { + if (requestAnimationFrame && cancelAnimationFrame) { + break; + } + prefix = prefixes[i]; + requestAnimationFrame = requestAnimationFrame || window[prefix + 'RequestAnimationFrame']; + cancelAnimationFrame = cancelAnimationFrame || window[prefix + 'CancelAnimationFrame'] || + window[prefix + 'CancelRequestAnimationFrame']; + } + + //如果当前浏览器不支持requestAnimationFrame和cancelAnimationFrame,则会退到setTimeout + if (!requestAnimationFrame || !cancelAnimationFrame) { + requestAnimationFrame = function(callback, element) { + var currTime = new Date().getTime(); + + //为了使setTimteout的尽可能的接近每秒60帧的效果 + var timeToCall = Math.max(0, 16 - (currTime - lastTime)); + var id = window.setTimeout(function() { + callback(currTime + timeToCall); + }, timeToCall); + + lastTime = currTime + timeToCall; + return id; + }; + + cancelAnimationFrame = function(id) { + window.clearTimeout(id); + }; + } + + window.requestAnimationFrame = requestAnimationFrame; + window.cancelAnimationFrame = cancelAnimationFrame; +}()); + +// 给jQuery 扩展 queryString函数 +$.extend({ + queryString: function() { + var vars = [], + hash, + i; + var hashes = window.location.search.slice(1).split('&'); + + for (i = 0; i < hashes.length; i++) { + hash = hashes[i].split('='); + vars.push(hash[0]); + vars[hash[0]] = hash[1]; + } + return vars; + } +}); + +//临时修改 footer +function phoneHidden(phone) { + return phone.replace(/(\d{3})\d{4}(\d{4})/, '$1****$2'); +} + +if ($footer.find('.user-name').text().length === 11) { + $footer.find('.user-name').html(phoneHidden($footer.find('.user-name').text())); +} + +//暴露公共接口 +window.cookie = cookie; + +window.setCookie = setCookie; + +window.isCookiesEnabled = isCookiesEnabled; + +window.getUser = getUser; + +window.getUid = getUid; + +window.getShoppingKey = getShoppingKey; + +window.rePosFooter = rePosFooter; + +window.reMarginFooter = reMarginFooter; + + + }); define("js/category/entry", ["jquery","hammer","swiper","lazyload","index"], function(require, exports, module){ -/** - * 品类打包入口 - * @author: xuqi<qi.xu@yoho.cn> - * @date: 2015/10/28 - */ - -require("js/category/index"); +/** + * 品类打包入口 + * @author: xuqi<qi.xu@yoho.cn> + * @date: 2015/10/28 + */ + +require("js/category/index"); require("js/category/brand"); }); define("js/category/index", ["jquery"], function(require, exports, module){ -/** - * 分类 - * @author: xuqi<qi.xu@yoho.cn> - * @date: 2015/10/14 - */ - -var $ = require("jquery"); - -var $nav = $('.category-nav'), - $categoryContainer = $('.category-container'), - $contents = $categoryContainer.children('.content'), - $subLevelItem = $categoryContainer.find('.sub-level li'), - $primaryItem = $categoryContainer.find('.primary-level li'); - -var $curContent = $contents.not('.hide'); - -(function() { - var $header = $('.yoho-header'), - $search = $('#search-input'); - - var h = $(window).height() - $header.outerHeight() - $search.outerHeight() - $nav.outerHeight(); - - $categoryContainer.css('min-height', h); - - $contents.height(h); -}()); +/** + * 分类 + * @author: xuqi<qi.xu@yoho.cn> + * @date: 2015/10/14 + */ + +var $ = require("jquery"); + +var $nav = $('.category-nav'), + $categoryContainer = $('.category-container'), + $contents = $categoryContainer.children('.content'), + $subLevelItem = $categoryContainer.find('.sub-level li'), + $primaryItem = $categoryContainer.find('.primary-level li'); + +var $curContent = $contents.not('.hide'); + +(function() { + var $header = $('.yoho-header'), + $search = $('#search-input'); + + var h = $(window).height() - $header.outerHeight() - $search.outerHeight() - $nav.outerHeight(); + + $categoryContainer.css('min-height', h); + + $contents.height(h); +}()); + +$('#search-input').focus(function() { + $(this).blur(); +}); +$nav.bind('contextmenu', function(e) { + return false; +}); +$('.category-container').bind('contextmenu', function(e) { + return false; +}); + +$nav.on('touchend touchcancel', function(e) { + var $this = $(e.target).closest('li'), + index = $this.index(); + + if ($this.hasClass('focus')) { + return; + } + + $nav.find('li.focus').removeClass('focus'); + $this.addClass('focus'); + + $curContent.addClass('hide'); + $curContent = $contents.eq(index).removeClass('hide'); +}); + +$categoryContainer.on('touchend', function(e) { + var $this = $(e.target), + $subLevel, + $cur, index; + + $cur = $this.closest('.p-level-item'); + if ($cur.length > 0) { + index = $cur.index(); + $subLevel = $this.closest('.content').find('.sub-level'); + + if ($this.hasClass('focus')) { + return; + } + + $this.closest('.primary-level').children('.focus').removeClass('focus'); + $this.addClass('focus'); + + $subLevel.not('.hide').addClass('hide'); + $subLevel.eq(index).removeClass('hide'); + } +}); + +$categoryContainer.find('.primary-level').on('touchstart touchend touchcancel', 'li', function() { + $primaryItem.removeClass('highlight'); + $(this).addClass('highlight'); +}).on('touchend touchcancel', 'li', function() { + $(this).removeClass('highlight'); +}); + +$categoryContainer.find('.sub-level').on('touchstart', 'li', function() { + $subLevelItem.removeClass('highlight'); + $(this).addClass('highlight'); +}).on('touchend touchcancel', 'li', function() { + $(this).removeClass('highlight'); +}); + +$nav.on('touchstart', 'li', function() { + $nav.find('li').removeClass('bytouch'); + $(this).addClass('bytouch'); +}).on('touchend touchcancel', 'li', function() { + $nav.find('li').removeClass('bytouch'); +}); -$('#search-input').focus(function() { - $(this).blur(); }); -$nav.bind('contextmenu', function(e) { - return false; -}); -$('.category-container').bind('contextmenu', function(e) { - return false; -}); - -$nav.on('touchend touchcancel', function(e) { - var $this = $(e.target).closest('li'), - index = $this.index(); - - if ($this.hasClass('focus')) { - return; - } - - $nav.find('li.focus').removeClass('focus'); - $this.addClass('focus'); - - $curContent.addClass('hide'); - $curContent = $contents.eq(index).removeClass('hide'); -}); - -$categoryContainer.on('touchend', function(e) { - var $this = $(e.target), - $subLevel, - $cur, index; - - $cur = $this.closest('.p-level-item'); - if ($cur.length > 0) { - index = $cur.index(); - $subLevel = $this.closest('.content').find('.sub-level'); - - if ($this.hasClass('focus')) { - return; - } - - $this.closest('.primary-level').children('.focus').removeClass('focus'); - $this.addClass('focus'); - - $subLevel.not('.hide').addClass('hide'); - $subLevel.eq(index).removeClass('hide'); - } -}); - -$categoryContainer.find('.primary-level').on('touchstart touchend touchcancel', 'li', function() { - $primaryItem.removeClass('highlight'); - $(this).addClass('highlight'); -}).on('touchend touchcancel', 'li', function() { - $(this).removeClass('highlight'); -}); - -$categoryContainer.find('.sub-level').on('touchstart', 'li', function() { - $subLevelItem.removeClass('highlight'); - $(this).addClass('highlight'); -}).on('touchend touchcancel', 'li', function() { - $(this).removeClass('highlight'); +define("js/category/brand", ["jquery","hammer","swiper","lazyload","index"], function(require, exports, module){ +/** + * 品牌一览 + * @author: liangzhifeng<zhifeng.liang@yoho.cn> + * @date: 2015/10/23 + */ + +var $ = require("jquery"), + Hammer = require("hammer"), + Swiper = require("swiper"), + loading = require("js/plugin/loading"), + lazyLoad = require("lazyload"); + +var ranToken = ' ??++ '; +var ranToken2 = ' ???+++ '; + +var swiper, + $fixTitleBar, + $brandList = $('.brand-list'), + $icon = $('.search-icon'), + $genderItem = $('.genderNav li'), + $brandItem = $('.brandNav li'), + $newBrandWall = $('.new-brand-wall'), + $recommandBrandWall = $('.recommand-brand-wall'), + $searchAction = $('.search-action'), + $homebuttom = $('.homebuttom'), + $genderNav = $('.genderNav'), + $newSearch = $('.newbrand-search'), + $navBtn = $('.nav-home'), + hotBrandsSwiper; + +var searchH = $('.newbrand-search').outerHeight(), + headerH = $('.yoho-header').outerHeight(), + brandSwipe = parseInt(searchH) + parseInt(headerH) - 1, + minBrandListTop; + +var brandsData, + $keyword, + clearTextHammer; + +var $history = $('.history'); +var $searchPage = $('.search-brand-page'); +var $historySearch = $('.history-search'); +var $hotSearch = $('.hot-search'); + +var $clearHistory = $('#clear-history'); + +var chHammer; + + +loading.showLoadingMask(); + +lazyLoad($('img.lazy')); +$('.yoho-header').css({ + 'z-index': 2, + position: 'fixed', + top: 0 +}); + +$homebuttom.css('top', '51px'); +$homebuttom.css('position', 'fixed'); + +$navBtn.on('touchstart', function() { + if ($homebuttom.hasClass('hide')) { + $genderNav.css('top', '54px'); + $newSearch.css('margin-top', '0px'); + $searchPage.css('margin-top', '0px'); + $('.banner-top').css('margin-top', '0px'); + } else { + $genderNav.css('top', '104px'); + $newSearch.css('margin-top', '50px'); + $searchPage.css('margin-top', '50px'); + $('.banner-top').css('margin-top', '50px'); + } +}); + + +(function() { + if ($('.banner-top').length > 0) { + $('.hot-brands').css('padding-top', '0'); + } + + $('.hide-when-loading').show(); + loading.hideLoadingMask(); + + //banner滑动 + swiper = new Swiper('.swiper-container', { + lazyLoading: true, + loop: true, + autoplay: 3000, + pagination: '.swiper-pagination .pagination-inner' + }); + + //热门品牌滑动 + hotBrandsSwiper = new Swiper('.brands-swiper', { + grabCursor: true, + slidesPerView: 'auto', + wrapperClass: 'brands-list', + slideElement: 'li' + }); +})(); + +$fixTitleBar = $('<div class="title-bar fixed-title-bar"><h2></h2></div>'); +$fixTitleBar.css({ + position: 'fixed', + top: brandSwipe +}).hide(); +minBrandListTop = brandSwipe + $('.hot-brands').outerHeight() + $('.banner-top').outerHeight(); +$brandList.last().append($fixTitleBar); + +function scrollHandler() { + var scrTop = $(window).scrollTop(); + + if ($brandList.eq(0).offset().top < minBrandListTop) { + $fixTitleBar.hide(); + } + + $brandList.each(function() { + var offTop = $(this).offset().top - brandSwipe; + + if (scrTop >= offTop) { + $fixTitleBar.css({ + display: 'block' + }).find('h2').html($(this).find('.title-bar').text()); + } + + }); +} + +//srcoll to load more +$(window).scroll(function() { + window.requestAnimationFrame(scrollHandler); +}); + + +function changeBackground() { + var $brandList = $('.brand-list').find('p'); + + $brandList.on('touchstart', function() { + $brandList.css('background', '#fff'); + $(this).css('background', '#eee'); + }).on('touchend touchcancel', function() { + $(this).css('background', '#fff'); + }); +} +changeBackground(); + +function searchResult() { + var keyword = ($keyword.val() + '').toLowerCase(); + var result = {}, + i = 0, + html = ''; + + if (keyword !== '') { + + // 遍历首字母搜索 + $.each(brandsData, function(k, v) { + if ($.isArray(v)) { + + // 遍历品牌,进行匹配 + $.each(v, function(i, brand) { + if (brand.searchName.toLowerCase().indexOf(keyword) > -1) { + result[k] = result[k] || []; + result[k].push(brand); + } + }); + } + }); + + // 根据搜索结果生成 HTML + $.each(result, function(k, v) { + var brandHtml = ['<div class="brand-list bar-', i, '">']; + + i++; + brandHtml.push('<div class="title-bar"><h2>'); + brandHtml.push(k); + brandHtml.push('</h2></div>'); + $.each(v, function(i, brand) { + + brandHtml.push('<p><a href="' + brand.url + '" brandName = "' + brand.name + + '" brandId = "' + brand.brandId + '" brandDomain = "' + brand.brandDomain + '">' + brand.name); + if (brand.isNew) { + brandHtml.push('<i class="icon-new">NEW</i>'); + } + if (brand.isHot) { + brandHtml.push('<i class="icon-hot">HOT</i>'); + } + brandHtml.push('</a></p>'); + }); + brandHtml.push('</div>'); + html += brandHtml.join(''); + + }); + } + + //没填入关键词时显示最热搜索 + if (keyword.length > 0) { + $('.search-brand-page').addClass('hide'); + } else { + $('.search-brand-page').removeClass('hide'); + } + + // 插入 dom,绑定事件 + $('.search-result').html(html); + changeBackground(); + bindWirteLocal($('.brand-list')); +} + +if ($('.history-search').length > 0) { + bindWirteLocal($('.history-search')); +} + +if ($('.hot-search').length > 0) { + bindWirteLocal($('.hot-search')); +} + +if ($('.brand-search-page').length > 0) { + brandsData = $.parseJSON($('#brands-data').html()); + $keyword = $('#keyword'); + + $keyword.on('input', function() { + searchInput(); + + }).focus(); + + // 2016.1.13 产品(高扬)要求进入页面默认显示取消按钮 + $icon.css('color', '#444'); + $keyword.closest('.search-box').css('width', '11.25rem'); + $searchAction.show().find('.clear-text').hide(); + + clearTextHammer = new Hammer($('.clear-text')[0]); + clearTextHammer.on('tap', function(e) { + $('.search-result').html(''); + $('#keyword').val('').trigger('input'); + e.preventDefault(); + e.srcEvent.stopPropagation(); + }); + + $('form.search-box').on('submit', function() { + return false; + }); + +} + +function searchInput() { + if ($keyword.val().length) { + $icon.css('color', '#444'); + + // $(this).closest('.search-box').css('width', '11.25rem'); + $searchAction.show().find('.clear-text').show(); + } else { + $icon.css('color', '#b2b2b2'); + + // $(this).closest('.search-box').css('width', '12.5rem'); + $searchAction.find('.clear-text').hide(); + + } + searchResult(); +} + +if ($genderItem.length > 0) { + $genderItem.on('touchstart', function() { + var index = $(this).data('id') + 1; + + $('.genderNav ul .active').removeClass('active'); + $(this).addClass('active'); + $('.hide-when-loading').hide(); + loading.showLoadingMask(); + function reload() { + window.location.search = 'channel=' + index; + } + setTimeout(reload.bind(this), 100); + }); +} + +if ($brandItem.length > 0) { + $brandItem.on('click', function() { + var index = $(this).data('id'); + + $('.brandNav ul .active').removeClass('active'); + $(this).addClass('active'); + + + if (index === 0) { + + $recommandBrandWall.not('.hide').addClass('hide'); + $newBrandWall.not('.hide').addClass('hide'); + $brandList.removeClass('hide'); + + } else if (index === 1) { + + $newBrandWall.removeClass('hide'); + $brandList.not('.hide').addClass('hide'); + $recommandBrandWall.not('.hide').addClass('hide'); + + } else { + + $recommandBrandWall.removeClass('hide'); + $brandList.not('.hide').addClass('hide'); + $newBrandWall.not('.hide').addClass('hide'); + + } + + }); +} + +/** + * 清除记录 + */ +function removeHistory() { + $.ajax({ + type: 'GET', + url: '/brands/delBrandHistory', + data: '', + success: function(data) { + }, + error: function() { + } + }); +} + +/** + * 增加单条记录 + */ +function addHistory(brandName, brandId, brandDomain) { + $.ajax({ + type: 'GET', + url: '/brands/addBrandSearch', + data: 'brandName=' + brandName + '&brandId=' + brandId + '&brandDomain=' + brandDomain, + success: function(data) { + }, + error: function() { + } + }); +} + +//初始化历史搜索的内容 + +if ($('.brand-search-page').length > 0) { + + chHammer = new Hammer($clearHistory[0]); + chHammer.on('tap', function() { + localStorage.removeItem('historys-brand'); + + $history.html(''); + $historySearch.hide(); + $clearHistory.hide(); + + if ($('.net-search').length > 0) { + removeHistory(); + } + + window.rePosFooter(); + }); + + //搜索页面 + + (function() { + var html = '', + history, + historys, i, + localHistory, + brand,url; + + if (localStorage) { + historys = localStorage.getItem('historys-brand'); + + if (historys && historys.length > 0) { + historys = historys.split(ranToken); + for (i = (historys.length >= 10) ? 10 : historys.length; i > 0; i--) { + history = historys[i - 1]; + + if (history === '') { + continue; + } + localHistory = history.split(ranToken2); + + brand = localHistory[0]; + url = localHistory[1]; + + html += '<li><a href="' + url + '" brandName = "' + brand + + '">' + brand + '</li>'; + $historySearch.removeClass('hide'); + } + + $history.html(html); + $clearHistory.removeClass('hide'); + + $hotSearch.removeClass('hide'); + window.rePosFooter(); + } + } + }()); + +} + +//绑定提交前的存local操作 +function bindWirteLocal($brandList) { + $brandList.on('click', 'p , li', function(e) { + $keyword = $('#keyword'); + var brandName, brandId, brandDomain, url; + var a = $(this).find('a'); + var query = a.attr('brandName') + ranToken2 + a.attr('href'), + historys; + + brandName = a.attr('brandName'); + + brandId = a.attr('brandId'); + + brandDomain = a.attr('brandDomain'); + + url = a.attr('href'); + + e.preventDefault(); + + if ($('.net-history').length > 0) { + addHistory(brandName, brandId, brandDomain); + $keyword.val(brandName); + searchInput(); + return; + } + + if (localStorage) { + historys = localStorage.getItem('historys-brand'); + + historys = historys ? historys : ''; + + if (historys.indexOf(ranToken + query + ranToken) > -1) { + $keyword.val(brandName); + searchInput(); + return; + } + + if (historys === '') { + query = ranToken + query; + } + + historys += query + ranToken; + + localStorage.setItem('historys-brand', historys); + } + + $keyword.val(brandName); + searchInput(); + }); +} }); - -$nav.on('touchstart', 'li', function() { - $nav.find('li').removeClass('bytouch'); - $(this).addClass('bytouch'); -}).on('touchend touchcancel', 'li', function() { - $nav.find('li').removeClass('bytouch'); +define("js/plugin/loading", ["jquery"], function(require, exports, module){ +/** + * Loading mask + * @author: xuqi<qi.xu@yoho.cn> + * @date: 2015/10/29 + */ + +var $ = require("jquery"); + +var $page = $('.yoho-page'); + +var $loading, + hasInit = false; + +/** modify by liangzhifeng at 2015.11.2 */ + +// 初始化 +function init($container) { + var html = '<div class="loading-mask hide">' + + '<div class="loading">' + + '<div></div><div></div><div></div>' + + '</div>' + + '</div>'; + + hasInit = true; + if ($container === undefined) { + $container = $page; + } + + $container.append(html); + + $loading = $container.children('.loading-mask'); +} + +//显示loading +function showLoadingMask() { + if (!hasInit) { + init(); + hasInit = true; + } + $loading.removeClass('hide'); +} + +//隐藏loading +function hideLoadingMask() { + $loading.addClass('hide'); +} + +exports.init = init; +exports.showLoadingMask = showLoadingMask; +exports.hideLoadingMask = hideLoadingMask; }); - +define("js/guang/entry", ["jquery","lazyload","swiper","hammer","mlellipsis","iscroll-probe","index"], function(require, exports, module){ +/** + * 逛打包入口 + * @author: xuqi<qi.xu@yoho.cn> + * @date: 2015/10/9 + */ + +require("js/guang/plus-star/list"); +require("js/guang/plus-star/detail"); + +require("js/guang/home"); +require("js/guang/list"); +require("js/guang/detail"); +require("js/guang/star-classroom"); +require("js/guang/calendar"); +require("js/guang/collocation-list"); +require("js/guang/check-top"); }); -define("js/category/brand", ["jquery","hammer","swiper","lazyload","index"], function(require, exports, module){ -/** - * 品牌一览 - * @author: liangzhifeng<zhifeng.liang@yoho.cn> - * @date: 2015/10/23 - */ - -var $ = require("jquery"), - Hammer = require("hammer"), - Swiper = require("swiper"), - loading = require("js/plugin/loading"), - lazyLoad = require("lazyload"); - -var ranToken = ' ??++ '; -var ranToken2 = ' ???+++ '; - -var swiper, - $fixTitleBar, - $brandList = $('.brand-list'), - $icon = $('.search-icon'), - $genderItem = $('.genderNav li'), - $brandItem = $('.brandNav li'), - $newBrandWall = $('.new-brand-wall'), - $recommandBrandWall = $('.recommand-brand-wall'), - $searchAction = $('.search-action'), - $homebuttom = $('.homebuttom'), - $genderNav = $('.genderNav'), - $newSearch = $('.newbrand-search'), - $navBtn = $('.nav-home'), - hotBrandsSwiper; - -var searchH = $('.newbrand-search').outerHeight(), - headerH = $('.yoho-header').outerHeight(), - brandSwipe = parseInt(searchH) + parseInt(headerH) - 1, - minBrandListTop; - -var brandsData, - $keyword, - clearTextHammer; - -var $history = $('.history'); -var $searchPage = $('.search-brand-page'); -var $historySearch = $('.history-search'); -var $hotSearch = $('.hot-search'); - -var $clearHistory = $('#clear-history'); - -var chHammer; - - -loading.showLoadingMask(); - -lazyLoad($('img.lazy')); -$('.yoho-header').css({ - 'z-index': 2, - position: 'fixed', - top: 0 -}); - -$homebuttom.css('top', '51px'); -$homebuttom.css('position', 'fixed'); - -$navBtn.on('touchstart', function() { - if ($homebuttom.hasClass('hide')) { - $genderNav.css('top', '54px'); - $newSearch.css('margin-top', '0px'); - $searchPage.css('margin-top', '0px'); - $('.banner-top').css('margin-top', '0px'); - } else { - $genderNav.css('top', '104px'); - $newSearch.css('margin-top', '50px'); - $searchPage.css('margin-top', '50px'); - $('.banner-top').css('margin-top', '50px'); - } -}); - - -(function() { - if ($('.banner-top').length > 0) { - $('.hot-brands').css('padding-top', '0'); - } - - $('.hide-when-loading').show(); - loading.hideLoadingMask(); - - //banner滑动 - swiper = new Swiper('.swiper-container', { - lazyLoading: true, - loop: true, - autoplay: 3000, - pagination: '.swiper-pagination .pagination-inner' - }); - - //热门品牌滑动 - hotBrandsSwiper = new Swiper('.brands-swiper', { - grabCursor: true, - slidesPerView: 'auto', - wrapperClass: 'brands-list', - slideElement: 'li' - }); -})(); - -$fixTitleBar = $('<div class="title-bar fixed-title-bar"><h2></h2></div>'); -$fixTitleBar.css({ - position: 'fixed', - top: brandSwipe -}).hide(); -minBrandListTop = brandSwipe + $('.hot-brands').outerHeight() + $('.banner-top').outerHeight(); -$brandList.last().append($fixTitleBar); - -function scrollHandler() { - var scrTop = $(window).scrollTop(); - - if ($brandList.eq(0).offset().top < minBrandListTop) { - $fixTitleBar.hide(); - } - - $brandList.each(function() { - var offTop = $(this).offset().top - brandSwipe; - - if (scrTop >= offTop) { - $fixTitleBar.css({ - display: 'block' - }).find('h2').html($(this).find('.title-bar').text()); - } - - }); -} - -//srcoll to load more -$(window).scroll(function() { - window.requestAnimationFrame(scrollHandler); -}); - - -function changeBackground() { - var $brandList = $('.brand-list').find('p'); - - $brandList.on('touchstart', function() { - $brandList.css('background', '#fff'); - $(this).css('background', '#eee'); - }).on('touchend touchcancel', function() { - $(this).css('background', '#fff'); - }); -} -changeBackground(); - -function searchResult() { - var keyword = ($keyword.val() + '').toLowerCase(); - var result = {}, - i = 0, - html = ''; - - if (keyword !== '') { - - // 遍历首字母搜索 - $.each(brandsData, function(k, v) { - if ($.isArray(v)) { - - // 遍历品牌,进行匹配 - $.each(v, function(i, brand) { - if (brand.searchName.toLowerCase().indexOf(keyword) > -1) { - result[k] = result[k] || []; - result[k].push(brand); - } - }); - } - }); - - // 根据搜索结果生成 HTML - $.each(result, function(k, v) { - var brandHtml = ['<div class="brand-list bar-', i, '">']; - - i++; - brandHtml.push('<div class="title-bar"><h2>'); - brandHtml.push(k); - brandHtml.push('</h2></div>'); - $.each(v, function(i, brand) { - - brandHtml.push('<p><a href="' + brand.url + '" brandName = "' + brand.name + - '" brandId = "' + brand.brandId + '" brandDomain = "' + brand.brandDomain + '">' + brand.name); - if (brand.isNew) { - brandHtml.push('<i class="icon-new">NEW</i>'); - } - if (brand.isHot) { - brandHtml.push('<i class="icon-hot">HOT</i>'); - } - brandHtml.push('</a></p>'); - }); - brandHtml.push('</div>'); - html += brandHtml.join(''); - - }); - } - - //没填入关键词时显示最热搜索 - if (keyword.length > 0) { - $('.search-brand-page').addClass('hide'); - } else { - $('.search-brand-page').removeClass('hide'); - } - - // 插入 dom,绑定事件 - $('.search-result').html(html); - changeBackground(); - bindWirteLocal($('.brand-list')); -} - -if ($('.history-search').length > 0) { - bindWirteLocal($('.history-search')); -} - -if ($('.hot-search').length > 0) { - bindWirteLocal($('.hot-search')); -} - -if ($('.brand-search-page').length > 0) { - brandsData = $.parseJSON($('#brands-data').html()); - $keyword = $('#keyword'); - - $keyword.on('input', function() { - searchInput(); - - }).focus(); - - // 2016.1.13 产品(高扬)要求进入页面默认显示取消按钮 - $icon.css('color', '#444'); - $keyword.closest('.search-box').css('width', '11.25rem'); - $searchAction.show().find('.clear-text').hide(); - - clearTextHammer = new Hammer($('.clear-text')[0]); - clearTextHammer.on('tap', function(e) { - $('.search-result').html(''); - $('#keyword').val('').trigger('input'); - e.preventDefault(); - e.srcEvent.stopPropagation(); - }); - - $('form.search-box').on('submit', function() { - return false; - }); - -} - -function searchInput() { - if ($keyword.val().length) { - $icon.css('color', '#444'); - - // $(this).closest('.search-box').css('width', '11.25rem'); - $searchAction.show().find('.clear-text').show(); - } else { - $icon.css('color', '#b2b2b2'); - - // $(this).closest('.search-box').css('width', '12.5rem'); - $searchAction.find('.clear-text').hide(); - - } - searchResult(); -} - -if ($genderItem.length > 0) { - $genderItem.on('touchstart', function() { - var index = $(this).data('id') + 1; - - $('.genderNav ul .active').removeClass('active'); - $(this).addClass('active'); - $('.hide-when-loading').hide(); - loading.showLoadingMask(); - function reload() { - window.location.search = 'channel=' + index; - } - setTimeout(reload.bind(this), 100); - }); -} - -if ($brandItem.length > 0) { - $brandItem.on('click', function() { - var index = $(this).data('id'); - - $('.brandNav ul .active').removeClass('active'); - $(this).addClass('active'); - - - if (index === 0) { - - $recommandBrandWall.not('.hide').addClass('hide'); - $newBrandWall.not('.hide').addClass('hide'); - $brandList.removeClass('hide'); - - } else if (index === 1) { - - $newBrandWall.removeClass('hide'); - $brandList.not('.hide').addClass('hide'); - $recommandBrandWall.not('.hide').addClass('hide'); - - } else { - - $recommandBrandWall.removeClass('hide'); - $brandList.not('.hide').addClass('hide'); - $newBrandWall.not('.hide').addClass('hide'); - - } - - }); -} - -/** - * 清除记录 - */ -function removeHistory() { - $.ajax({ - type: 'GET', - url: '/brands/delBrandHistory', - data: '', - success: function(data) { - }, - error: function() { - } - }); -} - -/** - * 增加单条记录 - */ -function addHistory(brandName, brandId, brandDomain) { - $.ajax({ - type: 'GET', - url: '/brands/addBrandSearch', - data: 'brandName=' + brandName + '&brandId=' + brandId + '&brandDomain=' + brandDomain, - success: function(data) { - }, - error: function() { - } - }); -} - -//初始化历史搜索的内容 - -if ($('.brand-search-page').length > 0) { - - chHammer = new Hammer($clearHistory[0]); - chHammer.on('tap', function() { - localStorage.removeItem('historys-brand'); - - $history.html(''); - $historySearch.hide(); - $clearHistory.hide(); - - if ($('.net-search').length > 0) { - removeHistory(); - } - - window.rePosFooter(); - }); - - //搜索页面 - - (function() { - var html = '', - history, - historys, i, - localHistory, - brand,url; - - if (localStorage) { - historys = localStorage.getItem('historys-brand'); - - if (historys && historys.length > 0) { - historys = historys.split(ranToken); - for (i = (historys.length >= 10) ? 10 : historys.length; i > 0; i--) { - history = historys[i - 1]; - - if (history === '') { - continue; - } - localHistory = history.split(ranToken2); - - brand = localHistory[0]; - url = localHistory[1]; - - html += '<li><a href="' + url + '" brandName = "' + brand + - '">' + brand + '</li>'; - $historySearch.removeClass('hide'); - } - - $history.html(html); - $clearHistory.removeClass('hide'); - - $hotSearch.removeClass('hide'); - window.rePosFooter(); - } - } - }()); - -} - -//绑定提交前的存local操作 -function bindWirteLocal($brandList) { - $brandList.on('click', 'p , li', function(e) { - $keyword = $('#keyword'); - var brandName, brandId, brandDomain, url; - var a = $(this).find('a'); - var query = a.attr('brandName') + ranToken2 + a.attr('href'), - historys; - - brandName = a.attr('brandName'); - - brandId = a.attr('brandId'); - - brandDomain = a.attr('brandDomain'); - - url = a.attr('href'); - - e.preventDefault(); - - if ($('.net-history').length > 0) { - addHistory(brandName, brandId, brandDomain); - $keyword.val(brandName); - searchInput(); - return; - } - - if (localStorage) { - historys = localStorage.getItem('historys-brand'); - - historys = historys ? historys : ''; - - if (historys.indexOf(ranToken + query + ranToken) > -1) { - $keyword.val(brandName); - searchInput(); - return; - } - - if (historys === '') { - query = ranToken + query; - } - - historys += query + ranToken; - - localStorage.setItem('historys-brand', historys); - } - - $keyword.val(brandName); - searchInput(); - }); -} -}); -define("js/plugin/loading", ["jquery"], function(require, exports, module){ -/** - * Loading mask - * @author: xuqi<qi.xu@yoho.cn> - * @date: 2015/10/29 - */ - -var $ = require("jquery"); - -var $page = $('.yoho-page'); - -var $loading, - hasInit = false; - -/** modify by liangzhifeng at 2015.11.2 */ - -// 初始化 -function init($container) { - var html = '<div class="loading-mask hide">' + - '<div class="loading">' + - '<div></div><div></div><div></div>' + - '</div>' + - '</div>'; - - hasInit = true; - if ($container === undefined) { - $container = $page; - } - - $container.append(html); - - $loading = $container.children('.loading-mask'); -} - -//显示loading -function showLoadingMask() { - if (!hasInit) { - init(); - hasInit = true; - } - $loading.removeClass('hide'); -} - -//隐藏loading -function hideLoadingMask() { - $loading.addClass('hide'); -} - -exports.init = init; -exports.showLoadingMask = showLoadingMask; -exports.hideLoadingMask = hideLoadingMask; -}); -define("js/guang/entry", ["jquery","lazyload","swiper","hammer","mlellipsis","iscroll-probe","index"], function(require, exports, module){ -/** - * 逛打包入口 - * @author: xuqi<qi.xu@yoho.cn> - * @date: 2015/10/9 - */ - -require("js/guang/plus-star/list"); -require("js/guang/plus-star/detail"); - -require("js/guang/home"); -require("js/guang/list"); -require("js/guang/detail"); -require("js/guang/star-classroom"); -require("js/guang/calendar"); -require("js/guang/collocation-list"); -require("js/guang/check-top"); -}); -define("js/guang/plus-star/list", ["jquery","lazyload","swiper","index"], function(require, exports, module){ -/** - * PLUS+STAR列表页 - * @author: xuqi<qi.xu@yoho.cn> - * @date: 2015/10/10 - */ - -var $ = require("jquery"), - lazyLoad = require("lazyload"), - Swiper = require("swiper"); - -var $navs = $('#nav-tab > li'), - $contents = $('#ps-content > .content'); - -var mySwiper; - -lazyLoad($('img.lazy')); - -$('.star-content li').each(function(key, item) { - $(item).find('.swiper-container').addClass('swiper-' + key); - - mySwiper = new Swiper('.swiper-' + key, { - lazyLoading: true, - pagination: '.swiper-' + key + ' .pagination-inner' - }); -}); - -$('#nav-tab').bind('contextmenu', function(e) { - return false; -}); -$('#nav-tab').on('touchend touchcancel', function(e) { - var $this = $(e.target).closest('li'); - - if ($this.hasClass('focus')) { - return; - } - - $navs.toggleClass('focus'); - $contents.toggleClass('hide'); - - $(document).trigger('scroll'); //Trigger lazyLoad -}); -$('#nav-tab').on('touchstart', function(e) { - var target = e.target || e.srcElement; - - target.className = 'bytouch ' + target.className; -}).on('touchend touchcancel', function() { - $navs.removeClass('bytouch'); +define("js/guang/plus-star/list", ["jquery","lazyload","swiper","index"], function(require, exports, module){ +/** + * PLUS+STAR列表页 + * @author: xuqi<qi.xu@yoho.cn> + * @date: 2015/10/10 + */ + +var $ = require("jquery"), + lazyLoad = require("lazyload"), + Swiper = require("swiper"); + +var $navs = $('#nav-tab > li'), + $contents = $('#ps-content > .content'); + +var mySwiper; + +lazyLoad($('img.lazy')); + +$('.star-content li').each(function(key, item) { + $(item).find('.swiper-container').addClass('swiper-' + key); + + mySwiper = new Swiper('.swiper-' + key, { + lazyLoading: true, + pagination: '.swiper-' + key + ' .pagination-inner' + }); +}); + +$('#nav-tab').bind('contextmenu', function(e) { + return false; +}); +$('#nav-tab').on('touchend touchcancel', function(e) { + var $this = $(e.target).closest('li'); + + if ($this.hasClass('focus')) { + return; + } + + $navs.toggleClass('focus'); + $contents.toggleClass('hide'); + + $(document).trigger('scroll'); //Trigger lazyLoad +}); +$('#nav-tab').on('touchstart', function(e) { + var target = e.target || e.srcElement; + + target.className = 'bytouch ' + target.className; +}).on('touchend touchcancel', function() { + $navs.removeClass('bytouch'); }); }); define("js/guang/plus-star/detail", ["jquery","hammer","mlellipsis","lazyload","swiper","index"], function(require, exports, module){ -/** - * PLUS+STAR详情页 - * @author: xuqi<qi.xu@yoho.cn> - * @date: 2015/10/10 - */ - -var $ = require("jquery"), - Hammer = require("hammer"), - ellipsis = require("mlellipsis"), - lazyLoad = require("lazyload"); - -var $intro = $('#intro'), - $imt = $('#intro-more-txt'), - $infosContainer = $('#related-infos-container'); - -var info = require("js/guang/info"); - -var tip = require("js/plugin/tip"); - -var brandId = $('#brand-info').data('id'); - -var jumpToApp = $('#jump-to-app').val(); - -var mIntro, aIntro; - -var moreHammer, likeHammer, $goodName, $title; - -require("js/plugin/wx-share"); - -ellipsis.init(); - -//Init LazyLoad -lazyLoad($('img.lazy')); - -if ($('.good-detail-text .name').length > 0) { - $('.good-detail-text .name').each(function() { - $goodName = $(this); - $title = $goodName.find('a'); - - $title[0].mlellipsis(2); - }); -} - -//文字介绍文字截取 -$intro[0].mlellipsis(3); - -//获取截取文字和完整文字 -setTimeout(function() { - mIntro = $intro.text(); - aIntro = $intro.attr('title'); -}); - -info.initInfosEvt($infosContainer); - -//文字介绍收起与展开 -moreHammer = new Hammer(document.getElementById('more-intro')); -moreHammer.on('tap', function(e) { - var $this = $(e.target).closest('#more-intro'); - - $this.toggleClass('spread'); - - if ($this.hasClass('spread')) { - - //显示 - $intro.text(aIntro); - $imt.text('收起'); - } else { - - //隐藏 - $intro.text(mIntro); - $imt.text('more'); - - $(window).scrollTop(0, 400); //滑动到顶部 - } - - e.preventDefault(); //防止收缩后误点到商品产生跳转 -}); - -//品牌收藏 -likeHammer = new Hammer(document.getElementById('brand-like')); -likeHammer.on('tap', function(e) { - var opt = 'ok', - $this = $(e.target); - - - //jumpToApp = 1表示APP未登录的情况,此时不发送ajax请求而由a链接直接跳转APP - if (jumpToApp === '1') { - return; - } - - e.preventDefault(); - - if ($this.hasClass('like')) { - opt = 'cancel'; - } - - $.ajax({ - type: 'POST', - url: '/guang/opt/favoriteBrand', - data: { - id: brandId, - opt: opt - }, - success: function(data) { - if (data.code === 200) { - $this.toggleClass('like'); - tip.show(data.message); - } else if (data.code === 400 || data.code === 412) { - location.href = data.data; //未登录跳转登录页面 - } else { - tip.show(data.message); - } - }, - error: function() { - tip.show('网络断开连接了~'); - } - }); +/** + * PLUS+STAR详情页 + * @author: xuqi<qi.xu@yoho.cn> + * @date: 2015/10/10 + */ + +var $ = require("jquery"), + Hammer = require("hammer"), + ellipsis = require("mlellipsis"), + lazyLoad = require("lazyload"); + +var $intro = $('#intro'), + $imt = $('#intro-more-txt'), + $infosContainer = $('#related-infos-container'); + +var info = require("js/guang/info"); + +var tip = require("js/plugin/tip"); + +var brandId = $('#brand-info').data('id'); + +var jumpToApp = $('#jump-to-app').val(); + +var mIntro, aIntro; + +var moreHammer, likeHammer, $goodName, $title; + +require("js/plugin/wx-share"); + +ellipsis.init(); + +//Init LazyLoad +lazyLoad($('img.lazy')); + +if ($('.good-detail-text .name').length > 0) { + $('.good-detail-text .name').each(function() { + $goodName = $(this); + $title = $goodName.find('a'); + + $title[0].mlellipsis(2); + }); +} + +//文字介绍文字截取 +$intro[0].mlellipsis(3); + +//获取截取文字和完整文字 +setTimeout(function() { + mIntro = $intro.text(); + aIntro = $intro.attr('title'); +}); + +info.initInfosEvt($infosContainer); + +//文字介绍收起与展开 +moreHammer = new Hammer(document.getElementById('more-intro')); +moreHammer.on('tap', function(e) { + var $this = $(e.target).closest('#more-intro'); + + $this.toggleClass('spread'); + + if ($this.hasClass('spread')) { + + //显示 + $intro.text(aIntro); + $imt.text('收起'); + } else { + + //隐藏 + $intro.text(mIntro); + $imt.text('more'); + + $(window).scrollTop(0, 400); //滑动到顶部 + } + + e.preventDefault(); //防止收缩后误点到商品产生跳转 +}); + +//品牌收藏 +likeHammer = new Hammer(document.getElementById('brand-like')); +likeHammer.on('tap', function(e) { + var opt = 'ok', + $this = $(e.target); + + + //jumpToApp = 1表示APP未登录的情况,此时不发送ajax请求而由a链接直接跳转APP + if (jumpToApp === '1') { + return; + } + + e.preventDefault(); + + if ($this.hasClass('like')) { + opt = 'cancel'; + } + + $.ajax({ + type: 'POST', + url: '/guang/opt/favoriteBrand', + data: { + id: brandId, + opt: opt + }, + success: function(data) { + if (data.code === 200) { + $this.toggleClass('like'); + tip.show(data.message); + } else if (data.code === 400 || data.code === 412) { + location.href = data.data; //未登录跳转登录页面 + } else { + tip.show(data.message); + } + }, + error: function() { + tip.show('网络断开连接了~'); + } + }); }); }); define("js/guang/info", ["jquery","hammer","mlellipsis","lazyload","swiper","index"], function(require, exports, module){ -/** - * 资讯相关API - * @author: xuqi<qi.xu@yoho.cn> - * @date: 2015/10/10 - */ - -var $ = require("jquery"), - Hammer = require("hammer"), - ellipsis = require("mlellipsis"), - lazyLoad = require("lazyload"), - Swiper = require("swiper"); - -var tip = require("js/plugin/tip"); -var loading = require("js/plugin/loading"); - -var $loadMoreInfo = $('#load-more-info'); -var $loading = $(''), - $noMore = $(''), - $swiper = $(''); - -var searching = false; -var mySwiper = {}; - -var isLoading = false; - -ellipsis.init(); - -if ($loadMoreInfo.length > 0) { - $loading = $loadMoreInfo.children('.loading'); - $noMore = $loadMoreInfo.children('.no-more'); -} - -//初始化swiper -function initSwiper(typeId) { - if (typeof typeId === undefined) { - return; - } - mySwiper[typeId] = new Swiper('.swiper-cont-' + typeId, { - lazyLoading: true, - wrapperClass: 'swiper-wrap-' + typeId, - pagination: '.swiper-pagi-' + typeId, - autoplay: 3000 - }); -} - -/** - * 设置指定资讯项的Lazyload和文字截取 - * @params $infos 资讯项 - */ -function setLazyLoadAndMellipsis($infos) { - lazyLoad($infos.find('img.lazy')); - - $infos.each(function() { - var $this = $(this), - $title = $this.find('.info-title'), - $text = $this.find('.info-text'); - - $title[0].mlellipsis(2); - $text[0].mlellipsis(2); - }); -} - -/** - * 初始化资讯列表事件绑定 - * @params $container 逛资讯列表容器 - */ -function initInfosEvt($container) { - var cHammer; - - if (typeof $container === 'undefined') { - return; - } - - cHammer = new Hammer($container[0]); - - //点赞或者收藏事件 - cHammer.on('tap', function(e) { - var $this = $(e.target), - opt = 'ok', - $btn, - $info; - - //e.preventDefault(); - - //点赞 - $btn = $this.closest('.like-btn'); - if ($btn.length > 0 && !isLoading) { - e.preventDefault(); - if ($btn.hasClass('like')) { - opt = 'cancel'; - } - - $info = $this.closest('.guang-info'); - - isLoading = true; - - $.ajax({ - type: 'POST', - url: '/guang/opt/praiseArticle', - data: { - id: $info.data('id'), - opt: opt - }, - success: function(data) { - var code = data.code; - - - if (code === 200) { - $btn.next('.like-count').text(data.data); - - //切换点赞状态 - $btn.toggleClass('like'); - } - }, - error: function() { - tip.show('网络断开连接了~'); - }, - complete: function() { - isLoading = false; - } - }); - return; - } - - //APP收藏 - $btn = $this.closest('.collect-btn'); - if ($btn.length > 0) { - e.preventDefault(); - if ($btn.hasClass('collected')) { - opt = 'cancel'; - } - - $info = $this.closest('.guang-info'); - $.ajax({ - type: 'POST', - url: '/guang/opt/collectArticle', - data: { - id: $info.data('id'), - opt: opt - }, - success: function(data) { - if (data.code && data.code === 200) { - - //切换收藏状态 - $btn.toggleClass('collected'); - } - }, - error: function() { - tip.show('网络断开连接了~'); - } - }); - } - }); - - setLazyLoadAndMellipsis($container.find('.guang-info')); -} - -/** - * 资讯LoadMore - * @param $container 资讯容器 jqyeryObject - * @param opt 请求参数 - * @param url[可选], 扩展请求的url而不使用默认值 - */ -function loadMore($container, opt, url) { - var num; - - if (searching) { - return; - } - - if (opt.end) { - return; - } - - if (opt.page === 1) { - - //显示loading - loading.showLoadingMask(); - } - - num = $container.find('.guang-info').length; - searching = true; - $.ajax({ - type: 'GET', - url: url ? url : '/guang/index/page',//对于指定url的使用指定url(存在不同的控制器) - data: opt, - success: function(data) { - var $newItems; - - if (data === ' ') { - opt.end = true; - searching = false; - - // - $loading.addClass('hide'); - $noMore.removeClass('hide'); - - return; - } - - $container.append(data); - - $swiper = $container.find('.swiper-container'); - if ($swiper.length) { - $swiper.addClass('swiper-cont-' + opt.type); - $swiper.children('.swiper-wrapper').addClass('swiper-wrap-' + opt.type); - $swiper.children('.swiper-pagination').addClass('swiper-pagi-' + opt.type); - initSwiper(opt.type); - } - - if (num > 0) { - $newItems = $container.find('.guang-info:gt(' + (num - 1) + ')'); - } else { - $newItems = $container.find('.guang-info'); - } - - setLazyLoadAndMellipsis($newItems); - - if (opt.page === 1) { - loading.hideLoadingMask(); - - $loading.removeClass('hide');//显示空屏加载时hide的隐藏 - - window.rePosFooter();//插入内容后重新计算底部位置 - } - - opt.page++; - - searching = false; - delete opt.isTab; - }, - error: function() { - tip.show('网络断开连接了~'); - searching = false; - delete opt.isTab; - } - }); -} - - -exports.mySwiper = mySwiper; -exports.initSwiper = initSwiper; -exports.initInfosEvt = initInfosEvt; -exports.setLazyLoadAndMellipsis = setLazyLoadAndMellipsis; -exports.loadMore = loadMore; +/** + * 资讯相关API + * @author: xuqi<qi.xu@yoho.cn> + * @date: 2015/10/10 + */ + +var $ = require("jquery"), + Hammer = require("hammer"), + ellipsis = require("mlellipsis"), + lazyLoad = require("lazyload"), + Swiper = require("swiper"); + +var tip = require("js/plugin/tip"); +var loading = require("js/plugin/loading"); + +var $loadMoreInfo = $('#load-more-info'); +var $loading = $(''), + $noMore = $(''), + $swiper = $(''); + +var searching = false; +var mySwiper = {}; + +var isLoading = false; + +ellipsis.init(); + +if ($loadMoreInfo.length > 0) { + $loading = $loadMoreInfo.children('.loading'); + $noMore = $loadMoreInfo.children('.no-more'); +} + +//初始化swiper +function initSwiper(typeId) { + if (typeof typeId === undefined) { + return; + } + mySwiper[typeId] = new Swiper('.swiper-cont-' + typeId, { + lazyLoading: true, + wrapperClass: 'swiper-wrap-' + typeId, + pagination: '.swiper-pagi-' + typeId, + autoplay: 3000 + }); +} + +/** + * 设置指定资讯项的Lazyload和文字截取 + * @params $infos 资讯项 + */ +function setLazyLoadAndMellipsis($infos) { + lazyLoad($infos.find('img.lazy')); + + $infos.each(function() { + var $this = $(this), + $title = $this.find('.info-title'), + $text = $this.find('.info-text'); + + $title[0].mlellipsis(2); + $text[0].mlellipsis(2); + }); +} + +/** + * 初始化资讯列表事件绑定 + * @params $container 逛资讯列表容器 + */ +function initInfosEvt($container) { + var cHammer; + + if (typeof $container === 'undefined') { + return; + } + + cHammer = new Hammer($container[0]); + + //点赞或者收藏事件 + cHammer.on('tap', function(e) { + var $this = $(e.target), + opt = 'ok', + $btn, + $info; + + //e.preventDefault(); + + //点赞 + $btn = $this.closest('.like-btn'); + if ($btn.length > 0 && !isLoading) { + e.preventDefault(); + if ($btn.hasClass('like')) { + opt = 'cancel'; + } + + $info = $this.closest('.guang-info'); + + isLoading = true; + + $.ajax({ + type: 'POST', + url: '/guang/opt/praiseArticle', + data: { + id: $info.data('id'), + opt: opt + }, + success: function(data) { + var code = data.code; + + + if (code === 200) { + $btn.next('.like-count').text(data.data); + + //切换点赞状态 + $btn.toggleClass('like'); + } + }, + error: function() { + tip.show('网络断开连接了~'); + }, + complete: function() { + isLoading = false; + } + }); + return; + } + + //APP收藏 + $btn = $this.closest('.collect-btn'); + if ($btn.length > 0) { + e.preventDefault(); + if ($btn.hasClass('collected')) { + opt = 'cancel'; + } + + $info = $this.closest('.guang-info'); + $.ajax({ + type: 'POST', + url: '/guang/opt/collectArticle', + data: { + id: $info.data('id'), + opt: opt + }, + success: function(data) { + if (data.code && data.code === 200) { + + //切换收藏状态 + $btn.toggleClass('collected'); + } + }, + error: function() { + tip.show('网络断开连接了~'); + } + }); + } + }); + + setLazyLoadAndMellipsis($container.find('.guang-info')); +} + +/** + * 资讯LoadMore + * @param $container 资讯容器 jqyeryObject + * @param opt 请求参数 + * @param url[可选], 扩展请求的url而不使用默认值 + */ +function loadMore($container, opt, url) { + var num; + + if (searching) { + return; + } + + if (opt.end) { + return; + } + + if (opt.page === 1) { + + //显示loading + loading.showLoadingMask(); + } + + num = $container.find('.guang-info').length; + searching = true; + $.ajax({ + type: 'GET', + url: url ? url : '/guang/index/page',//对于指定url的使用指定url(存在不同的控制器) + data: opt, + success: function(data) { + var $newItems; + + if (data === ' ') { + opt.end = true; + searching = false; + + // + $loading.addClass('hide'); + $noMore.removeClass('hide'); + + return; + } + + $container.append(data); + + $swiper = $container.find('.swiper-container'); + if ($swiper.length) { + $swiper.addClass('swiper-cont-' + opt.type); + $swiper.children('.swiper-wrapper').addClass('swiper-wrap-' + opt.type); + $swiper.children('.swiper-pagination').addClass('swiper-pagi-' + opt.type); + initSwiper(opt.type); + } + + if (num > 0) { + $newItems = $container.find('.guang-info:gt(' + (num - 1) + ')'); + } else { + $newItems = $container.find('.guang-info'); + } + + setLazyLoadAndMellipsis($newItems); + + if (opt.page === 1) { + loading.hideLoadingMask(); + + $loading.removeClass('hide');//显示空屏加载时hide的隐藏 + + window.rePosFooter();//插入内容后重新计算底部位置 + } + + opt.page++; + + searching = false; + delete opt.isTab; + }, + error: function() { + tip.show('网络断开连接了~'); + searching = false; + delete opt.isTab; + } + }); +} + + +exports.mySwiper = mySwiper; +exports.initSwiper = initSwiper; +exports.initInfosEvt = initInfosEvt; +exports.setLazyLoadAndMellipsis = setLazyLoadAndMellipsis; +exports.loadMore = loadMore; }); define("js/plugin/tip", ["jquery"], function(require, exports, module){ -/** - * 弹框提示 - * @author: xuqi<qi.xu@yoho.cn> - * @date: 2015/10/10 - */ -var $ = require("jquery"); - -var $tip, tipItime; - -/** - * 初始化提示框 - */ -(function() { - var tipHtml = '<div id="yoho-tip" class="yoho-tip"></div>'; - - //插入提示HTML - $('.yoho-page').append(tipHtml); - - $tip = $('#yoho-tip'); - $tip.on('touchend', function() { - $tip.hide(); - - //清除Timeout - clearTimeout(tipItime); - }); -}()); - -/** - * 显示提示 - */ -function show(con, dur) { - var content, duration; - - if (typeof con === 'undefined') { - return; - } - - content = con.toString(); - duration = (dur && dur > 0) ? dur : 2000; - - $tip.text(content).show(); - - tipItime = setTimeout(function() { - if ($tip.css('display') === 'block') { - $tip.hide(); - } - }, duration); -} - +/** + * 弹框提示 + * @author: xuqi<qi.xu@yoho.cn> + * @date: 2015/10/10 + */ +var $ = require("jquery"); + +var $tip, tipItime; + +/** + * 初始化提示框 + */ +(function() { + var tipHtml = '<div id="yoho-tip" class="yoho-tip"></div>'; + + //插入提示HTML + $('.yoho-page').append(tipHtml); + + $tip = $('#yoho-tip'); + $tip.on('touchend', function() { + $tip.hide(); + + //清除Timeout + clearTimeout(tipItime); + }); +}()); + +/** + * 显示提示 + */ +function show(con, dur) { + var content, duration; + + if (typeof con === 'undefined') { + return; + } + + content = con.toString(); + duration = (dur && dur > 0) ? dur : 2000; + + $tip.text(content).show(); + + tipItime = setTimeout(function() { + if ($tip.css('display') === 'block') { + $tip.hide(); + } + }, duration); +} + exports.show = show; }); define("js/plugin/wx-share", ["jquery"], function(require, exports, module){ -/** - * 微信分享 - * @author: xuqi<qi.xu@yoho.cn> - * @date: 2015/10/30 - */ - -var $ = require("jquery"); - -module.exports = function() { - var _weChatInterface = 'http://www.yohoshow.com/api/wechat/getSignPackage'; - - $.getJSON(_weChatInterface + '?pageurl=' + - encodeURIComponent(location.href.split('#')[0]) + '&callback=?', function (json) { - var _appId, _timestamp, _nonceStr, _signature; - - if (json !== undefined && json !== '') { - _appId = json.appId.toString(); - _timestamp = json.timestamp; - _nonceStr = json.nonceStr.toString(); - _signature = json.signature.toString(); - - wx.config({ - debug: false, - appId: _appId, - timestamp: _timestamp, - nonceStr: _nonceStr, - signature: _signature, - jsApiList: [ - 'checkJsApi', - 'onMenuShareTimeline', - 'onMenuShareAppMessage', - 'onMenuShareQQ', - 'onMenuShareWeibo', - 'hideMenuItems', - 'showMenuItems', - 'hideAllNonBaseMenuItem', - 'showAllNonBaseMenuItem', - 'translateVoice', - 'startRecord', - 'stopRecord', - 'onRecordEnd', - 'playVoice', - 'pauseVoice', - 'stopVoice', - 'uploadVoice', - 'downloadVoice', - 'chooseImage', - 'previewImage', - 'uploadImage', - 'downloadImage', - 'getNetworkType', - 'openLocation', - 'getLocation', - 'hideOptionMenu', - 'showOptionMenu', - 'closeWindow', - 'scanQRCode', - 'chooseWXPay', - 'openProductSpecificView', - 'addCard', - 'chooseCard', - 'openCard' - ] - }); - } - }); - - wx.ready(function () { - var shareTitle = $('#shareTitle').val(); - var shareImg = $('#shareImg').val(); - var shareDesc = $('#shareDesc').val(); - var shareLink = $('#shareLink').val(); - var shareData = { - title: shareTitle, - desc: shareDesc, - imgUrl: shareImg, - link: shareLink - }; - - wx.onMenuShareAppMessage(shareData); - wx.onMenuShareTimeline(shareData); - wx.onMenuShareQQ(shareData); - wx.onMenuShareWeibo(shareData); - }); +/** + * 微信分享 + * @author: xuqi<qi.xu@yoho.cn> + * @date: 2015/10/30 + */ + +var $ = require("jquery"); + +module.exports = function() { + var _weChatInterface = 'http://www.yohoshow.com/api/wechat/getSignPackage'; + + $.getJSON(_weChatInterface + '?pageurl=' + + encodeURIComponent(location.href.split('#')[0]) + '&callback=?', function (json) { + var _appId, _timestamp, _nonceStr, _signature; + + if (json !== undefined && json !== '') { + _appId = json.appId.toString(); + _timestamp = json.timestamp; + _nonceStr = json.nonceStr.toString(); + _signature = json.signature.toString(); + + wx.config({ + debug: false, + appId: _appId, + timestamp: _timestamp, + nonceStr: _nonceStr, + signature: _signature, + jsApiList: [ + 'checkJsApi', + 'onMenuShareTimeline', + 'onMenuShareAppMessage', + 'onMenuShareQQ', + 'onMenuShareWeibo', + 'hideMenuItems', + 'showMenuItems', + 'hideAllNonBaseMenuItem', + 'showAllNonBaseMenuItem', + 'translateVoice', + 'startRecord', + 'stopRecord', + 'onRecordEnd', + 'playVoice', + 'pauseVoice', + 'stopVoice', + 'uploadVoice', + 'downloadVoice', + 'chooseImage', + 'previewImage', + 'uploadImage', + 'downloadImage', + 'getNetworkType', + 'openLocation', + 'getLocation', + 'hideOptionMenu', + 'showOptionMenu', + 'closeWindow', + 'scanQRCode', + 'chooseWXPay', + 'openProductSpecificView', + 'addCard', + 'chooseCard', + 'openCard' + ] + }); + } + }); + + wx.ready(function () { + var shareTitle = $('#shareTitle').val(); + var shareImg = $('#shareImg').val(); + var shareDesc = $('#shareDesc').val(); + var shareLink = $('#shareLink').val(); + var shareData = { + title: shareTitle, + desc: shareDesc, + imgUrl: shareImg, + link: shareLink + }; + + wx.onMenuShareAppMessage(shareData); + wx.onMenuShareTimeline(shareData); + wx.onMenuShareQQ(shareData); + wx.onMenuShareWeibo(shareData); + }); }; }); define("js/guang/home", ["jquery","hammer","mlellipsis","lazyload","swiper","index"], function(require, exports, module){ -/** - * 逛首页 - * @author: xuqi<qi.xu@yoho.cn> - * @date: 2015/10/10 - */ - -var $ = require("jquery"); - -var info = require("js/guang/info"), - loadMore = info.loadMore; - -var $loadMoreInfo = $('#load-more-info'); -var $loading = $(''), - $noMore = $(''); - -var winH = $(window).height(); - -var $infoList = $('#info-list'), - $infos = $infoList.children('.info-list'), - $nav = $('#guang-nav'), - $curNav = $nav.children('.focus'), - curType = $curNav.data('type'); - -var state = {}; - -if ($loadMoreInfo.length > 0) { - $loading = $loadMoreInfo.children('.loading'); - $noMore = $loadMoreInfo.children('.no-more'); -} - -info.initSwiper(curType); - -info.initInfosEvt($infoList); - -//初始化各Nav下资讯加载的状态 -(function() { - var gender = $('#gender').val(); - - $nav.children('.guang-nav-item').each(function() { - var type = $(this).data('type'), - focus = $(this).hasClass('focus'); - - state[type] = { - page: focus ? 2 : 1, - gender: gender, - type: type, - end: false - }; - }); -}()); -$nav.bind('contextmenu', function(e) { - return false; -}); -$nav.on('touchend touchcancel', function(e) { - - var $this = $(e.target).closest('.guang-nav-item'), - $content, - index; - - if ($this.hasClass('focus')) { - return; - } - - - index = $this.index(); - - $this.addClass('focus'); - $curNav.removeClass('focus'); - - $content = $infos.eq(index); - - $curNav = $this; - curType = $this.data('type'); - - //当未加载数据时去请求数据 - if (state[curType].page === 1) { - - //无数据时隐藏正在加载和没有更多字样 - $loading.addClass('hide'); - $noMore.addClass('hide'); - - state[curType].isTab = true; - loadMore($content, state[curType]); - } else { - - //重置当前Tab的load-more - if (state[curType].end) { - $loading.addClass('hide'); - $noMore.removeClass('hide'); - } else { - $loading.removeClass('hide'); - $noMore.addClass('hide'); - } - } - - $infos.not('.hide').addClass('hide'); - $content.removeClass('hide'); - - if (state[curType].page === 1) { - window.rePosFooter();//进入空内容时重新定位footer位置 - } -}); - -function scrollHandler() { - var $c = $infos.not('.hide'); - - if ($(window).scrollTop() + winH >= $(document).height() - 0.25 * $c.height()) { - loadMore($c, state[curType]); - } -} - -//srcoll to load more -$(document).scroll(function() { - window.requestAnimationFrame(scrollHandler); -}); - -$nav.on('touchstart', function(e) { - var target = e.target || e.srcElement; - - target.className = 'bytouch ' + target.className; -}).on('touchend touchcancel', function() { - $nav.find('li').removeClass('bytouch'); +/** + * 逛首页 + * @author: xuqi<qi.xu@yoho.cn> + * @date: 2015/10/10 + */ + +var $ = require("jquery"); + +var info = require("js/guang/info"), + loadMore = info.loadMore; + +var $loadMoreInfo = $('#load-more-info'); +var $loading = $(''), + $noMore = $(''); + +var winH = $(window).height(); + +var $infoList = $('#info-list'), + $infos = $infoList.children('.info-list'), + $nav = $('#guang-nav'), + $curNav = $nav.children('.focus'), + curType = $curNav.data('type'); + +var state = {}; + +if ($loadMoreInfo.length > 0) { + $loading = $loadMoreInfo.children('.loading'); + $noMore = $loadMoreInfo.children('.no-more'); +} + +info.initSwiper(curType); + +info.initInfosEvt($infoList); + +//初始化各Nav下资讯加载的状态 +(function() { + var gender = $('#gender').val(); + + $nav.children('.guang-nav-item').each(function() { + var type = $(this).data('type'), + focus = $(this).hasClass('focus'); + + state[type] = { + page: focus ? 2 : 1, + gender: gender, + type: type, + end: false + }; + }); +}()); +$nav.bind('contextmenu', function(e) { + return false; +}); +$nav.on('touchend touchcancel', function(e) { + + var $this = $(e.target).closest('.guang-nav-item'), + $content, + index; + + if ($this.hasClass('focus')) { + return; + } + + + index = $this.index(); + + $this.addClass('focus'); + $curNav.removeClass('focus'); + + $content = $infos.eq(index); + + $curNav = $this; + curType = $this.data('type'); + + //当未加载数据时去请求数据 + if (state[curType].page === 1) { + + //无数据时隐藏正在加载和没有更多字样 + $loading.addClass('hide'); + $noMore.addClass('hide'); + + state[curType].isTab = true; + loadMore($content, state[curType]); + } else { + + //重置当前Tab的load-more + if (state[curType].end) { + $loading.addClass('hide'); + $noMore.removeClass('hide'); + } else { + $loading.removeClass('hide'); + $noMore.addClass('hide'); + } + } + + $infos.not('.hide').addClass('hide'); + $content.removeClass('hide'); + + if (state[curType].page === 1) { + window.rePosFooter();//进入空内容时重新定位footer位置 + } +}); + +function scrollHandler() { + var $c = $infos.not('.hide'); + + if ($(window).scrollTop() + winH >= $(document).height() - 0.25 * $c.height()) { + loadMore($c, state[curType]); + } +} + +//srcoll to load more +$(document).scroll(function() { + window.requestAnimationFrame(scrollHandler); +}); + +$nav.on('touchstart', function(e) { + var target = e.target || e.srcElement; + + target.className = 'bytouch ' + target.className; +}).on('touchend touchcancel', function() { + $nav.find('li').removeClass('bytouch'); }); }); define("js/guang/list", ["jquery","hammer","mlellipsis","lazyload","swiper","index"], function(require, exports, module){ -/** - * 列表页,编辑页 - * @author: xuqi<qi.xu@yoho.cn> - * @date: 2015/10/10 - */ - -var $ = require("jquery"); - -var info = require("js/guang/info"), - loadMore = info.loadMore; - -var winH = $(window).height(); - -var $author = $('#author-infos'); -var $tag = $('#tag'); -var $gender = $('#gender'); -var $isApp = $('#isApp'); - -var setting = { - page: 2, - end: false -}; - -var $infos = $('#info-list'); - -info.initInfosEvt($infos); - -if ($author.length > 0) { - $.extend(setting, { - authorId: $author.data('id'), - isApp: $isApp.val() - }); -} - -if ($tag.length > 0) { - $.extend(setting, { - tag: $tag.val(), - gender: $gender.val(), - isApp: $isApp.val() - }); -} - -function scrollHandler() { - if ($(window).scrollTop() + winH >= $(document).height() - 0.25 * $infos.height()) { - loadMore($infos, setting); - } -} - -//srcoll to load more -$(window).scroll(function() { - window.requestAnimationFrame(scrollHandler); -}); +/** + * 列表页,编辑页 + * @author: xuqi<qi.xu@yoho.cn> + * @date: 2015/10/10 + */ + +var $ = require("jquery"); + +var info = require("js/guang/info"), + loadMore = info.loadMore; + +var winH = $(window).height(); + +var $author = $('#author-infos'); +var $tag = $('#tag'); +var $gender = $('#gender'); +var $isApp = $('#isApp'); + +var setting = { + page: 2, + end: false +}; + +var $infos = $('#info-list'); + +info.initInfosEvt($infos); + +if ($author.length > 0) { + $.extend(setting, { + authorId: $author.data('id'), + isApp: $isApp.val() + }); +} + +if ($tag.length > 0) { + $.extend(setting, { + tag: $tag.val(), + gender: $gender.val(), + isApp: $isApp.val() + }); +} + +function scrollHandler() { + if ($(window).scrollTop() + winH >= $(document).height() - 0.25 * $infos.height()) { + loadMore($infos, setting); + } +} + +//srcoll to load more +$(window).scroll(function() { + window.requestAnimationFrame(scrollHandler); +}); }); define("js/guang/detail", ["jquery","mlellipsis","lazyload","iscroll-probe"], function(require, exports, module){ -/** - * 逛详情页 - * @author: xuqi<qi.xu@yoho.cn> - * @date: 2015/10/13 - */ - -var $ = require("jquery"), - ellipsis = require("mlellipsis"), - lazyLoad = require("lazyload"), - IScroll = require("iscroll-probe"); - -var $authorIntro = $('.author .intro'); - -var pageInIscroll = false; - -var hasCollocationBlock = $('.collocation-block').length > 0 ? true : false; - -//collocation block variable -var thumbWidth = 0, - $fixedThumbContainer = $(''), - $coBlock, $thumbContainer, $thumbs, $prods, - scrollToEl; - -var scrollToEl = document.querySelector('#wrapper .collocation-block'); - -var winW = $(window).width(); - -var myScroll; - -require("js/plugin/wx-share")(); - -/** - * 计算搭配的箭头的位置 - * @param $curPos 当前focus的搭配项 - */ -function posCollocationArrow($curCo) { - var left = $curCo.offset().left, - bgPos = -winW + left + (thumbWidth / 2) + 'px'; - - $thumbContainer.css({ - backgroundPosition: bgPos + ' bottom' - }); - - if (pageInIscroll) { - $fixedThumbContainer.css({ - backgroundPosition: bgPos + ' bottom' - }); - } -} - -//搭配thumb的touch事件句柄 -function thumbTouchEvt(e) { - var $curCo = $(e.currentTarget), - index = $curCo.index(), - $brother, $brotherCo, - $curProds; - - if ($curCo.hasClass('focus')) { - return; - } - - $thumbs.filter('.focus').removeClass('focus'); - - if (pageInIscroll) { - if ($curCo.closest('.fixed-thumb-container').length > 0) { - $brother = $thumbContainer; - } else { - $brother = $fixedThumbContainer; - } - - $brotherCo = $brother.find('.thumb').eq(index); - $fixedThumbContainer.find('.thumb.focus').removeClass('focus'); - $brotherCo.addClass('focus'); - } - - $curCo.addClass('focus'); - - //定位arrow - posCollocationArrow($curCo); - - $prods.not('.hide').addClass('hide'); - $curProds = $prods.eq(index); - $curProds.removeClass('hide'); - - // - lazyLoad($curProds.find('.lazy')); - - if (pageInIscroll) { - if (myScroll) { - myScroll.scrollToElement(scrollToEl, 400); - } - } else { - $('body').animate({ - scrollTop: $coBlock.offset().top - }, 400); - } - - myScroll && myScroll.refresh(); -} - -// 初始化iscroll -function initIscroll() { - var $scroller = $('#scroller'), - $yohoHeader = $('.yoho-header'); - - var hH = 0, - winH, tcH, cbH, cbTop, fixedThumbDom; - - //考虑通用头部的影响:对offset().top以及winH做对应偏移 - if ($yohoHeader.length > 0) { - hH = $yohoHeader.outerHeight(); - } - - myScroll = new IScroll('#wrapper', { - probeType: 3, - mouseWheel: true, - click: true - }); - - document.addEventListener('touchmove', function(e) { - e.preventDefault(); - }, false); - - if (!hasCollocationBlock) { - myScroll.on('scroll', function() { - $scroller.trigger('scroll'); - }); - return; - } - - winH = $(window).height() - hH; - fixedThumbDom = $fixedThumbContainer[0]; - - tcH = $thumbContainer.outerHeight(); - cbH = $coBlock.outerHeight(); - cbTop = $coBlock.offset().top - hH; - - myScroll.on('scroll', function() { - var sTop = -this.y; - var classList = fixedThumbDom.className; - - if (sTop <= cbTop - winH + tcH) { - if (classList.indexOf('fixed-bottom') === -1) { - $fixedThumbContainer - .addClass('fixed-bottom') - .removeClass('hide'); - } - } else if (sTop <= cbTop) { - if (classList.indexOf('hide') === -1) { - $fixedThumbContainer - .addClass('hide') - .removeClass('fixed-bottom fixed-top'); - } - } else if (sTop <= cbTop + cbH - tcH) { - if (classList.indexOf('fixed-top') === -1) { - $fixedThumbContainer - .addClass('fixed-top') - .removeClass('hide absolute') - .css('top', ''); - } - } else if (sTop <= cbTop + cbH) { - if (classList.indexOf('absolute') === -1) { - $fixedThumbContainer - .addClass('absolute') - .removeClass('fixed-top hide'); - } - fixedThumbDom.style.top = cbTop + hH + cbH - tcH - sTop + 'px'; - } else if (sTop > cbTop + cbH) { - if (classList.indexOf('hide') === -1) { - $fixedThumbContainer - .addClass('hide') - .removeClass('absolute'); - } - } - $scroller.trigger('scroll'); - }); -} - -//window onload 后重新refresh iscroll -window.onload = function() { - myScroll && myScroll.refresh(); -}; - -//初始化页面,包括是否使用iscorll初始化页面 -//接口暴露在HTML中,使用压缩名 -exports.i = function(useIscroll) { - var isIphone = navigator.userAgent.indexOf('iPhone') > 0 ? true : false; - var $this, $title; - - pageInIscroll = isIphone && useIscroll; - - ellipsis.init(); - - if ($('.good-detail-text .name').length > 0) { - $('.good-detail-text .name').each(function() { - $this = $(this); - $title = $this.find('a'); - - $title[0].mlellipsis(2); - }); - } - - lazyLoad($('.lazy')); - - //title mlellipsis - $('.info-list .title, .one-good .reco-name').each(function() { - this.mlellipsis(2); - }); - - //offset.left约等于marginLeft的值则表示介绍被换行,则清除intro的paddingTop让其更靠近头像和作者名 - if ($authorIntro.offset() && (parseInt($authorIntro.offset().left, 10) === - parseInt($authorIntro.css('margin-left'), 10))) { - $authorIntro.css('padding-top', 0); - } - - if (pageInIscroll) { - if ($('.yoho-header').length > 0) { - $('#wrapper').addClass('ios has-head'); - } else { - $('#wrapper').addClass('ios'); - } - } - - //有搭配模块,iphone使用iscroll初始化滚动并有固定的搭配栏,其他的没有 - if (hasCollocationBlock) { - $coBlock = $('.collocation-block'); - $thumbContainer = $coBlock.children('.thumb-container'); - $thumbs = $thumbContainer.find('li'); - $prods = $coBlock.find('.prod'); - - thumbWidth = $thumbs.width(); - - if (pageInIscroll) { - $fixedThumbContainer = $('#wrapper') - .after($thumbContainer.clone().addClass('fixed-thumb-container fixed-bottom')) - .next('.thumb-container'); - - //load img of fixed thumb container - lazyLoad($fixedThumbContainer.find('.lazy'), { - event: 'sporty' - }); - } - - //Init Arrow Position - posCollocationArrow($thumbs.filter('.focus')); - - $thumbContainer.delegate('.thumb', 'touchend', thumbTouchEvt); - - if (pageInIscroll) { - $fixedThumbContainer.delegate('.thumb', 'touchend', thumbTouchEvt); - - } - } - - if (pageInIscroll) { - initIscroll(); - } +/** + * 逛详情页 + * @author: xuqi<qi.xu@yoho.cn> + * @date: 2015/10/13 + */ + +var $ = require("jquery"), + ellipsis = require("mlellipsis"), + lazyLoad = require("lazyload"), + IScroll = require("iscroll-probe"); + +var $authorIntro = $('.author .intro'); + +var pageInIscroll = false; + +var hasCollocationBlock = $('.collocation-block').length > 0 ? true : false; + +//collocation block variable +var thumbWidth = 0, + $fixedThumbContainer = $(''), + $coBlock, $thumbContainer, $thumbs, $prods, + scrollToEl; + +var scrollToEl = document.querySelector('#wrapper .collocation-block'); + +var winW = $(window).width(); + +var myScroll; + +require("js/plugin/wx-share")(); + +/** + * 计算搭配的箭头的位置 + * @param $curPos 当前focus的搭配项 + */ +function posCollocationArrow($curCo) { + var left = $curCo.offset().left, + bgPos = -winW + left + (thumbWidth / 2) + 'px'; + + $thumbContainer.css({ + backgroundPosition: bgPos + ' bottom' + }); + + if (pageInIscroll) { + $fixedThumbContainer.css({ + backgroundPosition: bgPos + ' bottom' + }); + } +} + +//搭配thumb的touch事件句柄 +function thumbTouchEvt(e) { + var $curCo = $(e.currentTarget), + index = $curCo.index(), + $brother, $brotherCo, + $curProds; + + if ($curCo.hasClass('focus')) { + return; + } + + $thumbs.filter('.focus').removeClass('focus'); + + if (pageInIscroll) { + if ($curCo.closest('.fixed-thumb-container').length > 0) { + $brother = $thumbContainer; + } else { + $brother = $fixedThumbContainer; + } + + $brotherCo = $brother.find('.thumb').eq(index); + $fixedThumbContainer.find('.thumb.focus').removeClass('focus'); + $brotherCo.addClass('focus'); + } + + $curCo.addClass('focus'); + + //定位arrow + posCollocationArrow($curCo); + + $prods.not('.hide').addClass('hide'); + $curProds = $prods.eq(index); + $curProds.removeClass('hide'); + + // + lazyLoad($curProds.find('.lazy')); + + if (pageInIscroll) { + if (myScroll) { + myScroll.scrollToElement(scrollToEl, 400); + } + } else { + $('body').animate({ + scrollTop: $coBlock.offset().top + }, 400); + } + + myScroll && myScroll.refresh(); +} + +// 初始化iscroll +function initIscroll() { + var $scroller = $('#scroller'), + $yohoHeader = $('.yoho-header'); + + var hH = 0, + winH, tcH, cbH, cbTop, fixedThumbDom; + + //考虑通用头部的影响:对offset().top以及winH做对应偏移 + if ($yohoHeader.length > 0) { + hH = $yohoHeader.outerHeight(); + } + + myScroll = new IScroll('#wrapper', { + probeType: 3, + mouseWheel: true, + click: true + }); + + document.addEventListener('touchmove', function(e) { + e.preventDefault(); + }, false); + + if (!hasCollocationBlock) { + myScroll.on('scroll', function() { + $scroller.trigger('scroll'); + }); + return; + } + + winH = $(window).height() - hH; + fixedThumbDom = $fixedThumbContainer[0]; + + tcH = $thumbContainer.outerHeight(); + cbH = $coBlock.outerHeight(); + cbTop = $coBlock.offset().top - hH; + + myScroll.on('scroll', function() { + var sTop = -this.y; + var classList = fixedThumbDom.className; + + if (sTop <= cbTop - winH + tcH) { + if (classList.indexOf('fixed-bottom') === -1) { + $fixedThumbContainer + .addClass('fixed-bottom') + .removeClass('hide'); + } + } else if (sTop <= cbTop) { + if (classList.indexOf('hide') === -1) { + $fixedThumbContainer + .addClass('hide') + .removeClass('fixed-bottom fixed-top'); + } + } else if (sTop <= cbTop + cbH - tcH) { + if (classList.indexOf('fixed-top') === -1) { + $fixedThumbContainer + .addClass('fixed-top') + .removeClass('hide absolute') + .css('top', ''); + } + } else if (sTop <= cbTop + cbH) { + if (classList.indexOf('absolute') === -1) { + $fixedThumbContainer + .addClass('absolute') + .removeClass('fixed-top hide'); + } + fixedThumbDom.style.top = cbTop + hH + cbH - tcH - sTop + 'px'; + } else if (sTop > cbTop + cbH) { + if (classList.indexOf('hide') === -1) { + $fixedThumbContainer + .addClass('hide') + .removeClass('absolute'); + } + } + $scroller.trigger('scroll'); + }); +} + +//window onload 后重新refresh iscroll +window.onload = function() { + myScroll && myScroll.refresh(); +}; + +//初始化页面,包括是否使用iscorll初始化页面 +//接口暴露在HTML中,使用压缩名 +exports.i = function(useIscroll) { + var isIphone = navigator.userAgent.indexOf('iPhone') > 0 ? true : false; + var $this, $title; + + pageInIscroll = isIphone && useIscroll; + + ellipsis.init(); + + if ($('.good-detail-text .name').length > 0) { + $('.good-detail-text .name').each(function() { + $this = $(this); + $title = $this.find('a'); + + $title[0].mlellipsis(2); + }); + } + + lazyLoad($('.lazy')); + + //title mlellipsis + $('.info-list .title, .one-good .reco-name').each(function() { + this.mlellipsis(2); + }); + + //offset.left约等于marginLeft的值则表示介绍被换行,则清除intro的paddingTop让其更靠近头像和作者名 + if ($authorIntro.offset() && (parseInt($authorIntro.offset().left, 10) === + parseInt($authorIntro.css('margin-left'), 10))) { + $authorIntro.css('padding-top', 0); + } + + if (pageInIscroll) { + if ($('.yoho-header').length > 0) { + $('#wrapper').addClass('ios has-head'); + } else { + $('#wrapper').addClass('ios'); + } + } + + //有搭配模块,iphone使用iscroll初始化滚动并有固定的搭配栏,其他的没有 + if (hasCollocationBlock) { + $coBlock = $('.collocation-block'); + $thumbContainer = $coBlock.children('.thumb-container'); + $thumbs = $thumbContainer.find('li'); + $prods = $coBlock.find('.prod'); + + thumbWidth = $thumbs.width(); + + if (pageInIscroll) { + $fixedThumbContainer = $('#wrapper') + .after($thumbContainer.clone().addClass('fixed-thumb-container fixed-bottom')) + .next('.thumb-container'); + + //load img of fixed thumb container + lazyLoad($fixedThumbContainer.find('.lazy'), { + event: 'sporty' + }); + } + + //Init Arrow Position + posCollocationArrow($thumbs.filter('.focus')); + + $thumbContainer.delegate('.thumb', 'touchend', thumbTouchEvt); + + if (pageInIscroll) { + $fixedThumbContainer.delegate('.thumb', 'touchend', thumbTouchEvt); + + } + } + + if (pageInIscroll) { + initIscroll(); + } }; }); define("js/guang/star-classroom", ["jquery","swiper","lazyload","index"], function(require, exports, module){ -/** - * 星潮教室-首页 - * @author: wsl<shuiling.wang@yoho.cn> - * @date: 2016/4/11 - */ - -var $ = require("jquery"), - Swiper = require("swiper"), - calendar = require("js/guang/calendar"), - lazyLoad = require("lazyload"), - tip = require("js/plugin/tip"); - -var bannerSwiper, collocationSwiper; - -lazyLoad($('img.lazy')); - -$('body').addClass('star-class-body'); - -function setAvatar($userAvatar) { - var myImage = new Image(), - avatar; - - // 部分老用户没有头像,显示默认头像 - avatar = $userAvatar.data('avatar'); - myImage.src = avatar; - myImage.onload = function() { - $userAvatar.css('background-image', 'url(' + avatar + ')'); - }; -} - -// 日历弹出框显示及粉丝排行榜数据组装 -function intimacyData(data) { - var $ul = $('.fan-charts-cont'), - $myIntimacy = $('.my-intimacy'), - $increased = $('.increased'), - signDay = data.signDay.split(','), - html = '', - style = '', - nowDate = new Date(), - nowYear = nowDate.getFullYear(), - nowMonth = nowDate.getMonth(), - nowDaysNub = calendar.calculateMonthDays(nowMonth, nowYear); - - var i, j; - - if (signDay.length > 0) { - for (i = 0; i < nowDaysNub; i++) { - for (j = 0; j < signDay.length; j++) { - if (i === parseInt(signDay[j])) { - $('.now-days').eq(i - 1).addClass('sign-item'); - } - } - } - } - - for (i = 0; i < data.fanCharts.length; i++) { - if (i === 0) { - style = 'font-bold'; - } else { - style = ''; - } - - html += '<li>' + - '<i class="rank-ico">' + data.fanCharts[i].num + '</i>' + - '<span data-avatar="' + data.fanCharts[i].img + '" class="rank-avatar"></span>' + - '<span class="fans-name">' + data.fanCharts[i].name + '</span>' + - '<div class="fans-intimacy">亲密度<span class="' + style + '">' + - data.fanCharts[i].intimacyNum + '</span></div>' + - '</li>'; - } - - $ul.html(html); - - $('.fan-charts-cont .rank-avatar').each(function(key, item) { - if ($(item).attr('data-avatar') !== '') { - setAvatar($(item)); - } - }); - - $myIntimacy.find('span').html(data.todayIntimacy); - $increased.find('span').html(data.todayIntimacy); - - if (data.intimacyNum === 0) { - $('.my-intimacy').hide(); - $('.increased').show(); - } else { - $('.my-intimacy').show(); - $('.increased').hide(); - } - - $('.pop-intimacy').css({ - zIndex: '10' - }).show(); - $('.classroom-mask').css({ - zIndex: '9' - }).show(); - $('body').css({ - overflow: 'hidden' - }); -} - -//当前字符串字节数统计 -function bytesCountAction(code, bytesCount) { - if (/^[\u0000-\u00ff]$/.test(code)) { - bytesCount += 1; - } else { - bytesCount += 2; - } - - return bytesCount; -} - -// 亲密度用户名字字数限制 -function limitUsername() { - var $name = $('.home-floor-sign').find('.user-name'), - nameVal = $name.html(), - nameSize = nameVal.length, - bytesCount = 0, - newName = ''; - - var i, code; - - for (i = 0; i < nameSize; i++) { - code = nameVal.charAt(i); - bytesCount = bytesCountAction(code, bytesCount); - - if (bytesCount < 5) { - newName += code; - } - } - - if (bytesCount > 8) { - newName += '..' + nameVal.charAt(nameSize - 1); - } else { - newName = nameVal; - } - - $name.html(newName); -} - -if ($('.banner-swiper').find('li').length > 1) { - bannerSwiper = new Swiper('.banner-swiper', { - lazyLoading: true, - lazyLoadingInPrevNext: true, - loop: true, - autoplay: 3000, - autoplayDisableOnInteraction: false, - paginationClickable: true, - slideElement: 'li', - pagination: '.banner-top .pagination-inner' - }); -} - -if ($('.collocation-swiper').find('li').length > 1) { - collocationSwiper = new Swiper('.collocation-swiper', { - lazyLoading: true, - lazyLoadingInPrevNext: true, - lazyLoadingOnTransitionStart: true, - grabCursor: true, - slidesPerView: 'auto', - slideElement: 'li', - watchSlidesVisibility: true - }); -} - -// 星鲜事显示点赞人数的区域 -if ($('.artice-zan').find('li').length > 0) { - $('.zan-more').show(); -} - -if ($('.home-floor-sign').length > 0) { - limitUsername(); -} - -// 星鲜事点赞事件 -$(document).on('touchstart', '.like-ico', function(event) { - var $that = $(this), - addString = ''; - - event.stopPropagation(); - - $.ajax({ - type: 'POST', - url: '/guang/starclass/setPraise', - data: { - articleId: $that.parents('li').attr('articleId') - }, - success: function(data) { - var code = data.code; - - if (code === 200) { - if ($that.hasClass('like')) { - $that.removeClass('like'); - } else { - $that.addClass('like'); - } - - if (data.num > 99) { - addString = '+'; - } else { - addString = ''; - } - - $that.parent().find('.zan-more').html(data.num + addString); - } - }, - error: function() { - tip.show('网络断开连接了~'); - } - }); -}); - -// 增加亲密度请求 -$('.add-intimacy').on('touchstart', function(event) { - event.stopPropagation(); - event.preventDefault(); - - $.ajax({ - type: 'GET', - url: '/guang/starclass/sign', - success: function(data) { - var code = data.code; - - if (code === 200) { - intimacyData(data.data); - } - - if (code === 201) { - if ($('#intimacy-link').length <= 0) { - $('body').append('<a href=\'' + data.data + '\' style="display:none;" id="intimacy-link">' + - '<span class="intimacy-link"></span></a>'); - } - - $('.intimacy-link').click(); - } - }, - error: function() { - tip.show('网络断开连接了~'); - } - }); -}); - -// 关闭日历弹出窗事件 -$('.pop-intimacy .pop-close, .classroom-mask').on('click', function() { - history.go(0); -}); - - -if ($('.user-head').attr('data-avatar') !== '') { - setAvatar($('.user-head')); -} - -}); -define("js/guang/calendar", ["jquery"], function(require, exports, module){ -/** - * 星潮教室 亲密度·日期 - * @author: wsl<shuiling.wang@yoho.cn> - * @date: 2016/4/11 - */ - -var $ = require("jquery"); - -var CalendarHandler = { - currentYear: 0, - currentMonth: 0, - initialize: function() { - var $calendarItem; - - $calendarItem = this.createCalendar(0, 0); - $('#Container').append($calendarItem); - }, - isRuiYear: function(aDate) { - return 0 === aDate % 4 && (aDate % 100 !== 0 || aDate % 400 === 0); - }, - calculateWeek: function(y, m, d) { - var arr, vDay, week; - - arr = '7123456'.split(''); - vDay = parseInt(d, 10); - week = arr[new Date(y, m - 1, vDay).getDay()]; - return week; - }, - calculateMonthDays: function(m, y) { - var mDay = 0; - var isRn; - - if (m === 0 || m === 1 || m === 3 || m === 5 || m === 7 || m === 8 || m === 10 || m === 12) { - mDay = 31; - } else { - if (m === 2) { - - // 判断是否为芮年 - isRn = this.isRuiYear(y); - if (isRn === true) { - mDay = 29; - } else { - mDay = 28; - } - } else { - mDay = 30; - } - } - return mDay; - }, - createCalendar: function(y, m) { - var $dayItem, nowDate, nowYear, nowMonth, nowDaysNub, nowWeek, lastMonthDaysNub, i, hasCreateDaysNub; - - var months = ['January', 'February', 'March', 'April', 'May', - 'June', 'July', 'August', 'September', 'October', 'November', 'December']; - - // var signDay = $('.sign-day').val(); - - $dayItem = $('<div class="day-item"></div>'); - - // 获取当前月份的天数 - nowDate = new Date(); - - nowYear = y === 0 ? nowDate.getFullYear() : y; - this.currentYear = nowYear; - nowMonth = m === 0 ? nowDate.getMonth() + 1 : m; - this.currentMonth = nowMonth; - nowDaysNub = this.calculateMonthDays(nowMonth, nowYear); - - window.nowDaysNub = nowDaysNub; - - $('.cur-year').html(nowYear); - $('.cur-month').html(months[nowMonth - 1]); - - // 获取当月第一天是星期几 - nowWeek = parseInt(this.calculateWeek(nowYear, nowMonth, 1)); - - // 获取上个月的天数 - lastMonthDaysNub = this.calculateMonthDays((nowMonth - 1), nowYear); - - if (nowWeek !== 0) { - - // 生成上月剩下的日期 - for (i = (lastMonthDaysNub - nowWeek); i < lastMonthDaysNub; i++) { - $dayItem.append('<div class="item last-item">' + (i + 1) + '</div>'); - } - } - - // 生成当月的日期 - for (i = 1; i <= nowDaysNub; i++) { - - // if (signDay.indexOf(i) > -1) { - // $dayItem.append('<div class="item signItem">' + i + '</div>'); - // } else { - // $dayItem.append('<div class="item">' + i + '</div>'); - // } - - $dayItem.append('<div class="item now-days">' + i + '</div>'); - } - - // 获取总共已经生成的天数 - hasCreateDaysNub = nowWeek + nowDaysNub; - - // 如果小于42,往下个月推算 - if (hasCreateDaysNub < 41) { - for (i = 0; i <= (41 - hasCreateDaysNub); i++) { - $dayItem.append('<div class="item last-item">' + (i + 1) + '</div>'); - } - } - - return $dayItem; - } -}; +/** + * 星潮教室-首页 + * @author: wsl<shuiling.wang@yoho.cn> + * @date: 2016/4/11 + */ + +var $ = require("jquery"), + Swiper = require("swiper"), + calendar = require("js/guang/calendar"), + lazyLoad = require("lazyload"), + tip = require("js/plugin/tip"); + +var bannerSwiper, collocationSwiper; + +lazyLoad($('img.lazy')); + +$('body').addClass('star-class-body'); + +function setAvatar($userAvatar) { + var myImage = new Image(), + avatar; + + // 部分老用户没有头像,显示默认头像 + avatar = $userAvatar.data('avatar'); + myImage.src = avatar; + myImage.onload = function() { + $userAvatar.css('background-image', 'url(' + avatar + ')'); + }; +} + +// 日历弹出框显示及粉丝排行榜数据组装 +function intimacyData(data) { + var $ul = $('.fan-charts-cont'), + $myIntimacy = $('.my-intimacy'), + $increased = $('.increased'), + signDay = data.signDay.split(','), + html = '', + style = '', + nowDate = new Date(), + nowYear = nowDate.getFullYear(), + nowMonth = nowDate.getMonth(), + nowDaysNub = calendar.calculateMonthDays(nowMonth, nowYear); + + var i, j; + + if (signDay.length > 0) { + for (i = 0; i < nowDaysNub; i++) { + for (j = 0; j < signDay.length; j++) { + if (i === parseInt(signDay[j])) { + $('.now-days').eq(i - 1).addClass('sign-item'); + } + } + } + } + + for (i = 0; i < data.fanCharts.length; i++) { + if (i === 0) { + style = 'font-bold'; + } else { + style = ''; + } + + html += '<li>' + + '<i class="rank-ico">' + data.fanCharts[i].num + '</i>' + + '<span data-avatar="' + data.fanCharts[i].img + '" class="rank-avatar"></span>' + + '<span class="fans-name">' + data.fanCharts[i].name + '</span>' + + '<div class="fans-intimacy">亲密度<span class="' + style + '">' + + data.fanCharts[i].intimacyNum + '</span></div>' + + '</li>'; + } + + $ul.html(html); + + $('.fan-charts-cont .rank-avatar').each(function(key, item) { + if ($(item).attr('data-avatar') !== '') { + setAvatar($(item)); + } + }); + + $myIntimacy.find('span').html(data.todayIntimacy); + $increased.find('span').html(data.todayIntimacy); + + if (data.intimacyNum === 0) { + $('.my-intimacy').hide(); + $('.increased').show(); + } else { + $('.my-intimacy').show(); + $('.increased').hide(); + } + + $('.pop-intimacy').css({ + zIndex: '10' + }).show(); + $('.classroom-mask').css({ + zIndex: '9' + }).show(); + $('body').css({ + overflow: 'hidden' + }); +} + +//当前字符串字节数统计 +function bytesCountAction(code, bytesCount) { + if (/^[\u0000-\u00ff]$/.test(code)) { + bytesCount += 1; + } else { + bytesCount += 2; + } + + return bytesCount; +} + +// 亲密度用户名字字数限制 +function limitUsername() { + var $name = $('.home-floor-sign').find('.user-name'), + nameVal = $name.html(), + nameSize = nameVal.length, + bytesCount = 0, + newName = ''; + + var i, code; + + for (i = 0; i < nameSize; i++) { + code = nameVal.charAt(i); + bytesCount = bytesCountAction(code, bytesCount); + + if (bytesCount < 5) { + newName += code; + } + } + + if (bytesCount > 8) { + newName += '..' + nameVal.charAt(nameSize - 1); + } else { + newName = nameVal; + } + + $name.html(newName); +} + +if ($('.banner-swiper').find('li').length > 1) { + bannerSwiper = new Swiper('.banner-swiper', { + lazyLoading: true, + lazyLoadingInPrevNext: true, + loop: true, + autoplay: 3000, + autoplayDisableOnInteraction: false, + paginationClickable: true, + slideElement: 'li', + pagination: '.banner-top .pagination-inner' + }); +} + +if ($('.collocation-swiper').find('li').length > 1) { + collocationSwiper = new Swiper('.collocation-swiper', { + lazyLoading: true, + lazyLoadingInPrevNext: true, + lazyLoadingOnTransitionStart: true, + grabCursor: true, + slidesPerView: 'auto', + slideElement: 'li', + watchSlidesVisibility: true + }); +} + +// 星鲜事显示点赞人数的区域 +if ($('.artice-zan').find('li').length > 0) { + $('.zan-more').show(); +} + +if ($('.home-floor-sign').length > 0) { + limitUsername(); +} + +// 星鲜事点赞事件 +$(document).on('touchstart', '.like-ico', function(event) { + var $that = $(this), + addString = ''; + + event.stopPropagation(); + + $.ajax({ + type: 'POST', + url: '/guang/starclass/setPraise', + data: { + articleId: $that.parents('li').attr('articleId') + }, + success: function(data) { + var code = data.code; + + if (code === 200) { + if ($that.hasClass('like')) { + $that.removeClass('like'); + } else { + $that.addClass('like'); + } + + if (data.num > 99) { + addString = '+'; + } else { + addString = ''; + } + + $that.parent().find('.zan-more').html(data.num + addString); + } + }, + error: function() { + tip.show('网络断开连接了~'); + } + }); +}); + +// 增加亲密度请求 +$('.add-intimacy').on('touchstart', function(event) { + event.stopPropagation(); + event.preventDefault(); + + $.ajax({ + type: 'GET', + url: '/guang/starclass/sign', + success: function(data) { + var code = data.code; + + if (code === 200) { + intimacyData(data.data); + } + + if (code === 201) { + if ($('#intimacy-link').length <= 0) { + $('body').append('<a href=\'' + data.data + '\' style="display:none;" id="intimacy-link">' + + '<span class="intimacy-link"></span></a>'); + } + + $('.intimacy-link').click(); + } + }, + error: function() { + tip.show('网络断开连接了~'); + } + }); +}); + +// 关闭日历弹出窗事件 +$('.pop-intimacy .pop-close, .classroom-mask').on('click', function() { + history.go(0); +}); + + +if ($('.user-head').attr('data-avatar') !== '') { + setAvatar($('.user-head')); +} -$(document).ready(function() { - CalendarHandler.initialize(); }); - -exports.calculateMonthDays = CalendarHandler.calculateMonthDays; +define("js/guang/calendar", ["jquery"], function(require, exports, module){ +/** + * 星潮教室 亲密度·日期 + * @author: wsl<shuiling.wang@yoho.cn> + * @date: 2016/4/11 + */ + +var $ = require("jquery"); + +var CalendarHandler = { + currentYear: 0, + currentMonth: 0, + initialize: function() { + var $calendarItem; + + $calendarItem = this.createCalendar(0, 0); + $('#Container').append($calendarItem); + }, + isRuiYear: function(aDate) { + return 0 === aDate % 4 && (aDate % 100 !== 0 || aDate % 400 === 0); + }, + calculateWeek: function(y, m, d) { + var arr, vDay, week; + + arr = '7123456'.split(''); + vDay = parseInt(d, 10); + week = arr[new Date(y, m - 1, vDay).getDay()]; + return week; + }, + calculateMonthDays: function(m, y) { + var mDay = 0; + var isRn; + + if (m === 0 || m === 1 || m === 3 || m === 5 || m === 7 || m === 8 || m === 10 || m === 12) { + mDay = 31; + } else { + if (m === 2) { + + // 判断是否为芮年 + isRn = this.isRuiYear(y); + if (isRn === true) { + mDay = 29; + } else { + mDay = 28; + } + } else { + mDay = 30; + } + } + return mDay; + }, + createCalendar: function(y, m) { + var $dayItem, nowDate, nowYear, nowMonth, nowDaysNub, nowWeek, lastMonthDaysNub, i, hasCreateDaysNub; + + var months = ['January', 'February', 'March', 'April', 'May', + 'June', 'July', 'August', 'September', 'October', 'November', 'December']; + + // var signDay = $('.sign-day').val(); + + $dayItem = $('<div class="day-item"></div>'); + + // 获取当前月份的天数 + nowDate = new Date(); + + nowYear = y === 0 ? nowDate.getFullYear() : y; + this.currentYear = nowYear; + nowMonth = m === 0 ? nowDate.getMonth() + 1 : m; + this.currentMonth = nowMonth; + nowDaysNub = this.calculateMonthDays(nowMonth, nowYear); + + window.nowDaysNub = nowDaysNub; + + $('.cur-year').html(nowYear); + $('.cur-month').html(months[nowMonth - 1]); + + // 获取当月第一天是星期几 + nowWeek = parseInt(this.calculateWeek(nowYear, nowMonth, 1)); + + // 获取上个月的天数 + lastMonthDaysNub = this.calculateMonthDays((nowMonth - 1), nowYear); + + if (nowWeek !== 0) { + + // 生成上月剩下的日期 + for (i = (lastMonthDaysNub - nowWeek); i < lastMonthDaysNub; i++) { + $dayItem.append('<div class="item last-item">' + (i + 1) + '</div>'); + } + } + + // 生成当月的日期 + for (i = 1; i <= nowDaysNub; i++) { + + // if (signDay.indexOf(i) > -1) { + // $dayItem.append('<div class="item signItem">' + i + '</div>'); + // } else { + // $dayItem.append('<div class="item">' + i + '</div>'); + // } + + $dayItem.append('<div class="item now-days">' + i + '</div>'); + } + + // 获取总共已经生成的天数 + hasCreateDaysNub = nowWeek + nowDaysNub; + + // 如果小于42,往下个月推算 + if (hasCreateDaysNub < 41) { + for (i = 0; i <= (41 - hasCreateDaysNub); i++) { + $dayItem.append('<div class="item last-item">' + (i + 1) + '</div>'); + } + } + + return $dayItem; + } +}; + +$(document).ready(function() { + CalendarHandler.initialize(); +}); + +exports.calculateMonthDays = CalendarHandler.calculateMonthDays; }); define("js/guang/collocation-list", ["jquery","lazyload","mlellipsis"], function(require, exports, module){ -/** - * 星潮教室-星搭配分页加载 - * @author: wsl<shuiling.wang@yoho.cn> - * @date: 2016/4/12 - */ - -var $ = require("jquery"), - tip = require("js/plugin/tip"), - loading = require("js/plugin/loading"), - lazyLoad = require("lazyload"), - ellipsis = require("mlellipsis"), - stopLoading = false; - -var page = 1; - -ellipsis.init(); - -$('body').addClass('star-class-body'); - -function massageAJAX(page) { - var $this, $title, $cont; - - loading.showLoadingMask(); - $.ajax({ - type: 'GET', - url: '/guang/starclass/ajaxCollocation', - data: { - page: page - }, - dataType: 'html', - success: function(data) { - stopLoading = false; - - if (data === ' ') { - stopLoading = true; - tip.show('没有更多内容了'); - } - - $('.collocation-list').append(data); - - // 限制标题字数 - $('.cont-area').each(function() { - $this = $(this); - $title = $this.find('.title'); - $cont = $this.find('.cont-txt'); - - $title[0].mlellipsis(2); - $cont[0].mlellipsis(2); - }); - - loading.hideLoadingMask(); - lazyLoad($('img.lazy')); - }, - error: function() { - tip.show('网络断开连接了~'); - } - }); -} - -function scrollHandler() { - if (!stopLoading && ($(window).scrollTop() + $(window).height() > $('body').height() - 100)) { - stopLoading = true; - page++; - massageAJAX(page); - } -} - -// 分享成功 -window.successShare = function() { - $.ajax({ - type: 'POST', - url: '/guang/starclass/forward', - success: function(data) { - var code = data.code; - - if (code === 200 && data.data > 0) { - tip.show('分享成功,亲密度+10'); - } - }, - error: function() { - tip.show('网络断开连接了~'); - } - }); -}; - -$(window).scroll(function() { - scrollHandler(); -}); - -if ($('.collocation-list').find('li').length === 0) { - massageAJAX(1); -} - -// 星搭配收藏请求 -$(document).on('touchstart', '.collection', function(event) { - var $that = $(this), - $icon = $that.find('.collected-ico'); - - var type; - - event.stopPropagation(); - - if ($icon.hasClass('collected')) { - type = 'del'; - } else { - type = 'fav'; - } - - - $.ajax({ - type: 'POST', - url: '/guang/starclass/setFavorite', - data: { - articleId: $that.parents('li').attr('articleId'), - type: type - }, - success: function(data) { - var code = data.code; - - if (code === 200) { - if ($icon.hasClass('collected')) { - $icon.removeClass('collected'); - } else { - $icon.addClass('collected'); - } - - } - - if (code === 201) { - if ($('#collocation-link').length <= 0) { - $('body').append('<a href=\'' + data.data + '\' style="display:none;" id="collocation-link">' + - '<span class="collocation-link"></span></a>'); - } - - $('.collocation-link').click(); - } - }, - error: function() { - tip.show('网络断开连接了~'); - } - }); -}); +/** + * 星潮教室-星搭配分页加载 + * @author: wsl<shuiling.wang@yoho.cn> + * @date: 2016/4/12 + */ + +var $ = require("jquery"), + tip = require("js/plugin/tip"), + loading = require("js/plugin/loading"), + lazyLoad = require("lazyload"), + ellipsis = require("mlellipsis"), + stopLoading = false; + +var page = 1; + +ellipsis.init(); + +$('body').addClass('star-class-body'); + +function massageAJAX(page) { + var $this, $title, $cont; + + loading.showLoadingMask(); + $.ajax({ + type: 'GET', + url: '/guang/starclass/ajaxCollocation', + data: { + page: page + }, + dataType: 'html', + success: function(data) { + stopLoading = false; + + if (data === ' ') { + stopLoading = true; + tip.show('没有更多内容了'); + } + + $('.collocation-list').append(data); + + // 限制标题字数 + $('.cont-area').each(function() { + $this = $(this); + $title = $this.find('.title'); + $cont = $this.find('.cont-txt'); + + $title[0].mlellipsis(2); + $cont[0].mlellipsis(2); + }); + + loading.hideLoadingMask(); + lazyLoad($('img.lazy')); + }, + error: function() { + tip.show('网络断开连接了~'); + } + }); +} + +function scrollHandler() { + if (!stopLoading && ($(window).scrollTop() + $(window).height() > $('body').height() - 100)) { + stopLoading = true; + page++; + massageAJAX(page); + } +} + +// 分享成功 +window.successShare = function() { + $.ajax({ + type: 'POST', + url: '/guang/starclass/forward', + success: function(data) { + var code = data.code; + + if (code === 200 && data.data > 0) { + tip.show('分享成功,亲密度+10'); + } + }, + error: function() { + tip.show('网络断开连接了~'); + } + }); +}; + +$(window).scroll(function() { + scrollHandler(); +}); + +if ($('.collocation-list').find('li').length === 0) { + massageAJAX(1); +} + +// 星搭配收藏请求 +$(document).on('touchstart', '.collection', function(event) { + var $that = $(this), + $icon = $that.find('.collected-ico'); + + var type; + + event.stopPropagation(); + + if ($icon.hasClass('collected')) { + type = 'del'; + } else { + type = 'fav'; + } + + + $.ajax({ + type: 'POST', + url: '/guang/starclass/setFavorite', + data: { + articleId: $that.parents('li').attr('articleId'), + type: type + }, + success: function(data) { + var code = data.code; + + if (code === 200) { + if ($icon.hasClass('collected')) { + $icon.removeClass('collected'); + } else { + $icon.addClass('collected'); + } + + } + + if (code === 201) { + if ($('#collocation-link').length <= 0) { + $('body').append('<a href=\'' + data.data + '\' style="display:none;" id="collocation-link">' + + '<span class="collocation-link"></span></a>'); + } + + $('.collocation-link').click(); + } + }, + error: function() { + tip.show('网络断开连接了~'); + } + }); +}); }); define("js/guang/check-top", ["jquery"], function(require, exports, module){ -/** - * 星潮教室-top100 - * @author: wsl<shuiling.wang@yoho.cn> - * @date: 2016/4/12 - */ - -var $ = require("jquery"); - -$('body').addClass('star-class-body'); - -function setAvatar($userAvatar) { - var myImage = new Image(), - avatar; - - // 部分老用户没有头像,显示默认头像 - avatar = $userAvatar.data('avatar'); - myImage.src = avatar; - myImage.onload = function() { - $userAvatar.css('background-image', 'url(' + avatar + ')'); - }; -} - -if ($('.ranking-area li').length > 0) { - $.each($('.ranking-area li'), function(key, item) { - setAvatar($(item).find('.rank-avatar')); - }); -} - -if ($('.user-avatar').attr('data-avatar') !== '') { - setAvatar($('.user-avatar')); +/** + * 星潮教室-top100 + * @author: wsl<shuiling.wang@yoho.cn> + * @date: 2016/4/12 + */ + +var $ = require("jquery"); + +$('body').addClass('star-class-body'); + +function setAvatar($userAvatar) { + var myImage = new Image(), + avatar; + + // 部分老用户没有头像,显示默认头像 + avatar = $userAvatar.data('avatar'); + myImage.src = avatar; + myImage.onload = function() { + $userAvatar.css('background-image', 'url(' + avatar + ')'); + }; +} + +if ($('.ranking-area li').length > 0) { + $.each($('.ranking-area li'), function(key, item) { + setAvatar($(item).find('.rank-avatar')); + }); +} + +if ($('.user-avatar').attr('data-avatar') !== '') { + setAvatar($('.user-avatar')); } }); define("js/home/entry", ["jquery","swiper","lazyload","hammer","mlellipsis","index"], function(require, exports, module){ -/** - * 首页打包入口 - * @author: liangzhifeng<zhifeng.liang@yoho.cn> - * @date: 2015/10/12 - */ - -require("js/home/home"); +/** + * 首页打包入口 + * @author: liangzhifeng<zhifeng.liang@yoho.cn> + * @date: 2015/10/12 + */ + +require("js/home/home"); require("js/home/maybe-like"); }); define("js/home/home", ["jquery","swiper","lazyload","hammer","mlellipsis","index"], function(require, exports, module){ -/** - * 首页 - * @author: liangzhifeng<zhifeng.liang@yoho.cn> - * @date: 2015/10/12 - */ -var $ = require("jquery"), - Swiper = require("swiper"), - lazyLoad = require("lazyload"), - noticeScroll = require("js/plugin/notice-scroll"), - $mobileWrap = $('.mobile-wrap'), - $overlay = $('.overlay'), - $sideNav = $('.side-nav'), - $subNav = $('.sub-nav'), - bannerSwiper, - recommendSwiper, - hotBrandsSwiper, - trendTopicSwiper, - goodsSwiper, - freshSwiper; - -var start = 0, - swiperClass, - $logotrans = $('.home-header .logo'), - openSideNav = false, - isen = true; - -var attachFastClick = require("js/home/fastclick"); -attachFastClick(document.body); - -lazyLoad($('img.lazy')); -noticeScroll('.notice', $('.notice').data('time') * 1000); - -$('.nav-btn').on('touchstart', function() { - $sideNav.css('pointer-events', 'none'); - $mobileWrap.addClass('menu-open'); - $overlay.show().css('opacity', 0.3); - $sideNav.addClass('on'); - openSideNav = true; - - setTimeout(function() { - $sideNav.css('pointer-events', 'auto'); - }, 400); - - return false; -}); - -function hideSideBar(){ - openSideNav = false; - if ($mobileWrap.hasClass('menu-open')) { - $mobileWrap.removeClass('menu-open'); - $overlay.hide(); - $('.sub-nav').removeClass('show'); - $sideNav.removeClass('on'); - } -} - -$overlay.on('touchstart', function() { - hideSideBar(); - return false; -}); - -$sideNav.on('touchmove scroll', function() { - return false; -}); - -// 点击一级导航,弹出二级导航 -$sideNav.on('touchend', 'li', function(e) { - if ($(this).find('.sub-nav').size() > 0) { - $('.sub-nav').removeClass('show'); - $(this).find('.sub-nav').addClass('show'); - $(this).find('.highlight').removeClass('highlight'); - } - - if (e.target.pathname === location.pathname) { - hideSideBar(); - return false; - } -}); - -// 返回一级导航,收起二级导航 -$subNav.each(function() { - $(this).find('li').eq(0).on('click', function() { - $('.sub-nav').removeClass('show'); - return false; - }); -}).on('touchstart', function(e) { - if (e.currentTarget !== e.target) { - $subNav.find('li').removeClass('current'); - } -}); - -// 侧边栏点击背景色变化 -function highlight($elem) { - $elem.find('li').on('touchstart', function() { - $elem.find('.highlight').removeClass('highlight'); - $(this).addClass('highlight'); - }).on('touchend touchcancel', function() { - $(this).removeClass('highlight'); - }); -} -highlight($sideNav); -highlight($subNav); - - -// 头部banner轮播 -if ($('.banner-swiper').find('li').size() > 1) { - bannerSwiper = new Swiper('.banner-swiper', { - lazyLoading: true, - lazyLoadingInPrevNext: true, - loop: true, - autoplay: 3000, - autoplayDisableOnInteraction: false, - paginationClickable: true, - slideElement: 'li', - pagination: '.banner-top .pagination-inner' - }); -} - -// 热门品牌滑动 -hotBrandsSwiper = new Swiper('.brands-swiper', { - grabCursor: true, - slidesPerView: 'auto', - wrapperClass: 'brands-list', - slideElement: 'li' -}); - -// 推荐搭配滑动 -recommendSwiper = new Swiper('.recommend-swiper', { - grabCursor: true, - slidesPerView: 'auto', - wrapperClass: 'recommend-list', - slideElement: 'li' -}); - -// 潮品话题轮播 -if ($('.trend-topic-swiper').find('li').size() > 1) { - trendTopicSwiper = new Swiper('.trend-topic-swiper', { - loop: true, - autoplay: 3000, - autoplayDisableOnInteraction: false, - paginationClickable: true, - slideElement: 'li', - pagination: '.trend-topic-content .pagination-inner' - }); -} - -// 新人专享轮播 -if ($('.fresh-list-swiper').find('li').size() > 1) { - freshSwiper = new Swiper('.fresh-list-swiper', { - lazyLoading: true, - lazyLoadingInPrevNext: true, - grabCursor: true, - slidesPerView: 'auto', - slideElement: 'li', - watchSlidesVisibility: true - }); -} - -// 潮流上装/经典裤装等轮播 -$('.category-swiper').each(function(i, index) { - swiperClass = 'category-swiper' + i; - $(this).addClass(swiperClass); - if ($('.' + swiperClass).find('.swiper-slide').size() > 1) { - goodsSwiper = new Swiper('.' + swiperClass, { - loop: true, - autoplay: 3000, - autoplayDisableOnInteraction: false, - paginationClickable: true, - slideElement: 'li', - pagination: '.' + swiperClass + ' .pagination-inner' - }); - } -}); - -// logo动画 -function tsAnimate() { - start = start + 10; - $logotrans.css({ - transform: 'rotateX(' + start + 'deg)', - '-webkit-transform': 'rotateX(' + start + 'deg)', - '-moz-transform': 'rotateX(' + start + 'deg)' - }); - if (start / 90 % 2 === 1) { - if (isen) { - $logotrans.addClass('animate'); - isen = false; - } else { - $logotrans.removeClass('animate'); - isen = true; - } - } - if (start / 90 % 2 === 0 && start % 360 !== 0) { - window.setTimeout(tsAnimate, 3000); - } else { - if (start % 360 === 0) { - window.setTimeout(tsAnimate, 60 * 1000); - } else { - window.requestAnimationFrame(tsAnimate); - } - } -} - -setTimeout(tsAnimate, 3000); - -$('.home-header .iconfont').on('touchstart', function() { - $(this).addClass('highlight'); -}).on('touchend touchcancel', function() { - $(this).removeClass('highlight'); -}); - -// 底部留出tab 的高度 -window.reMarginFooter('.footer-tab'); - -// set cookie -exports.set = function(c) { - window.setCookie('_Channel', c, { - expires: 365, - domain: '.m.yohobuy.com' - }); -}; - -require("js/home/maybe-like")(); +/** + * 首页 + * @author: liangzhifeng<zhifeng.liang@yoho.cn> + * @date: 2015/10/12 + */ +var $ = require("jquery"), + Swiper = require("swiper"), + lazyLoad = require("lazyload"), + noticeScroll = require("js/plugin/notice-scroll"), + $mobileWrap = $('.mobile-wrap'), + $overlay = $('.overlay'), + $sideNav = $('.side-nav'), + $subNav = $('.sub-nav'), + bannerSwiper, + recommendSwiper, + hotBrandsSwiper, + trendTopicSwiper, + goodsSwiper, + freshSwiper; + +var start = 0, + swiperClass, + $logotrans = $('.home-header .logo'), + openSideNav = false, + isen = true; + +var attachFastClick = require("js/home/fastclick"); +attachFastClick(document.body); + +lazyLoad($('img.lazy')); +noticeScroll('.notice', $('.notice').data('time') * 1000); + +$('.nav-btn').on('touchstart', function() { + $sideNav.css('pointer-events', 'none'); + $mobileWrap.addClass('menu-open'); + $overlay.show().css('opacity', 0.3); + $sideNav.addClass('on'); + openSideNav = true; + + setTimeout(function() { + $sideNav.css('pointer-events', 'auto'); + }, 400); + + return false; +}); + +function hideSideBar(){ + openSideNav = false; + if ($mobileWrap.hasClass('menu-open')) { + $mobileWrap.removeClass('menu-open'); + $overlay.hide(); + $('.sub-nav').removeClass('show'); + $sideNav.removeClass('on'); + } +} + +$overlay.on('touchstart', function() { + hideSideBar(); + return false; +}); + +$sideNav.on('touchmove scroll', function() { + return false; +}); + +// 点击一级导航,弹出二级导航 +$sideNav.on('touchend', 'li', function(e) { + if ($(this).find('.sub-nav').size() > 0) { + $('.sub-nav').removeClass('show'); + $(this).find('.sub-nav').addClass('show'); + $(this).find('.highlight').removeClass('highlight'); + } + + if (e.target.pathname === location.pathname) { + hideSideBar(); + return false; + } +}); + +// 返回一级导航,收起二级导航 +$subNav.each(function() { + $(this).find('li').eq(0).on('click', function() { + $('.sub-nav').removeClass('show'); + return false; + }); +}).on('touchstart', function(e) { + if (e.currentTarget !== e.target) { + $subNav.find('li').removeClass('current'); + } +}); + +// 侧边栏点击背景色变化 +function highlight($elem) { + $elem.find('li').on('touchstart', function() { + $elem.find('.highlight').removeClass('highlight'); + $(this).addClass('highlight'); + }).on('touchend touchcancel', function() { + $(this).removeClass('highlight'); + }); +} +highlight($sideNav); +highlight($subNav); + + +// 头部banner轮播 +if ($('.banner-swiper').find('li').size() > 1) { + bannerSwiper = new Swiper('.banner-swiper', { + lazyLoading: true, + lazyLoadingInPrevNext: true, + loop: true, + autoplay: 3000, + autoplayDisableOnInteraction: false, + paginationClickable: true, + slideElement: 'li', + pagination: '.banner-top .pagination-inner' + }); +} + +// 热门品牌滑动 +hotBrandsSwiper = new Swiper('.brands-swiper', { + grabCursor: true, + slidesPerView: 'auto', + wrapperClass: 'brands-list', + slideElement: 'li' +}); + +// 推荐搭配滑动 +recommendSwiper = new Swiper('.recommend-swiper', { + grabCursor: true, + slidesPerView: 'auto', + wrapperClass: 'recommend-list', + slideElement: 'li' +}); + +// 潮品话题轮播 +if ($('.trend-topic-swiper').find('li').size() > 1) { + trendTopicSwiper = new Swiper('.trend-topic-swiper', { + loop: true, + autoplay: 3000, + autoplayDisableOnInteraction: false, + paginationClickable: true, + slideElement: 'li', + pagination: '.trend-topic-content .pagination-inner' + }); +} + +// 新人专享轮播 +if ($('.fresh-list-swiper').find('li').size() > 1) { + freshSwiper = new Swiper('.fresh-list-swiper', { + lazyLoading: true, + lazyLoadingInPrevNext: true, + grabCursor: true, + slidesPerView: 'auto', + slideElement: 'li', + watchSlidesVisibility: true + }); +} + +// 潮流上装/经典裤装等轮播 +$('.category-swiper').each(function(i, index) { + swiperClass = 'category-swiper' + i; + $(this).addClass(swiperClass); + if ($('.' + swiperClass).find('.swiper-slide').size() > 1) { + goodsSwiper = new Swiper('.' + swiperClass, { + loop: true, + autoplay: 3000, + autoplayDisableOnInteraction: false, + paginationClickable: true, + slideElement: 'li', + pagination: '.' + swiperClass + ' .pagination-inner' + }); + } +}); + +// logo动画 +function tsAnimate() { + start = start + 10; + $logotrans.css({ + transform: 'rotateX(' + start + 'deg)', + '-webkit-transform': 'rotateX(' + start + 'deg)', + '-moz-transform': 'rotateX(' + start + 'deg)' + }); + if (start / 90 % 2 === 1) { + if (isen) { + $logotrans.addClass('animate'); + isen = false; + } else { + $logotrans.removeClass('animate'); + isen = true; + } + } + if (start / 90 % 2 === 0 && start % 360 !== 0) { + window.setTimeout(tsAnimate, 3000); + } else { + if (start % 360 === 0) { + window.setTimeout(tsAnimate, 60 * 1000); + } else { + window.requestAnimationFrame(tsAnimate); + } + } +} + +setTimeout(tsAnimate, 3000); + +$('.home-header .iconfont').on('touchstart', function() { + $(this).addClass('highlight'); +}).on('touchend touchcancel', function() { + $(this).removeClass('highlight'); +}); + +// 底部留出tab 的高度 +window.reMarginFooter('.footer-tab'); + +// set cookie +exports.set = function(c) { + window.setCookie('_Channel', c, { + expires: 365, + domain: '.m.yohobuy.com' + }); +}; + +require("js/home/maybe-like")(); }); define("js/plugin/notice-scroll", ["jquery"], function(require, exports, module){ -/** - * 公告栏目滚动 - * bikai kai.bi@yoho.cn - */ - -var $ = require("jquery"); - -function noticeScroll(selecter, time) { - var $notice = $(selecter), - $noticeItem = $notice.find('.notice-item'), - count = $noticeItem.length, - i = 1; - - selecter = selecter || '.notice'; - time = time || 3000; - - if (count > 1) { - setInterval(function() { - if (i >= count) { - i = 0; - } - $noticeItem.fadeOut(); - $notice.find('.item-' + i).fadeIn(); - i++; - }, time); - } -} - -module.exports = noticeScroll; +/** + * 公告栏目滚动 + * bikai kai.bi@yoho.cn + */ + +var $ = require("jquery"); + +function noticeScroll(selecter, time) { + var $notice = $(selecter), + $noticeItem = $notice.find('.notice-item'), + count = $noticeItem.length, + i = 1; + + selecter = selecter || '.notice'; + time = time || 3000; + + if (count > 1) { + setInterval(function() { + if (i >= count) { + i = 0; + } + $noticeItem.fadeOut(); + $notice.find('.item-' + i).fadeIn(); + i++; + }, time); + } +} + +module.exports = noticeScroll; }); define("js/home/fastclick", [], function(require, exports, module){ -;(function () { - 'use strict'; - - /** - * @preserve FastClick: polyfill to remove click delays on browsers with touch UIs. - * - * @codingstandard ftlabs-jsv2 - * @copyright The Financial Times Limited [All Rights Reserved] - * @license MIT License (see LICENSE.txt) - */ - - /*jslint browser:true, node:true*/ - /*global define, Event, Node*/ - - - /** - * Instantiate fast-clicking listeners on the specified layer. - * - * @constructor - * @param {Element} layer The layer to listen on - * @param {Object} [options={}] The options to override the defaults - */ - function FastClick(layer, options) { - var oldOnClick; - - options = options || {}; - - /** - * Whether a click is currently being tracked. - * - * @type boolean - */ - this.trackingClick = false; - - - /** - * Timestamp for when click tracking started. - * - * @type number - */ - this.trackingClickStart = 0; - - - /** - * The element being tracked for a click. - * - * @type EventTarget - */ - this.targetElement = null; - - - /** - * X-coordinate of touch start event. - * - * @type number - */ - this.touchStartX = 0; - - - /** - * Y-coordinate of touch start event. - * - * @type number - */ - this.touchStartY = 0; - - - /** - * ID of the last touch, retrieved from Touch.identifier. - * - * @type number - */ - this.lastTouchIdentifier = 0; - - - /** - * Touchmove boundary, beyond which a click will be cancelled. - * - * @type number - */ - this.touchBoundary = options.touchBoundary || 10; - - - /** - * The FastClick layer. - * - * @type Element - */ - this.layer = layer; - - /** - * The minimum time between tap(touchstart and touchend) events - * - * @type number - */ - this.tapDelay = options.tapDelay || 200; - - /** - * The maximum time for a tap - * - * @type number - */ - this.tapTimeout = options.tapTimeout || 700; - - if (FastClick.notNeeded(layer)) { - return; - } - - // Some old versions of Android don't have Function.prototype.bind - function bind(method, context) { - return function() { return method.apply(context, arguments); }; - } - - - var methods = ['onMouse', 'onClick', 'onTouchStart', 'onTouchMove', 'onTouchEnd', 'onTouchCancel']; - var context = this; - for (var i = 0, l = methods.length; i < l; i++) { - context[methods[i]] = bind(context[methods[i]], context); - } - - // Set up event handlers as required - if (deviceIsAndroid) { - layer.addEventListener('mouseover', this.onMouse, true); - layer.addEventListener('mousedown', this.onMouse, true); - layer.addEventListener('mouseup', this.onMouse, true); - } - - layer.addEventListener('click', this.onClick, true); - layer.addEventListener('touchstart', this.onTouchStart, false); - layer.addEventListener('touchmove', this.onTouchMove, false); - layer.addEventListener('touchend', this.onTouchEnd, false); - layer.addEventListener('touchcancel', this.onTouchCancel, false); - - // Hack is required for browsers that don't support Event#stopImmediatePropagation (e.g. Android 2) - // which is how FastClick normally stops click events bubbling to callbacks registered on the FastClick - // layer when they are cancelled. - if (!Event.prototype.stopImmediatePropagation) { - layer.removeEventListener = function(type, callback, capture) { - var rmv = Node.prototype.removeEventListener; - if (type === 'click') { - rmv.call(layer, type, callback.hijacked || callback, capture); - } else { - rmv.call(layer, type, callback, capture); - } - }; - - layer.addEventListener = function(type, callback, capture) { - var adv = Node.prototype.addEventListener; - if (type === 'click') { - adv.call(layer, type, callback.hijacked || (callback.hijacked = function(event) { - if (!event.propagationStopped) { - callback(event); - } - }), capture); - } else { - adv.call(layer, type, callback, capture); - } - }; - } - - // If a handler is already declared in the element's onclick attribute, it will be fired before - // FastClick's onClick handler. Fix this by pulling out the user-defined handler function and - // adding it as listener. - if (typeof layer.onclick === 'function') { - - // Android browser on at least 3.2 requires a new reference to the function in layer.onclick - // - the old one won't work if passed to addEventListener directly. - oldOnClick = layer.onclick; - layer.addEventListener('click', function(event) { - oldOnClick(event); - }, false); - layer.onclick = null; - } - } - - /** - * Windows Phone 8.1 fakes user agent string to look like Android and iPhone. - * - * @type boolean - */ - var deviceIsWindowsPhone = navigator.userAgent.indexOf("Windows Phone") >= 0; - - /** - * Android requires exceptions. - * - * @type boolean - */ - var deviceIsAndroid = navigator.userAgent.indexOf('Android') > 0 && !deviceIsWindowsPhone; - - - /** - * iOS requires exceptions. - * - * @type boolean - */ - var deviceIsIOS = /iP(ad|hone|od)/.test(navigator.userAgent) && !deviceIsWindowsPhone; - - - /** - * iOS 4 requires an exception for select elements. - * - * @type boolean - */ - var deviceIsIOS4 = deviceIsIOS && (/OS 4_\d(_\d)?/).test(navigator.userAgent); - - - /** - * iOS 6.0-7.* requires the target element to be manually derived - * - * @type boolean - */ - var deviceIsIOSWithBadTarget = deviceIsIOS && (/OS [6-7]_\d/).test(navigator.userAgent); - - /** - * BlackBerry requires exceptions. - * - * @type boolean - */ - var deviceIsBlackBerry10 = navigator.userAgent.indexOf('BB10') > 0; - - /** - * Determine whether a given element requires a native click. - * - * @param {EventTarget|Element} target Target DOM element - * @returns {boolean} Returns true if the element needs a native click - */ - FastClick.prototype.needsClick = function(target) { - switch (target.nodeName.toLowerCase()) { - - // Don't send a synthetic click to disabled inputs (issue #62) - case 'button': - case 'select': - case 'textarea': - if (target.disabled) { - return true; - } - - break; - case 'input': - - // File inputs need real clicks on iOS 6 due to a browser bug (issue #68) - if ((deviceIsIOS && target.type === 'file') || target.disabled) { - return true; - } - - break; - case 'label': - case 'iframe': // iOS8 homescreen apps can prevent events bubbling into frames - case 'video': - return true; - } - - return (/\bneedsclick\b/).test(target.className); - }; - - - /** - * Determine whether a given element requires a call to focus to simulate click into element. - * - * @param {EventTarget|Element} target Target DOM element - * @returns {boolean} Returns true if the element requires a call to focus to simulate native click. - */ - FastClick.prototype.needsFocus = function(target) { - switch (target.nodeName.toLowerCase()) { - case 'textarea': - return true; - case 'select': - return !deviceIsAndroid; - case 'input': - switch (target.type) { - case 'button': - case 'checkbox': - case 'file': - case 'image': - case 'radio': - case 'submit': - return false; - } - - // No point in attempting to focus disabled inputs - return !target.disabled && !target.readOnly; - default: - return (/\bneedsfocus\b/).test(target.className); - } - }; - - - /** - * Send a click event to the specified element. - * - * @param {EventTarget|Element} targetElement - * @param {Event} event - */ - FastClick.prototype.sendClick = function(targetElement, event) { - var clickEvent, touch; - - // On some Android devices activeElement needs to be blurred otherwise the synthetic click will have no effect (#24) - if (document.activeElement && document.activeElement !== targetElement) { - document.activeElement.blur(); - } - - touch = event.changedTouches[0]; - - // Synthesise a click event, with an extra attribute so it can be tracked - clickEvent = document.createEvent('MouseEvents'); - clickEvent.initMouseEvent(this.determineEventType(targetElement), true, true, window, 1, touch.screenX, touch.screenY, touch.clientX, touch.clientY, false, false, false, false, 0, null); - clickEvent.forwardedTouchEvent = true; - targetElement.dispatchEvent(clickEvent); - }; - - FastClick.prototype.determineEventType = function(targetElement) { - - //Issue #159: Android Chrome Select Box does not open with a synthetic click event - if (deviceIsAndroid && targetElement.tagName.toLowerCase() === 'select') { - return 'mousedown'; - } - - return 'click'; - }; - - - /** - * @param {EventTarget|Element} targetElement - */ - FastClick.prototype.focus = function(targetElement) { - var length; - - // Issue #160: on iOS 7, some input elements (e.g. date datetime month) throw a vague TypeError on setSelectionRange. These elements don't have an integer value for the selectionStart and selectionEnd properties, but unfortunately that can't be used for detection because accessing the properties also throws a TypeError. Just check the type instead. Filed as Apple bug #15122724. - if (deviceIsIOS && targetElement.setSelectionRange && targetElement.type.indexOf('date') !== 0 && targetElement.type !== 'time' && targetElement.type !== 'month') { - length = targetElement.value.length; - targetElement.setSelectionRange(length, length); - } else { - targetElement.focus(); - } - }; - - - /** - * Check whether the given target element is a child of a scrollable layer and if so, set a flag on it. - * - * @param {EventTarget|Element} targetElement - */ - FastClick.prototype.updateScrollParent = function(targetElement) { - var scrollParent, parentElement; - - scrollParent = targetElement.fastClickScrollParent; - - // Attempt to discover whether the target element is contained within a scrollable layer. Re-check if the - // target element was moved to another parent. - if (!scrollParent || !scrollParent.contains(targetElement)) { - parentElement = targetElement; - do { - if (parentElement.scrollHeight > parentElement.offsetHeight) { - scrollParent = parentElement; - targetElement.fastClickScrollParent = parentElement; - break; - } - - parentElement = parentElement.parentElement; - } while (parentElement); - } - - // Always update the scroll top tracker if possible. - if (scrollParent) { - scrollParent.fastClickLastScrollTop = scrollParent.scrollTop; - } - }; - - - /** - * @param {EventTarget} targetElement - * @returns {Element|EventTarget} - */ - FastClick.prototype.getTargetElementFromEventTarget = function(eventTarget) { - - // On some older browsers (notably Safari on iOS 4.1 - see issue #56) the event target may be a text node. - if (eventTarget.nodeType === Node.TEXT_NODE) { - return eventTarget.parentNode; - } - - return eventTarget; - }; - - - /** - * On touch start, record the position and scroll offset. - * - * @param {Event} event - * @returns {boolean} - */ - FastClick.prototype.onTouchStart = function(event) { - var targetElement, touch, selection; - - // Ignore multiple touches, otherwise pinch-to-zoom is prevented if both fingers are on the FastClick element (issue #111). - if (event.targetTouches.length > 1) { - return true; - } - - targetElement = this.getTargetElementFromEventTarget(event.target); - touch = event.targetTouches[0]; - - if (deviceIsIOS) { - - // Only trusted events will deselect text on iOS (issue #49) - selection = window.getSelection(); - if (selection.rangeCount && !selection.isCollapsed) { - return true; - } - - if (!deviceIsIOS4) { - - // Weird things happen on iOS when an alert or confirm dialog is opened from a click event callback (issue #23): - // when the user next taps anywhere else on the page, new touchstart and touchend events are dispatched - // with the same identifier as the touch event that previously triggered the click that triggered the alert. - // Sadly, there is an issue on iOS 4 that causes some normal touch events to have the same identifier as an - // immediately preceeding touch event (issue #52), so this fix is unavailable on that platform. - // Issue 120: touch.identifier is 0 when Chrome dev tools 'Emulate touch events' is set with an iOS device UA string, - // which causes all touch events to be ignored. As this block only applies to iOS, and iOS identifiers are always long, - // random integers, it's safe to to continue if the identifier is 0 here. - if (touch.identifier && touch.identifier === this.lastTouchIdentifier) { - event.preventDefault(); - return false; - } - - this.lastTouchIdentifier = touch.identifier; - - // If the target element is a child of a scrollable layer (using -webkit-overflow-scrolling: touch) and: - // 1) the user does a fling scroll on the scrollable layer - // 2) the user stops the fling scroll with another tap - // then the event.target of the last 'touchend' event will be the element that was under the user's finger - // when the fling scroll was started, causing FastClick to send a click event to that layer - unless a check - // is made to ensure that a parent layer was not scrolled before sending a synthetic click (issue #42). - this.updateScrollParent(targetElement); - } - } - - this.trackingClick = true; - this.trackingClickStart = event.timeStamp; - this.targetElement = targetElement; - - this.touchStartX = touch.pageX; - this.touchStartY = touch.pageY; - - // Prevent phantom clicks on fast double-tap (issue #36) - if ((event.timeStamp - this.lastClickTime) < this.tapDelay) { - event.preventDefault(); - } - - return true; - }; - - - /** - * Based on a touchmove event object, check whether the touch has moved past a boundary since it started. - * - * @param {Event} event - * @returns {boolean} - */ - FastClick.prototype.touchHasMoved = function(event) { - var touch = event.changedTouches[0], boundary = this.touchBoundary; - - if (Math.abs(touch.pageX - this.touchStartX) > boundary || Math.abs(touch.pageY - this.touchStartY) > boundary) { - return true; - } - - return false; - }; - - - /** - * Update the last position. - * - * @param {Event} event - * @returns {boolean} - */ - FastClick.prototype.onTouchMove = function(event) { - if (!this.trackingClick) { - return true; - } - - // If the touch has moved, cancel the click tracking - if (this.targetElement !== this.getTargetElementFromEventTarget(event.target) || this.touchHasMoved(event)) { - this.trackingClick = false; - this.targetElement = null; - } - - return true; - }; - - - /** - * Attempt to find the labelled control for the given label element. - * - * @param {EventTarget|HTMLLabelElement} labelElement - * @returns {Element|null} - */ - FastClick.prototype.findControl = function(labelElement) { - - // Fast path for newer browsers supporting the HTML5 control attribute - if (labelElement.control !== undefined) { - return labelElement.control; - } - - // All browsers under test that support touch events also support the HTML5 htmlFor attribute - if (labelElement.htmlFor) { - return document.getElementById(labelElement.htmlFor); - } - - // If no for attribute exists, attempt to retrieve the first labellable descendant element - // the list of which is defined here: http://www.w3.org/TR/html5/forms.html#category-label - return labelElement.querySelector('button, input:not([type=hidden]), keygen, meter, output, progress, select, textarea'); - }; - - - /** - * On touch end, determine whether to send a click event at once. - * - * @param {Event} event - * @returns {boolean} - */ - FastClick.prototype.onTouchEnd = function(event) { - var forElement, trackingClickStart, targetTagName, scrollParent, touch, targetElement = this.targetElement; - - if (!this.trackingClick) { - return true; - } - - // Prevent phantom clicks on fast double-tap (issue #36) - if ((event.timeStamp - this.lastClickTime) < this.tapDelay) { - this.cancelNextClick = true; - return true; - } - - if ((event.timeStamp - this.trackingClickStart) > this.tapTimeout) { - return true; - } - - // Reset to prevent wrong click cancel on input (issue #156). - this.cancelNextClick = false; - - this.lastClickTime = event.timeStamp; - - trackingClickStart = this.trackingClickStart; - this.trackingClick = false; - this.trackingClickStart = 0; - - // On some iOS devices, the targetElement supplied with the event is invalid if the layer - // is performing a transition or scroll, and has to be re-detected manually. Note that - // for this to function correctly, it must be called *after* the event target is checked! - // See issue #57; also filed as rdar://13048589 . - if (deviceIsIOSWithBadTarget) { - touch = event.changedTouches[0]; - - // In certain cases arguments of elementFromPoint can be negative, so prevent setting targetElement to null - targetElement = document.elementFromPoint(touch.pageX - window.pageXOffset, touch.pageY - window.pageYOffset) || targetElement; - targetElement.fastClickScrollParent = this.targetElement.fastClickScrollParent; - } - - targetTagName = targetElement.tagName.toLowerCase(); - if (targetTagName === 'label') { - forElement = this.findControl(targetElement); - if (forElement) { - this.focus(targetElement); - if (deviceIsAndroid) { - return false; - } - - targetElement = forElement; - } - } else if (this.needsFocus(targetElement)) { - - // Case 1: If the touch started a while ago (best guess is 100ms based on tests for issue #36) then focus will be triggered anyway. Return early and unset the target element reference so that the subsequent click will be allowed through. - // Case 2: Without this exception for input elements tapped when the document is contained in an iframe, then any inputted text won't be visible even though the value attribute is updated as the user types (issue #37). - if ((event.timeStamp - trackingClickStart) > 100 || (deviceIsIOS && window.top !== window && targetTagName === 'input')) { - this.targetElement = null; - return false; - } - - this.focus(targetElement); - this.sendClick(targetElement, event); - - // Select elements need the event to go through on iOS 4, otherwise the selector menu won't open. - // Also this breaks opening selects when VoiceOver is active on iOS6, iOS7 (and possibly others) - if (!deviceIsIOS || targetTagName !== 'select') { - this.targetElement = null; - event.preventDefault(); - } - - return false; - } - - if (deviceIsIOS && !deviceIsIOS4) { - - // Don't send a synthetic click event if the target element is contained within a parent layer that was scrolled - // and this tap is being used to stop the scrolling (usually initiated by a fling - issue #42). - scrollParent = targetElement.fastClickScrollParent; - if (scrollParent && scrollParent.fastClickLastScrollTop !== scrollParent.scrollTop) { - return true; - } - } - - // Prevent the actual click from going though - unless the target node is marked as requiring - // real clicks or if it is in the whitelist in which case only non-programmatic clicks are permitted. - if (!this.needsClick(targetElement)) { - event.preventDefault(); - this.sendClick(targetElement, event); - } - - return false; - }; - - - /** - * On touch cancel, stop tracking the click. - * - * @returns {void} - */ - FastClick.prototype.onTouchCancel = function() { - this.trackingClick = false; - this.targetElement = null; - }; - - - /** - * Determine mouse events which should be permitted. - * - * @param {Event} event - * @returns {boolean} - */ - FastClick.prototype.onMouse = function(event) { - - // If a target element was never set (because a touch event was never fired) allow the event - if (!this.targetElement) { - return true; - } - - if (event.forwardedTouchEvent) { - return true; - } - - // Programmatically generated events targeting a specific element should be permitted - if (!event.cancelable) { - return true; - } - - // Derive and check the target element to see whether the mouse event needs to be permitted; - // unless explicitly enabled, prevent non-touch click events from triggering actions, - // to prevent ghost/doubleclicks. - if (!this.needsClick(this.targetElement) || this.cancelNextClick) { - - // Prevent any user-added listeners declared on FastClick element from being fired. - if (event.stopImmediatePropagation) { - event.stopImmediatePropagation(); - } else { - - // Part of the hack for browsers that don't support Event#stopImmediatePropagation (e.g. Android 2) - event.propagationStopped = true; - } - - // Cancel the event - event.stopPropagation(); - event.preventDefault(); - - return false; - } - - // If the mouse event is permitted, return true for the action to go through. - return true; - }; - - - /** - * On actual clicks, determine whether this is a touch-generated click, a click action occurring - * naturally after a delay after a touch (which needs to be cancelled to avoid duplication), or - * an actual click which should be permitted. - * - * @param {Event} event - * @returns {boolean} - */ - FastClick.prototype.onClick = function(event) { - var permitted; - - // It's possible for another FastClick-like library delivered with third-party code to fire a click event before FastClick does (issue #44). In that case, set the click-tracking flag back to false and return early. This will cause onTouchEnd to return early. - if (this.trackingClick) { - this.targetElement = null; - this.trackingClick = false; - return true; - } - - // Very odd behaviour on iOS (issue #18): if a submit element is present inside a form and the user hits enter in the iOS simulator or clicks the Go button on the pop-up OS keyboard the a kind of 'fake' click event will be triggered with the submit-type input element as the target. - if (event.target.type === 'submit' && event.detail === 0) { - return true; - } - - permitted = this.onMouse(event); - - // Only unset targetElement if the click is not permitted. This will ensure that the check for !targetElement in onMouse fails and the browser's click doesn't go through. - if (!permitted) { - this.targetElement = null; - } - - // If clicks are permitted, return true for the action to go through. - return permitted; - }; - - - /** - * Remove all FastClick's event listeners. - * - * @returns {void} - */ - FastClick.prototype.destroy = function() { - var layer = this.layer; - - if (deviceIsAndroid) { - layer.removeEventListener('mouseover', this.onMouse, true); - layer.removeEventListener('mousedown', this.onMouse, true); - layer.removeEventListener('mouseup', this.onMouse, true); - } - - layer.removeEventListener('click', this.onClick, true); - layer.removeEventListener('touchstart', this.onTouchStart, false); - layer.removeEventListener('touchmove', this.onTouchMove, false); - layer.removeEventListener('touchend', this.onTouchEnd, false); - layer.removeEventListener('touchcancel', this.onTouchCancel, false); - }; - - - /** - * Check whether FastClick is needed. - * - * @param {Element} layer The layer to listen on - */ - FastClick.notNeeded = function(layer) { - var metaViewport; - var chromeVersion; - var blackberryVersion; - var firefoxVersion; - - // Devices that don't support touch don't need FastClick - if (typeof window.ontouchstart === 'undefined') { - return true; - } - - // Chrome version - zero for other browsers - chromeVersion = +(/Chrome\/([0-9]+)/.exec(navigator.userAgent) || [,0])[1]; - - if (chromeVersion) { - - if (deviceIsAndroid) { - metaViewport = document.querySelector('meta[name=viewport]'); - - if (metaViewport) { - // Chrome on Android with user-scalable="no" doesn't need FastClick (issue #89) - if (metaViewport.content.indexOf('user-scalable=no') !== -1) { - return true; - } - // Chrome 32 and above with width=device-width or less don't need FastClick - if (chromeVersion > 31 && document.documentElement.scrollWidth <= window.outerWidth) { - return true; - } - } - - // Chrome desktop doesn't need FastClick (issue #15) - } else { - return true; - } - } - - if (deviceIsBlackBerry10) { - blackberryVersion = navigator.userAgent.match(/Version\/([0-9]*)\.([0-9]*)/); - - // BlackBerry 10.3+ does not require Fastclick library. - // https://github.com/ftlabs/fastclick/issues/251 - if (blackberryVersion[1] >= 10 && blackberryVersion[2] >= 3) { - metaViewport = document.querySelector('meta[name=viewport]'); - - if (metaViewport) { - // user-scalable=no eliminates click delay. - if (metaViewport.content.indexOf('user-scalable=no') !== -1) { - return true; - } - // width=device-width (or less than device-width) eliminates click delay. - if (document.documentElement.scrollWidth <= window.outerWidth) { - return true; - } - } - } - } - - // IE10 with -ms-touch-action: none or manipulation, which disables double-tap-to-zoom (issue #97) - if (layer.style.msTouchAction === 'none' || layer.style.touchAction === 'manipulation') { - return true; - } - - // Firefox version - zero for other browsers - firefoxVersion = +(/Firefox\/([0-9]+)/.exec(navigator.userAgent) || [,0])[1]; - - if (firefoxVersion >= 27) { - // Firefox 27+ does not have tap delay if the content is not zoomable - https://bugzilla.mozilla.org/show_bug.cgi?id=922896 - - metaViewport = document.querySelector('meta[name=viewport]'); - if (metaViewport && (metaViewport.content.indexOf('user-scalable=no') !== -1 || document.documentElement.scrollWidth <= window.outerWidth)) { - return true; - } - } - - // IE11: prefixed -ms-touch-action is no longer supported and it's recomended to use non-prefixed version - // http://msdn.microsoft.com/en-us/library/windows/apps/Hh767313.aspx - if (layer.style.touchAction === 'none' || layer.style.touchAction === 'manipulation') { - return true; - } - - return false; - }; - - - /** - * Factory method for creating a FastClick object - * - * @param {Element} layer The layer to listen on - * @param {Object} [options={}] The options to override the defaults - */ - FastClick.attach = function(layer, options) { - return new FastClick(layer, options); - }; - - - if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) { - - // AMD. Register as an anonymous module. - define(function() { - return FastClick; - }); - } else if (typeof module !== 'undefined' && module.exports) { - module.exports = FastClick.attach; - module.exports.FastClick = FastClick; - } else { - window.FastClick = FastClick; - } -}()); +;(function () { + 'use strict'; + + /** + * @preserve FastClick: polyfill to remove click delays on browsers with touch UIs. + * + * @codingstandard ftlabs-jsv2 + * @copyright The Financial Times Limited [All Rights Reserved] + * @license MIT License (see LICENSE.txt) + */ + + /*jslint browser:true, node:true*/ + /*global define, Event, Node*/ + + + /** + * Instantiate fast-clicking listeners on the specified layer. + * + * @constructor + * @param {Element} layer The layer to listen on + * @param {Object} [options={}] The options to override the defaults + */ + function FastClick(layer, options) { + var oldOnClick; + + options = options || {}; + + /** + * Whether a click is currently being tracked. + * + * @type boolean + */ + this.trackingClick = false; + + + /** + * Timestamp for when click tracking started. + * + * @type number + */ + this.trackingClickStart = 0; + + + /** + * The element being tracked for a click. + * + * @type EventTarget + */ + this.targetElement = null; + + + /** + * X-coordinate of touch start event. + * + * @type number + */ + this.touchStartX = 0; + + + /** + * Y-coordinate of touch start event. + * + * @type number + */ + this.touchStartY = 0; + + + /** + * ID of the last touch, retrieved from Touch.identifier. + * + * @type number + */ + this.lastTouchIdentifier = 0; + + + /** + * Touchmove boundary, beyond which a click will be cancelled. + * + * @type number + */ + this.touchBoundary = options.touchBoundary || 10; + + + /** + * The FastClick layer. + * + * @type Element + */ + this.layer = layer; + + /** + * The minimum time between tap(touchstart and touchend) events + * + * @type number + */ + this.tapDelay = options.tapDelay || 200; + + /** + * The maximum time for a tap + * + * @type number + */ + this.tapTimeout = options.tapTimeout || 700; + + if (FastClick.notNeeded(layer)) { + return; + } + + // Some old versions of Android don't have Function.prototype.bind + function bind(method, context) { + return function() { return method.apply(context, arguments); }; + } + + + var methods = ['onMouse', 'onClick', 'onTouchStart', 'onTouchMove', 'onTouchEnd', 'onTouchCancel']; + var context = this; + for (var i = 0, l = methods.length; i < l; i++) { + context[methods[i]] = bind(context[methods[i]], context); + } + + // Set up event handlers as required + if (deviceIsAndroid) { + layer.addEventListener('mouseover', this.onMouse, true); + layer.addEventListener('mousedown', this.onMouse, true); + layer.addEventListener('mouseup', this.onMouse, true); + } + + layer.addEventListener('click', this.onClick, true); + layer.addEventListener('touchstart', this.onTouchStart, false); + layer.addEventListener('touchmove', this.onTouchMove, false); + layer.addEventListener('touchend', this.onTouchEnd, false); + layer.addEventListener('touchcancel', this.onTouchCancel, false); + + // Hack is required for browsers that don't support Event#stopImmediatePropagation (e.g. Android 2) + // which is how FastClick normally stops click events bubbling to callbacks registered on the FastClick + // layer when they are cancelled. + if (!Event.prototype.stopImmediatePropagation) { + layer.removeEventListener = function(type, callback, capture) { + var rmv = Node.prototype.removeEventListener; + if (type === 'click') { + rmv.call(layer, type, callback.hijacked || callback, capture); + } else { + rmv.call(layer, type, callback, capture); + } + }; + + layer.addEventListener = function(type, callback, capture) { + var adv = Node.prototype.addEventListener; + if (type === 'click') { + adv.call(layer, type, callback.hijacked || (callback.hijacked = function(event) { + if (!event.propagationStopped) { + callback(event); + } + }), capture); + } else { + adv.call(layer, type, callback, capture); + } + }; + } + + // If a handler is already declared in the element's onclick attribute, it will be fired before + // FastClick's onClick handler. Fix this by pulling out the user-defined handler function and + // adding it as listener. + if (typeof layer.onclick === 'function') { + + // Android browser on at least 3.2 requires a new reference to the function in layer.onclick + // - the old one won't work if passed to addEventListener directly. + oldOnClick = layer.onclick; + layer.addEventListener('click', function(event) { + oldOnClick(event); + }, false); + layer.onclick = null; + } + } + + /** + * Windows Phone 8.1 fakes user agent string to look like Android and iPhone. + * + * @type boolean + */ + var deviceIsWindowsPhone = navigator.userAgent.indexOf("Windows Phone") >= 0; + + /** + * Android requires exceptions. + * + * @type boolean + */ + var deviceIsAndroid = navigator.userAgent.indexOf('Android') > 0 && !deviceIsWindowsPhone; + + + /** + * iOS requires exceptions. + * + * @type boolean + */ + var deviceIsIOS = /iP(ad|hone|od)/.test(navigator.userAgent) && !deviceIsWindowsPhone; + + + /** + * iOS 4 requires an exception for select elements. + * + * @type boolean + */ + var deviceIsIOS4 = deviceIsIOS && (/OS 4_\d(_\d)?/).test(navigator.userAgent); + + + /** + * iOS 6.0-7.* requires the target element to be manually derived + * + * @type boolean + */ + var deviceIsIOSWithBadTarget = deviceIsIOS && (/OS [6-7]_\d/).test(navigator.userAgent); + + /** + * BlackBerry requires exceptions. + * + * @type boolean + */ + var deviceIsBlackBerry10 = navigator.userAgent.indexOf('BB10') > 0; + + /** + * Determine whether a given element requires a native click. + * + * @param {EventTarget|Element} target Target DOM element + * @returns {boolean} Returns true if the element needs a native click + */ + FastClick.prototype.needsClick = function(target) { + switch (target.nodeName.toLowerCase()) { + + // Don't send a synthetic click to disabled inputs (issue #62) + case 'button': + case 'select': + case 'textarea': + if (target.disabled) { + return true; + } + + break; + case 'input': + + // File inputs need real clicks on iOS 6 due to a browser bug (issue #68) + if ((deviceIsIOS && target.type === 'file') || target.disabled) { + return true; + } + + break; + case 'label': + case 'iframe': // iOS8 homescreen apps can prevent events bubbling into frames + case 'video': + return true; + } + + return (/\bneedsclick\b/).test(target.className); + }; + + + /** + * Determine whether a given element requires a call to focus to simulate click into element. + * + * @param {EventTarget|Element} target Target DOM element + * @returns {boolean} Returns true if the element requires a call to focus to simulate native click. + */ + FastClick.prototype.needsFocus = function(target) { + switch (target.nodeName.toLowerCase()) { + case 'textarea': + return true; + case 'select': + return !deviceIsAndroid; + case 'input': + switch (target.type) { + case 'button': + case 'checkbox': + case 'file': + case 'image': + case 'radio': + case 'submit': + return false; + } + + // No point in attempting to focus disabled inputs + return !target.disabled && !target.readOnly; + default: + return (/\bneedsfocus\b/).test(target.className); + } + }; + + + /** + * Send a click event to the specified element. + * + * @param {EventTarget|Element} targetElement + * @param {Event} event + */ + FastClick.prototype.sendClick = function(targetElement, event) { + var clickEvent, touch; + + // On some Android devices activeElement needs to be blurred otherwise the synthetic click will have no effect (#24) + if (document.activeElement && document.activeElement !== targetElement) { + document.activeElement.blur(); + } + + touch = event.changedTouches[0]; + + // Synthesise a click event, with an extra attribute so it can be tracked + clickEvent = document.createEvent('MouseEvents'); + clickEvent.initMouseEvent(this.determineEventType(targetElement), true, true, window, 1, touch.screenX, touch.screenY, touch.clientX, touch.clientY, false, false, false, false, 0, null); + clickEvent.forwardedTouchEvent = true; + targetElement.dispatchEvent(clickEvent); + }; + + FastClick.prototype.determineEventType = function(targetElement) { + + //Issue #159: Android Chrome Select Box does not open with a synthetic click event + if (deviceIsAndroid && targetElement.tagName.toLowerCase() === 'select') { + return 'mousedown'; + } + + return 'click'; + }; + + + /** + * @param {EventTarget|Element} targetElement + */ + FastClick.prototype.focus = function(targetElement) { + var length; + + // Issue #160: on iOS 7, some input elements (e.g. date datetime month) throw a vague TypeError on setSelectionRange. These elements don't have an integer value for the selectionStart and selectionEnd properties, but unfortunately that can't be used for detection because accessing the properties also throws a TypeError. Just check the type instead. Filed as Apple bug #15122724. + if (deviceIsIOS && targetElement.setSelectionRange && targetElement.type.indexOf('date') !== 0 && targetElement.type !== 'time' && targetElement.type !== 'month') { + length = targetElement.value.length; + targetElement.setSelectionRange(length, length); + } else { + targetElement.focus(); + } + }; + + + /** + * Check whether the given target element is a child of a scrollable layer and if so, set a flag on it. + * + * @param {EventTarget|Element} targetElement + */ + FastClick.prototype.updateScrollParent = function(targetElement) { + var scrollParent, parentElement; + + scrollParent = targetElement.fastClickScrollParent; + + // Attempt to discover whether the target element is contained within a scrollable layer. Re-check if the + // target element was moved to another parent. + if (!scrollParent || !scrollParent.contains(targetElement)) { + parentElement = targetElement; + do { + if (parentElement.scrollHeight > parentElement.offsetHeight) { + scrollParent = parentElement; + targetElement.fastClickScrollParent = parentElement; + break; + } + + parentElement = parentElement.parentElement; + } while (parentElement); + } + + // Always update the scroll top tracker if possible. + if (scrollParent) { + scrollParent.fastClickLastScrollTop = scrollParent.scrollTop; + } + }; + + + /** + * @param {EventTarget} targetElement + * @returns {Element|EventTarget} + */ + FastClick.prototype.getTargetElementFromEventTarget = function(eventTarget) { + + // On some older browsers (notably Safari on iOS 4.1 - see issue #56) the event target may be a text node. + if (eventTarget.nodeType === Node.TEXT_NODE) { + return eventTarget.parentNode; + } + + return eventTarget; + }; + + + /** + * On touch start, record the position and scroll offset. + * + * @param {Event} event + * @returns {boolean} + */ + FastClick.prototype.onTouchStart = function(event) { + var targetElement, touch, selection; + + // Ignore multiple touches, otherwise pinch-to-zoom is prevented if both fingers are on the FastClick element (issue #111). + if (event.targetTouches.length > 1) { + return true; + } + + targetElement = this.getTargetElementFromEventTarget(event.target); + touch = event.targetTouches[0]; + + if (deviceIsIOS) { + + // Only trusted events will deselect text on iOS (issue #49) + selection = window.getSelection(); + if (selection.rangeCount && !selection.isCollapsed) { + return true; + } + + if (!deviceIsIOS4) { + + // Weird things happen on iOS when an alert or confirm dialog is opened from a click event callback (issue #23): + // when the user next taps anywhere else on the page, new touchstart and touchend events are dispatched + // with the same identifier as the touch event that previously triggered the click that triggered the alert. + // Sadly, there is an issue on iOS 4 that causes some normal touch events to have the same identifier as an + // immediately preceeding touch event (issue #52), so this fix is unavailable on that platform. + // Issue 120: touch.identifier is 0 when Chrome dev tools 'Emulate touch events' is set with an iOS device UA string, + // which causes all touch events to be ignored. As this block only applies to iOS, and iOS identifiers are always long, + // random integers, it's safe to to continue if the identifier is 0 here. + if (touch.identifier && touch.identifier === this.lastTouchIdentifier) { + event.preventDefault(); + return false; + } + + this.lastTouchIdentifier = touch.identifier; + + // If the target element is a child of a scrollable layer (using -webkit-overflow-scrolling: touch) and: + // 1) the user does a fling scroll on the scrollable layer + // 2) the user stops the fling scroll with another tap + // then the event.target of the last 'touchend' event will be the element that was under the user's finger + // when the fling scroll was started, causing FastClick to send a click event to that layer - unless a check + // is made to ensure that a parent layer was not scrolled before sending a synthetic click (issue #42). + this.updateScrollParent(targetElement); + } + } + + this.trackingClick = true; + this.trackingClickStart = event.timeStamp; + this.targetElement = targetElement; + + this.touchStartX = touch.pageX; + this.touchStartY = touch.pageY; + + // Prevent phantom clicks on fast double-tap (issue #36) + if ((event.timeStamp - this.lastClickTime) < this.tapDelay) { + event.preventDefault(); + } + + return true; + }; + + + /** + * Based on a touchmove event object, check whether the touch has moved past a boundary since it started. + * + * @param {Event} event + * @returns {boolean} + */ + FastClick.prototype.touchHasMoved = function(event) { + var touch = event.changedTouches[0], boundary = this.touchBoundary; + + if (Math.abs(touch.pageX - this.touchStartX) > boundary || Math.abs(touch.pageY - this.touchStartY) > boundary) { + return true; + } + + return false; + }; + + + /** + * Update the last position. + * + * @param {Event} event + * @returns {boolean} + */ + FastClick.prototype.onTouchMove = function(event) { + if (!this.trackingClick) { + return true; + } + + // If the touch has moved, cancel the click tracking + if (this.targetElement !== this.getTargetElementFromEventTarget(event.target) || this.touchHasMoved(event)) { + this.trackingClick = false; + this.targetElement = null; + } + + return true; + }; + + + /** + * Attempt to find the labelled control for the given label element. + * + * @param {EventTarget|HTMLLabelElement} labelElement + * @returns {Element|null} + */ + FastClick.prototype.findControl = function(labelElement) { + + // Fast path for newer browsers supporting the HTML5 control attribute + if (labelElement.control !== undefined) { + return labelElement.control; + } + + // All browsers under test that support touch events also support the HTML5 htmlFor attribute + if (labelElement.htmlFor) { + return document.getElementById(labelElement.htmlFor); + } + + // If no for attribute exists, attempt to retrieve the first labellable descendant element + // the list of which is defined here: http://www.w3.org/TR/html5/forms.html#category-label + return labelElement.querySelector('button, input:not([type=hidden]), keygen, meter, output, progress, select, textarea'); + }; + + + /** + * On touch end, determine whether to send a click event at once. + * + * @param {Event} event + * @returns {boolean} + */ + FastClick.prototype.onTouchEnd = function(event) { + var forElement, trackingClickStart, targetTagName, scrollParent, touch, targetElement = this.targetElement; + + if (!this.trackingClick) { + return true; + } + + // Prevent phantom clicks on fast double-tap (issue #36) + if ((event.timeStamp - this.lastClickTime) < this.tapDelay) { + this.cancelNextClick = true; + return true; + } + + if ((event.timeStamp - this.trackingClickStart) > this.tapTimeout) { + return true; + } + + // Reset to prevent wrong click cancel on input (issue #156). + this.cancelNextClick = false; + + this.lastClickTime = event.timeStamp; + + trackingClickStart = this.trackingClickStart; + this.trackingClick = false; + this.trackingClickStart = 0; + + // On some iOS devices, the targetElement supplied with the event is invalid if the layer + // is performing a transition or scroll, and has to be re-detected manually. Note that + // for this to function correctly, it must be called *after* the event target is checked! + // See issue #57; also filed as rdar://13048589 . + if (deviceIsIOSWithBadTarget) { + touch = event.changedTouches[0]; + + // In certain cases arguments of elementFromPoint can be negative, so prevent setting targetElement to null + targetElement = document.elementFromPoint(touch.pageX - window.pageXOffset, touch.pageY - window.pageYOffset) || targetElement; + targetElement.fastClickScrollParent = this.targetElement.fastClickScrollParent; + } + + targetTagName = targetElement.tagName.toLowerCase(); + if (targetTagName === 'label') { + forElement = this.findControl(targetElement); + if (forElement) { + this.focus(targetElement); + if (deviceIsAndroid) { + return false; + } + + targetElement = forElement; + } + } else if (this.needsFocus(targetElement)) { + + // Case 1: If the touch started a while ago (best guess is 100ms based on tests for issue #36) then focus will be triggered anyway. Return early and unset the target element reference so that the subsequent click will be allowed through. + // Case 2: Without this exception for input elements tapped when the document is contained in an iframe, then any inputted text won't be visible even though the value attribute is updated as the user types (issue #37). + if ((event.timeStamp - trackingClickStart) > 100 || (deviceIsIOS && window.top !== window && targetTagName === 'input')) { + this.targetElement = null; + return false; + } + + this.focus(targetElement); + this.sendClick(targetElement, event); + + // Select elements need the event to go through on iOS 4, otherwise the selector menu won't open. + // Also this breaks opening selects when VoiceOver is active on iOS6, iOS7 (and possibly others) + if (!deviceIsIOS || targetTagName !== 'select') { + this.targetElement = null; + event.preventDefault(); + } + + return false; + } + + if (deviceIsIOS && !deviceIsIOS4) { + + // Don't send a synthetic click event if the target element is contained within a parent layer that was scrolled + // and this tap is being used to stop the scrolling (usually initiated by a fling - issue #42). + scrollParent = targetElement.fastClickScrollParent; + if (scrollParent && scrollParent.fastClickLastScrollTop !== scrollParent.scrollTop) { + return true; + } + } + + // Prevent the actual click from going though - unless the target node is marked as requiring + // real clicks or if it is in the whitelist in which case only non-programmatic clicks are permitted. + if (!this.needsClick(targetElement)) { + event.preventDefault(); + this.sendClick(targetElement, event); + } + + return false; + }; + + + /** + * On touch cancel, stop tracking the click. + * + * @returns {void} + */ + FastClick.prototype.onTouchCancel = function() { + this.trackingClick = false; + this.targetElement = null; + }; + + + /** + * Determine mouse events which should be permitted. + * + * @param {Event} event + * @returns {boolean} + */ + FastClick.prototype.onMouse = function(event) { + + // If a target element was never set (because a touch event was never fired) allow the event + if (!this.targetElement) { + return true; + } + + if (event.forwardedTouchEvent) { + return true; + } + + // Programmatically generated events targeting a specific element should be permitted + if (!event.cancelable) { + return true; + } + + // Derive and check the target element to see whether the mouse event needs to be permitted; + // unless explicitly enabled, prevent non-touch click events from triggering actions, + // to prevent ghost/doubleclicks. + if (!this.needsClick(this.targetElement) || this.cancelNextClick) { + + // Prevent any user-added listeners declared on FastClick element from being fired. + if (event.stopImmediatePropagation) { + event.stopImmediatePropagation(); + } else { + + // Part of the hack for browsers that don't support Event#stopImmediatePropagation (e.g. Android 2) + event.propagationStopped = true; + } + + // Cancel the event + event.stopPropagation(); + event.preventDefault(); + + return false; + } + + // If the mouse event is permitted, return true for the action to go through. + return true; + }; + + + /** + * On actual clicks, determine whether this is a touch-generated click, a click action occurring + * naturally after a delay after a touch (which needs to be cancelled to avoid duplication), or + * an actual click which should be permitted. + * + * @param {Event} event + * @returns {boolean} + */ + FastClick.prototype.onClick = function(event) { + var permitted; + + // It's possible for another FastClick-like library delivered with third-party code to fire a click event before FastClick does (issue #44). In that case, set the click-tracking flag back to false and return early. This will cause onTouchEnd to return early. + if (this.trackingClick) { + this.targetElement = null; + this.trackingClick = false; + return true; + } + + // Very odd behaviour on iOS (issue #18): if a submit element is present inside a form and the user hits enter in the iOS simulator or clicks the Go button on the pop-up OS keyboard the a kind of 'fake' click event will be triggered with the submit-type input element as the target. + if (event.target.type === 'submit' && event.detail === 0) { + return true; + } + + permitted = this.onMouse(event); + + // Only unset targetElement if the click is not permitted. This will ensure that the check for !targetElement in onMouse fails and the browser's click doesn't go through. + if (!permitted) { + this.targetElement = null; + } + + // If clicks are permitted, return true for the action to go through. + return permitted; + }; + + + /** + * Remove all FastClick's event listeners. + * + * @returns {void} + */ + FastClick.prototype.destroy = function() { + var layer = this.layer; + + if (deviceIsAndroid) { + layer.removeEventListener('mouseover', this.onMouse, true); + layer.removeEventListener('mousedown', this.onMouse, true); + layer.removeEventListener('mouseup', this.onMouse, true); + } + + layer.removeEventListener('click', this.onClick, true); + layer.removeEventListener('touchstart', this.onTouchStart, false); + layer.removeEventListener('touchmove', this.onTouchMove, false); + layer.removeEventListener('touchend', this.onTouchEnd, false); + layer.removeEventListener('touchcancel', this.onTouchCancel, false); + }; + + + /** + * Check whether FastClick is needed. + * + * @param {Element} layer The layer to listen on + */ + FastClick.notNeeded = function(layer) { + var metaViewport; + var chromeVersion; + var blackberryVersion; + var firefoxVersion; + + // Devices that don't support touch don't need FastClick + if (typeof window.ontouchstart === 'undefined') { + return true; + } + + // Chrome version - zero for other browsers + chromeVersion = +(/Chrome\/([0-9]+)/.exec(navigator.userAgent) || [,0])[1]; + + if (chromeVersion) { + + if (deviceIsAndroid) { + metaViewport = document.querySelector('meta[name=viewport]'); + + if (metaViewport) { + // Chrome on Android with user-scalable="no" doesn't need FastClick (issue #89) + if (metaViewport.content.indexOf('user-scalable=no') !== -1) { + return true; + } + // Chrome 32 and above with width=device-width or less don't need FastClick + if (chromeVersion > 31 && document.documentElement.scrollWidth <= window.outerWidth) { + return true; + } + } + + // Chrome desktop doesn't need FastClick (issue #15) + } else { + return true; + } + } + + if (deviceIsBlackBerry10) { + blackberryVersion = navigator.userAgent.match(/Version\/([0-9]*)\.([0-9]*)/); + + // BlackBerry 10.3+ does not require Fastclick library. + // https://github.com/ftlabs/fastclick/issues/251 + if (blackberryVersion[1] >= 10 && blackberryVersion[2] >= 3) { + metaViewport = document.querySelector('meta[name=viewport]'); + + if (metaViewport) { + // user-scalable=no eliminates click delay. + if (metaViewport.content.indexOf('user-scalable=no') !== -1) { + return true; + } + // width=device-width (or less than device-width) eliminates click delay. + if (document.documentElement.scrollWidth <= window.outerWidth) { + return true; + } + } + } + } + + // IE10 with -ms-touch-action: none or manipulation, which disables double-tap-to-zoom (issue #97) + if (layer.style.msTouchAction === 'none' || layer.style.touchAction === 'manipulation') { + return true; + } + + // Firefox version - zero for other browsers + firefoxVersion = +(/Firefox\/([0-9]+)/.exec(navigator.userAgent) || [,0])[1]; + + if (firefoxVersion >= 27) { + // Firefox 27+ does not have tap delay if the content is not zoomable - https://bugzilla.mozilla.org/show_bug.cgi?id=922896 + + metaViewport = document.querySelector('meta[name=viewport]'); + if (metaViewport && (metaViewport.content.indexOf('user-scalable=no') !== -1 || document.documentElement.scrollWidth <= window.outerWidth)) { + return true; + } + } + + // IE11: prefixed -ms-touch-action is no longer supported and it's recomended to use non-prefixed version + // http://msdn.microsoft.com/en-us/library/windows/apps/Hh767313.aspx + if (layer.style.touchAction === 'none' || layer.style.touchAction === 'manipulation') { + return true; + } + + return false; + }; + + + /** + * Factory method for creating a FastClick object + * + * @param {Element} layer The layer to listen on + * @param {Object} [options={}] The options to override the defaults + */ + FastClick.attach = function(layer, options) { + return new FastClick(layer, options); + }; + + + if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) { + + // AMD. Register as an anonymous module. + define(function() { + return FastClick; + }); + } else if (typeof module !== 'undefined' && module.exports) { + module.exports = FastClick.attach; + module.exports.FastClick = FastClick; + } else { + window.FastClick = FastClick; + } +}()); }); define("js/home/maybe-like", ["jquery","hammer","mlellipsis","lazyload"], function(require, exports, module){ -/** - * “你可能喜欢”模块JS - * @author: liangzhifeng<zhifeng.liang@yoho.cn> - * @date: 2015/10/12 - */ - -module.exports = function(specificGender) { - var $ = require("jquery"), - Hammer = require("hammer"), - tip = require("js/plugin/tip"), - loading = require("js/plugin/loading"), - ellipsis = require("mlellipsis"), - lazyLoad = require("lazyload"); - - var navHammer, - winH = $(window).height(), - $goodList = $('#goods-list'), - searching = false, - page = 0, - gender = null, - num, - url; - - //The kidsType can be specified by the parameter. Add by @ZhaoBiao - var kidsType = specificGender === 'kids' || $('.mobile-wrap').hasClass('kids-wrap') ? true : false, - lifestyleType = specificGender === 'lifestyle' || - $('.mobile-wrap').hasClass('lifestyle-wrap') ? true : false; - - var $curNav, - index, - $navList = $('#maybe-like-nav'); - - var $footer; - - ellipsis.init(); - - //ajax url - if (kidsType) { - url = '/product/recom/maylikekids'; - } else if (lifestyleType) { - - //有货币页面加载男生首页的数据 - url = specificGender === 'lifestyle' ? '/product/recom/maylike?gender=1,3' : '/product/recom/maylikelife'; - } else { - gender = (specificGender === 'boys' || $('.mobile-wrap').hasClass('boys-wrap')) ? - '1,3' : '2,3', - url = '/product/recom/maylike?gender=' + gender; - } - - $curNav = $navList.children('.focus'); - - if (lifestyleType) { - navHammer = $navList[0] ? new Hammer($navList[0]) : undefined; - if (navHammer) { - navHammer.on('tap', function(e) { - var $this = $(e.target).closest('li'), - $goods = $('.goods-list'), - $content; - - e.preventDefault(); - if ($this.hasClass('focus')) { - return; - } - - index = $this.index(); - - $this.addClass('focus'); - $curNav.removeClass('focus'); - - $goods.not('.hide').addClass('hide'); - $content = $goods.eq(index); - $content.removeClass('hide'); - - $curNav = $this; - - $(document).trigger('scroll'); //Trigger lazyLoad - e.srcEvent.stopPropagation(); - }); - } - } - - loading.init($('.maybe-like')); - - function search() { - if (searching) { - return; - } - searching = true; - - loading.showLoadingMask(); - - //num = $goodList.find('.good-info').length; - $.ajax({ - type: 'GET', - url: url, - data: { - page: page + 1 - }, - success: function(data) { - - if (data === ' ') { - searching = false; - loading.hideLoadingMask(); - - // 有货币页面不加载底部 - if (gender && !specificGender) { - if (gender === '1,3') { - url = '/boys/bottomBanner'; - } else { - url = '/girls/bottomBanner'; - } - $.ajax({ - type: 'GET', - url: url, - success: function(data) { - if (data && data.img) { - $('#load-more-img').show(); - $('#load-more-img a').attr('href', data.url); - $('#load-more-img a > img').attr('src', data.img); - } - }, - error: function() { - } - }); - - } - return; - } - - //加载到数据后,去除bottom样式,使得footer能够随着页面长度的增加改变位置 - if (data.length > 1) { - $footer ? null : $footer = $('#yoho-footer'); - $footer.hasClass('bottom') ? $footer.removeClass('bottom') : null; - } - - num = $goodList.find('.good-info').length; - - $goodList.append(data); - - // 2015/10/31 fei.hong: 修复第一页分页不显示图片的问题 - if (num === 0) { - lazyLoad($goodList.find('.good-info').find('img.lazy')); - } else { - lazyLoad($goodList.find('.good-info:gt(' + (num - 1) + ')').find('img.lazy')); - } - - searching = false; - loading.hideLoadingMask(); - page++; - - $('.good-detail-text .name').each(function() { - var $this = $(this), - $title = $this.find('a'); - - $title[0].mlellipsis(2); - }); - }, - error: function() { - tip.show('网络断开连接了~'); - searching = false; - loading.hideLoadingMask(); - } - }); - } - - $('.maybe-like p').on('touchstart', function(e) { - search(); - }); - - function scrollHandler() { - if ($(window).scrollTop() + winH >= $(document).height() - 200) { - search(); - } - } - - // 优惠券页面直接加载你可能喜欢。add by @zhaobiao - if (specificGender) { - search(); - } - - //srcoll to load more - $(window).scroll(function() { - window.requestAnimationFrame(scrollHandler); - }); -}; +/** + * “你可能喜欢”模块JS + * @author: liangzhifeng<zhifeng.liang@yoho.cn> + * @date: 2015/10/12 + */ + +module.exports = function(specificGender) { + var $ = require("jquery"), + Hammer = require("hammer"), + tip = require("js/plugin/tip"), + loading = require("js/plugin/loading"), + ellipsis = require("mlellipsis"), + lazyLoad = require("lazyload"); + + var navHammer, + winH = $(window).height(), + $goodList = $('#goods-list'), + searching = false, + page = 0, + gender = null, + num, + url; + + //The kidsType can be specified by the parameter. Add by @ZhaoBiao + var kidsType = specificGender === 'kids' || $('.mobile-wrap').hasClass('kids-wrap') ? true : false, + lifestyleType = specificGender === 'lifestyle' || + $('.mobile-wrap').hasClass('lifestyle-wrap') ? true : false; + + var $curNav, + index, + $navList = $('#maybe-like-nav'); + + var $footer; + + ellipsis.init(); + + //ajax url + if (kidsType) { + url = '/product/recom/maylikekids'; + } else if (lifestyleType) { + + //有货币页面加载男生首页的数据 + url = specificGender === 'lifestyle' ? '/product/recom/maylike?gender=1,3' : '/product/recom/maylikelife'; + } else { + gender = (specificGender === 'boys' || $('.mobile-wrap').hasClass('boys-wrap')) ? + '1,3' : '2,3', + url = '/product/recom/maylike?gender=' + gender; + } + + $curNav = $navList.children('.focus'); + + if (lifestyleType) { + navHammer = $navList[0] ? new Hammer($navList[0]) : undefined; + if (navHammer) { + navHammer.on('tap', function(e) { + var $this = $(e.target).closest('li'), + $goods = $('.goods-list'), + $content; + + e.preventDefault(); + if ($this.hasClass('focus')) { + return; + } + + index = $this.index(); + + $this.addClass('focus'); + $curNav.removeClass('focus'); + + $goods.not('.hide').addClass('hide'); + $content = $goods.eq(index); + $content.removeClass('hide'); + + $curNav = $this; + + $(document).trigger('scroll'); //Trigger lazyLoad + e.srcEvent.stopPropagation(); + }); + } + } + + loading.init($('.maybe-like')); + + function search() { + if (searching) { + return; + } + searching = true; + + loading.showLoadingMask(); + + //num = $goodList.find('.good-info').length; + $.ajax({ + type: 'GET', + url: url, + data: { + page: page + 1 + }, + success: function(data) { + + if (data === ' ') { + searching = false; + loading.hideLoadingMask(); + + // 有货币页面不加载底部 + if (gender && !specificGender) { + if (gender === '1,3') { + url = '/boys/bottomBanner'; + } else { + url = '/girls/bottomBanner'; + } + $.ajax({ + type: 'GET', + url: url, + success: function(data) { + if (data && data.img) { + $('#load-more-img').show(); + $('#load-more-img a').attr('href', data.url); + $('#load-more-img a > img').attr('src', data.img); + } + }, + error: function() { + } + }); + + } + return; + } + + //加载到数据后,去除bottom样式,使得footer能够随着页面长度的增加改变位置 + if (data.length > 1) { + $footer ? null : $footer = $('#yoho-footer'); + $footer.hasClass('bottom') ? $footer.removeClass('bottom') : null; + } + + num = $goodList.find('.good-info').length; + + $goodList.append(data); + + // 2015/10/31 fei.hong: 修复第一页分页不显示图片的问题 + if (num === 0) { + lazyLoad($goodList.find('.good-info').find('img.lazy')); + } else { + lazyLoad($goodList.find('.good-info:gt(' + (num - 1) + ')').find('img.lazy')); + } + + searching = false; + loading.hideLoadingMask(); + page++; + + $('.good-detail-text .name').each(function() { + var $this = $(this), + $title = $this.find('a'); + + $title[0].mlellipsis(2); + }); + }, + error: function() { + tip.show('网络断开连接了~'); + searching = false; + loading.hideLoadingMask(); + } + }); + } + + $('.maybe-like p').on('touchstart', function(e) { + search(); + }); + + function scrollHandler() { + if ($(window).scrollTop() + winH >= $(document).height() - 200) { + search(); + } + } + + // 优惠券页面直接加载你可能喜欢。add by @zhaobiao + if (specificGender) { + search(); + } + + //srcoll to load more + $(window).scroll(function() { + window.requestAnimationFrame(scrollHandler); + }); +}; }); define("js/index/entry", ["jquery","hammer","swiper","index"], function(require, exports, module){ -/** - * Index打包入口 - * @author: xuqi<qi.xu@yoho.cn> - * @date: 2015/10/19 - */ - -require("js/index/search"); -require("js/index/footer"); -require("js/index/channel"); +/** + * Index打包入口 + * @author: xuqi<qi.xu@yoho.cn> + * @date: 2015/10/19 + */ + +require("js/index/search"); +require("js/index/footer"); +require("js/index/channel"); require("js/index/coupon"); }); define("js/index/search", ["jquery","hammer"], function(require, exports, module){ -/** - * 搜索JS - * @author: xuqi<qi.xu@yoho.cn> - * @date: 2015/10/19 - */ - -var $ = require("jquery"), - security = require("js/plugin/security"), - Hammer = require("hammer"); - -var $input = $('#search-input input'); - -var $clear = $('#search-input .clear-input'); - -var $icon = $('.search-icon'); - -var $form = $('#search-form'); - -var $history = $('.history'); -var $historySearch = $('.history-search'); - -var $clearHistory = $('#clear-history'); - -var writeSearch = require("js/index/write-search"); - -var ranToken = writeSearch.getRanToken(); - -var chHammer, cHammer; - -chHammer = new Hammer($clearHistory[0]); -chHammer.on('tap', function() { - localStorage.removeItem('historys'); - - $history.html(''); - $historySearch.hide(); - $clearHistory.hide(); - - window.rePosFooter(); -}); - -$input.on('input', function() { - if ($input.val() === '') { - $icon.css('color', '#b2b2b2'); - $clear.addClass('hide'); - } else { - $icon.css('color', '#666'); - $clear.removeClass('hide'); - } -}); -cHammer = new Hammer($clear[0]); -cHammer.on('tap', function() { - $input.val('').trigger('input'); -}); - -$('#search').on('touchend', function() { - if (security.hasDangerInput()) { - return false; - } - $(this).closest('form').submit(); - return false; -}); - -//初始化历史搜索的内容 -(function() { - var html = '', - history, - historys, i; - - if (localStorage) { - historys = localStorage.getItem('historys'); - - if (historys && historys.length > 0) { - historys = historys.split(ranToken); - for (i = historys.length; i > 0; i--) { - history = historys[i - 1]; - - if (history === '') { - continue; - } - - html += '<li><a href="/?query=' + history + '">' + history + '</li>'; - } - - $history.html(html); - $clearHistory.removeClass('hide'); - $historySearch.removeClass('hide'); - window.rePosFooter(); - } - } -}()); - -writeSearch.bindWirteLocal($form); +/** + * 搜索JS + * @author: xuqi<qi.xu@yoho.cn> + * @date: 2015/10/19 + */ + +var $ = require("jquery"), + security = require("js/plugin/security"), + Hammer = require("hammer"); + +var $input = $('#search-input input'); + +var $clear = $('#search-input .clear-input'); + +var $icon = $('.search-icon'); + +var $form = $('#search-form'); + +var $history = $('.history'); +var $historySearch = $('.history-search'); + +var $clearHistory = $('#clear-history'); + +var writeSearch = require("js/index/write-search"); + +var ranToken = writeSearch.getRanToken(); + +var chHammer, cHammer; + +chHammer = new Hammer($clearHistory[0]); +chHammer.on('tap', function() { + localStorage.removeItem('historys'); + + $history.html(''); + $historySearch.hide(); + $clearHistory.hide(); + + window.rePosFooter(); +}); + +$input.on('input', function() { + if ($input.val() === '') { + $icon.css('color', '#b2b2b2'); + $clear.addClass('hide'); + } else { + $icon.css('color', '#666'); + $clear.removeClass('hide'); + } +}); +cHammer = new Hammer($clear[0]); +cHammer.on('tap', function() { + $input.val('').trigger('input'); +}); + +$('#search').on('touchend', function() { + if (security.hasDangerInput()) { + return false; + } + $(this).closest('form').submit(); + return false; +}); + +//初始化历史搜索的内容 +(function() { + var html = '', + history, + historys, i; + + if (localStorage) { + historys = localStorage.getItem('historys'); + + if (historys && historys.length > 0) { + historys = historys.split(ranToken); + for (i = historys.length; i > 0; i--) { + history = historys[i - 1]; + + if (history === '') { + continue; + } + + html += '<li><a href="/?query=' + history + '">' + history + '</li>'; + } + + $history.html(html); + $clearHistory.removeClass('hide'); + $historySearch.removeClass('hide'); + window.rePosFooter(); + } + } +}()); + +writeSearch.bindWirteLocal($form); }); define("js/plugin/security", ["jquery"], function(require, exports, module){ -/** - * 校验input, 防止SQL注入 - * @author: 赵彪<bill.zhao@yoho.cn> - * @date: 2015/11/30 - */ - -var $ = require("jquery"), - tip = require("js/plugin/tip"); - -/** - * hasStrangeInput() return true when input have danger value - * - * @param {Bool} needConvert Set if the danger input value should be converted to space - * @return {Bool} true/false If the input have danger value - */ -function hasDangerInput(needConvert) { - - var $inputs = $('input[type!=hidden], textarea'); - - var validationPartten = /['"<>&\|]|--/g, - inputsLength = $inputs.length, - val, - i, - matchChars, - - // to set if the input value should be coverted, and its default value is true; - willConvert = needConvert === undefined || typeof needConvert !== 'boolean' ? true : needConvert; - - - for (i = 0; i < inputsLength; i++) { - val = $inputs.eq(i).val(); - if (validationPartten.test(val)) { - if (willConvert) { - $inputs.eq(i).val(val.replace(validationPartten, ' ')); - } else { - matchChars = val.match(validationPartten).join(' '); - tip.show('不可以输入 ' + matchChars + ' 哦!'); - } - - - return !willConvert && true; - } - } - - - return false; -} - - -exports.hasDangerInput = hasDangerInput; +/** + * 校验input, 防止SQL注入 + * @author: 赵彪<bill.zhao@yoho.cn> + * @date: 2015/11/30 + */ + +var $ = require("jquery"), + tip = require("js/plugin/tip"); + +/** + * hasStrangeInput() return true when input have danger value + * + * @param {Bool} needConvert Set if the danger input value should be converted to space + * @return {Bool} true/false If the input have danger value + */ +function hasDangerInput(needConvert) { + + var $inputs = $('input[type!=hidden], textarea'); + + var validationPartten = /['"<>&\|]|--/g, + inputsLength = $inputs.length, + val, + i, + matchChars, + + // to set if the input value should be coverted, and its default value is true; + willConvert = needConvert === undefined || typeof needConvert !== 'boolean' ? true : needConvert; + + + for (i = 0; i < inputsLength; i++) { + val = $inputs.eq(i).val(); + if (validationPartten.test(val)) { + if (willConvert) { + $inputs.eq(i).val(val.replace(validationPartten, ' ')); + } else { + matchChars = val.match(validationPartten).join(' '); + tip.show('不可以输入 ' + matchChars + ' 哦!'); + } + + + return !willConvert && true; + } + } + + + return false; +} + + +exports.hasDangerInput = hasDangerInput; }); define("js/index/write-search", [], function(require, exports, module){ -/** - * 将搜索结果存localStorage - * @author: xuqi<qi.xu@yoho.cn> - * @date: 2015/10/29 - */ - -var ranToken = ' ??++ '; - -//获取分隔符 -function getRanToken() { - return ranToken; -} - -//绑定提交前的存local操作 -function bindWirteLocal($form) { - $form.on('submit', function() { - var query = this.query.value, - historys; - - if (localStorage) { - historys = localStorage.getItem('historys'); - - historys = historys ? historys : ''; - - if (historys.indexOf(ranToken + query + ranToken) > -1) { - return; - } - - if (historys === '') { - query = ranToken + query; - } - - historys += query + ranToken; - - localStorage.setItem('historys', historys); - } - }); -} - -exports.getRanToken = getRanToken; - +/** + * 将搜索结果存localStorage + * @author: xuqi<qi.xu@yoho.cn> + * @date: 2015/10/29 + */ + +var ranToken = ' ??++ '; + +//获取分隔符 +function getRanToken() { + return ranToken; +} + +//绑定提交前的存local操作 +function bindWirteLocal($form) { + $form.on('submit', function() { + var query = this.query.value, + historys; + + if (localStorage) { + historys = localStorage.getItem('historys'); + + historys = historys ? historys : ''; + + if (historys.indexOf(ranToken + query + ranToken) > -1) { + return; + } + + if (historys === '') { + query = ranToken + query; + } + + historys += query + ranToken; + + localStorage.setItem('historys', historys); + } + }); +} + +exports.getRanToken = getRanToken; + exports.bindWirteLocal = bindWirteLocal; }); define("js/index/footer", ["jquery","hammer"], function(require, exports, module){ -/** - * 底部JS - * @author: liangzhifeng<zhifeng.liang@yoho.cn> - * @date: 2015/10/26 - */ - -var $ = require("jquery"), - Hammer = require("hammer"); - -var floatLayerBtnHammer; - -require("js/common"); - -function downLoadApp() { - var appUrl = 'http://a.app.qq.com/o/simple.jsp?pkgname=com.yoho&g_f=995445'; - var clickedAt = new Date(); - - setTimeout(function() { - if ((new Date()) - clickedAt < 2000) { - window.location = appUrl; - } - }, 500); -} - -$('#float-layer-close').on('touchend', function(e) { - $('#float-layer-app').hide(); - window.setCookie('_float-layer-app', 'id490655927', - { - domain: '.yohobuy.com' - }); - window.setCookie('_float-layer-app-close', 1, - { - domain: '.yohobuy.com', - expires: 1 - }); - return false; -}); - -if ($('#float-layer-btn') && $('#float-layer-btn')[0]) { - floatLayerBtnHammer = new Hammer($('#float-layer-btn')[0]); - floatLayerBtnHammer.on('tap', function(e) { - downLoadApp('bottom'); - e.srcEvent.stopPropagation(); - }); - - if (typeof window.cookie === 'function' && !window.cookie('_float-layer-app')) { - $('#float-layer-app').show(); - } else { - $('#float-layer-app').hide(); - } -} +/** + * 底部JS + * @author: liangzhifeng<zhifeng.liang@yoho.cn> + * @date: 2015/10/26 + */ + +var $ = require("jquery"), + Hammer = require("hammer"); + +var floatLayerBtnHammer; + +require("js/common"); + +function downLoadApp() { + var appUrl = 'http://a.app.qq.com/o/simple.jsp?pkgname=com.yoho&g_f=995445'; + var clickedAt = new Date(); + + setTimeout(function() { + if ((new Date()) - clickedAt < 2000) { + window.location = appUrl; + } + }, 500); +} + +$('#float-layer-close').on('touchend', function(e) { + $('#float-layer-app').hide(); + window.setCookie('_float-layer-app', 'id490655927', + { + domain: '.yohobuy.com' + }); + window.setCookie('_float-layer-app-close', 1, + { + domain: '.yohobuy.com', + expires: 1 + }); + return false; +}); + +if ($('#float-layer-btn') && $('#float-layer-btn')[0]) { + floatLayerBtnHammer = new Hammer($('#float-layer-btn')[0]); + floatLayerBtnHammer.on('tap', function(e) { + downLoadApp('bottom'); + e.srcEvent.stopPropagation(); + }); + + if (typeof window.cookie === 'function' && !window.cookie('_float-layer-app')) { + $('#float-layer-app').show(); + } else { + $('#float-layer-app').hide(); + } +} }); define("js/index/channel", ["jquery","hammer"], function(require, exports, module){ -/** - * 频道选择页面顶部搜索 - * @author: bikai<kai.bi@yoho.cn> - * @date: 2015/10/28 - */ -var $ = require("jquery"), - security = require("js/plugin/security"); - -var $searchBox = $('.search-box'), - $box = $('.box'), - $indexSearch = $('.index-search'), - $indexLogo = $('.index-logo'), - $channelLink = $('.index-channel a:not(#yohood)'); - -var $search = $searchBox.children('input[type="text"]'), - $cancelSearch = $box.children('.no-search'), - $searchIcon = $searchBox.children('.search-icon'); - -require("js/common"); - -$search.on('focus', function() { - $box.addClass('action'); - $indexLogo.addClass('action'); -}).on('input', function() { - if ($search.val() === '') { - $searchIcon.addClass('empty'); - } else { - $searchIcon.removeClass('empty'); - } -}); - -$cancelSearch.on('touchend', function() { - $box.removeClass('action'); - $indexLogo.removeClass('action'); - $search.blur(); - return false; -}); - -$searchBox.children('.clear-text').on('touchstart', function() { - $search.val('').focus().trigger('input'); -}); - -$searchBox.children('.search-icon').on('touchstart', function() { - if (security.hasDangerInput()) { - return false; - } - $indexSearch.submit(); -}); - -$searchBox.keyup(function(e) { - if (e.keyCode === 13) { - if (security.hasDangerInput()) { - return false; - } - $indexSearch.submit(); - } -}); - -$('.index-channel img').on('load error', function() { - window.rePosFooter && window.rePosFooter(); -}); - -$channelLink.on('touchstart', function() { - $channelLink.css({ - background: '#000', - color: '#fff', - borderColor: '#fff' - }); - $(this).css({ - background: 'rgba(255, 255, 255, 0.5)', - color: '#000', - borderColor: '#000' - }); -}).on('touchend touchcancel', function() { - $(this).css({ - background: '#000', - color: '#fff', - borderColor: '#fff' - }); -}); +/** + * 频道选择页面顶部搜索 + * @author: bikai<kai.bi@yoho.cn> + * @date: 2015/10/28 + */ +var $ = require("jquery"), + security = require("js/plugin/security"); + +var $searchBox = $('.search-box'), + $box = $('.box'), + $indexSearch = $('.index-search'), + $indexLogo = $('.index-logo'), + $channelLink = $('.index-channel a:not(#yohood)'); + +var $search = $searchBox.children('input[type="text"]'), + $cancelSearch = $box.children('.no-search'), + $searchIcon = $searchBox.children('.search-icon'); + +require("js/common"); + +$search.on('focus', function() { + $box.addClass('action'); + $indexLogo.addClass('action'); +}).on('input', function() { + if ($search.val() === '') { + $searchIcon.addClass('empty'); + } else { + $searchIcon.removeClass('empty'); + } +}); + +$cancelSearch.on('touchend', function() { + $box.removeClass('action'); + $indexLogo.removeClass('action'); + $search.blur(); + return false; +}); + +$searchBox.children('.clear-text').on('touchstart', function() { + $search.val('').focus().trigger('input'); +}); + +$searchBox.children('.search-icon').on('touchstart', function() { + if (security.hasDangerInput()) { + return false; + } + $indexSearch.submit(); +}); + +$searchBox.keyup(function(e) { + if (e.keyCode === 13) { + if (security.hasDangerInput()) { + return false; + } + $indexSearch.submit(); + } +}); + +$('.index-channel img').on('load error', function() { + window.rePosFooter && window.rePosFooter(); +}); + +$channelLink.on('touchstart', function() { + $channelLink.css({ + background: '#000', + color: '#fff', + borderColor: '#fff' + }); + $(this).css({ + background: 'rgba(255, 255, 255, 0.5)', + color: '#000', + borderColor: '#000' + }); +}).on('touchend touchcancel', function() { + $(this).css({ + background: '#000', + color: '#fff', + borderColor: '#fff' + }); +}); }); define("js/index/coupon", ["jquery","swiper","index"], function(require, exports, module){ -/** - * Created by Administrator on 2016/4/13. - */ -var $ = require("jquery"), - Swiper = require("swiper"), - $receive = $('.main-right-receive'), - $mask = $('.floor-mask'), - $message = $('.floor-message'), - $tooltip = $('.floor-tooltip'), - tip = require("js/plugin/tip"); - -var bannerSwiper; - -// 获取url中的参数 -function getUrlParam(name) { - - // 构造一个含有目标参数的正则表达式对象 - var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)'); - - // 匹配目标参数 - var r = window.location.search.substr(1).match(reg); - - // 返回参数值 - if (r != null) { - return r[2]; - } - - return null; -} - -$receive.on('click', function() { - var $curDom = $(this), - req = ''; - - if (getUrlParam('app_version')) { - req += '&app_version=' + getUrlParam('app_version'); - } - - if (getUrlParam('uid')) { - req += '&uid=' + getUrlParam('uid'); - } - - $.ajax({ - url: '/coupon/receiveCoupon?code=' + getUrlParam('code') + req, - data: { - couponID: $curDom.parents('.coupon-floor').attr('coupon-id') - }, - dataType: 'json', - success: function(data) { - var msg = data.msg, - status = data.status, - newUrl = data.url + '?code=' + getUrlParam('code'); - - - if (data.isApp === true) { - newUrl = data.url; - } - if (data.noLogin === true) { - if ($('#intimacy-link').length <= 0) { - $('body').append('<a href=\'' + newUrl + '\' style="display:none;" id="intimacy-link">' + - '<span class="intimacy-link"></span></a>'); - } - - $('.intimacy-link').click(); - } else { - if (status) { - $curDom.hide(); - $curDom.next().show(); - $tooltip.show(); - - setTimeout(function() { - $tooltip.hide(); - }, 3000); - } else { - $message.find('.coupon-message-content').text(msg); - $mask.show(); - $message.show(); - } - } - }, - error: function() { - tip.show('网络异常!'); - } - }); -}); - -$('.coupon-floor a, .banner-top a').on('click', function() { - if ($(this).attr('href').length <= 0 || $(this).attr('href') === '#') { - return false; - } -}); - -if ($('.banner-swiper').find('li').length > 1) { - bannerSwiper = new Swiper('.banner-swiper', { - lazyLoading: true, - lazyLoadingInPrevNext: true, - loop: true, - autoplay: 3000, - autoplayDisableOnInteraction: false, - paginationClickable: true, - slideElement: 'li', - pagination: '.banner-top .pagination-inner' - }); -} - -$('.coupon-message-op-rel').on('click', function() { - location.reload(); -}); - -if ($('#noData').length > 0) { - if (location.href.indexOf('?openby:yohobuy=') <= 0) { - tip.show('网络异常!'); - } -} - -$mask.on('click', function() { - $mask.hide(); - $message.hide(); -}); - +/** + * Created by Administrator on 2016/4/13. + */ +var $ = require("jquery"), + Swiper = require("swiper"), + $receive = $('.main-right-receive'), + $mask = $('.floor-mask'), + $message = $('.floor-message'), + $tooltip = $('.floor-tooltip'), + tip = require("js/plugin/tip"); + +var bannerSwiper; + +// 获取url中的参数 +function getUrlParam(name) { + + // 构造一个含有目标参数的正则表达式对象 + var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)'); + + // 匹配目标参数 + var r = window.location.search.substr(1).match(reg); + + // 返回参数值 + if (r != null) { + return r[2]; + } + + return null; +} + +$receive.on('click', function() { + var $curDom = $(this), + req = ''; + + if (getUrlParam('app_version')) { + req += '&app_version=' + getUrlParam('app_version'); + } + + if (getUrlParam('uid')) { + req += '&uid=' + getUrlParam('uid'); + } + + $.ajax({ + url: '/coupon/receiveCoupon?code=' + getUrlParam('code') + req, + data: { + couponID: $curDom.parents('.coupon-floor').attr('coupon-id') + }, + dataType: 'json', + success: function(data) { + var msg = data.msg, + status = data.status, + newUrl = data.url + '?code=' + getUrlParam('code'); + + + if (data.isApp === true) { + newUrl = data.url; + } + if (data.noLogin === true) { + if ($('#intimacy-link').length <= 0) { + $('body').append('<a href=\'' + newUrl + '\' style="display:none;" id="intimacy-link">' + + '<span class="intimacy-link"></span></a>'); + } + + $('.intimacy-link').click(); + } else { + if (status) { + $curDom.hide(); + $curDom.next().show(); + $tooltip.show(); + + setTimeout(function() { + $tooltip.hide(); + }, 3000); + } else { + $message.find('.coupon-message-content').text(msg); + $mask.show(); + $message.show(); + } + } + }, + error: function() { + tip.show('网络异常!'); + } + }); +}); + +$('.coupon-floor a, .banner-top a').on('click', function() { + if ($(this).attr('href').length <= 0 || $(this).attr('href') === '#') { + return false; + } +}); + +if ($('.banner-swiper').find('li').length > 1) { + bannerSwiper = new Swiper('.banner-swiper', { + lazyLoading: true, + lazyLoadingInPrevNext: true, + loop: true, + autoplay: 3000, + autoplayDisableOnInteraction: false, + paginationClickable: true, + slideElement: 'li', + pagination: '.banner-top .pagination-inner' + }); +} + +$('.coupon-message-op-rel').on('click', function() { + location.reload(); +}); + +if ($('#noData').length > 0) { + if (location.href.indexOf('?openby:yohobuy=') <= 0) { + tip.show('网络异常!'); + } +} + +$mask.on('click', function() { + $mask.hide(); + $message.hide(); +}); + }); define("js/passport/entry", ["jquery","handlebars","source-map","hammer"], function(require, exports, module){ -/** - * 注册、登录、密码找回打包入口 - * @author: xuqi<qi.xu@yoho.cn> - * @date: 2015/10/8 - */ - -//注册 -require("js/passport/register/register"); -require("js/passport/register/code"); -require("js/passport/register/password"); - -//登录 -require("js/passport/login/login"); -require("js/passport/login/international"); - -//密码找回 -require("js/passport/back/mobile"); -require("js/passport/back/code"); -require("js/passport/back/email"); -require("js/passport/back/email-success"); -require("js/passport/back/new-password"); - -//绑定手机 -require("js/passport/bind/bind"); -require("js/passport/bind/code"); -require("js/passport/bind/password"); - -// 关联手机 -require("js/passport/bind/relate"); +/** + * 注册、登录、密码找回打包入口 + * @author: xuqi<qi.xu@yoho.cn> + * @date: 2015/10/8 + */ + +//注册 +require("js/passport/register/register"); +require("js/passport/register/code"); +require("js/passport/register/password"); + +//登录 +require("js/passport/login/login"); +require("js/passport/login/international"); + +//密码找回 +require("js/passport/back/mobile"); +require("js/passport/back/code"); +require("js/passport/back/email"); +require("js/passport/back/email-success"); +require("js/passport/back/new-password"); + +//绑定手机 +require("js/passport/bind/bind"); +require("js/passport/bind/code"); +require("js/passport/bind/password"); + +// 关联手机 +require("js/passport/bind/relate"); }); define("js/passport/register/register", ["jquery"], function(require, exports, module){ -/** - * 注册 - * @author: xuqi<qi.xu@yoho.cn> - * @date: 2015/10/8 - */ -var $ = require("jquery"); - -var $phoneNum = $('#phone-num'), - $countrySelect = $('#country-select'), - $areaCode = $('#area-code'), - $btnNext = $('#btn-next'); - -var api = require("js/passport/api"); -var tip = require("js/plugin/tip"); - -var trim = $.trim; -var showErrTip = tip.show; - -var requested = false; - -api.selectCssHack($('#country-select')); - -api.bindClearEvt(); - -$phoneNum.bind('input', function() { - if (trim($phoneNum.val()) === '') { - $btnNext.addClass('disable'); - } else { - $btnNext.removeClass('disable'); - } -}); - -$countrySelect.change(function() { - $areaCode.text($countrySelect.val()); -}); - -$btnNext.on('touchstart', function() { - var pn = trim($phoneNum.val()), - areaCode = $countrySelect.val(); - - if ($btnNext.hasClass('disable')) { - return; - } - - if (requested) { - return false; - } - - - if (api.phoneRegx[areaCode].test(pn)) { - - requested = true; - - $.ajax({ - url: '/passport/reg/verifymobile', - type: 'POST', - data: { - areaCode: areaCode.replace('+', ''), - phoneNum: pn - }, - success: function(data) { - if (data.code === 200) { - location.href = data.data; - } else { - showErrTip(data.message); - requested = false; - } - }, - error: function(err) { - showErrTip('出错了,请重试'); - requested = false; - } - }); - } else { - showErrTip('手机号格式不正确,请重新输入'); - } -}); +/** + * 注册 + * @author: xuqi<qi.xu@yoho.cn> + * @date: 2015/10/8 + */ +var $ = require("jquery"); + +var $phoneNum = $('#phone-num'), + $countrySelect = $('#country-select'), + $areaCode = $('#area-code'), + $btnNext = $('#btn-next'); + +var api = require("js/passport/api"); +var tip = require("js/plugin/tip"); + +var trim = $.trim; +var showErrTip = tip.show; + +var requested = false; + +api.selectCssHack($('#country-select')); + +api.bindClearEvt(); + +$phoneNum.bind('input', function() { + if (trim($phoneNum.val()) === '') { + $btnNext.addClass('disable'); + } else { + $btnNext.removeClass('disable'); + } +}); + +$countrySelect.change(function() { + $areaCode.text($countrySelect.val()); +}); + +$btnNext.on('touchstart', function() { + var pn = trim($phoneNum.val()), + areaCode = $countrySelect.val(); + + if ($btnNext.hasClass('disable')) { + return; + } + + if (requested) { + return false; + } + + + if (api.phoneRegx[areaCode].test(pn)) { + + requested = true; + + $.ajax({ + url: '/passport/reg/verifymobile', + type: 'POST', + data: { + areaCode: areaCode.replace('+', ''), + phoneNum: pn + }, + success: function(data) { + if (data.code === 200) { + location.href = data.data; + } else { + showErrTip(data.message); + requested = false; + } + }, + error: function(err) { + showErrTip('出错了,请重试'); + requested = false; + } + }); + } else { + showErrTip('手机号格式不正确,请重新输入'); + } +}); }); define("js/passport/api", ["jquery"], function(require, exports, module){ -/** - * 登录注册公用API - * @author: xuqi<qi.xu@yoho.cn> - * @date: 2015/10/8 - */ -var $ = require("jquery"); - -var trim = $.trim; - -//邮箱验证规则 -var emailRegx = /^([a-zA-Z0-9]+[_|\_|\.|-]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.|-]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/; - -//手机号码验证规则 -var phoneRegx = { - '+86': /^1[35847]{1}[0-9]{9}$/, - '+852': /^[965]{1}[0-9]{7}$/, - '+853': /^[0-9]{8}$/, - '+886': /^[0-9]{10}$/, - '+65': /^[98]{1}[0-9]{7}$/, - '+60': /^1[1234679]{1}[0-9]{8}$/, - '+1': /^[0-9]{10}$/, - '+82': /^01[0-9]{9}$/, - '+44': /^7[789][0-9]{8}$/, - '+81': /^0[9|8|7][0-9]{9}$/, - '+61': /^[0-9]{11}$/ -}; - -/** - * 密码显示隐藏 - * @params opt 初始化参数 - */ -function bindEyesEvt(opt) { - var $hasEye = $('.has-eye'), - $eye; - - if (opt && opt.status === 'open') { - $hasEye.append('<div class="eye"></div>'); - } else { - $hasEye.append('<div class="eye close"></div>'); - } - $eye = $hasEye.children('.eye'); - - $eye.on('touchstart', function(e) { - var $this = $(this), - $pwd = $this.siblings('.pwd'); - - e.preventDefault(); - $this.toggleClass('close'); - - //切换密码显示和文本显示 - if ($this.hasClass('close')) { - $pwd.attr('type', 'password'); - } else { - $pwd.attr('type', 'text'); - } - $pwd.focus(); - }); -} - -// 清空账号显示 -function bindClearEvt() { - var $hasClear = $('.has-clear'), - $clear; - - $hasClear.append('<div class="clear-input"></div>'); - $clear = $hasClear.children('.clear-input'); - - $clear.on('touchstart', function(e) { - var $input = $clear.siblings('.input'); - - $input.val('').trigger('input').focus(); - e.preventDefault(); - }); - - //反向逻辑 - $hasClear.children('.input').bind('input', function() { - var $this = $(this), - $thisClear = $this.siblings('.clear-input'), - val = trim($this.val()); - - if (val === '') { - $thisClear.hide(); - } else { - $thisClear.show(); - } - }); -} - -// 密码长度验证 -function pwdValidate(pwd) { - if (pwd.length >= 6 && pwd.length <= 20) { - return true; - } - return false; -} - -// hack for resolving direction:rtl didn't work in android uc -function selectCssHack($countrySelect) { - var u = navigator.userAgent; - - function autoSelectWidth() { - var wordCount = $countrySelect.find('option:selected').text().length; - - switch (wordCount) { - - //分别有2,3,4个汉字的情况 - case 2: - $countrySelect.outerWidth(90); - break; - case 3: - $countrySelect.outerWidth(110); - break; - default: - $countrySelect.outerWidth(130); - } - } - - if (u.match(/uc/i) && u.match(/android/i)) { - $countrySelect.change(function() { - autoSelectWidth(); - }); - } else { - $countrySelect.removeClass('in-android-uc'); - } -} - -//Exports APIs -module.exports = { - emailRegx: emailRegx, - phoneRegx: phoneRegx, - bindEyesEvt: bindEyesEvt, - bindClearEvt: bindClearEvt, - pwdValidate: pwdValidate, - selectCssHack: selectCssHack +/** + * 登录注册公用API + * @author: xuqi<qi.xu@yoho.cn> + * @date: 2015/10/8 + */ +var $ = require("jquery"); + +var trim = $.trim; + +//邮箱验证规则 +var emailRegx = /^([a-zA-Z0-9]+[_|\_|\.|-]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.|-]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/; + +//手机号码验证规则 +var phoneRegx = { + '+86': /^1[35847]{1}[0-9]{9}$/, + '+852': /^[965]{1}[0-9]{7}$/, + '+853': /^[0-9]{8}$/, + '+886': /^[0-9]{10}$/, + '+65': /^[98]{1}[0-9]{7}$/, + '+60': /^1[1234679]{1}[0-9]{8}$/, + '+1': /^[0-9]{10}$/, + '+82': /^01[0-9]{9}$/, + '+44': /^7[789][0-9]{8}$/, + '+81': /^0[9|8|7][0-9]{9}$/, + '+61': /^[0-9]{11}$/ +}; + +/** + * 密码显示隐藏 + * @params opt 初始化参数 + */ +function bindEyesEvt(opt) { + var $hasEye = $('.has-eye'), + $eye; + + if (opt && opt.status === 'open') { + $hasEye.append('<div class="eye"></div>'); + } else { + $hasEye.append('<div class="eye close"></div>'); + } + $eye = $hasEye.children('.eye'); + + $eye.on('touchstart', function(e) { + var $this = $(this), + $pwd = $this.siblings('.pwd'); + + e.preventDefault(); + $this.toggleClass('close'); + + //切换密码显示和文本显示 + if ($this.hasClass('close')) { + $pwd.attr('type', 'password'); + } else { + $pwd.attr('type', 'text'); + } + $pwd.focus(); + }); +} + +// 清空账号显示 +function bindClearEvt() { + var $hasClear = $('.has-clear'), + $clear; + + $hasClear.append('<div class="clear-input"></div>'); + $clear = $hasClear.children('.clear-input'); + + $clear.on('touchstart', function(e) { + var $input = $clear.siblings('.input'); + + $input.val('').trigger('input').focus(); + e.preventDefault(); + }); + + //反向逻辑 + $hasClear.children('.input').bind('input', function() { + var $this = $(this), + $thisClear = $this.siblings('.clear-input'), + val = trim($this.val()); + + if (val === '') { + $thisClear.hide(); + } else { + $thisClear.show(); + } + }); +} + +// 密码长度验证 +function pwdValidate(pwd) { + if (pwd.length >= 6 && pwd.length <= 20) { + return true; + } + return false; +} + +// hack for resolving direction:rtl didn't work in android uc +function selectCssHack($countrySelect) { + var u = navigator.userAgent; + + function autoSelectWidth() { + var wordCount = $countrySelect.find('option:selected').text().length; + + switch (wordCount) { + + //分别有2,3,4个汉字的情况 + case 2: + $countrySelect.outerWidth(90); + break; + case 3: + $countrySelect.outerWidth(110); + break; + default: + $countrySelect.outerWidth(130); + } + } + + if (u.match(/uc/i) && u.match(/android/i)) { + $countrySelect.change(function() { + autoSelectWidth(); + }); + } else { + $countrySelect.removeClass('in-android-uc'); + } +} + +//Exports APIs +module.exports = { + emailRegx: emailRegx, + phoneRegx: phoneRegx, + bindEyesEvt: bindEyesEvt, + bindClearEvt: bindClearEvt, + pwdValidate: pwdValidate, + selectCssHack: selectCssHack }; }); define("js/passport/register/code", ["jquery"], function(require, exports, module){ -/** - * 注册-验证码 - * @author: xuqi<qi.xu@yoho.cn> - * @date: 2015/10/8 - */ - +/** + * 注册-验证码 + * @author: xuqi<qi.xu@yoho.cn> + * @date: 2015/10/8 + */ + require("js/passport/code")(true); }); define("js/passport/code", ["jquery"], function(require, exports, module){ -/** - * 注册/找回密码-验证码 - * @author: xuqi<qi.xu@yoho.cn> - * @date: 2015/10/8 - */ -var $ = require("jquery"); - -module.exports = function(useInRegister, useForBind, useForRelate) { - var $captcha = $('#captcha'), - $btnNext = $('#btn-next'), - $captchaTip = $('#captcha-tip'), - nickname = $('#nickname').val(), - sourceType = $('#sourceType').val(), - openId = $('#openId').val(), - phoneNum = $('#phone-num').val(), - areaCode = $('#area-code').val().replace('+', ''); - - var api = require("js/passport/api"); - var tip = require("js/plugin/tip"); - - var trim = $.trim; - var showErrTip = tip.show; - - var urlMid = useInRegister ? 'reg' : 'back'; - - var isReg = parseInt($('#isReg').val()); - - function startBind() { - $.ajax({ - url: useForBind ? '/passport/bind/bindMobile' : '/passport/bind/relateMobile', - type: 'post', - data: { - areaCode: areaCode.replace('+', ''), - phoneNum: phoneNum, - openId: openId, - sourceType: sourceType, - nickname: nickname, - password: '', - code: trim($captcha.val()) - }, - success: function(res) { - if (res.code === 200) { - tip.show('登录成功'); - setTimeout(function() { - location.href = res.data.refer; - }, 2000); - } else { - tip.show(res.message); - } - }, - error: function(err) { - tip.show('登录失败,请重试!'); - } - }); - } - - function startReg() { - $.ajax({ - type: 'POST', - url: '/passport/' + urlMid + '/verifycode', - data: { - phoneNum: phoneNum, - areaCode: areaCode, - code: trim($captcha.val()), - token: $('#token').val() - }, - success: function(data) { - if (data.code === 200) { - location.href = data.data; - } else { - - //验证码不正确,显示提示 - showErrTip(data.message); - } - - } - }); - } - - function countDown() { - var count = 59, - itime; - - itime = setInterval(function() { - if (count === 0) { - $captchaTip.text('重发验证码').removeClass('disable'); - clearInterval(itime); - } else { - $captchaTip.text('重发验证码 (' + count-- + '秒)'); - } - }, 1000); - } - - api.bindClearEvt(); - - $captcha.bind('input', function() { - if (trim($captcha.val()) !== '') { - $btnNext.removeClass('disable'); - } else { - $btnNext.addClass('disable'); - } - }); - - //重新发送验证码 - $captchaTip.on('touchstart', function() { - if ($captchaTip.hasClass('disable')) { - return; - } - - $.ajax({ - type: 'POST', - url: (useForBind || useForRelate) ? '/passport/bind/sendBindMsg' : '/passport/' + urlMid + '/sendcode', - data: { - phoneNum: phoneNum, - areaCode: areaCode - }, - success: function(data) { - if (data.code === 200) { - $captchaTip.text('重发验证码 (60秒)').addClass('disable'); - countDown(); - } else { - - //验证码不正确,显示提示 - showErrTip(data.message); - } - } - }); - }); - - $btnNext.on('touchstart', function() { - if ($btnNext.hasClass('disable')) { - return; - } - - if (useForBind || useForRelate) { - if (isReg) { - startBind(); - } else { - location.href = '/passport/bind/password?phoneNum=' + - phoneNum + '&areaCode=' + areaCode + '&openId=' + - openId + '&sourceType=' + sourceType + '&nickname=' + nickname + '&code=' + trim($captcha.val()); - } - - } else { - startReg(); - } - }); - - countDown(); -}; - -}); -define("js/passport/register/password", ["jquery"], function(require, exports, module){ -/** - * 注册-密码 - * @author: xuqi<qi.xu@yoho.cn> - * @date: 2015/10/8 - */ -var $ = require("jquery"); - -var $pwd = $('#pwd'), - $btnSure = $('#btn-sure'); - -var api = require("js/passport/api"); -var tip = require("js/plugin/tip"); - -var trim = $.trim; -var showErrTip = tip.show; - -api.bindEyesEvt({ - status: 'open' //默认眼睛打开 -}); - -$pwd.bind('input', function() { - if (trim($pwd.val()) === '') { - $btnSure.addClass('disable'); - } else { - $btnSure.removeClass('disable'); - } -}); - -$btnSure.on('touchstart', function() { - var pwd = trim($pwd.val()); - - if ($btnSure.hasClass('disable')) { - return; - } - - if (api.pwdValidate(pwd) === false) { - showErrTip('密码6-20位,请重新输入'); - } else { - $.ajax({ - type: 'POST', - url: '/passport/reg/setpassword', - data: { - password: pwd, - phoneNum: $('#phone-num').val(), - areaCode: $('#area-code').val(), - token: $('#token').val() - }, - success: function(data) { - var res; - - if (data.code === 200) { - res = data.data; - showErrTip('注册成功'); - - $.ajax({ - url: res.session, - dataType: 'jsonp' - }); - - //1000ms后跳转页面 - setTimeout(function() { - location.href = res.href; - }, 1000); - } else { - showErrTip(data.message); - } - } - }); - } -}); -}); -define("js/passport/login/login", ["jquery"], function(require, exports, module){ -/** - * 登录 - * @author: xuqi<qi.xu@yoho.cn> - * @date: 2015/9/30 - */ -var $ = require("jquery"); - -var $account = $('#account'), - $pwd = $('#pwd'), - $loginBtn = $('#btn-login'), - - $mask = $('#retrive-pwd-mask'), - $ways = $('#retrive-pwd-ways'), - - accPass = false, - pwdPass = false; - -var api = require("js/passport/api"); -var tip = require("js/plugin/tip"); - -var trim = $.trim; -var showErrTip = tip.show; - -//登录按钮状态切换 -function switchLoginBtnStatus() { - if (accPass && pwdPass) { - $loginBtn.removeClass('disable'); - } else { - $loginBtn.addClass('disable'); - } -} - -//显示找回密码面板 -function showRetrivePanel() { - $mask.show(); - $ways.show(); -} - -//隐藏找回密码面板 -function hideRetrivePanel() { - $mask.hide(); - $ways.hide(); -} - -//密码显示与隐藏 -api.bindEyesEvt(); - -//清空账号输入框 -api.bindClearEvt(); - -$account.bind('input', function() { - if (trim($account.val()) !== '') { - accPass = true; - } else { - accPass = false; - } - switchLoginBtnStatus(); -}); - -$pwd.bind('input', function() { - if (trim($pwd.val()) === '') { - pwdPass = false; - } else { - pwdPass = true; - } - switchLoginBtnStatus(); -}); - - -// Login -$loginBtn.on('touchstart', function() { - var acc = trim($account.val()), - pwd = trim($pwd.val()); - - if ($loginBtn.hasClass('disable')) { - return; - } - - $loginBtn.text('正在登录...').addClass('disable'); - - //验证账号(数字或者邮箱)和密码合理性 - if ((/^[0-9]+$/.test(acc) || api.emailRegx.test(acc)) && api.pwdValidate(pwd)) { - $.ajax({ - type: 'POST', - url: '/passport/login/auth', - data: { - account: acc, - password: pwd - }, - success: function(data) { - var res; - - if (data.code === 200) { - res = data.data; - - showErrTip('登录成功'); - location.href = res.href; - } else { - showErrTip(data.message); - } - }, - error: function() { - showErrTip('网络断开连接啦~'); - }, - complete: function() { - $loginBtn.text('登录').removeClass('disable'); - } - }); - } else { - showErrTip('账号或密码有错误,请重新输入'); - $loginBtn.text('登录').removeClass('disable'); - } -}); - - -$('#forget-pwd').on('touchstart', function() { - showRetrivePanel(); -}); - -$mask.on('touchstart', function() { - hideRetrivePanel(); -}); - -$('#cancel-retrive').on('touchstart', function(e) { - e.preventDefault(); - hideRetrivePanel(); -}); - -//对初始有默认值的情况去初始化登录按钮状态 -$account.trigger('input'); -$pwd.trigger('input'); - -}); -define("js/passport/login/international", ["jquery"], function(require, exports, module){ -/** - * 国际账号登录 - * @author: xuqi<qi.xu@yoho.cn> - * @date: 2015/10/8 - */ -var $ = require("jquery"); - -var $phoneNum = $('#phone-num'), - $countrySelect = $('#country-select'), - $areaCode = $('#area-code'), - $pwd = $('#pwd'), - $loginBtn = $('#btn-login'), - - pnPass = false, - pwdPass = false; - -var api = require("js/passport/api"); -var tip = require("js/plugin/tip"); - -var trim = $.trim; -var showErrTip = tip.show; - -//登录按钮状态切换 -function switchLoginBtnStatus() { - if (pnPass && pwdPass) { - $loginBtn.removeClass('disable'); - } else { - $loginBtn.addClass('disable'); - } -} - -//Android-UC下显示select的direction:rtl无效的临时解决办法 -api.selectCssHack($countrySelect); - -//显示隐藏密码 -api.bindEyesEvt(); - -//清空手机号码 -api.bindClearEvt(); - -$phoneNum.bind('input', function() { - if (trim($phoneNum.val()) === '') { - pnPass = false; - } else { - pnPass = true; - } - - switchLoginBtnStatus(); -}); - -$pwd.bind('input', function() { - var pwd = trim($pwd.val()); - - if (pwd === '') { - pwdPass = false; - } else { - pwdPass = true; - } - - switchLoginBtnStatus(); -}); - -$countrySelect.change(function() { - $areaCode.text($countrySelect.val()); -}); - -$loginBtn.on('touchstart', function() { - var pn = trim($phoneNum.val()), - areaCode = $countrySelect.val(), - pwd = trim($pwd.val()); - - if ($loginBtn.hasClass('disable')) { - return; - } - - $loginBtn.text('正在登录...').addClass('disable'); - - if (api.phoneRegx[areaCode].test(pn) && api.pwdValidate(pwd)) { - $.ajax({ - type: 'POST', - url: '/passport/login/auth', - data: { - areaCode: areaCode.replace('+', ''), - account: pn, - password: pwd - }, - success: function(data) { - var res, - time; - - if (data.code === 200) { - res = data.data; - showErrTip('登录成功'); - - $.ajax({ - url: res.session, - dataType: 'jsonp', - success: function() { - clearTimeout(time); - - //Cookie写入成功后,1s后跳转页面 - setTimeout(function() { - location.href = res.href; - }, 1000); - } - }); - - //3秒后强制跳转 - time = setTimeout(function() { - location.href = res.href; - }, 3000); - - showErrTip('登录成功'); - } else { - showErrTip(data.message); - } - }, - error: function() { - showErrTip('网络断开连接啦~'); - }, - complete: function() { - $loginBtn.text('登录').removeClass('disable'); - } - }); - } else { - showErrTip('账号或密码有错误,请重新输入'); - $loginBtn.text('登录').removeClass('disable'); - } -}); - -//对初始有默认值的情况去初始化登录按钮状态 -$phoneNum.trigger('input'); -$pwd.trigger('input'); -}); -define("js/passport/back/mobile", ["jquery"], function(require, exports, module){ -/** - * 找回密码-手机 - * @author: xuqi<qi.xu@yoho.cn> - * @date: 2015/10/8 - */ -var $ = require("jquery"); - -var $phoneNum = $('#phone-num'), - $countrySelect = $('#country-select'), - $areaCode = $('#area-code'), - $btnNext = $('#btn-next'); - -var api = require("js/passport/api"); -var tip = require("js/plugin/tip"); - -var trim = $.trim; -var showErrTip = tip.show; - -api.selectCssHack($('#country-select')); - -api.bindClearEvt(); - -$phoneNum.bind('input', function() { - if (trim($phoneNum.val()) === '') { - $btnNext.addClass('disable'); - } else { - $btnNext.removeClass('disable'); - } -}); - -$countrySelect.change(function() { - $areaCode.text($countrySelect.val()); -}); - -$btnNext.on('touchstart', function() { - var pn = trim($phoneNum.val()), - area = $countrySelect.val(); - - if ($btnNext.hasClass('disable')) { - return; - } - - if (api.phoneRegx[area].test(pn)) { - $.ajax({ - url: '/passport/back/sendcode', - type: 'POST', - data: { - areaCode: area.replace('+', ''), - phoneNum: pn - }, - success: function(data) { - if (data.code === 200) { - location.href = data.data; - } else { - showErrTip(data.message); - } - } - }); - } else { - showErrTip('手机号格式不正确,请重新输入'); - } -}); -}); -define("js/passport/back/code", ["jquery"], function(require, exports, module){ -/** - * 找回密码-验证码 - * @author: xuqi<qi.xu@yoho.cn> - * @date: 2015/10/8 - */ - -require("js/passport/code")(false); -}); -define("js/passport/back/email", ["jquery"], function(require, exports, module){ -/** - * 找回密码-邮箱找回 - * @author: xuqi<qi.xu@yoho.cn> - * @date: 2015/10/8 - */ -var $ = require("jquery"); - -var $email = $('#email'), - $btnSure = $('#btn-sure'); - -var api = require("js/passport/api"); -var tip = require("js/plugin/tip"); - -var trim = $.trim; -var showErrTip = tip.show; - -api.bindClearEvt(); - -$email.bind('input', function() { - if (trim($email.val()) === '') { - $btnSure.addClass('disable'); - } else { - $btnSure.removeClass('disable'); - } -}); - -$btnSure.on('touchstart', function() { - var email = trim($email.val()); - - if ($btnSure.hasClass('disable')) { - return; - } - - if (api.emailRegx.test(email)) { - $.ajax({ - url: '/passport/back/sendemail', - type: 'POST', - data: { - email: email - }, - success: function(data) { - if (data.code === 200) { - location.href = data.data; - } else { - showErrTip(data.message); - } - } - }); - } else { - showErrTip('邮箱格式不正确,请重新输入'); - } -}); -}); -define("js/passport/back/email-success", ["jquery"], function(require, exports, module){ -/** - * 找回密码-邮箱找回成功 - * @author: xuqi<qi.xu@yoho.cn> - * @date: 2015/10/8 - */ - -var $ = require("jquery"); - -var $resend = $('#resend'); - -var tip = require("js/plugin/tip"), - showTip = tip.show; - -$resend.on('touchstart', function(e) { - e.preventDefault(); - - $.ajax({ - url: $resend.data('url'), - type: 'GET', - success: function(data) { - showTip(data.message); - } - }); -}); -}); -define("js/passport/back/new-password", ["jquery"], function(require, exports, module){ -/** - * 密码找回-新密码 - * @author: xuqi<qi.xu@yoho.cn> - * @date: 2015/10/8 - */ -var $ = require("jquery"); - -var $pwd = $('#pwd'), - $btnOk = $('#btn-ok'); - -var api = require("js/passport/api"); -var tip = require("js/plugin/tip"); - -var trim = $.trim; -var showErrTip = tip.show; - -var $phoneNum = $('#phone-num'); - -api.bindEyesEvt({ - status: 'open' -}); - -$pwd.bind('input', function() { - if (trim($pwd.val()) === '') { - $btnOk.addClass('disable'); - } else { - $btnOk.removeClass('disable'); - } -}); - -$btnOk.on('touchstart', function() { - var pwd = trim($pwd.val()), - mobileBack = true, - setting, - url; - - if ($btnOk.hasClass('disable')) { - return; - } - - setting = { - password: pwd - }; - - if ($phoneNum.length === 0) { - mobileBack = false; - } - - if (mobileBack) { - $.extend(setting, { - phoneNum: $phoneNum.val(), - areaCode: $('#areaCode').val(), - token: $('#token').val() - }); - - url = '/passport/back/passwordByMobile'; - } else { - $.extend(setting, { - code: $('#email-code').val() - }); - - url = '/passport/back/passwordByEmail'; - } - - - if (api.pwdValidate(pwd)) { - $.ajax({ - type: 'POST', - url: url, - data: setting, - success: function(data) { - if (data.code === 200) { - showErrTip('密码修改成功'); - - //1000ms后跳转页面 - setTimeout(function() { - location.href = data.data; - }, 1000); - } else { - showErrTip(data.message); - } - } - }); - } else { - showErrTip('密码6-20位,请重新输入'); - } -}); -}); -define("js/passport/bind/bind", ["jquery","handlebars","source-map","hammer"], function(require, exports, module){ -/** - * 注册 - * @author: xuqi<qi.xu@yoho.cn> - * @date: 2015/10/8 - */ -var $ = require("jquery"); - -var $phoneNum = $('#phone-num'), - $countrySelect = $('#country-select'), - $areaCode = $('#area-code'), - $openId = $('#openId'), - $nickname = $('#nickname'), - $sourceType = $('#sourceType'), - $btnNext = $('#btn-next'); - -var api = require("js/passport/api"), - tip = require("js/plugin/tip"), - dialog = require("js/me/dialog"); - -var trim = $.trim; -var showErrTip = tip.show; - -var requested = false; - -function nextStep(url, mobileNo, areaCode) { - if (requested) { - return false; - } - - requested = true; - $btnNext.addClass('disable').html('绑定中...'); - - $.ajax({ - type: 'POST', - url: '/passport/bind/sendBindMsg', - data: { - phoneNum: mobileNo, - areaCode: areaCode.replace('+', '') - }, - success: function(res) { - - // console.log(res.data); - if (res.code === 200) { - location.href = url; - } else { - tip.show(res.message); - } - }, - error: function() { - tip.show('出错了,请重试!'); - $btnNext.removeClass('disable').html('下一步'); - requested = false; - } - }); -} - -api.selectCssHack($('#country-select')); - -api.bindClearEvt(); - -$phoneNum.bind('input', function() { - if (trim($phoneNum.val()) === '') { - $btnNext.addClass('disable'); - } else { - $btnNext.removeClass('disable'); - } -}); - -$countrySelect.change(function() { - $areaCode.text($countrySelect.val()); -}); - -$btnNext.on('touchstart', function() { - var pn = trim($phoneNum.val()), - openId = trim($openId.val()), - nickname = trim($nickname.val()), - sourceType = trim($sourceType.val()), - areaCode = $countrySelect.val(); - - if ($btnNext.hasClass('disable')) { - return; - } - - if (api.phoneRegx[areaCode].test(pn)) { - $.ajax({ - url: '/passport/bind/bindCheck', - type: 'POST', - data: { - areaCode: areaCode.replace('+', ''), - phoneNum: pn, - openId: openId, - sourceType: sourceType, - nickname: nickname - }, - success: function(res) { - - // console.log(res); - - //res : { - // code: 'xxx', - // data: { - // isReg: 0, - // next: 'xxxx' - // }, - // message: 'xxxx', - //} - - - if (res.code === 200) { - if (res.data.isReg === 1) { - dialog.showDialog({ - dialogText: '该手机号已注册过有货\n' + pn + ',确定绑定吗?', - hasFooter: { - leftBtnText: '更换号码', - rightBtnText: '继续绑定' - } - }, function() { - nextStep(res.data.next, pn, areaCode); - }); - } else if (res.data.isReg === 3) { - dialog.showDialog({ - dialogText: '该手机号已注册过有货\n' + pn + ',是否进行关联?', - hasFooter: { - leftBtnText: '更换号码', - rightBtnText: '确定' - } - }, function() { - nextStep(res.data.next, pn, areaCode); - }); - } else { - nextStep(res.data.next, pn, areaCode); - } - } else { - showErrTip(res.message); - } - } - }); - } else { - showErrTip('手机号格式不正确,请重新输入'); - } -}); - -}); -define("js/me/dialog", ["jquery","handlebars","source-map","hammer"], function(require, exports, module){ -/* - * @Description: dialog - * @Time: 2015/11/18 - * @author: chenglong.wang +/** + * 注册/找回密码-验证码 + * @author: xuqi<qi.xu@yoho.cn> + * @date: 2015/10/8 */ +var $ = require("jquery"); -var $ = require("jquery"), - Handlebars = require("handlebars"), - Hammer = require("hammer"); +module.exports = function(useInRegister, useForBind, useForRelate) { + var $captcha = $('#captcha'), + $btnNext = $('#btn-next'), + $captchaTip = $('#captcha-tip'), + nickname = $('#nickname').val(), + sourceType = $('#sourceType').val(), + openId = $('#openId').val(), + phoneNum = $('#phone-num').val(), + areaCode = $('#area-code').val().replace('+', ''); -var $dialogWrapper, - dialogTpl, - dialogTemplate; + var api = require("js/passport/api"); + var tip = require("js/plugin/tip"); -function getInstance() { - if (dialogTpl === undefined) { - dialogTpl = '<div id="dialog-wrapper" class="dialog-wrapper">' + - '<div class="dialog-box">' + - '{{# hasHeader}}' + - '{{/ hasHeader}}' + - '<div class="dialog-content">{{dialogText}}</div>' + - '{{# hasFooter}}' + - '<div class="dialog-footer">' + - '{{# leftBtnText}}' + - '<span class="dialog-left-btn tap-hightlight">{{.}}</span>' + - '{{/ leftBtnText}}' + - '{{# rightBtnText}}' + - '<span class="dialog-right-btn tap-hightlight">{{.}}</span>' + - '{{/ rightBtnText}}' + - '</div>' + - '{{/ hasFooter}}' + - '</div>' + - '</div>'; + var trim = $.trim; + var showErrTip = tip.show; - dialogTemplate = Handlebars.compile(dialogTpl); - } - return dialogTemplate; -} + var urlMid = useInRegister ? 'reg' : 'back'; -// fullWithBtn是供详情页获取限购码使用的特殊参数 -exports.showDialog = function(data, callback, callbackForLeft, fullWithBtn) { + var isReg = parseInt($('#isReg').val()); - var dialogTemplate = getInstance(), - dialogStr = dialogTemplate(data), - $dialogBox, - defaultHideDuraton, - dialogWrapperHammer; + function startBind() { + $.ajax({ + url: useForBind ? '/passport/bind/bindMobile' : '/passport/bind/relateMobile', + type: 'post', + data: { + areaCode: areaCode.replace('+', ''), + phoneNum: phoneNum, + openId: openId, + sourceType: sourceType, + nickname: nickname, + password: '', + code: trim($captcha.val()) + }, + success: function(res) { + if (res.code === 200) { + tip.show('登录成功'); + setTimeout(function() { + location.href = res.data.refer; + }, 2000); + } else { + tip.show(res.message); + } + }, + error: function(err) { + tip.show('登录失败,请重试!'); + } + }); + } - $('.dialog-wrapper').remove(); + function startReg() { + $.ajax({ + type: 'POST', + url: '/passport/' + urlMid + '/verifycode', + data: { + phoneNum: phoneNum, + areaCode: areaCode, + code: trim($captcha.val()), + token: $('#token').val() + }, + success: function(data) { + if (data.code === 200) { + location.href = data.data; + } else { - $('body').append($(dialogStr)); + //验证码不正确,显示提示 + showErrTip(data.message); + } - $dialogBox = $('.dialog-box'); - $dialogWrapper = $('.dialog-wrapper'); + } + }); + } + function countDown() { + var count = 59, + itime; - dialogWrapperHammer = new Hammer(document.getElementById('dialog-wrapper')); + itime = setInterval(function() { + if (count === 0) { + $captchaTip.text('重发验证码').removeClass('disable'); + clearInterval(itime); + } else { + $captchaTip.text('重发验证码 (' + count-- + '秒)'); + } + }, 1000); + } - // 显示 - if (data.fast) { - $dialogWrapper.css({ - display: 'block' - }); - } else { - $dialogWrapper.fadeIn(); - } - - if (fullWithBtn) { - $('.dialog-wrapper .dialog-footer > span').css('width', '100%'); - $('.dialog-wrapper .dialog-content').css({ - 'padding-left': '1.85rem', - 'padding-right': '1.85rem' - }); - $dialogWrapper.css('z-index', '10'); - } + api.bindClearEvt(); - $dialogBox.css({ - top: '50%', - marginTop: -($dialogBox.height() / 2) + $captcha.bind('input', function() { + if (trim($captcha.val()) !== '') { + $btnNext.removeClass('disable'); + } else { + $btnNext.addClass('disable'); + } }); - //隐藏 - if (data.autoHide) { - defaultHideDuraton = 1000; - if (data.autoHide > 1) { - defaultHideDuraton = data.autoHide; + //重新发送验证码 + $captchaTip.on('touchstart', function() { + if ($captchaTip.hasClass('disable')) { + return; } - setTimeout(function() { - $dialogWrapper.fadeOut(); - }, defaultHideDuraton); - } - //禁止在dialog上可以上下滚动 - $dialogWrapper.on('touchmove', function() { - return false; + $.ajax({ + type: 'POST', + url: (useForBind || useForRelate) ? '/passport/bind/sendBindMsg' : '/passport/' + urlMid + '/sendcode', + data: { + phoneNum: phoneNum, + areaCode: areaCode + }, + success: function(data) { + if (data.code === 200) { + $captchaTip.text('重发验证码 (60秒)').addClass('disable'); + countDown(); + } else { + + //验证码不正确,显示提示 + showErrTip(data.message); + } + } + }); }); - dialogWrapperHammer.on('tap', function(event) { + $btnNext.on('touchstart', function() { + if ($btnNext.hasClass('disable')) { + return; + } - if ($(event.target).hasClass('dialog-left-btn')) { - if (typeof callbackForLeft === 'function') { - callbackForLeft(); + if (useForBind || useForRelate) { + if (isReg) { + startBind(); + } else { + location.href = '/passport/bind/password?phoneNum=' + + phoneNum + '&areaCode=' + areaCode + '&openId=' + + openId + '&sourceType=' + sourceType + '&nickname=' + nickname + '&code=' + trim($captcha.val()); } - $dialogWrapper.fadeOut(); - } else if ($(event.target).hasClass('dialog-right-btn')) { - callback(); - } - // 防止出现点透问题 - event.preventDefault(); - event.srcEvent.stopPropagation(); + } else { + startReg(); + } }); -}; -exports.hideDialog = function() { - $('.dialog-wrapper').remove(); + countDown(); }; }); -define("js/passport/bind/code", ["jquery"], function(require, exports, module){ -/** - * 注册-验证码 - * @author: xuqi<qi.xu@yoho.cn> - * @date: 2015/10/8 - */ - -require("js/passport/code")(true, true); - +define("js/passport/register/password", ["jquery"], function(require, exports, module){ +/** + * 注册-密码 + * @author: xuqi<qi.xu@yoho.cn> + * @date: 2015/10/8 + */ +var $ = require("jquery"); + +var $pwd = $('#pwd'), + $btnSure = $('#btn-sure'); + +var api = require("js/passport/api"); +var tip = require("js/plugin/tip"); + +var trim = $.trim; +var showErrTip = tip.show; + +api.bindEyesEvt({ + status: 'open' //默认眼睛打开 +}); + +$pwd.bind('input', function() { + if (trim($pwd.val()) === '') { + $btnSure.addClass('disable'); + } else { + $btnSure.removeClass('disable'); + } +}); + +$btnSure.on('touchstart', function() { + var pwd = trim($pwd.val()); + + if ($btnSure.hasClass('disable')) { + return; + } + + if (api.pwdValidate(pwd) === false) { + showErrTip('密码6-20位,请重新输入'); + } else { + $.ajax({ + type: 'POST', + url: '/passport/reg/setpassword', + data: { + password: pwd, + phoneNum: $('#phone-num').val(), + areaCode: $('#area-code').val(), + token: $('#token').val() + }, + success: function(data) { + var res; + + if (data.code === 200) { + res = data.data; + showErrTip('注册成功'); + + $.ajax({ + url: res.session, + dataType: 'jsonp' + }); + + //1000ms后跳转页面 + setTimeout(function() { + location.href = res.href; + }, 1000); + } else { + showErrTip(data.message); + } + } + }); + } }); -define("js/passport/bind/password", ["jquery"], function(require, exports, module){ -/** - * 注册-密码 - * @author: xuqi<qi.xu@yoho.cn> - * @date: 2015/10/8 - */ -var $ = require("jquery"); - -var $pwd = $('#pwd'), - $btnSure = $('#btn-sure'); - -var api = require("js/passport/api"); -var tip = require("js/plugin/tip"); - -var trim = $.trim; -var showErrTip = tip.show; - -var nickname = $('#nickname').val(), - sourceType = $('#sourceType').val(), - openId = $('#openId').val(), - phoneNum = $('#phone-num').val(), - areaCode = $('#area-code').val().replace('+', ''), - code = $('#code').val(); - -function startBind(password) { - $.ajax({ - url: '/passport/bind/bindMobile', - type: 'post', - data: { - areaCode: areaCode.replace('+', ''), - phoneNum: phoneNum, - openId: openId, - sourceType: sourceType, - nickname: nickname, - password: password, - code: code - }, - success: function(res) { - if (res.code === 200) { - tip.show('登录成功'); - setTimeout(function() { - location.href = res.data.refer; - }, 2000); - } else { - tip.show(res.message); - } - }, - error: function(err) { - tip.show('登录失败,请重试!'); - } - }); -} - -api.bindEyesEvt({ - status: 'open' //默认眼睛打开 }); +define("js/passport/login/login", ["jquery"], function(require, exports, module){ +/** + * 登录 + * @author: xuqi<qi.xu@yoho.cn> + * @date: 2015/9/30 + */ +var $ = require("jquery"); + +var $account = $('#account'), + $pwd = $('#pwd'), + $loginBtn = $('#btn-login'), + + $mask = $('#retrive-pwd-mask'), + $ways = $('#retrive-pwd-ways'), + + accPass = false, + pwdPass = false; + +var api = require("js/passport/api"); +var tip = require("js/plugin/tip"); + +var trim = $.trim; +var showErrTip = tip.show; + +//登录按钮状态切换 +function switchLoginBtnStatus() { + if (accPass && pwdPass) { + $loginBtn.removeClass('disable'); + } else { + $loginBtn.addClass('disable'); + } +} + +//显示找回密码面板 +function showRetrivePanel() { + $mask.show(); + $ways.show(); +} + +//隐藏找回密码面板 +function hideRetrivePanel() { + $mask.hide(); + $ways.hide(); +} + +//密码显示与隐藏 +api.bindEyesEvt(); + +//清空账号输入框 +api.bindClearEvt(); + +$account.bind('input', function() { + if (trim($account.val()) !== '') { + accPass = true; + } else { + accPass = false; + } + switchLoginBtnStatus(); +}); + +$pwd.bind('input', function() { + if (trim($pwd.val()) === '') { + pwdPass = false; + } else { + pwdPass = true; + } + switchLoginBtnStatus(); +}); + + +// Login +$loginBtn.on('touchstart', function() { + var acc = trim($account.val()), + pwd = trim($pwd.val()); + + if ($loginBtn.hasClass('disable')) { + return; + } + + $loginBtn.text('正在登录...').addClass('disable'); + + //验证账号(数字或者邮箱)和密码合理性 + if ((/^[0-9]+$/.test(acc) || api.emailRegx.test(acc)) && api.pwdValidate(pwd)) { + $.ajax({ + type: 'POST', + url: '/passport/login/auth', + data: { + account: acc, + password: pwd + }, + success: function(data) { + var res; + + if (data.code === 200) { + res = data.data; + + showErrTip('登录成功'); + location.href = res.href; + } else { + showErrTip(data.message); + } + }, + error: function() { + showErrTip('网络断开连接啦~'); + }, + complete: function() { + $loginBtn.text('登录').removeClass('disable'); + } + }); + } else { + showErrTip('账号或密码有错误,请重新输入'); + $loginBtn.text('登录').removeClass('disable'); + } +}); + + +$('#forget-pwd').on('touchstart', function() { + showRetrivePanel(); +}); + +$mask.on('touchstart', function() { + hideRetrivePanel(); +}); + +$('#cancel-retrive').on('touchstart', function(e) { + e.preventDefault(); + hideRetrivePanel(); +}); + +//对初始有默认值的情况去初始化登录按钮状态 +$account.trigger('input'); +$pwd.trigger('input'); -$pwd.bind('input', function() { - if (trim($pwd.val()) === '') { - $btnSure.addClass('disable'); - } else { - $btnSure.removeClass('disable'); - } }); - -$btnSure.on('touchstart', function() { - var pwd = trim($pwd.val()); - - if ($btnSure.hasClass('disable')) { - return; - } - - if (api.pwdValidate(pwd) === false) { - showErrTip('密码6-20位,请重新输入'); - } else { - startBind(pwd); - } +define("js/passport/login/international", ["jquery"], function(require, exports, module){ +/** + * 国际账号登录 + * @author: xuqi<qi.xu@yoho.cn> + * @date: 2015/10/8 + */ +var $ = require("jquery"); + +var $phoneNum = $('#phone-num'), + $countrySelect = $('#country-select'), + $areaCode = $('#area-code'), + $pwd = $('#pwd'), + $loginBtn = $('#btn-login'), + + pnPass = false, + pwdPass = false; + +var api = require("js/passport/api"); +var tip = require("js/plugin/tip"); + +var trim = $.trim; +var showErrTip = tip.show; + +//登录按钮状态切换 +function switchLoginBtnStatus() { + if (pnPass && pwdPass) { + $loginBtn.removeClass('disable'); + } else { + $loginBtn.addClass('disable'); + } +} + +//Android-UC下显示select的direction:rtl无效的临时解决办法 +api.selectCssHack($countrySelect); + +//显示隐藏密码 +api.bindEyesEvt(); + +//清空手机号码 +api.bindClearEvt(); + +$phoneNum.bind('input', function() { + if (trim($phoneNum.val()) === '') { + pnPass = false; + } else { + pnPass = true; + } + + switchLoginBtnStatus(); +}); + +$pwd.bind('input', function() { + var pwd = trim($pwd.val()); + + if (pwd === '') { + pwdPass = false; + } else { + pwdPass = true; + } + + switchLoginBtnStatus(); +}); + +$countrySelect.change(function() { + $areaCode.text($countrySelect.val()); +}); + +$loginBtn.on('touchstart', function() { + var pn = trim($phoneNum.val()), + areaCode = $countrySelect.val(), + pwd = trim($pwd.val()); + + if ($loginBtn.hasClass('disable')) { + return; + } + + $loginBtn.text('正在登录...').addClass('disable'); + + if (api.phoneRegx[areaCode].test(pn) && api.pwdValidate(pwd)) { + $.ajax({ + type: 'POST', + url: '/passport/login/auth', + data: { + areaCode: areaCode.replace('+', ''), + account: pn, + password: pwd + }, + success: function(data) { + var res, + time; + + if (data.code === 200) { + res = data.data; + showErrTip('登录成功'); + + $.ajax({ + url: res.session, + dataType: 'jsonp', + success: function() { + clearTimeout(time); + + //Cookie写入成功后,1s后跳转页面 + setTimeout(function() { + location.href = res.href; + }, 1000); + } + }); + + //3秒后强制跳转 + time = setTimeout(function() { + location.href = res.href; + }, 3000); + + showErrTip('登录成功'); + } else { + showErrTip(data.message); + } + }, + error: function() { + showErrTip('网络断开连接啦~'); + }, + complete: function() { + $loginBtn.text('登录').removeClass('disable'); + } + }); + } else { + showErrTip('账号或密码有错误,请重新输入'); + $loginBtn.text('登录').removeClass('disable'); + } +}); + +//对初始有默认值的情况去初始化登录按钮状态 +$phoneNum.trigger('input'); +$pwd.trigger('input'); }); - +define("js/passport/back/mobile", ["jquery"], function(require, exports, module){ +/** + * 找回密码-手机 + * @author: xuqi<qi.xu@yoho.cn> + * @date: 2015/10/8 + */ +var $ = require("jquery"); + +var $phoneNum = $('#phone-num'), + $countrySelect = $('#country-select'), + $areaCode = $('#area-code'), + $btnNext = $('#btn-next'); + +var api = require("js/passport/api"); +var tip = require("js/plugin/tip"); + +var trim = $.trim; +var showErrTip = tip.show; + +api.selectCssHack($('#country-select')); + +api.bindClearEvt(); + +$phoneNum.bind('input', function() { + if (trim($phoneNum.val()) === '') { + $btnNext.addClass('disable'); + } else { + $btnNext.removeClass('disable'); + } +}); + +$countrySelect.change(function() { + $areaCode.text($countrySelect.val()); +}); + +$btnNext.on('touchstart', function() { + var pn = trim($phoneNum.val()), + area = $countrySelect.val(); + + if ($btnNext.hasClass('disable')) { + return; + } + + if (api.phoneRegx[area].test(pn)) { + $.ajax({ + url: '/passport/back/sendcode', + type: 'POST', + data: { + areaCode: area.replace('+', ''), + phoneNum: pn + }, + success: function(data) { + if (data.code === 200) { + location.href = data.data; + } else { + showErrTip(data.message); + } + } + }); + } else { + showErrTip('手机号格式不正确,请重新输入'); + } }); -define("js/passport/bind/relate", ["jquery"], function(require, exports, module){ -/** - * 关联手机号-验证码 - */ - -require("js/passport/code")(true, false, true); - }); -define("js/product/entry", ["jquery","swiper","mlellipsis","lazyload","hammer","handlebars","source-map","iscroll-probe","index"], function(require, exports, module){ -/** - * 产品打包入口 - * @author: liangzhifeng<zhifeng.liang@yoho.cn> - * @date: 2015/10/12 - */ - -require("js/product/newsale/newarrival"); -require("js/product/newsale/discount"); -require("js/product/list"); -require("js/product/detail/detail"); -require("js/product/detail/consultform"); -require("js/product/newsale/hot-rank"); -require("js/product/product-category"); -require("js/product/shop"); +define("js/passport/back/code", ["jquery"], function(require, exports, module){ +/** + * 找回密码-验证码 + * @author: xuqi<qi.xu@yoho.cn> + * @date: 2015/10/8 + */ + +require("js/passport/code")(false); }); -define("js/product/newsale/newarrival", ["jquery","swiper","mlellipsis","lazyload","hammer","index"], function(require, exports, module){ -/** - * 新品到着 - * @author: liangzhifeng<zhifeng.liang@yoho.cn> - * @date: 2015/10/24 - */ - -var $ = require("jquery"), - Swiper = require("swiper"), - ellipsis = require("mlellipsis"), - lazyLoad = require("lazyload"); - -var swiper, - $ngc, - $pgc, - $dgc; - -var tip = require("js/plugin/tip"), - filter = require("js/plugin/filter"), - loading = require("js/plugin/loading"); - -var $goodsContainer = $('#goods-container'), - $goodsChildren = $goodsContainer.children(), - $ngc = $($goodsChildren.get(0)), - $pgc = $($goodsChildren.get(1)).addClass('hide'), - $dgc = $($goodsChildren.get(2)).addClass('hide'); - -var winH = $(window).height(), - noResult = '<p class="no-result">未找到相关搜索结果</p>'; - -//默认筛选条件 -var defaultOpt = require("js/product/query-param"); - -var storeOpt = $.extend({}, defaultOpt); //存储默认筛选条件以便重置 - -var now = new Date(), - month = now.getMonth() + 1, - date = now.getDate(); - -var $listNav = $('#list-nav'), - - //导航数据信息 - navInfo = { - today: { - reload: true, - page: 0, - end: false - }, - week: { - reload: true, - page: 0, - end: false - }, - sale: { - reload: true, - page: 0, - end: false - } - }, - $pre = $listNav.find('.active'), //纪录进入筛选前的active项,初始为选中项 - searching; - -require("js/product/suspend-cart"); //悬浮购物车 - -ellipsis.init(); - -$('#today a').text(month + '月' + date + '号'); - -if ($('.swiper-container .swiper-slide').length > 1) { - swiper = new Swiper('.swiper-container', { - lazyLoading: true, - lazyLoadingInPrevNext: true, - loop: true, - autoplay: 3000, - autoplayDisableOnInteraction: true, - paginationClickable: true, - pagination: '.banner-top .pagination-inner' - }); -} - -/** - * 筛选注册的回调,筛选子项点击后逻辑 - * 需要执行search的场景:1.点选筛选项;2.relaod为true时切换导航;3.下拉加载 - * @param opt {type, id} - */ -function search(opt) { - var setting = {}, - ext, - att, - nav, navType, - dayLimit, - page; - - if (searching) { - return; - } - - if (opt) { - - //筛选项变更则重置reload为true - for (att in navInfo) { - if (navInfo.hasOwnProperty(att)) { - navInfo[att].reload = true; - } - } - - //处理active状态 - $listNav.children('.active').removeClass('active'); - $pre.addClass('active'); - - switch (opt.type) { - case 'gender': - ext = { - gender: opt.id - }; - break; - case 'brand': - ext = { - brand: opt.id - }; - break; - case 'sort': - ext = { - sort: opt.id - }; - break; - case 'color': - ext = { - color: opt.id - }; - break; - case 'size': - ext = { - size: opt.id - }; - break; - case 'price': - ext = { - price: opt.id - }; - break; - case 'discount': - ext = { - discount: opt.id - }; - break; - case 'limit': - ext = { - limit: opt.id - }; - break; - case 'channel': - ext = { - channel: opt.id - }; - break; - case 'p_d': - ext = { - p_d: opt.id - }; - break; - } - - $.extend(defaultOpt, ext); //扩展筛选项 - } - - //导航类别 - if ($pre.hasClass('today')) { - navType = 'today'; - dayLimit = 1; - } else if ($pre.hasClass('week')) { - navType = 'week'; - dayLimit = 2; - } else if ($pre.hasClass('sale')) { - navType = 'sale'; - dayLimit = 3; - } - - nav = navInfo[navType]; - - page = nav.page + 1; - if (nav.reload) { - page = 1; - } else if (nav.end) { - - //不需要重新加载并且数据请求结束 - return; - } - - $.extend(setting, defaultOpt, { - dayLimit: dayLimit, - page: page - }); - - searching = true; - loading.showLoadingMask(); - - $.ajax({ - type: 'GET', - url: '/product/newsale/selectNewSale', - data: setting, - success: function(data) { - var $container, - num; - - switch (navType) { - case 'today': - $container = $ngc; - break; - case 'week': - $container = $pgc; - break; - case 'sale': - $container = $dgc; - break; - } - - if (data === ' ') { - nav.end = true; - if (nav.reload) { - $container.html(noResult); - } - } else { - if (nav.reload) { - $container.html(data); - lazyLoad($container.find('.lazy')); - } else { - num = $container.find('.good-info').length; - $container.append(data); - - //lazy good-infos who append in - lazyLoad($container.find('.good-info:gt(' + (num - 1) + ') .lazy')); - } - - } - - nav.reload = false; - nav.page = page; - - searching = false; - loading.hideLoadingMask(); - - window.rePosFooter(); - - $('.good-detail-text .name').each(function() { - var $this = $(this), - $title = $this.find('a'); - - $title[0].mlellipsis(2); - }); - }, - error: function() { - tip.show('网络断开连接了~'); - searching = false; - loading.hideLoadingMask(); - } - }); - -} - -$.ajax({ - type: 'GET', - url: '/product/newsale/filter', - data: defaultOpt, - success: function(data) { - $goodsContainer.append(data); - - //初始化filter&注册filter回调 - filter.initFilter({ - fCbFn: search, - hCbFn: function() { - - //切换active状态到$pre上 - $pre.addClass('active'); - $pre.siblings('.filter').removeClass('active'); - } - }); - } -}); -lazyLoad($('.lazy')); - -$listNav.bind('contextmenu', function(e) { - return false; -}); - -//导航栏点击逻辑说明: -//1.点击非active项时切换active状态 -//2.价格和折扣active状态时继续点击切换排序 -//3.筛选无active时点击展开筛选面板 -//4.筛选有active时点击隐藏筛选面板并恢复点击筛选前active项的active状态 -//5.当前active为筛选并且点击其他项时,隐藏筛选面板 -// navHammer = new Hammer($listNav[0]); -$listNav.on('touchend touchcancel', function(e) { - var $this = $(e.target).closest('li'), - nav, - navType, - $active; - - e.preventDefault(); - if ($this.hasClass('filter')) { - - //筛选面板切换状态 - if ($this.hasClass('active')) { - filter.hideFilter(); - - //点击筛选钱的active项回复active - $pre.addClass('active'); - $this.removeClass('active'); - } else { - $pre = $this.siblings('.active'); - - $pre.removeClass('active'); - $this.addClass('active'); - filter.showFilter(); - } - } else { - - if ($this.hasClass('today')) { - navType = 'today'; - } else if ($this.hasClass('week')) { - navType = 'week'; - } else if ($this.hasClass('sale')) { - navType = 'sale'; - } - - nav = navInfo[navType]; - - if (!($this.hasClass('active'))) { - - $active = $this.siblings('.active'); - - $pre = $this; //$pre为除筛选导航的其他导航项,若当前active的为筛选,则把$pre置为当前点击项 - - if ($active.hasClass('filter')) { - - //若之前active项为筛选,则隐藏筛选面板 - filter.hideFilter(); - } else { - - //切换container显示 - $goodsContainer.children('.container:not(.hide)').addClass('hide'); - - switch (navType) { - case 'today': - $ngc.removeClass('hide'); - break; - - case 'week': - $pgc.removeClass('hide'); - break; - - case 'sale': - $dgc.removeClass('hide'); - break; - } - - //重置筛选项 - filter.resetFilter(); - defaultOpt = $.extend({}, storeOpt); - } - - $active.removeClass('active'); - $this.addClass('active'); - } - - if (nav.reload) { - search(); - } - } - e.stopPropagation(); +define("js/passport/back/email", ["jquery"], function(require, exports, module){ +/** + * 找回密码-邮箱找回 + * @author: xuqi<qi.xu@yoho.cn> + * @date: 2015/10/8 + */ +var $ = require("jquery"); + +var $email = $('#email'), + $btnSure = $('#btn-sure'); + +var api = require("js/passport/api"); +var tip = require("js/plugin/tip"); + +var trim = $.trim; +var showErrTip = tip.show; + +api.bindClearEvt(); + +$email.bind('input', function() { + if (trim($email.val()) === '') { + $btnSure.addClass('disable'); + } else { + $btnSure.removeClass('disable'); + } +}); + +$btnSure.on('touchstart', function() { + var email = trim($email.val()); + + if ($btnSure.hasClass('disable')) { + return; + } + + if (api.emailRegx.test(email)) { + $.ajax({ + url: '/passport/back/sendemail', + type: 'POST', + data: { + email: email + }, + success: function(data) { + if (data.code === 200) { + location.href = data.data; + } else { + showErrTip(data.message); + } + } + }); + } else { + showErrTip('邮箱格式不正确,请重新输入'); + } }); - -function scrollHandler() { - - //当scroll到1/4$goodsContainer高度后继续请求下一页数据 - if ($(window).scrollTop() + winH > - $(document).height() - 0.25 * $goodsContainer.height() - 50) { - if ($pre !== undefined) { - search(); - } - } -} - -//srcoll to load more -$(window).scroll(function() { - window.requestAnimationFrame(scrollHandler); }); - -//初始请求最新第一页数据 -search(); - -$listNav.on('touchstart', 'li', function(e) { - $(this).addClass('bytouch'); -}).on('touchend touchcancel', function() { - $listNav.find('li').removeClass('bytouch'); +define("js/passport/back/email-success", ["jquery"], function(require, exports, module){ +/** + * 找回密码-邮箱找回成功 + * @author: xuqi<qi.xu@yoho.cn> + * @date: 2015/10/8 + */ + +var $ = require("jquery"); + +var $resend = $('#resend'); + +var tip = require("js/plugin/tip"), + showTip = tip.show; + +$resend.on('touchstart', function(e) { + e.preventDefault(); + + $.ajax({ + url: $resend.data('url'), + type: 'GET', + success: function(data) { + showTip(data.message); + } + }); }); - }); -define("js/plugin/filter", ["jquery","hammer"], function(require, exports, module){ -/** - * 筛选JS - * 暴露三个接口:注册回调、显示filter、隐藏filter - * @author: xuqi<qi.xu@yoho.cn> - * @date: 2015/10/19 - */ - -var $ = require("jquery"), - Hammer = require("hammer"); - -var $filter; - -var fCbFn, hCbFn; //筛选和关闭的回调 - -var missStatus; //是否忽略选中状态 - -//隐藏筛选界面 -function hideFilter() { - $filter.addClass('hide'); -} - -//显示筛选界面 -function showFilter() { - $filter.removeClass('hide'); -} - -// 一级菜单点击时背景高亮 -function highlightMainItem() { - var $mainItem = $('.filter-body .classify'); - - $mainItem.on('touchstart', '.shower', function() { - $mainItem.removeClass('highlight'); - $(this).addClass('highlight'); - }).on('touchend touchcancel', '.shower', function() { - $(this).removeClass('highlight'); - }); -} - -// 子菜单点击时背景高亮 -function highlightSubItem() { - var $subItem = $('.filter-body .sub-item'); - - $subItem.on('touchstart', function() { - $subItem.removeClass('highlight'); - $(this).addClass('highlight'); - }).on('touchend touchcancel', function() { - $(this).removeClass('highlight'); - }); -} - -//主筛选项Tap事件句柄 -function classifyTapEvt($this) { - if ($this.hasClass('active')) { - return; - } - - $this.siblings('.active').removeClass('active'); - - $this.addClass('active'); -} - -//子筛选项选中处理 -function setSubClassify($this) { - var $sub = $this.closest('.sub-classify'); - - var $shower = $sub.siblings('.shower'); - - var html, shower; - - if ($this.hasClass('chosed')) { - return $sub; - } - - $sub.children('.chosed').removeClass('chosed'); - $this.addClass('chosed'); - - html = $.trim($this.html()); - - shower = $.trim($shower.html()); - - $shower.html( - shower.substring(0, shower.indexOf('</span>') + 7) + //拆分出shower的title - html.substring(0, html.indexOf('<i')) //拆分选中筛选值 - ); - - if ($this.index() === 0) { - $shower.addClass('default'); - } else { - $shower.removeClass('default'); - } - - return $sub; -} - -//子筛选项Tap句柄 -function subClassifyTapEvt($this) { - var id = $this.data('id'); - - var $sub; - - $sub = setSubClassify($this); - - if (fCbFn) { - fCbFn({ - type: $sub.data('type'), - id: id - }); - } - - hideFilter(); -} - -//初始化筛选 -function initFilter(opt) { - var filterHammer; - - //注册回调 - fCbFn = opt.fCbFn; - hCbFn = opt.hCbFn; - - missStatus = opt.missStatus; - - highlightMainItem(); - highlightSubItem(); - - $filter = $('.filter-mask'); - - filterHammer = new Hammer($filter[0]); - filterHammer.on('tap', function(e) { - var $this = $(e.target), - $cur; - - e.preventDefault();//防止透点 - - if ($this.closest('.filter-body').length > 0) { - $cur = $this.closest('.sub-item'); - if ($cur.length > 0) { - - //tap subclassify - $cur = $this.closest('li'); - - subClassifyTapEvt($cur); - } else { - - //tap classify - $cur = $this.closest('.classify-item'); - - e.srcEvent.stopPropagation(); - - classifyTapEvt($cur); - } - } else { - hideFilter(); - - if (hCbFn) { - hCbFn(); - } - } - }); - -} - -//重置筛选面板 -function resetFilter() { - if (typeof $filter === 'undefined') { - return; - } - - //重置子筛选项 - $('.sub-classify').each(function() { - setSubClassify($(this).children(':first-child')); - }); - - //重置主筛选项 - classifyTapEvt($('.classify > :first-child')); -} - -exports.initFilter = initFilter; - -exports.showFilter = showFilter; - -exports.hideFilter = hideFilter; - -exports.resetFilter = resetFilter; - +define("js/passport/back/new-password", ["jquery"], function(require, exports, module){ +/** + * 密码找回-新密码 + * @author: xuqi<qi.xu@yoho.cn> + * @date: 2015/10/8 + */ +var $ = require("jquery"); + +var $pwd = $('#pwd'), + $btnOk = $('#btn-ok'); + +var api = require("js/passport/api"); +var tip = require("js/plugin/tip"); + +var trim = $.trim; +var showErrTip = tip.show; + +var $phoneNum = $('#phone-num'); + +api.bindEyesEvt({ + status: 'open' +}); + +$pwd.bind('input', function() { + if (trim($pwd.val()) === '') { + $btnOk.addClass('disable'); + } else { + $btnOk.removeClass('disable'); + } +}); + +$btnOk.on('touchstart', function() { + var pwd = trim($pwd.val()), + mobileBack = true, + setting, + url; + + if ($btnOk.hasClass('disable')) { + return; + } + + setting = { + password: pwd + }; + + if ($phoneNum.length === 0) { + mobileBack = false; + } + + if (mobileBack) { + $.extend(setting, { + phoneNum: $phoneNum.val(), + areaCode: $('#areaCode').val(), + token: $('#token').val() + }); + + url = '/passport/back/passwordByMobile'; + } else { + $.extend(setting, { + code: $('#email-code').val() + }); + + url = '/passport/back/passwordByEmail'; + } + + + if (api.pwdValidate(pwd)) { + $.ajax({ + type: 'POST', + url: url, + data: setting, + success: function(data) { + if (data.code === 200) { + showErrTip('密码修改成功'); + + //1000ms后跳转页面 + setTimeout(function() { + location.href = data.data; + }, 1000); + } else { + showErrTip(data.message); + } + } + }); + } else { + showErrTip('密码6-20位,请重新输入'); + } }); -define("js/product/query-param", ["jquery"], function(require, exports, module){ -/** - * 提取查询参数 - * @author: xuqi<qi.xu@yoho.cn> - * @date: 2015/11/19 - */ - -var $ = require("jquery"), - opt = {}; - -$('.query-param').each(function() { - var $this = $(this); - - opt[$this.data('attr')] = $this.val(); }); +define("js/passport/bind/bind", ["jquery","handlebars","source-map","hammer"], function(require, exports, module){ +/** + * 注册 + * @author: xuqi<qi.xu@yoho.cn> + * @date: 2015/10/8 + */ +var $ = require("jquery"); + +var $phoneNum = $('#phone-num'), + $countrySelect = $('#country-select'), + $areaCode = $('#area-code'), + $openId = $('#openId'), + $nickname = $('#nickname'), + $sourceType = $('#sourceType'), + $btnNext = $('#btn-next'); + +var api = require("js/passport/api"), + tip = require("js/plugin/tip"), + dialog = require("js/me/dialog"); + +var trim = $.trim; +var showErrTip = tip.show; + +var requested = false; + +function nextStep(url, mobileNo, areaCode) { + if (requested) { + return false; + } + + requested = true; + $btnNext.addClass('disable').html('绑定中...'); + + $.ajax({ + type: 'POST', + url: '/passport/bind/sendBindMsg', + data: { + phoneNum: mobileNo, + areaCode: areaCode.replace('+', '') + }, + success: function(res) { + + // console.log(res.data); + if (res.code === 200) { + location.href = url; + } else { + tip.show(res.message); + } + }, + error: function() { + tip.show('出错了,请重试!'); + $btnNext.removeClass('disable').html('下一步'); + requested = false; + } + }); +} + +api.selectCssHack($('#country-select')); + +api.bindClearEvt(); + +$phoneNum.bind('input', function() { + if (trim($phoneNum.val()) === '') { + $btnNext.addClass('disable'); + } else { + $btnNext.removeClass('disable'); + } +}); + +$countrySelect.change(function() { + $areaCode.text($countrySelect.val()); +}); + +$btnNext.on('touchstart', function() { + var pn = trim($phoneNum.val()), + openId = trim($openId.val()), + nickname = trim($nickname.val()), + sourceType = trim($sourceType.val()), + areaCode = $countrySelect.val(); + + if ($btnNext.hasClass('disable')) { + return; + } + + if (api.phoneRegx[areaCode].test(pn)) { + $.ajax({ + url: '/passport/bind/bindCheck', + type: 'POST', + data: { + areaCode: areaCode.replace('+', ''), + phoneNum: pn, + openId: openId, + sourceType: sourceType, + nickname: nickname + }, + success: function(res) { + + // console.log(res); + + //res : { + // code: 'xxx', + // data: { + // isReg: 0, + // next: 'xxxx' + // }, + // message: 'xxxx', + //} + + + if (res.code === 200) { + if (res.data.isReg === 1) { + dialog.showDialog({ + dialogText: '该手机号已注册过有货\n' + pn + ',确定绑定吗?', + hasFooter: { + leftBtnText: '更换号码', + rightBtnText: '继续绑定' + } + }, function() { + nextStep(res.data.next, pn, areaCode); + }); + } else if (res.data.isReg === 3) { + dialog.showDialog({ + dialogText: '该手机号已注册过有货\n' + pn + ',是否进行关联?', + hasFooter: { + leftBtnText: '更换号码', + rightBtnText: '确定' + } + }, function() { + nextStep(res.data.next, pn, areaCode); + }); + } else { + nextStep(res.data.next, pn, areaCode); + } + } else { + showErrTip(res.message); + } + } + }); + } else { + showErrTip('手机号格式不正确,请重新输入'); + } +}); -module.exports = opt; }); -define("js/product/suspend-cart", ["jquery"], function(require, exports, module){ -/** - * 悬浮购物车 - * @author: xuqi<qi.xu@yoho.cn> - * @date: 2015/11/1 - */ - -var $ = require("jquery"); - -var $cart = $('#suspend-cart'); - -$.ajax({ - type: 'GET', - url: '/cart/index/count', - success: function(data) { - var count; - - if (data.code === 200) { - count = data.data.cart_goods_count; - if (count > 99) { - count = '99+'; - } - if (count === 0) { - $('.cart-count').remove(); - } - $cart.find('.cart-count').html(count).removeClass('hide'); - } - } -}); - -}); -define("js/product/newsale/discount", ["jquery","swiper","mlellipsis","lazyload","hammer","index"], function(require, exports, module){ -/** - * 商品列表页 - * @author: xuqi<qi.xu@yoho.cn> - * @date: 2015/10/20 - */ - -var $ = require("jquery"), - Swiper = require("swiper"), - ellipsis = require("mlellipsis"), - lazyLoad = require("lazyload"); - -var swiper; - -var tip = require("js/plugin/tip"), - filter = require("js/plugin/filter"), - loading = require("js/plugin/loading"); - -var $goodsContainer = $('#goods-container'), - $goodsChildren = $goodsContainer.children(), - $ngc = $($goodsChildren.get(0)), - $pgc = $($goodsChildren.get(1)), - $dgc = $($goodsChildren.get(2)); - -var winH = $(window).height(), - noResult = '<p class="no-result">未找到相关搜索结果</p>'; - -//默认筛选条件 -var defaultOpt = require("js/product/query-param"); - -var $listNav = $('#list-nav'), - - //导航数据信息 - navInfo = { - newest: { - order: 1, - reload: true, - page: 0, - end: false - }, - price: { - order: 1, - reload: true, - page: 0, - end: false - }, - discount: { - order: 1, - reload: true, - page: 0, - end: false - } - }, - $pre = $listNav.find('.active'), //纪录进入筛选前的active项,初始为选中项 - searching; - -require("js/product/suspend-cart"); //悬浮购物车 - -ellipsis.init(); - -if ($('.swiper-container .swiper-slide').length > 1) { - swiper = new Swiper('.swiper-container', { - lazyLoading: true, - lazyLoadingInPrevNext: true, - loop: true, - autoplay: 3000, - autoplayDisableOnInteraction: true, - paginationClickable: true, - pagination: '.banner-top .pagination-inner' - }); -} - -/** - * 筛选注册的回调,筛选子项点击后逻辑 - * 需要执行search的场景:1.点选筛选项;2.relaod为true时切换导航;3.下拉加载 - * @param opt {type, id} - */ -function search(opt) { - var setting = {}, - ext, - att, - nav, navType, - page; - - if (searching) { - return; - } - - if (opt) { - - //筛选项变更则重置reload为true - for (att in navInfo) { - if (navInfo.hasOwnProperty(att)) { - navInfo[att].reload = true; - } - } - - //处理active状态 - $listNav.children('.active').removeClass('active'); - $pre.addClass('active'); - - switch (opt.type) { - case 'gender': - ext = { - gender: opt.id - }; - break; - case 'brand': - ext = { - brand: opt.id - }; - break; - case 'sort': - ext = { - sort: opt.id - }; - break; - case 'color': - ext = { - color: opt.id - }; - break; - case 'size': - ext = { - size: opt.id - }; - break; - case 'price': - ext = { - price: opt.id - }; - break; - case 'discount': - ext = { - discount: opt.id - }; - break; - } - - $.extend(defaultOpt, ext); //扩展筛选项 - } - - - //导航类别 - if ($pre.hasClass('new')) { - navType = 'newest'; - } else if ($pre.hasClass('price')) { - navType = 'price'; - } else if ($pre.hasClass('discount')) { - navType = 'discount'; - } - - nav = navInfo[navType]; - - page = nav.page + 1; - if (nav.reload) { - page = 1; - } else if (nav.end) { - - //不需要重新加载并且数据请求结束 - return; - } - - $.extend(setting, defaultOpt, { - type: navType, - order: nav.order, - page: page - }); - - searching = true; - loading.showLoadingMask(); - - $.ajax({ - type: 'GET', - url: '/product/newsale/selectNewSale', - data: setting, - success: function(data) { - var $container, - num; - - switch (navType) { - case 'newest': - $container = $ngc; - break; - case 'price': - $container = $pgc; - break; - case 'discount': - $container = $dgc; - break; - } - - if (data === ' ') { - nav.end = true; - - if (nav.reload) { - $container.html(noResult); - } - } else { - if (nav.reload) { - $container.html(data); - lazyLoad($container.find('.lazy')); - } else { - num = $container.find('.good-info').length; - $container.append(data); - - //lazy good-infos who append in - lazyLoad($container.find('.good-info:gt(' + (num - 1) + ') .lazy')); - } - } - - nav.reload = false; - nav.page = page; - - searching = false; - loading.hideLoadingMask(); - - window.rePosFooter(); - - $('.good-detail-text .name').each(function() { - var $this = $(this), - $title = $this.find('a'); - - $title[0].mlellipsis(2); - }); - }, - error: function() { - tip.show('网络断开连接了~'); - searching = false; - loading.hideLoadingMask(); - } - }); - -} - -$.ajax({ - type: 'GET', - url: '/product/newsale/filter', - data: defaultOpt, - success: function(data) { - $goodsContainer.append(data); - - //初始化filter&注册filter回调 - filter.initFilter({ - fCbFn: search, - hCbFn: function() { - - //切换active状态到$pre上 - $pre.addClass('active'); - $pre.siblings('.filter').removeClass('active'); - }, - missStatus: true - }); - } -}); -lazyLoad($('.lazy')); - -//导航栏点击逻辑说明: -//1.点击非active项时切换active状态 -//2.价格和折扣active状态时继续点击切换排序 -//3.筛选无active时点击展开筛选面板 -//4.筛选有active时点击隐藏筛选面板并恢复点击筛选前active项的active状态 -//5.当前active为筛选并且点击其他项时,隐藏筛选面板 -$listNav.bind('contextmenu', function(e) { - return false; -}); - -$listNav.on('touchend touchcancel', function(e) { - var $this = $(e.target).closest('li'), - nav, - navType, - $active; - - e.preventDefault(); - - if (typeof $this === 'undefined' || $this.length === 0) { - return; - } - - if ($this.hasClass('filter')) { - - //筛选面板切换状态 - if ($this.hasClass('active')) { - filter.hideFilter(); - - //点击筛选钱的active项回复active - $pre.addClass('active'); - $this.removeClass('active'); - } else { - $pre = $this.siblings('.active'); - - $pre.removeClass('active'); - $this.addClass('active'); - - filter.showFilter(); - } - } else { - - if ($this.hasClass('new')) { - navType = 'newest'; - } else if ($this.hasClass('price')) { - navType = 'price'; - } else if ($this.hasClass('discount')) { - navType = 'discount'; - } - - nav = navInfo[navType]; - - if ($this.hasClass('active')) { - - //最新无排序切换 - if ($this.hasClass('new')) { - return; - } - - if ($this.hasClass('price') || $this.hasClass('discount')) { - - // 价格/折扣切换排序状态 - $this.find('.icon > .iconfont').toggleClass('cur'); - $pre = $this; //更新pre为当前项 - nav.reload = true; //重置reload,HTML会被替换为逆序的HTML - nav.order = nav.order === 0 ? 1 : 0; //切换排序 - } - } else { - $active = $this.siblings('.active'); - - $pre = $this; //$pre为除筛选导航的其他导航项,若当前active的为筛选,则把$pre置为当前点击项 - - if ($active.hasClass('filter')) { - - //若之前active项为筛选,则隐藏筛选面板 - filter.hideFilter(); - } else { - - //切换container显示 - $goodsContainer.children('.container:not(.hide)').addClass('hide'); - - switch (navType) { - case 'newest': - $ngc.removeClass('hide'); - break; - - case 'price': - $pgc.removeClass('hide'); - break; - - case 'discount': - $dgc.removeClass('hide'); - break; - } - } - - $active.removeClass('active'); - $this.addClass('active'); - } +define("js/me/dialog", ["jquery","handlebars","source-map","hammer"], function(require, exports, module){ +/* + * @Description: dialog + * @Time: 2015/11/18 + * @author: chenglong.wang + */ + +var $ = require("jquery"), + Handlebars = require("handlebars"), + Hammer = require("hammer"); + +var $dialogWrapper, + dialogTpl, + dialogTemplate; + +function getInstance() { + if (dialogTpl === undefined) { + dialogTpl = '<div id="dialog-wrapper" class="dialog-wrapper">' + + '<div class="dialog-box">' + + '{{# hasHeader}}' + + '{{/ hasHeader}}' + + '<div class="dialog-content">{{dialogText}}</div>' + + '{{# hasFooter}}' + + '<div class="dialog-footer">' + + '{{# leftBtnText}}' + + '<span class="dialog-left-btn tap-hightlight">{{.}}</span>' + + '{{/ leftBtnText}}' + + '{{# rightBtnText}}' + + '<span class="dialog-right-btn tap-hightlight">{{.}}</span>' + + '{{/ rightBtnText}}' + + '</div>' + + '{{/ hasFooter}}' + + '</div>' + + '</div>'; + + dialogTemplate = Handlebars.compile(dialogTpl); + } + return dialogTemplate; +} + +// fullWithBtn是供详情页获取限购码使用的特殊参数 +exports.showDialog = function(data, callback, callbackForLeft, fullWithBtn) { + + var dialogTemplate = getInstance(), + dialogStr = dialogTemplate(data), + $dialogBox, + defaultHideDuraton, + dialogWrapperHammer; + + $('.dialog-wrapper').remove(); + + $('body').append($(dialogStr)); + + $dialogBox = $('.dialog-box'); + $dialogWrapper = $('.dialog-wrapper'); + + + dialogWrapperHammer = new Hammer(document.getElementById('dialog-wrapper')); + + // 显示 + if (data.fast) { + $dialogWrapper.css({ + display: 'block' + }); + } else { + $dialogWrapper.fadeIn(); + } + + if (fullWithBtn) { + $('.dialog-wrapper .dialog-footer > span').css('width', '100%'); + $('.dialog-wrapper .dialog-content').css({ + 'padding-left': '1.85rem', + 'padding-right': '1.85rem' + }); + $dialogWrapper.css('z-index', '10'); + } + + $dialogBox.css({ + top: '50%', + marginTop: -($dialogBox.height() / 2) + }); + + //隐藏 + if (data.autoHide) { + defaultHideDuraton = 1000; + if (data.autoHide > 1) { + defaultHideDuraton = data.autoHide; + } + setTimeout(function() { + $dialogWrapper.fadeOut(); + }, defaultHideDuraton); + } + + //禁止在dialog上可以上下滚动 + $dialogWrapper.on('touchmove', function() { + return false; + }); + + dialogWrapperHammer.on('tap', function(event) { + + if ($(event.target).hasClass('dialog-left-btn')) { + if (typeof callbackForLeft === 'function') { + callbackForLeft(); + } + $dialogWrapper.fadeOut(); + } else if ($(event.target).hasClass('dialog-right-btn')) { + callback(); + } + + // 防止出现点透问题 + event.preventDefault(); + event.srcEvent.stopPropagation(); + }); +}; + +exports.hideDialog = function() { + $('.dialog-wrapper').remove(); +}; - if (nav.reload) { - search(); - } - } - e.stopPropagation(); }); +define("js/passport/bind/code", ["jquery"], function(require, exports, module){ +/** + * 注册-验证码 + * @author: xuqi<qi.xu@yoho.cn> + * @date: 2015/10/8 + */ + +require("js/passport/code")(true, true); -function scrollHandler() { - - //当scroll到1/4$goodsContainer高度后继续请求下一页数据 - if ($(window).scrollTop() + winH > - $(document).height() - 0.25 * $goodsContainer.height() - 50) { - if ($pre !== undefined) { - search(); - } - } -} - -//srcoll to load more -$(window).scroll(function() { - window.requestAnimationFrame(scrollHandler); }); +define("js/passport/bind/password", ["jquery"], function(require, exports, module){ +/** + * 注册-密码 + * @author: xuqi<qi.xu@yoho.cn> + * @date: 2015/10/8 + */ +var $ = require("jquery"); + +var $pwd = $('#pwd'), + $btnSure = $('#btn-sure'); + +var api = require("js/passport/api"); +var tip = require("js/plugin/tip"); + +var trim = $.trim; +var showErrTip = tip.show; + +var nickname = $('#nickname').val(), + sourceType = $('#sourceType').val(), + openId = $('#openId').val(), + phoneNum = $('#phone-num').val(), + areaCode = $('#area-code').val().replace('+', ''), + code = $('#code').val(); + +function startBind(password) { + $.ajax({ + url: '/passport/bind/bindMobile', + type: 'post', + data: { + areaCode: areaCode.replace('+', ''), + phoneNum: phoneNum, + openId: openId, + sourceType: sourceType, + nickname: nickname, + password: password, + code: code + }, + success: function(res) { + if (res.code === 200) { + tip.show('登录成功'); + setTimeout(function() { + location.href = res.data.refer; + }, 2000); + } else { + tip.show(res.message); + } + }, + error: function(err) { + tip.show('登录失败,请重试!'); + } + }); +} + +api.bindEyesEvt({ + status: 'open' //默认眼睛打开 +}); + +$pwd.bind('input', function() { + if (trim($pwd.val()) === '') { + $btnSure.addClass('disable'); + } else { + $btnSure.removeClass('disable'); + } +}); + +$btnSure.on('touchstart', function() { + var pwd = trim($pwd.val()); + + if ($btnSure.hasClass('disable')) { + return; + } + + if (api.pwdValidate(pwd) === false) { + showErrTip('密码6-20位,请重新输入'); + } else { + startBind(pwd); + } +}); -//初始请求最新第一页数据 -search(); - -$listNav.on('touchstart', 'li', function(e) { - $(this).addClass('bytouch'); -}).on('touchend touchcancel', function() { - $listNav.find('li').removeClass('bytouch'); }); +define("js/passport/bind/relate", ["jquery"], function(require, exports, module){ +/** + * 关联手机号-验证码 + */ + +require("js/passport/code")(true, false, true); }); -define("js/product/list", ["jquery","hammer","mlellipsis","lazyload"], function(require, exports, module){ -/** - * 商品列表页 - * @author: xuqi<qi.xu@yoho.cn> - * @date: 2015/10/20 - */ - -var $ = require("jquery"), - Hammer = require("hammer"), - ellipsis = require("mlellipsis"), - lazyLoad = require("lazyload"); - - -//品牌页参数 -var $brandHeader = $('#brand-header'), - $introBox = $('#intro-box'); - -var filter = require("js/plugin/filter"); - -var writeSearch = require("js/index/write-search"); - -var tip = require("js/plugin/tip"); -var loading = require("js/plugin/loading"); - -var $goodsContainer = $('#goods-container'), - $ngc = $goodsContainer.children('.new-goods'), - $pgc = $goodsContainer.children('.price-goods'), - $dgc = $goodsContainer.children('.discount-goods'); - -var winH = $(window).height(); - -var $input = $('#search-input input'), - $icon = $('.search-icon'), - $clear = $('#search-input .clear-input'); - -var shopId,sort,brand; - -//默认筛选条件 -var defaultOpt = require("js/product/query-param"); - -var $listNav = $('#list-nav'), - - //导航数据信息 - navInfo = { - newest: { - order: 1, - reload: true, - page: 0, - end: false - }, - price: { - order: 1, - reload: true, - page: 0, - end: false - }, - discount: { - order: 1, - reload: true, - page: 0, - end: false - } - }, - $pre = $listNav.find('.active'), //纪录进入筛选前的active项,初始为选中项 - searching, - btnIntroHammer, - introHammer, - brandColHammer; - -ellipsis.init(); - -$input.on('input', function() { - if ($input.val() === '') { - $icon.css('color', '#b2b2b2'); - $clear.addClass('hide'); - } else { - $icon.css('color', '#666'); - $clear.removeClass('hide'); - } +define("js/product/entry", ["jquery","swiper","mlellipsis","lazyload","hammer","handlebars","source-map","iscroll-probe","index"], function(require, exports, module){ +/** + * 产品打包入口 + * @author: liangzhifeng<zhifeng.liang@yoho.cn> + * @date: 2015/10/12 + */ + +require("js/product/newsale/newarrival"); +require("js/product/newsale/discount"); +require("js/product/list"); +require("js/product/detail/detail"); +require("js/product/detail/consultform"); +require("js/product/newsale/hot-rank"); +require("js/product/product-category"); +require("js/product/shop"); }); +define("js/product/newsale/newarrival", ["jquery","swiper","mlellipsis","lazyload","hammer","index"], function(require, exports, module){ +/** + * 新品到着 + * @author: liangzhifeng<zhifeng.liang@yoho.cn> + * @date: 2015/10/24 + */ + +var $ = require("jquery"), + Swiper = require("swiper"), + ellipsis = require("mlellipsis"), + lazyLoad = require("lazyload"); + +var swiper, + $ngc, + $pgc, + $dgc; + +var tip = require("js/plugin/tip"), + filter = require("js/plugin/filter"), + loading = require("js/plugin/loading"); + +var $goodsContainer = $('#goods-container'), + $goodsChildren = $goodsContainer.children(), + $ngc = $($goodsChildren.get(0)), + $pgc = $($goodsChildren.get(1)).addClass('hide'), + $dgc = $($goodsChildren.get(2)).addClass('hide'); + +var winH = $(window).height(), + noResult = '<p class="no-result">未找到相关搜索结果</p>'; + +//默认筛选条件 +var defaultOpt = require("js/product/query-param"); + +var storeOpt = $.extend({}, defaultOpt); //存储默认筛选条件以便重置 + +var now = new Date(), + month = now.getMonth() + 1, + date = now.getDate(); + +var $listNav = $('#list-nav'), + + //导航数据信息 + navInfo = { + today: { + reload: true, + page: 0, + end: false + }, + week: { + reload: true, + page: 0, + end: false + }, + sale: { + reload: true, + page: 0, + end: false + } + }, + $pre = $listNav.find('.active'), //纪录进入筛选前的active项,初始为选中项 + searching; + +require("js/product/suspend-cart"); //悬浮购物车 + +ellipsis.init(); + +$('#today a').text(month + '月' + date + '号'); + +if ($('.swiper-container .swiper-slide').length > 1) { + swiper = new Swiper('.swiper-container', { + lazyLoading: true, + lazyLoadingInPrevNext: true, + loop: true, + autoplay: 3000, + autoplayDisableOnInteraction: true, + paginationClickable: true, + pagination: '.banner-top .pagination-inner' + }); +} + +/** + * 筛选注册的回调,筛选子项点击后逻辑 + * 需要执行search的场景:1.点选筛选项;2.relaod为true时切换导航;3.下拉加载 + * @param opt {type, id} + */ +function search(opt) { + var setting = {}, + ext, + att, + nav, navType, + dayLimit, + page; + + if (searching) { + return; + } + + if (opt) { + + //筛选项变更则重置reload为true + for (att in navInfo) { + if (navInfo.hasOwnProperty(att)) { + navInfo[att].reload = true; + } + } + + //处理active状态 + $listNav.children('.active').removeClass('active'); + $pre.addClass('active'); + + switch (opt.type) { + case 'gender': + ext = { + gender: opt.id + }; + break; + case 'brand': + ext = { + brand: opt.id + }; + break; + case 'sort': + ext = { + sort: opt.id + }; + break; + case 'color': + ext = { + color: opt.id + }; + break; + case 'size': + ext = { + size: opt.id + }; + break; + case 'price': + ext = { + price: opt.id + }; + break; + case 'discount': + ext = { + discount: opt.id + }; + break; + case 'limit': + ext = { + limit: opt.id + }; + break; + case 'channel': + ext = { + channel: opt.id + }; + break; + case 'p_d': + ext = { + p_d: opt.id + }; + break; + } + + $.extend(defaultOpt, ext); //扩展筛选项 + } + + //导航类别 + if ($pre.hasClass('today')) { + navType = 'today'; + dayLimit = 1; + } else if ($pre.hasClass('week')) { + navType = 'week'; + dayLimit = 2; + } else if ($pre.hasClass('sale')) { + navType = 'sale'; + dayLimit = 3; + } + + nav = navInfo[navType]; + + page = nav.page + 1; + if (nav.reload) { + page = 1; + } else if (nav.end) { + + //不需要重新加载并且数据请求结束 + return; + } + + $.extend(setting, defaultOpt, { + dayLimit: dayLimit, + page: page + }); + + searching = true; + loading.showLoadingMask(); + + $.ajax({ + type: 'GET', + url: '/product/newsale/selectNewSale', + data: setting, + success: function(data) { + var $container, + num; + + switch (navType) { + case 'today': + $container = $ngc; + break; + case 'week': + $container = $pgc; + break; + case 'sale': + $container = $dgc; + break; + } + + if (data === ' ') { + nav.end = true; + if (nav.reload) { + $container.html(noResult); + } + } else { + if (nav.reload) { + $container.html(data); + lazyLoad($container.find('.lazy')); + } else { + num = $container.find('.good-info').length; + $container.append(data); + + //lazy good-infos who append in + lazyLoad($container.find('.good-info:gt(' + (num - 1) + ') .lazy')); + } + + } + + nav.reload = false; + nav.page = page; + + searching = false; + loading.hideLoadingMask(); + + window.rePosFooter(); + + $('.good-detail-text .name').each(function() { + var $this = $(this), + $title = $this.find('a'); + + $title[0].mlellipsis(2); + }); + }, + error: function() { + tip.show('网络断开连接了~'); + searching = false; + loading.hideLoadingMask(); + } + }); + +} + +$.ajax({ + type: 'GET', + url: '/product/newsale/filter', + data: defaultOpt, + success: function(data) { + $goodsContainer.append(data); + + //初始化filter&注册filter回调 + filter.initFilter({ + fCbFn: search, + hCbFn: function() { + + //切换active状态到$pre上 + $pre.addClass('active'); + $pre.siblings('.filter').removeClass('active'); + } + }); + } +}); +lazyLoad($('.lazy')); + +$listNav.bind('contextmenu', function(e) { + return false; +}); + +//导航栏点击逻辑说明: +//1.点击非active项时切换active状态 +//2.价格和折扣active状态时继续点击切换排序 +//3.筛选无active时点击展开筛选面板 +//4.筛选有active时点击隐藏筛选面板并恢复点击筛选前active项的active状态 +//5.当前active为筛选并且点击其他项时,隐藏筛选面板 +// navHammer = new Hammer($listNav[0]); +$listNav.on('touchend touchcancel', function(e) { + var $this = $(e.target).closest('li'), + nav, + navType, + $active; + + e.preventDefault(); + if ($this.hasClass('filter')) { + + //筛选面板切换状态 + if ($this.hasClass('active')) { + filter.hideFilter(); + + //点击筛选钱的active项回复active + $pre.addClass('active'); + $this.removeClass('active'); + } else { + $pre = $this.siblings('.active'); + + $pre.removeClass('active'); + $this.addClass('active'); + filter.showFilter(); + } + } else { + + if ($this.hasClass('today')) { + navType = 'today'; + } else if ($this.hasClass('week')) { + navType = 'week'; + } else if ($this.hasClass('sale')) { + navType = 'sale'; + } + + nav = navInfo[navType]; + + if (!($this.hasClass('active'))) { + + $active = $this.siblings('.active'); + + $pre = $this; //$pre为除筛选导航的其他导航项,若当前active的为筛选,则把$pre置为当前点击项 + + if ($active.hasClass('filter')) { + + //若之前active项为筛选,则隐藏筛选面板 + filter.hideFilter(); + } else { + + //切换container显示 + $goodsContainer.children('.container:not(.hide)').addClass('hide'); + + switch (navType) { + case 'today': + $ngc.removeClass('hide'); + break; + + case 'week': + $pgc.removeClass('hide'); + break; + + case 'sale': + $dgc.removeClass('hide'); + break; + } + + //重置筛选项 + filter.resetFilter(); + defaultOpt = $.extend({}, storeOpt); + } + + $active.removeClass('active'); + $this.addClass('active'); + } + + if (nav.reload) { + search(); + } + } + e.stopPropagation(); +}); + +function scrollHandler() { + + //当scroll到1/4$goodsContainer高度后继续请求下一页数据 + if ($(window).scrollTop() + winH > + $(document).height() - 0.25 * $goodsContainer.height() - 50) { + if ($pre !== undefined) { + search(); + } + } +} + +//srcoll to load more +$(window).scroll(function() { + window.requestAnimationFrame(scrollHandler); +}); + +//初始请求最新第一页数据 +search(); + +$listNav.on('touchstart', 'li', function(e) { + $(this).addClass('bytouch'); +}).on('touchend touchcancel', function() { + $listNav.find('li').removeClass('bytouch'); +}); -$clear.on('touchend', function() { - $input.val('').trigger('input'); -}); - -/** - * 手动触发搜索 - */ -$('#search').on('touchend', function() { - $(this).closest('form').submit(); - return false; -}); - -/** - * 获取url参数 - */ -function getQueryString(name) { - var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i'); - var r = window.location.search.substr(1).match(reg); - - if (r != null) { - return window.unescape(r[2]); - } - return null; -} - -shopId = getQueryString('shop_id'); -sort = getQueryString('sort'); - -/** - * 筛选注册的回调,筛选子项点击后逻辑 - * 需要执行search的场景:1.点选筛选项;2.relaod为true时切换导航;3.下拉加载 - * @param opt {type, id} - */ -function search(opt) { - var setting = {}, - ext, - att, - nav, navType, - page, - $this, - $title, - params; - - if (searching) { - return; - } - - if (opt) { - - //筛选项变更则重置reload为true - for (att in navInfo) { - if (navInfo.hasOwnProperty(att)) { - navInfo[att].reload = true; - } - } - - //处理active状态 - $listNav.children('.active').removeClass('active'); - $pre.addClass('active'); - - switch (opt.type) { - case 'shop_id': - ext = { - shop_id: opt.id - }; - break; - case 'gender': - ext = { - gender: opt.id - }; - break; - case 'brand': - ext = { - brand: opt.id - }; - break; - case 'sort': - ext = { - sort: opt.id - }; - break; - case 'color': - ext = { - color: opt.id - }; - break; - case 'size': - ext = { - size: opt.id - }; - break; - case 'price': - ext = { - price: opt.id - }; - break; - case 'discount': - ext = { - discount: opt.id - }; - break; - } - - $.extend(defaultOpt, ext); //扩展筛选项 - } - - //导航类别 - if ($pre.hasClass('new')) { - navType = 'newest'; - } else if ($pre.hasClass('price')) { - navType = 'price'; - } else if ($pre.hasClass('discount')) { - navType = 'discount'; - } - - nav = navInfo[navType]; - - page = nav.page + 1; - if (nav.reload) { - page = 1; - } else if (nav.end) { - - //不需要重新加载并且数据请求结束 - return; - } - - params = { - type: navType, - order: nav.order, - page: page - }; - - if (shopId) { - params.shop_id = shopId; - } - - if (sort) { - params.sort = sort; - } - - if (brand) { - params.brand = brand; - } - - $.extend(setting, defaultOpt, params); - - searching = true; - loading.showLoadingMask(); - - $.ajax({ - type: 'GET', - url: '/index/search/search', - data: setting, - success: function(data) { - var noResult = '<p class="no-result">未找到相关搜索结果</p>', - num, - $container; - - switch (navType) { - case 'newest': - $container = $ngc; - break; - case 'price': - $container = $pgc; - break; - case 'discount': - $container = $dgc; - break; - } - - if (data === ' ') { - nav.end = true; - - if (nav.reload) { - $container.html(noResult); - } - } else { - if (nav.reload) { - $container.html(data); - lazyLoad($container.find('.lazy')); - } else { - num = $container.find('.good-info').length; - $container.append(data); - - //lazy good-infos who append in - lazyLoad($container.find('.good-info:gt(' + (num - 1) + ') .lazy')); - } - - } - - nav.reload = false; - nav.page = page; - - searching = false; - loading.hideLoadingMask(); - - window.rePosFooter(); - - $('.good-detail-text .name').each(function() { - $this = $(this); - $title = $this.find('a'); - - $title[0].mlellipsis(2); - }); - - // 用于统计点击了商品列表的第几个商品,序号从1开始计算。 - if (window._yas) { - switch (navType) { - case 'newest': - window._yas(1 * new Date(), '1.0.15', 'yohobuy_m', window._ozuid, - '', $('.new-goods .good-info .good-detail-img .good-thumb')); - break; - case 'price': - window._yas(1 * new Date(), '1.0.15', 'yohobuy_m', window._ozuid, - '', $('.price-goods .good-info .good-detail-img .good-thumb')); - break; - case 'discount': - window._yas(1 * new Date(), '1.0.15', 'yohobuy_m', window._ozuid, - '', $('.discount-goods .good-info .good-detail-img .good-thumb')); - break; - } - } - } - }); - -} - -require("js/product/suspend-cart"); //悬浮购物车 - -$.ajax({ - type: 'GET', - url: '/search/filter', - data: defaultOpt, - success: function(data) { - $goodsContainer.append(data); - - //初始化filter&注册filter回调 - filter.initFilter({ - fCbFn: search, - hCbFn: function() { - - //切换active状态到$pre上 - $pre.addClass('active'); - $pre.siblings('.filter').removeClass('active'); - } - }); - } }); +define("js/plugin/filter", ["jquery","hammer"], function(require, exports, module){ +/** + * 筛选JS + * 暴露三个接口:注册回调、显示filter、隐藏filter + * @author: xuqi<qi.xu@yoho.cn> + * @date: 2015/10/19 + */ + +var $ = require("jquery"), + Hammer = require("hammer"); + +var $filter; + +var fCbFn, hCbFn; //筛选和关闭的回调 + +var missStatus; //是否忽略选中状态 + +//隐藏筛选界面 +function hideFilter() { + $filter.addClass('hide'); +} + +//显示筛选界面 +function showFilter() { + $filter.removeClass('hide'); +} + +// 一级菜单点击时背景高亮 +function highlightMainItem() { + var $mainItem = $('.filter-body .classify'); + + $mainItem.on('touchstart', '.shower', function() { + $mainItem.removeClass('highlight'); + $(this).addClass('highlight'); + }).on('touchend touchcancel', '.shower', function() { + $(this).removeClass('highlight'); + }); +} + +// 子菜单点击时背景高亮 +function highlightSubItem() { + var $subItem = $('.filter-body .sub-item'); + + $subItem.on('touchstart', function() { + $subItem.removeClass('highlight'); + $(this).addClass('highlight'); + }).on('touchend touchcancel', function() { + $(this).removeClass('highlight'); + }); +} + +//主筛选项Tap事件句柄 +function classifyTapEvt($this) { + if ($this.hasClass('active')) { + return; + } + + $this.siblings('.active').removeClass('active'); + + $this.addClass('active'); +} + +//子筛选项选中处理 +function setSubClassify($this) { + var $sub = $this.closest('.sub-classify'); + + var $shower = $sub.siblings('.shower'); + + var html, shower; + + if ($this.hasClass('chosed')) { + return $sub; + } + + $sub.children('.chosed').removeClass('chosed'); + $this.addClass('chosed'); + + html = $.trim($this.html()); + + shower = $.trim($shower.html()); + + $shower.html( + shower.substring(0, shower.indexOf('</span>') + 7) + //拆分出shower的title + html.substring(0, html.indexOf('<i')) //拆分选中筛选值 + ); + + if ($this.index() === 0) { + $shower.addClass('default'); + } else { + $shower.removeClass('default'); + } + + return $sub; +} + +//子筛选项Tap句柄 +function subClassifyTapEvt($this) { + var id = $this.data('id'); + + var $sub; + + $sub = setSubClassify($this); + + if (fCbFn) { + fCbFn({ + type: $sub.data('type'), + id: id + }); + } + + hideFilter(); +} + +//初始化筛选 +function initFilter(opt) { + var filterHammer; + + //注册回调 + fCbFn = opt.fCbFn; + hCbFn = opt.hCbFn; + + missStatus = opt.missStatus; + + highlightMainItem(); + highlightSubItem(); + + $filter = $('.filter-mask'); + + filterHammer = new Hammer($filter[0]); + filterHammer.on('tap', function(e) { + var $this = $(e.target), + $cur; + + e.preventDefault();//防止透点 + + if ($this.closest('.filter-body').length > 0) { + $cur = $this.closest('.sub-item'); + if ($cur.length > 0) { + + //tap subclassify + $cur = $this.closest('li'); + + subClassifyTapEvt($cur); + } else { + + //tap classify + $cur = $this.closest('.classify-item'); + + e.srcEvent.stopPropagation(); + + classifyTapEvt($cur); + } + } else { + hideFilter(); + + if (hCbFn) { + hCbFn(); + } + } + }); + +} + +//重置筛选面板 +function resetFilter() { + if (typeof $filter === 'undefined') { + return; + } + + //重置子筛选项 + $('.sub-classify').each(function() { + setSubClassify($(this).children(':first-child')); + }); + + //重置主筛选项 + classifyTapEvt($('.classify > :first-child')); +} + +exports.initFilter = initFilter; + +exports.showFilter = showFilter; + +exports.hideFilter = hideFilter; + +exports.resetFilter = resetFilter; -lazyLoad($('.lazy')); - -writeSearch.bindWirteLocal($('#search-form')); - -//导航栏点击逻辑说明: -//1.点击非active项时切换active状态 -//2.价格和折扣active状态时继续点击切换排序 -//3.筛选无active时点击展开筛选面板 -//4.筛选有active时点击隐藏筛选面板并恢复点击筛选前active项的active状态 -//5.当前active为筛选并且点击其他项时,隐藏筛选面板 - -$listNav.bind('contextmenu', function(e) { - return false; }); - -$listNav.on('touchend touchcancel', function(e) { - var $this = $(e.target).closest('li'), - nav, - navType, - $active; - - if ($this.hasClass('filter')) { - - //筛选面板切换状态 - if ($this.hasClass('active')) { - filter.hideFilter(); - - //点击筛选钱的active项回复active - $pre.addClass('active'); - $this.removeClass('active'); - } else { - $pre = $this.siblings('.active'); - - $pre.removeClass('active'); - $this.addClass('active'); - - filter.showFilter(); - } - } else { - - if ($this.hasClass('new')) { - navType = 'newest'; - } else if ($this.hasClass('price')) { - navType = 'price'; - } else if ($this.hasClass('discount')) { - navType = 'discount'; - } - - nav = navInfo[navType]; - - if ($this.hasClass('active')) { - - //最新无排序切换 - if ($this.hasClass('new')) { - return; - } - - if ($this.hasClass('price') || $this.hasClass('discount')) { - - // 价格/折扣切换排序状态 - $this.find('.icon > .iconfont').toggleClass('cur'); - $pre = $this; //更新pre为当前项 - nav.reload = true; //重置reload,HTML会被替换为逆序的HTML - nav.order = nav.order === 0 ? 1 : 0; //切换排序 - } - } else { - $active = $this.siblings('.active'); - - $pre = $this; //$pre为除筛选导航的其他导航项,若当前active的为筛选,则把$pre置为当前点击项 - - if ($active.hasClass('filter')) { - - //若之前active项为筛选,则隐藏筛选面板 - filter.hideFilter(); - } else { - - //切换container显示 - $goodsContainer.children('.container:not(.hide)').addClass('hide'); - - switch (navType) { - case 'newest': - $ngc.removeClass('hide'); - break; - - case 'price': - $pgc.removeClass('hide'); - break; - - case 'discount': - $dgc.removeClass('hide'); - break; - } - } - - $active.removeClass('active'); - $this.addClass('active'); - } - - if (nav.reload) { - search(); - } - } -}); - -function scrollHandler() { - - //当scroll到1/4$goodsContainer高度后继续请求下一页数据 - if ($(window).scrollTop() + winH > - $(document).height() - 0.25 * $goodsContainer.height()) { - search(); - } -} - -//srcoll to load more -$(window).scroll(function() { - window.requestAnimationFrame(scrollHandler); -}); - -if ($brandHeader.length > 0) { - - //品牌介绍 - btnIntroHammer = new Hammer($brandHeader.children('.btn-intro')[0]); - btnIntroHammer.on('tap', function() { - $introBox.removeClass('hide'); - - //防止混合scroll发生 - $('body').addClass('overflow-hidden'); - }); - - //关闭品牌介绍 - introHammer = new Hammer(document.getElementById('intro-box')); - introHammer.on('tap', function(e) { - var $this = $(e.target); - - e.srcEvent.preventDefault(); - - //关闭品牌介绍box - if ($this.closest('#brand-intro').length === 0 || $this.hasClass('close-intro')) { - $introBox.addClass('hide'); - $('body').removeClass('overflow-hidden'); - } - }); - - //品牌收藏 - brandColHammer = new Hammer($brandHeader.children('.btn-col')[0]); - brandColHammer.on('tap', function(e) { - var $this = $(e.target).closest('.btn-col'); - - var id = $brandHeader.data('id'), - opt; - - if ($this.hasClass('coled')) { - opt = 'cancel'; - } else { - opt = 'ok'; - } - - $.ajax({ - type: 'POST', - url: '/product/opt/favoriteBrand', - data: { - id: id, - opt: opt - }, - success: function(data) { - if (data.code === 200) { - $this.toggleClass('coled'); - - //提示 - if (opt === 'ok') { - tip.show('添加收藏成功'); - } else { - tip.show('取消收藏成功'); - } - } else if (data.code === 400) { - location.href = data.data;//未登录跳转登录页 - } else { - tip.show(data.message); - } - }, - error: function() { - tip.show('网络断开连接了~'); - } - }); - }); -} - -//初始请求最新第一页数据 -search(); - -$listNav.on('touchstart', 'li', function() { - $listNav.find('li').removeClass('bytouch'); - $(this).addClass('bytouch'); -}).on('touchend touchcancel', 'li', function() { - $listNav.find('li').removeClass('bytouch'); -}); - -}); -define("js/product/detail/detail", ["jquery","swiper","hammer","lazyload","handlebars","source-map","index"], function(require, exports, module){ -/** - * 商品详情 - * @author: liangzhifeng<zhifeng.liang@yoho.cn> - * @date: 2015/10/20 - */ -var $ = require("jquery"), - Swiper = require("swiper"), - Hammer = require("hammer"), - lazyLoad = require("lazyload"); - -var goodsSwiper, - $discountFolder = $('.goodsDiscount .discount-folder'), - $discountArrow = $('.goodsDiscount .first-item span'); - -var goodsDiscountEl = document.getElementById('goodsDiscount'), - goodsDiscountHammer = goodsDiscountEl && new Hammer(goodsDiscountEl), - $discountFirstItem = $(goodsDiscountEl).find('.first-item'); - -var $cart = $('.cart-bar'); - -var appUrl = $('input[name="limitCodeUrl"]').val(); - -var dialog = require("js/me/dialog"); - - -//add extra marign-bottom for footer to show the yoho copyright -function showFooter() { - var $cartBar = $('.cart-bar'); - - var timer = setInterval(function() { - if ($cartBar) { - window.reMarginFooter('.cart-bar'); - clearInterval(timer); - } else { - $cartBar = $('.cart-bar'); - } - }, 200); -} - -showFooter(); - -require("js/product/detail/like"); - -lazyLoad($('img.lazy')); - -if ($('#goodsDiscount h1').length < 1) { - $('.dropdown').remove(); -} - -//顶部swiper -goodsSwiper = new Swiper('.banner-swiper', { - lazyLoading: true, - lazyLoadingInPrevNext: true, - paginationClickable: true, - pagination: '.banner-top .pagination-inner', - nextButton: '.my-swiper-button-next', - prevButton: '.my-swiper-button-prev', - spaceBetween: 3 -}); - - -//初始化goods-discount -if (0 === $discountFolder.children().length) { - $discountFolder.css('display', 'none'); - $discountArrow.html(''); -} - -//goods-discount下拉按钮点击事件 -if (goodsDiscountHammer && $discountFolder.children().length > 0) { - goodsDiscountHammer.on('tap', function(e) { - if ($discountFolder.is(':hidden')) { - $discountFirstItem.removeClass('short-text'); - $discountArrow.removeClass('icon-down').addClass('icon-up').html(''); - $discountFolder.slideDown(); - } else { - $discountFirstItem.addClass('short-text'); - $discountArrow.removeClass('icon-up').addClass('icon-down').html(''); - $discountFolder.slideUp(); - } - }); -} - -$('#limit-sale').on('touchend', function(e) { - var loginUrl = $('#loginUrl').val(), - time, - ifr; - - e.stopPropagation(); - - if(loginUrl) { - window.location = loginUrl; - } else { - dialog.showDialog({ - dialogText: '进入有货APP,获取限购码', - hasFooter: { - rightBtnText: '打开Yoho!Buy有货APP' - } - }, function() { - ifr = document.createElement('iframe'); - ifr.src = appUrl; - ifr.style.display = 'none'; - document.body.appendChild(ifr); - window.location.href = appUrl; - - time = Date.now(); - window.setTimeout(function() { - document.body.removeChild(ifr); - if (Date.now()- time < 3200) { - window.location.href = 'http://a.app.qq.com/o/simple.jsp?pkgname=com.yoho'; - } - }, 3000); - - }, undefined, true); - - $('.dialog-wrapper').off('touchstart').on('touchstart', function(e) { - e.stopPropagation(); - if ($(e.target).hasClass('dialog-wrapper')) { - dialog.hideDialog(); - } - }); - } -}); - -require("js/product/detail/desc"); -require("js/product/detail/comments-consults"); -require("js/product/recommend-for-you-product-desc"); - -//购物车商品数量 -$.ajax({ - type: 'GET', - url: '/cart/index/count', - success: function(data) { - var count; - - if (data.code === 200) { - count = data.data.cart_goods_count || 0; - if (count === 0) { - return false; - } - if (count > 99) { - count = '99+'; - } - $cart.find('.num-tag').html(count).removeClass('hide'); - } - } -}); - -if ($('.good-detail-page').length > 0) { - $('#yoho-footer').css('border-top', '1px solid #e0e0e0'); -} - - - -}); -define("js/product/detail/like", ["jquery"], function(require, exports, module){ -/** - * 商品详情 --添加收藏 - * @author: Lynnic - * @date: 2015/11/24 - */ - - -var $ = require("jquery"), - tip = require("js/plugin/tip"), - chosePanel = require("js/cart/chose-panel"); - -var productId = $('#productId').val(); - -var skn = $('#productSkn').val(), - productCode = $('#limitProductCode').val(); - -$('#likeBtn').on('touchstart', function() { - var opt, - favorite; - - var $this = $(this); - - if ($this.hasClass('liked')) { - opt = 'cancel'; - favorite = 0; - } else { - opt = 'ok'; - favorite = 1; - } - - $.ajax({ - type: 'POST', - url: '/product/opt/favoriteProduct', - data: { - id: productId, - opt: opt - }, - success: function(data) { - if (data.code === 200) { - $this.toggleClass('liked'); - - if ('cancel' === opt) { - tip.show('取消收藏成功'); - } else if ('ok' === opt) { - tip.show('收藏成功'); - } - } else if (data.code === 400) { - location.href = data.data;//未登录跳转登录页 - } else { - tip.show(data.message); - } - }, - error: function() { - tip.show('网络断开连接了~'); - } - }); - - // 统计代码:用于统计用户加入或取消商品收藏的动作 - if (window._yas) { - window._yas.sendCustomInfo({ - pd: productId, - fa: favorite - }, true); - } - - return false; +define("js/product/query-param", ["jquery"], function(require, exports, module){ +/** + * 提取查询参数 + * @author: xuqi<qi.xu@yoho.cn> + * @date: 2015/11/19 + */ + +var $ = require("jquery"), + opt = {}; + +$('.query-param').each(function() { + var $this = $(this); + + opt[$this.data('attr')] = $this.val(); +}); + +module.exports = opt; }); +define("js/product/suspend-cart", ["jquery"], function(require, exports, module){ +/** + * 悬浮购物车 + * @author: xuqi<qi.xu@yoho.cn> + * @date: 2015/11/1 + */ + +var $ = require("jquery"); + +var $cart = $('#suspend-cart'); + +$.ajax({ + type: 'GET', + url: '/cart/index/count', + success: function(data) { + var count; + + if (data.code === 200) { + count = data.data.cart_goods_count; + if (count > 99) { + count = '99+'; + } + if (count === 0) { + $('.cart-count').remove(); + } + $cart.find('.cart-count').html(count).removeClass('hide'); + } + } +}); -$('#addtoCart').on('touchstart', function() { - $('.cart-bar').hide(); - productCode && chosePanel.setLimitGoodModeWithSknId(productCode, skn); - chosePanel.show(); - - //统计代码:用于统计用户加入购物车的动作 - if (window._yas) { - window._yas.sendCustomInfo({ - pd: productId, - by: 1 - }, true); - } - - return false; }); +define("js/product/newsale/discount", ["jquery","swiper","mlellipsis","lazyload","hammer","index"], function(require, exports, module){ +/** + * 商品列表页 + * @author: xuqi<qi.xu@yoho.cn> + * @date: 2015/10/20 + */ + +var $ = require("jquery"), + Swiper = require("swiper"), + ellipsis = require("mlellipsis"), + lazyLoad = require("lazyload"); + +var swiper; + +var tip = require("js/plugin/tip"), + filter = require("js/plugin/filter"), + loading = require("js/plugin/loading"); + +var $goodsContainer = $('#goods-container'), + $goodsChildren = $goodsContainer.children(), + $ngc = $($goodsChildren.get(0)), + $pgc = $($goodsChildren.get(1)), + $dgc = $($goodsChildren.get(2)); + +var winH = $(window).height(), + noResult = '<p class="no-result">未找到相关搜索结果</p>'; + +//默认筛选条件 +var defaultOpt = require("js/product/query-param"); + +var $listNav = $('#list-nav'), + + //导航数据信息 + navInfo = { + newest: { + order: 1, + reload: true, + page: 0, + end: false + }, + price: { + order: 1, + reload: true, + page: 0, + end: false + }, + discount: { + order: 1, + reload: true, + page: 0, + end: false + } + }, + $pre = $listNav.find('.active'), //纪录进入筛选前的active项,初始为选中项 + searching; + +require("js/product/suspend-cart"); //悬浮购物车 + +ellipsis.init(); + +if ($('.swiper-container .swiper-slide').length > 1) { + swiper = new Swiper('.swiper-container', { + lazyLoading: true, + lazyLoadingInPrevNext: true, + loop: true, + autoplay: 3000, + autoplayDisableOnInteraction: true, + paginationClickable: true, + pagination: '.banner-top .pagination-inner' + }); +} + +/** + * 筛选注册的回调,筛选子项点击后逻辑 + * 需要执行search的场景:1.点选筛选项;2.relaod为true时切换导航;3.下拉加载 + * @param opt {type, id} + */ +function search(opt) { + var setting = {}, + ext, + att, + nav, navType, + page; + + if (searching) { + return; + } + + if (opt) { + + //筛选项变更则重置reload为true + for (att in navInfo) { + if (navInfo.hasOwnProperty(att)) { + navInfo[att].reload = true; + } + } + + //处理active状态 + $listNav.children('.active').removeClass('active'); + $pre.addClass('active'); + + switch (opt.type) { + case 'gender': + ext = { + gender: opt.id + }; + break; + case 'brand': + ext = { + brand: opt.id + }; + break; + case 'sort': + ext = { + sort: opt.id + }; + break; + case 'color': + ext = { + color: opt.id + }; + break; + case 'size': + ext = { + size: opt.id + }; + break; + case 'price': + ext = { + price: opt.id + }; + break; + case 'discount': + ext = { + discount: opt.id + }; + break; + } + + $.extend(defaultOpt, ext); //扩展筛选项 + } + + + //导航类别 + if ($pre.hasClass('new')) { + navType = 'newest'; + } else if ($pre.hasClass('price')) { + navType = 'price'; + } else if ($pre.hasClass('discount')) { + navType = 'discount'; + } + + nav = navInfo[navType]; + + page = nav.page + 1; + if (nav.reload) { + page = 1; + } else if (nav.end) { + + //不需要重新加载并且数据请求结束 + return; + } + + $.extend(setting, defaultOpt, { + type: navType, + order: nav.order, + page: page + }); + + searching = true; + loading.showLoadingMask(); + + $.ajax({ + type: 'GET', + url: '/product/newsale/selectNewSale', + data: setting, + success: function(data) { + var $container, + num; + + switch (navType) { + case 'newest': + $container = $ngc; + break; + case 'price': + $container = $pgc; + break; + case 'discount': + $container = $dgc; + break; + } + + if (data === ' ') { + nav.end = true; + + if (nav.reload) { + $container.html(noResult); + } + } else { + if (nav.reload) { + $container.html(data); + lazyLoad($container.find('.lazy')); + } else { + num = $container.find('.good-info').length; + $container.append(data); + + //lazy good-infos who append in + lazyLoad($container.find('.good-info:gt(' + (num - 1) + ') .lazy')); + } + } + + nav.reload = false; + nav.page = page; + + searching = false; + loading.hideLoadingMask(); + + window.rePosFooter(); + + $('.good-detail-text .name').each(function() { + var $this = $(this), + $title = $this.find('a'); + + $title[0].mlellipsis(2); + }); + }, + error: function() { + tip.show('网络断开连接了~'); + searching = false; + loading.hideLoadingMask(); + } + }); + +} + +$.ajax({ + type: 'GET', + url: '/product/newsale/filter', + data: defaultOpt, + success: function(data) { + $goodsContainer.append(data); + + //初始化filter&注册filter回调 + filter.initFilter({ + fCbFn: search, + hCbFn: function() { + + //切换active状态到$pre上 + $pre.addClass('active'); + $pre.siblings('.filter').removeClass('active'); + }, + missStatus: true + }); + } +}); +lazyLoad($('.lazy')); + +//导航栏点击逻辑说明: +//1.点击非active项时切换active状态 +//2.价格和折扣active状态时继续点击切换排序 +//3.筛选无active时点击展开筛选面板 +//4.筛选有active时点击隐藏筛选面板并恢复点击筛选前active项的active状态 +//5.当前active为筛选并且点击其他项时,隐藏筛选面板 +$listNav.bind('contextmenu', function(e) { + return false; +}); + +$listNav.on('touchend touchcancel', function(e) { + var $this = $(e.target).closest('li'), + nav, + navType, + $active; + + e.preventDefault(); + + if (typeof $this === 'undefined' || $this.length === 0) { + return; + } + + if ($this.hasClass('filter')) { + + //筛选面板切换状态 + if ($this.hasClass('active')) { + filter.hideFilter(); + + //点击筛选钱的active项回复active + $pre.addClass('active'); + $this.removeClass('active'); + } else { + $pre = $this.siblings('.active'); + + $pre.removeClass('active'); + $this.addClass('active'); + + filter.showFilter(); + } + } else { + + if ($this.hasClass('new')) { + navType = 'newest'; + } else if ($this.hasClass('price')) { + navType = 'price'; + } else if ($this.hasClass('discount')) { + navType = 'discount'; + } + + nav = navInfo[navType]; + + if ($this.hasClass('active')) { + + //最新无排序切换 + if ($this.hasClass('new')) { + return; + } + + if ($this.hasClass('price') || $this.hasClass('discount')) { + + // 价格/折扣切换排序状态 + $this.find('.icon > .iconfont').toggleClass('cur'); + $pre = $this; //更新pre为当前项 + nav.reload = true; //重置reload,HTML会被替换为逆序的HTML + nav.order = nav.order === 0 ? 1 : 0; //切换排序 + } + } else { + $active = $this.siblings('.active'); + + $pre = $this; //$pre为除筛选导航的其他导航项,若当前active的为筛选,则把$pre置为当前点击项 + + if ($active.hasClass('filter')) { + + //若之前active项为筛选,则隐藏筛选面板 + filter.hideFilter(); + } else { + + //切换container显示 + $goodsContainer.children('.container:not(.hide)').addClass('hide'); + + switch (navType) { + case 'newest': + $ngc.removeClass('hide'); + break; + + case 'price': + $pgc.removeClass('hide'); + break; + + case 'discount': + $dgc.removeClass('hide'); + break; + } + } + + $active.removeClass('active'); + $this.addClass('active'); + } + + if (nav.reload) { + search(); + } + } + e.stopPropagation(); +}); + +function scrollHandler() { + + //当scroll到1/4$goodsContainer高度后继续请求下一页数据 + if ($(window).scrollTop() + winH > + $(document).height() - 0.25 * $goodsContainer.height() - 50) { + if ($pre !== undefined) { + search(); + } + } +} + +//srcoll to load more +$(window).scroll(function() { + window.requestAnimationFrame(scrollHandler); +}); + +//初始请求最新第一页数据 +search(); + +$listNav.on('touchstart', 'li', function(e) { + $(this).addClass('bytouch'); +}).on('touchend touchcancel', function() { + $listNav.find('li').removeClass('bytouch'); +}); }); -define("js/cart/chose-panel", ["jquery"], function(require, exports, module){ -/** - * 购物车选择尺寸、颜色和数量面板 - * 显示时构造当前商品信息的HTML插入yoho-page;消失则是直接清除HTML - * @author: xuqi<qi.xu@yoho.cn> - * @date: 2015/10/21 - */ - - -// bikai -// 增加init函数,异步请求的接口需要重新初始化一下选择列表 -// 异步渲染的模板统一插入 #chose-panel ,兼容页面多个选择框 - -var $ = require("jquery"), - tip = require("js/plugin/tip"), - loading = require("js/plugin/loading"); - -var innerScroll = require("js/plugin/inner-scroll"); - -var $chosePanel = $('#chose-panel'), - $num, - $chosed, - $imgsThumb, - $leftNum, - leftNum, - confirming, - curColorIndex, - curSizeIndex, - hasChooseColor, - hasChooseSize, - $curSizeBlock, - $sizeRowList, - $curColorBlock, - $colorRowList, - cbFn, - $allChoseItems, - queryString, - $choseArea, - $cartBar, - $soonSoldOut = $('.soonSoldOut-tag'), - $yohoPage = $('.yoho-page'); - -// 购物车编辑标相关变量 -var isEdit, - isSelected, - oldSknId; - -// 限购商品的商品码。只有限购商品时才会设置。 -var limitProductCode, - - // 限购商品的skn。只有限购商品时才会设置。 - skn; - -//禁用数字编辑 -function disableNumEdit() { - var $numBtn = $('.chose-panel').find('.num .btn>.iconfont'); - - //添加disabled样式 - $numBtn.hasClass('disabled') ? null : $numBtn.addClass('disabled'); - - $yohoPage.off('touchstart', '.btn-minus'); - $yohoPage.off('touchstart', '.btn-plus'); -} - -// 初始化购物车面板显示 -function init() { - hasChooseColor = false; - hasChooseSize = false; - $curSizeBlock = null; - queryString = $.queryString(); - $imgsThumb = $('.chose-panel').find('.thumb'); - $choseArea = $('.chose-panel .main .chose-items'); - $allChoseItems = $('.chose-items'); - $sizeRowList = $('.size-list ul'); - $colorRowList = $('.color-list ul'); - $leftNum = $('#left-num'); - $cartBar = $('.cart-bar'); - curColorIndex = 0; - curSizeIndex = 0; - isEdit = 0; -} - -/* - * 设置当前面板为编辑模式 - * - * @param {String} sknId. 当前编辑商品的sknId - * - * @param {Bool} isThisGoodSelected. 当前编辑商品的在购物车中是否被选中 - * - * @return {undefined} - */ -function setEditModeWithSknId(sknId, isThisGoodSelected) { - $('#chose-btn-sure').html('确认'); - isEdit = 1; - oldSknId = sknId; - isSelected = isThisGoodSelected; -} - -/* - * 设置当前面板为限购商品模式 - * - * @param {String} code 当前限购商品的商品码 - * - * @param {String} sknId. 当前限购商品的sknId - * - * @return {undefined} - */ -function setLimitGoodModeWithSknId(code, sknId) { - disableNumEdit(); - $('#chose-btn-sure').html('立即购买'); - limitProductCode = code; - skn = sknId; -} - -//删除面板 -function removePannel() { - var $pannel = $('.chose-panel'), - $promotionId = $('#promotionId'); - - if ($pannel) { - $pannel.remove(); - } - - if ($promotionId) { - $promotionId.remove(); - } -} - -function checkColorSizeNum() { - if (!hasChooseColor && !hasChooseSize) { - tip.show('请选择颜色和尺码~'); - return false; - } else if (!hasChooseColor) { - tip.show('请选择颜色~'); - return false; - } else if (!hasChooseSize) { - tip.show('请选择尺码~'); - return false; - } - return true; -} - - - -function show(html, cb) { - if (html) { - $chosePanel.html(html); - if ($('#promotionId').val() !== '') { - disableNumEdit(); - } - init(); - } - - $('.chose-panel').show(); - $num = $('#good-num'); - cbFn = cb; - - - innerScroll.disableScroll($choseArea); -} - -//隐藏当前Panel -function hide() { - $('.chose-panel').hide(); - innerScroll.enableScroll($choseArea); - - if ($cartBar.length > 0) { - $cartBar.show(); - } -} - -//修改加入购物车的文字和背景 -function updateConformButtonClassAndText() { - $chosed = $allChoseItems.find('.chosed'); - if (2 === $chosed.closest('.zero-stock').length) { - $('#chose-btn-sure').css('background-color', '#c0c0c0').html('已售罄'); - } else if (limitProductCode) { - $('#chose-btn-sure').css('background-color', '#eb0313').html('立即购买'); - } else { - $('#chose-btn-sure').css('background-color', '#eb0313').html(isEdit ? '确认' : '加入购物车'); - } -} - -//显示剩余件数 -function displayGoodNum(curGoodNum) { - - //数量大于0 - if (curGoodNum > 0) { - if ($soonSoldOut.length > 0) { - $allChoseItems.find('.num .left-num').html('即将售罄'); - } else { - $allChoseItems.find('.num .left-num').html('剩余' + curGoodNum + '件'); - } - - $leftNum.val(curGoodNum); - - //数量小于0 - } else { - $allChoseItems.find('.num .left-num').html(''); - $leftNum.val(0); - } -} - -//老的选中尺码去掉勾选,新的选中尺码加上勾选 -function changeSizeChosed(newSizeIndex) { - var sizes, - queryString, - i; - - if (curColorIndex && $curSizeBlock && $curSizeBlock.length > 0) { - $curSizeBlock.removeClass('chosed'); - sizes = $sizeRowList.eq(newSizeIndex).children(); - for (i = 0; i < sizes.length; i++) { - if ($(sizes[i]).data('id') === $curSizeBlock.data('id')) { - $curSizeBlock = $(sizes[i]); - queryString = '#' + $curSizeBlock.data('id'); - curColorIndex = $(queryString).data('index'); - $curSizeBlock.addClass('chosed'); - return $curSizeBlock.data('num'); - } - } - - //特殊处理: 老的选中尺码在新选中的颜色对应尺码中不存在,需要下述1,2,3 - // 1.重置尺码选择的标志变量. - $curSizeBlock = null; - hasChooseSize = false; - - // 2.当前颜色行隐藏 - $colorRowList.eq(curColorIndex).addClass('hide'); - - // 3.目标颜色行第一行显示 - $colorRowList.eq(0).removeClass('hide'); - curColorIndex = 0; - - return -1; - } - return 0; -} - -//老的选中颜色去掉勾选,新的选中颜色加上勾选 -function changeColorChosed(newColorIndex) { - if (curSizeIndex && $curColorBlock && $curColorBlock.length > 0) { - $curColorBlock.removeClass('chosed'); - $curColorBlock = $($colorRowList.eq(newColorIndex).children().get(curSizeIndex - 1)); - $curColorBlock.addClass('chosed'); - return $curColorBlock.data('num'); - } - return 0; -} - -init(); - - -$yohoPage.on('touchstart', '.chose-panel', function(e) { - var $cur = $(e.target); - - if ($cur.closest('.main').length > 0) { - return; - } - - //点击蒙版消失 - hide(); +define("js/product/list", ["jquery","hammer","mlellipsis","lazyload"], function(require, exports, module){ +/** + * 商品列表页 + * @author: xuqi<qi.xu@yoho.cn> + * @date: 2015/10/20 + */ + +var $ = require("jquery"), + Hammer = require("hammer"), + ellipsis = require("mlellipsis"), + lazyLoad = require("lazyload"); + + +//品牌页参数 +var $brandHeader = $('#brand-header'), + $introBox = $('#intro-box'); + +var filter = require("js/plugin/filter"); + +var writeSearch = require("js/index/write-search"); + +var tip = require("js/plugin/tip"); +var loading = require("js/plugin/loading"); + +var $goodsContainer = $('#goods-container'), + $ngc = $goodsContainer.children('.new-goods'), + $pgc = $goodsContainer.children('.price-goods'), + $dgc = $goodsContainer.children('.discount-goods'); + +var winH = $(window).height(); + +var $input = $('#search-input input'), + $icon = $('.search-icon'), + $clear = $('#search-input .clear-input'); + +var shopId,sort,brand; + +//默认筛选条件 +var defaultOpt = require("js/product/query-param"); + +var $listNav = $('#list-nav'), + + //导航数据信息 + navInfo = { + newest: { + order: 1, + reload: true, + page: 0, + end: false + }, + price: { + order: 1, + reload: true, + page: 0, + end: false + }, + discount: { + order: 1, + reload: true, + page: 0, + end: false + } + }, + $pre = $listNav.find('.active'), //纪录进入筛选前的active项,初始为选中项 + searching, + btnIntroHammer, + introHammer, + brandColHammer; + +ellipsis.init(); + +$input.on('input', function() { + if ($input.val() === '') { + $icon.css('color', '#b2b2b2'); + $clear.addClass('hide'); + } else { + $icon.css('color', '#666'); + $clear.removeClass('hide'); + } +}); + +$clear.on('touchend', function() { + $input.val('').trigger('input'); +}); + +/** + * 手动触发搜索 + */ +$('#search').on('touchend', function() { + $(this).closest('form').submit(); + return false; +}); + +/** + * 获取url参数 + */ +function getQueryString(name) { + var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i'); + var r = window.location.search.substr(1).match(reg); + + if (r != null) { + return window.unescape(r[2]); + } + return null; +} + +shopId = getQueryString('shop_id'); +sort = getQueryString('sort'); + +/** + * 筛选注册的回调,筛选子项点击后逻辑 + * 需要执行search的场景:1.点选筛选项;2.relaod为true时切换导航;3.下拉加载 + * @param opt {type, id} + */ +function search(opt) { + var setting = {}, + ext, + att, + nav, navType, + page, + $this, + $title, + params; + + if (searching) { + return; + } + + if (opt) { + + //筛选项变更则重置reload为true + for (att in navInfo) { + if (navInfo.hasOwnProperty(att)) { + navInfo[att].reload = true; + } + } + + //处理active状态 + $listNav.children('.active').removeClass('active'); + $pre.addClass('active'); + + switch (opt.type) { + case 'shop_id': + ext = { + shop_id: opt.id + }; + break; + case 'gender': + ext = { + gender: opt.id + }; + break; + case 'brand': + ext = { + brand: opt.id + }; + break; + case 'sort': + ext = { + sort: opt.id + }; + break; + case 'color': + ext = { + color: opt.id + }; + break; + case 'size': + ext = { + size: opt.id + }; + break; + case 'price': + ext = { + price: opt.id + }; + break; + case 'discount': + ext = { + discount: opt.id + }; + break; + } + + $.extend(defaultOpt, ext); //扩展筛选项 + } + + //导航类别 + if ($pre.hasClass('new')) { + navType = 'newest'; + } else if ($pre.hasClass('price')) { + navType = 'price'; + } else if ($pre.hasClass('discount')) { + navType = 'discount'; + } + + nav = navInfo[navType]; + + page = nav.page + 1; + if (nav.reload) { + page = 1; + } else if (nav.end) { + + //不需要重新加载并且数据请求结束 + return; + } + + params = { + type: navType, + order: nav.order, + page: page + }; + + if (shopId) { + params.shop_id = shopId; + } + + if (sort) { + params.sort = sort; + } + + if (brand) { + params.brand = brand; + } + + $.extend(setting, defaultOpt, params); + + searching = true; + loading.showLoadingMask(); + + $.ajax({ + type: 'GET', + url: '/index/search/search', + data: setting, + success: function(data) { + var noResult = '<p class="no-result">未找到相关搜索结果</p>', + num, + $container; + + switch (navType) { + case 'newest': + $container = $ngc; + break; + case 'price': + $container = $pgc; + break; + case 'discount': + $container = $dgc; + break; + } + + if (data === ' ') { + nav.end = true; + + if (nav.reload) { + $container.html(noResult); + } + } else { + if (nav.reload) { + $container.html(data); + lazyLoad($container.find('.lazy')); + } else { + num = $container.find('.good-info').length; + $container.append(data); + + //lazy good-infos who append in + lazyLoad($container.find('.good-info:gt(' + (num - 1) + ') .lazy')); + } + + } + + nav.reload = false; + nav.page = page; + + searching = false; + loading.hideLoadingMask(); + + window.rePosFooter(); + + $('.good-detail-text .name').each(function() { + $this = $(this); + $title = $this.find('a'); + + $title[0].mlellipsis(2); + }); + + // 用于统计点击了商品列表的第几个商品,序号从1开始计算。 + if (window._yas) { + switch (navType) { + case 'newest': + window._yas(1 * new Date(), '1.0.15', 'yohobuy_m', window._ozuid, + '', $('.new-goods .good-info .good-detail-img .good-thumb')); + break; + case 'price': + window._yas(1 * new Date(), '1.0.15', 'yohobuy_m', window._ozuid, + '', $('.price-goods .good-info .good-detail-img .good-thumb')); + break; + case 'discount': + window._yas(1 * new Date(), '1.0.15', 'yohobuy_m', window._ozuid, + '', $('.discount-goods .good-info .good-detail-img .good-thumb')); + break; + } + } + } + }); + +} + +require("js/product/suspend-cart"); //悬浮购物车 + +$.ajax({ + type: 'GET', + url: '/search/filter', + data: defaultOpt, + success: function(data) { + $goodsContainer.append(data); + + //初始化filter&注册filter回调 + filter.initFilter({ + fCbFn: search, + hCbFn: function() { + + //切换active状态到$pre上 + $pre.addClass('active'); + $pre.siblings('.filter').removeClass('active'); + } + }); + } +}); + +lazyLoad($('.lazy')); + +writeSearch.bindWirteLocal($('#search-form')); + +//导航栏点击逻辑说明: +//1.点击非active项时切换active状态 +//2.价格和折扣active状态时继续点击切换排序 +//3.筛选无active时点击展开筛选面板 +//4.筛选有active时点击隐藏筛选面板并恢复点击筛选前active项的active状态 +//5.当前active为筛选并且点击其他项时,隐藏筛选面板 + +$listNav.bind('contextmenu', function(e) { + return false; +}); + +$listNav.on('touchend touchcancel', function(e) { + var $this = $(e.target).closest('li'), + nav, + navType, + $active; + + if ($this.hasClass('filter')) { + + //筛选面板切换状态 + if ($this.hasClass('active')) { + filter.hideFilter(); + + //点击筛选钱的active项回复active + $pre.addClass('active'); + $this.removeClass('active'); + } else { + $pre = $this.siblings('.active'); + + $pre.removeClass('active'); + $this.addClass('active'); + + filter.showFilter(); + } + } else { + + if ($this.hasClass('new')) { + navType = 'newest'; + } else if ($this.hasClass('price')) { + navType = 'price'; + } else if ($this.hasClass('discount')) { + navType = 'discount'; + } + + nav = navInfo[navType]; + + if ($this.hasClass('active')) { + + //最新无排序切换 + if ($this.hasClass('new')) { + return; + } + + if ($this.hasClass('price') || $this.hasClass('discount')) { + + // 价格/折扣切换排序状态 + $this.find('.icon > .iconfont').toggleClass('cur'); + $pre = $this; //更新pre为当前项 + nav.reload = true; //重置reload,HTML会被替换为逆序的HTML + nav.order = nav.order === 0 ? 1 : 0; //切换排序 + } + } else { + $active = $this.siblings('.active'); + + $pre = $this; //$pre为除筛选导航的其他导航项,若当前active的为筛选,则把$pre置为当前点击项 + + if ($active.hasClass('filter')) { + + //若之前active项为筛选,则隐藏筛选面板 + filter.hideFilter(); + } else { + + //切换container显示 + $goodsContainer.children('.container:not(.hide)').addClass('hide'); + + switch (navType) { + case 'newest': + $ngc.removeClass('hide'); + break; + + case 'price': + $pgc.removeClass('hide'); + break; + + case 'discount': + $dgc.removeClass('hide'); + break; + } + } + + $active.removeClass('active'); + $this.addClass('active'); + } + + if (nav.reload) { + search(); + } + } +}); + +function scrollHandler() { + + //当scroll到1/4$goodsContainer高度后继续请求下一页数据 + if ($(window).scrollTop() + winH > + $(document).height() - 0.25 * $goodsContainer.height()) { + search(); + } +} + +//srcoll to load more +$(window).scroll(function() { + window.requestAnimationFrame(scrollHandler); +}); + +if ($brandHeader.length > 0) { + + //品牌介绍 + btnIntroHammer = new Hammer($brandHeader.children('.btn-intro')[0]); + btnIntroHammer.on('tap', function() { + $introBox.removeClass('hide'); + + //防止混合scroll发生 + $('body').addClass('overflow-hidden'); + }); + + //关闭品牌介绍 + introHammer = new Hammer(document.getElementById('intro-box')); + introHammer.on('tap', function(e) { + var $this = $(e.target); + + e.srcEvent.preventDefault(); + + //关闭品牌介绍box + if ($this.closest('#brand-intro').length === 0 || $this.hasClass('close-intro')) { + $introBox.addClass('hide'); + $('body').removeClass('overflow-hidden'); + } + }); + + //品牌收藏 + brandColHammer = new Hammer($brandHeader.children('.btn-col')[0]); + brandColHammer.on('tap', function(e) { + var $this = $(e.target).closest('.btn-col'); + + var id = $brandHeader.data('id'), + opt; + + if ($this.hasClass('coled')) { + opt = 'cancel'; + } else { + opt = 'ok'; + } + + $.ajax({ + type: 'POST', + url: '/product/opt/favoriteBrand', + data: { + id: id, + opt: opt + }, + success: function(data) { + if (data.code === 200) { + $this.toggleClass('coled'); + + //提示 + if (opt === 'ok') { + tip.show('添加收藏成功'); + } else { + tip.show('取消收藏成功'); + } + } else if (data.code === 400) { + location.href = data.data;//未登录跳转登录页 + } else { + tip.show(data.message); + } + }, + error: function() { + tip.show('网络断开连接了~'); + } + }); + }); +} + +//初始请求最新第一页数据 +search(); + +$listNav.on('touchstart', 'li', function() { + $listNav.find('li').removeClass('bytouch'); + $(this).addClass('bytouch'); +}).on('touchend touchcancel', 'li', function() { + $listNav.find('li').removeClass('bytouch'); +}); - return false; }); - -$yohoPage.on('touchstart', '.color-list .block', function() { - var $this = $(this), - index = $this.index(), - curGoodNum; - - // 当前颜色已经是选中状态,再点击时 - if ($this.hasClass('chosed')) { - - //清空剩余件数的提示 - $allChoseItems.find('.num .left-num').html(''); - $leftNum.val(0); - hasChooseColor = false; - - //当前尺码行隐藏 - $sizeRowList.eq(curSizeIndex).addClass('hide'); - - //目标尺码行显示 - $sizeRowList.eq(0).removeClass('hide'); - - curSizeIndex = 0; - - //老的选中尺码去掉勾选,新的选中尺码加上勾选 - changeSizeChosed(0); - - // 当前颜色不是选中状态,选中时 - } else { - hasChooseColor = true; - - // 尺码行当前行隐藏 - $sizeRowList.eq(curSizeIndex).addClass('hide'); - - //老的选中尺码去掉勾选,新的选中尺码加上勾选 - curGoodNum = changeSizeChosed(index + 1); - - // 显示剩余数量 - displayGoodNum(curGoodNum); - - //尺码对应行显示 - $sizeRowList.eq(index + 1).removeClass('hide'); - - curSizeIndex = index + 1; - $curColorBlock = $this; - - // 修改颜色时修改商品图片 - $imgsThumb.addClass('hide').eq(index).removeClass('hide'); - } - - // 颜色块切换勾选样式 - $this.siblings('.chosed').removeClass('chosed'); - - // 特殊处理: 老的选中尺码在新选中的颜色对应尺码中不存在, 需要将颜色的第一行对应的颜色块加上勾选样式. - if (-1 === curGoodNum) { - $curColorBlock = $($colorRowList.eq(0).children().get(index)); - $curColorBlock.addClass('chosed'); - - // 当前选择的颜色块,加上勾选样式 - } else { - $this.toggleClass('chosed'); - } - - $('#good-num').val(1); - - // 设置按钮的样式和文字 - updateConformButtonClassAndText(); -}).on('touchstart', '.size-list .block', function() { - var $this = $(this), - index, - curGoodNum; - - // 当前尺码已经是选中状态,再点击时 - if ($this.hasClass('chosed')) { - - //清空剩余件数的提示 - $allChoseItems.find('.num .left-num').html(''); - $leftNum.val(0); - hasChooseSize = false; - - //当前颜色行隐藏 - $colorRowList.eq(curColorIndex).addClass('hide'); - - //目标颜色行显示 - $colorRowList.eq(0).removeClass('hide'); - - curColorIndex = 0; - - //老的选中颜色去掉勾选,新的选中颜色加上勾选 - changeColorChosed(0); - - // 当前尺码不是选中状态,选中时 - } else { - hasChooseSize = true; - - index = $('#' + $this.data('id')).data('index') - 1; - - // 颜色当前行隐藏 - $colorRowList.eq(curColorIndex).addClass('hide'); - - //老的选中颜色去掉勾选,新的选中颜色加上勾选 - curGoodNum = changeColorChosed(index + 1); - - // 显示剩余数量 - displayGoodNum(curGoodNum); - - //颜色对应行显示 - $colorRowList.eq(index + 1).removeClass('hide'); - - curColorIndex = index + 1; - $curSizeBlock = $this; - } - - // 颜色块切换勾选样式 - $this.siblings('.chosed').removeClass('chosed'); - $this.toggleClass('chosed'); - $('#good-num').val(1); - - // 设置按钮的样式和文字 - updateConformButtonClassAndText(); -}); - -$yohoPage.on('touchstart', '.btn-minus', function() { - var num = parseInt($num.val(), 10); - - leftNum = $('#left-num').val(); - - if (!checkColorSizeNum()) { - return; - } - - if (num === 1 || 0 === leftNum - 0) { - tip.show('您选择的数量不能为零~'); - return; - } - if (num < 0) { - tip.show('您选择的数量不能为负数~'); - return; - } - - $num.val(num - 1); -}).on('touchstart', '.btn-plus', function() { - var num = parseInt($num.val(), 10); - - leftNum = $('#left-num').val(); - - if (!checkColorSizeNum()) { - return; - } - - if (num - 0 === leftNum || 0 === leftNum) { - return; - } - - //TODO:库存数验证 - if (num > leftNum - 1) { - tip.show('您选择的数量超过了最大库存量~'); - return; - } - $num.val(num + 1); -}).on('touchstart', '#chose-btn-sure', function() { - - var productSku, - buyNumber = $('#good-num').val() - 0, - - promotionId, - cartGoodData, - url, - num = parseInt($num.val(), 10); - - //颜色尺码没有选择 - if (!checkColorSizeNum()) { - return; - } - - if ($('#chose-btn-sure').html() === '已售罄') { - return; - } - - leftNum = $('#left-num').val() - 0; - - if (num > leftNum) { - tip.show('您选择的数量超过了最大库存量~'); - return; - } - if (num < 0) { - tip.show('您选择的数量小于一件~'); - return; - } - $chosed = $('.block-list>ul>li.chosed'); - - if (2 === $chosed.length && 0 === $chosed.closest('.zero-stock').length) { - productSku = $curSizeBlock.data('skuid'); - promotionId = $('#promotionId').val(); - if (confirming) { - return false; - } - - confirming = true; - loading.showLoadingMask(); - - //针对是否处于编辑模式设置不同的url和需要post的数据 - if (isEdit) { - cartGoodData = { - new_product_sku: productSku, - old_product_sku: oldSknId, - buy_number: buyNumber, - selected: isSelected - }; - - url = '/cart/index/modify'; - - } else if (limitProductCode) { - - $(this).css('background-color', '#ccc').removeAttr('id'); - - // 当前面板选择的是限购商品 - url = $('#limitProductPay').val() + '?limitproductcode=' + limitProductCode + '&sku=' + - productSku + '&skn=' + skn + '&buy_number=' + buyNumber; - - removePannel(); - loading.showLoadingMask(); - - // 调用接口判断商品是否可以购买 - $.ajax({ - url: url - }).then(function(res) { - - // 如果有错,则商品不可购买,执行页面刷新,否则跳到结算页面 - if (res.error) { - tip.show(res.message); - setTimeout(function() { - location.reload(); - }, 2000); - } else { - location.href = url; - } - }).fail(function() { - tip.show('网络异常!'); - setTimeout(function() { - location.reload(); - }, 2000); - }); - - return false; - - } else { - cartGoodData = { - productSku: productSku, - buyNumber: buyNumber, - promotionId: promotionId, - isEdit: isEdit, - cartType: queryString.cartType - }; - - url = '/cart/index/add'; - } - - $.ajax({ - method: 'POST', - url: url, - data: cartGoodData - }).done(function(res) { - var cartNum; - - loading.hideLoadingMask(); - if (res.code === 200 && !isEdit) { - cartNum = res.data.goods_count; - if (cartNum > 99) { - cartNum = '99+'; - } - $('.num-tag').html(cartNum).removeClass('hide'); - confirming = false; - - if (cbFn) { - cbFn(); - } - } - if (res.message && !isEdit) { - tip.show(res.message); - } - - hide(); - - if (isEdit) { - loading.showLoadingMask(); - - //延迟刷新,否则面板可能无法隐藏 - setTimeout(function() { - - //获取当前页面商品类型:普通商品/预售商品 - window.location.href = '/cart/index/index?cartType=' + $('#cartType').val(); - }, 1); - } - }).fail(function() { - tip.show('网络出了点问题~'); - }).always(function() { - confirming = false; - }); - } - -}); - -exports.init = init; -exports.show = show; -exports.remove = removePannel; -exports.setEditModeWithSknId = setEditModeWithSknId; -exports.disableNumEdit = disableNumEdit; -exports.setLimitGoodModeWithSknId = setLimitGoodModeWithSknId; - -}); -define("js/plugin/inner-scroll", ["jquery"], function(require, exports, module){ -/** - * 弹出层可以滚动,遮盖层禁止滚动插件 - * - * @author liangzhifeng<zhifeng.liang@yoho.cn> - * @date: 2016/02/22 - */ - -var $ = require("jquery"); - -function preventDefault(e) { - e = e || window.event; - e.preventDefault && e.preventDefault(); - e.returnValue = false; -} - -function stopPropagation(e) { - e = e || window.event; - e.stopPropagation && e.stopPropagation(); - e.cancelBubble = false; -} - -function innerScroll(e) { - var delta = e.wheelDelta || e.originalEvent.wheelDelta || e.detail || 0, - box = $(this).get(0); - - // 阻止冒泡到document - // document上已经preventDefault - stopPropagation(e); - - - if ($(box).height() + box.scrollTop >= box.scrollHeight) { - if (delta < 0) { - preventDefault(e); - return false; - } - } - if (box.scrollTop === 0) { - if (delta > 0) { - preventDefault(e); - return false; - } - } -} - -function disableScroll($choseArea) { - var startX, startY; - - // 内部可滚 - $choseArea.on('mousewheel', innerScroll); - - // 移动端touch重写 - $choseArea.on('touchstart', function(e) { - startX = e.originalEvent.changedTouches[0].pageX; - startY = e.originalEvent.changedTouches[0].pageY; - }); - - // 仿innerScroll方法 - $choseArea.on('touchmove', function(e) { - var deltaX = e.originalEvent.changedTouches[0].pageX - startX, - deltaY = e.originalEvent.changedTouches[0].pageY - startY; - - var box = $(this).get(0); - - e.stopPropagation(); - - - // 只能纵向滚 - if (Math.abs(deltaY) < Math.abs(deltaX)) { - e.preventDefault(); - return false; - } - - - if ($(box).height() + box.scrollTop >= box.scrollHeight) { - if (deltaY < 0) { - e.preventDefault(); - return false; - } - } - if (box.scrollTop === 0) { - if (deltaY > 0) { - e.preventDefault(); - return false; - } - } - }); - - $(document).on('mousewheel', preventDefault); - $(document).on('touchmove', preventDefault); -} - -function enableScroll($choseArea) { - - $choseArea.off('touchstart'); - $choseArea.off('touchmove'); - $choseArea.off('mousewheel'); - - $(document).off('mousewheel', preventDefault); - $(document).off('touchmove', preventDefault); -} - -exports.enableScroll = enableScroll; -exports.disableScroll = disableScroll; -}); -define("js/product/detail/desc", ["jquery","lazyload","swiper","index"], function(require, exports, module){ -/** - * 商品详情 --异步加载页面下半部分 - * @author: liangzhifeng<zhifeng.liang@yoho.cn> - * @date: 2015/11/18 - */ -var $ = require("jquery"), - lazyLoad = require("lazyload"), - Swiper = require("swiper"), - loading = require("js/plugin/loading"), - tip = require("js/plugin/tip"); - -var introUrl = $('#introUrl').val(), - winH = $(window).height(), - $productDesc, - searching = false, - end = false; - -var sizeSwiper, - refSwiper; - - -//判断是否要显示向左滑动提示 -function hiddenTips($ele) { - var offsetContainer, - offsetLastColumn; - - if ($ele.length > 0) { - offsetContainer = $ele[0].getBoundingClientRect().right; - offsetLastColumn = $ele.find('.swiper-slide:last-child')[0].getBoundingClientRect().right; - - - if (offsetLastColumn - offsetContainer < 0) { - $ele.next('.tips').css('display', 'none'); - } else { - $ele.next('.tips').css('display', 'block'); - } - } -} - -//function isFlexSupport() { -// var flex = document.createElement('p').style.flex, -// webkitFlex = document.createElement('p').style.webkitFlex, -// flexWrap = document.createElement('p').style.flexWrap; -// -// if ((flex === '' || webkitFlex === '') && flexWrap === '') { -// return true; -// } else { -// return false; -// } -//} - -function wrapElements(selector, count) { - var elArr = null; - - $(selector).each(function(idx, el) { - elArr = $(selector).slice(idx, idx + count); - - if (elArr.length === count && idx % count === 0) { - $(elArr).wrapAll($('<div class="js-wraper"></div>')); - } - }); -} - - - -function search() { - if (searching || end) { - return; - } - searching = true; - - // alert($('#reference-swiper-container .swiper-wrapper').width()); - - loading.showLoadingMask(); - - $.ajax({ - type: 'GET', - url: introUrl, - success: function(data) { - $productDesc = $('#productDesc'); - $productDesc.append(data); - - window.rePosFooter(); - - lazyLoad($productDesc.find('img.lazy')); - - //尺码信息左右滑动 - sizeSwiper = new Swiper('#size-swiper-container',{ - slidesPerView: 'auto' - }); - - //模特试穿左右滑动 - refSwiper = new Swiper('#reference-swiper-container',{ - slidesPerView: 'auto' - }); - - hiddenTips($('#size-swiper-container')); - hiddenTips($('#reference-swiper-container')); - - //if (!isFlexSupport()) { - // $('.detail .column').removeClass('column').addClass('oldbox'); - //} - wrapElements('.detail .column', 2); - searching = false; - end = true; - loading.hideLoadingMask(); - }, - error: function() { - tip.show('网络断开连接了~'); - searching = false; - loading.hideLoadingMask(); - } - }); -} - -function scrollHandler() { - if (!end || $(window).scrollTop() + winH >= $(document).height() - 200) { - search(); - } -} - -//srcoll to load more -$(window).scroll(function() { - window.requestAnimationFrame(scrollHandler); -}); - +define("js/product/detail/detail", ["jquery","swiper","hammer","lazyload","handlebars","source-map","index"], function(require, exports, module){ +/** + * 商品详情 + * @author: liangzhifeng<zhifeng.liang@yoho.cn> + * @date: 2015/10/20 + */ +var $ = require("jquery"), + Swiper = require("swiper"), + Hammer = require("hammer"), + lazyLoad = require("lazyload"); + +var goodsSwiper, + $discountFolder = $('.goodsDiscount .discount-folder'), + $discountArrow = $('.goodsDiscount .first-item span'); + +var goodsDiscountEl = document.getElementById('goodsDiscount'), + goodsDiscountHammer = goodsDiscountEl && new Hammer(goodsDiscountEl), + $discountFirstItem = $(goodsDiscountEl).find('.first-item'); + +var $cart = $('.cart-bar'); + +var appUrl = $('input[name="limitCodeUrl"]').val(); + +var dialog = require("js/me/dialog"); + + +//add extra marign-bottom for footer to show the yoho copyright +function showFooter() { + var $cartBar = $('.cart-bar'); + + var timer = setInterval(function() { + if ($cartBar) { + window.reMarginFooter('.cart-bar'); + clearInterval(timer); + } else { + $cartBar = $('.cart-bar'); + } + }, 200); +} + +showFooter(); + +require("js/product/detail/like"); + +lazyLoad($('img.lazy')); + +if ($('#goodsDiscount h1').length < 1) { + $('.dropdown').remove(); +} + +//顶部swiper +goodsSwiper = new Swiper('.banner-swiper', { + lazyLoading: true, + lazyLoadingInPrevNext: true, + paginationClickable: true, + pagination: '.banner-top .pagination-inner', + nextButton: '.my-swiper-button-next', + prevButton: '.my-swiper-button-prev', + spaceBetween: 3 +}); + + +//初始化goods-discount +if (0 === $discountFolder.children().length) { + $discountFolder.css('display', 'none'); + $discountArrow.html(''); +} + +//goods-discount下拉按钮点击事件 +if (goodsDiscountHammer && $discountFolder.children().length > 0) { + goodsDiscountHammer.on('tap', function(e) { + if ($discountFolder.is(':hidden')) { + $discountFirstItem.removeClass('short-text'); + $discountArrow.removeClass('icon-down').addClass('icon-up').html(''); + $discountFolder.slideDown(); + } else { + $discountFirstItem.addClass('short-text'); + $discountArrow.removeClass('icon-up').addClass('icon-down').html(''); + $discountFolder.slideUp(); + } + }); +} + +$('#limit-sale').on('touchend', function(e) { + var loginUrl = $('#loginUrl').val(), + time, + ifr; + + e.stopPropagation(); + + if(loginUrl) { + window.location = loginUrl; + } else { + dialog.showDialog({ + dialogText: '进入有货APP,获取限购码', + hasFooter: { + rightBtnText: '打开Yoho!Buy有货APP' + } + }, function() { + ifr = document.createElement('iframe'); + ifr.src = appUrl; + ifr.style.display = 'none'; + document.body.appendChild(ifr); + window.location.href = appUrl; + + time = Date.now(); + window.setTimeout(function() { + document.body.removeChild(ifr); + if (Date.now()- time < 3200) { + window.location.href = 'http://a.app.qq.com/o/simple.jsp?pkgname=com.yoho'; + } + }, 3000); + + }, undefined, true); + + $('.dialog-wrapper').off('touchstart').on('touchstart', function(e) { + e.stopPropagation(); + if ($(e.target).hasClass('dialog-wrapper')) { + dialog.hideDialog(); + } + }); + } +}); + +require("js/product/detail/desc"); +require("js/product/detail/comments-consults"); +require("js/product/recommend-for-you-product-desc"); + +//购物车商品数量 +$.ajax({ + type: 'GET', + url: '/cart/index/count', + success: function(data) { + var count; + + if (data.code === 200) { + count = data.data.cart_goods_count || 0; + if (count === 0) { + return false; + } + if (count > 99) { + count = '99+'; + } + $cart.find('.num-tag').html(count).removeClass('hide'); + } + } +}); + +if ($('.good-detail-page').length > 0) { + $('#yoho-footer').css('border-top', '1px solid #e0e0e0'); +} + + }); -define("js/product/detail/comments-consults", ["jquery","hammer"], function(require, exports, module){ -/** - * 商品详情 --评论和咨询tab - * @author: Lynnic - * @date: 2015/11/18 - */ -var $ = require("jquery"), - tip = require("js/plugin/tip"), - Hammer = require("hammer"); - -var commentsNum,consultsNum; - -var navtabEle = document.getElementById('nav-tab'), - navtabHammer = navtabEle && new Hammer(navtabEle), - - gotoConsultEle = document.getElementById('goto-consult'), - gotoConsultHammer = gotoConsultEle && new Hammer(gotoConsultEle), - - readmore = document.getElementById('readmore'), - readmoreHammer = readmore && new Hammer(readmore); - - - -(function() { - consultsNum = $('#nav-tab .consults-num').html() - 0; - - commentsNum = $('#nav-tab .comments-num').html() - 0; - - $('#nav-tab li').each(function() { - $(this).removeClass('focus'); - }); - - $('#feedback-content .content').each(function() { - $(this).addClass('hide'); - }); - if (0 !== commentsNum) { - $('#nav-tab .comment-nav').addClass('focus'); - $('#feedback-content .comment-content').removeClass('hide'); - - } else if (0 !== consultsNum) { - $('#nav-tab .consult-nav').addClass('focus'); - $('#feedback-content .consult-content').removeClass('hide'); - } - -})(); - -if (navtabHammer) { - navtabHammer.on('tap', function(e) { - var $this = $(e.target).closest('li'); - var index = $this.index(); - - if ($this.hasClass('comment-nav') && 0 === commentsNum) { - tip.show('暂无商品评价'); - } else { - if (!$this.hasClass('focus')) { - - $('#nav-tab li').each(function() { - $(this).removeClass('focus'); - }); - $('#feedback-content .content').each(function() { - $(this).addClass('hide'); - }); - - $this.addClass('focus'); - $('#feedback-content .content:eq(' + index + ')').removeClass('hide'); - } - } - }); -} - -// if (consultFooterHammer) { -// consultFooterHammer.on('tap', function() { -// location.href = $(consultFooterEle).data('href'); -// }); -// } - -if (gotoConsultHammer) { - gotoConsultHammer.on('tap', function() { - location.href = $(gotoConsultEle).find('a').attr('href'); - }); -} - -//咨询页面固定header -if ($('.goods-consults-page').length > 0) { - $('#yoho-header').css('position', 'fixed').css('top', '0'); -} - -if ($('.goods-consults-page').length > 0) { - $('#yoho-footer').css('border-top', '1px solid #e0e0e0'); -} - -if (readmoreHammer) { - readmoreHammer.on('tap', function() { - $('.readmore').hide(); - $('.goods-consults.customer-consults').removeClass('customer-consults'); - - return false; - }); -} - -require("js/product/detail/fav"); +define("js/product/detail/like", ["jquery"], function(require, exports, module){ +/** + * 商品详情 --添加收藏 + * @author: Lynnic + * @date: 2015/11/24 + */ + + +var $ = require("jquery"), + tip = require("js/plugin/tip"), + chosePanel = require("js/cart/chose-panel"); + +var productId = $('#productId').val(); + +var skn = $('#productSkn').val(), + productCode = $('#limitProductCode').val(); + +$('#likeBtn').on('touchstart', function() { + var opt, + favorite; + + var $this = $(this); + + if ($this.hasClass('liked')) { + opt = 'cancel'; + favorite = 0; + } else { + opt = 'ok'; + favorite = 1; + } + + $.ajax({ + type: 'POST', + url: '/product/opt/favoriteProduct', + data: { + id: productId, + opt: opt + }, + success: function(data) { + if (data.code === 200) { + $this.toggleClass('liked'); + + if ('cancel' === opt) { + tip.show('取消收藏成功'); + } else if ('ok' === opt) { + tip.show('收藏成功'); + } + } else if (data.code === 400) { + location.href = data.data;//未登录跳转登录页 + } else { + tip.show(data.message); + } + }, + error: function() { + tip.show('网络断开连接了~'); + } + }); + + // 统计代码:用于统计用户加入或取消商品收藏的动作 + if (window._yas) { + window._yas.sendCustomInfo({ + pd: productId, + fa: favorite + }, true); + } + + return false; +}); + +$('#addtoCart').on('touchstart', function() { + $('.cart-bar').hide(); + productCode && chosePanel.setLimitGoodModeWithSknId(productCode, skn); + chosePanel.show(); + + //统计代码:用于统计用户加入购物车的动作 + if (window._yas) { + window._yas.sendCustomInfo({ + pd: productId, + by: 1 + }, true); + } + + return false; +}); }); -define("js/product/detail/fav", ["jquery","hammer"], function(require, exports, module){ -/** - * 商品详情咨询页 --点赞和帮助功能 - * @author: Lynnic - * @date: 2015/12/09 - */ - - var $ = require("jquery"), - Hammer = require("hammer"), - tip = require("js/plugin/tip"); - -var goodsConsultsEle = $('#goods-consults')[0], - goodsConsultsHammer = goodsConsultsEle && new Hammer(goodsConsultsEle); - -var productId, - total; - -function showCountPlus($el) { - var $count = $el.find('.animate-count'); - - $count.css('display', 'inline'); - $count.animate({ - opacity: 0.25, - fontSize: '0.7rem', - right: '-=5' - }, 300, function() { - $count.css('display', 'none'); - }); -} - -(function() { - var queryStr = window.location.search.substring(1); - - productId = queryStr.split('&')[0].split('=')[1]; - total = queryStr.split('&')[1] ? queryStr.split('&')[1].split('=')[1] : undefined; -})(); - -if (goodsConsultsHammer) { - - goodsConsultsHammer.on('tap', function(e) { - - var $this = $(e.target).closest('li'), - id = $this.closest('.consult-item').data('id'), - count = $this.find('.count').html() - 0, - url; - - if (!$this.hasClass('highlight')) { - - if ($this.hasClass('fav')) { - url = '/product/detail/consultupvote'; - } else if ($this.hasClass('useful')) { - url = '/product/detail/consultuseful'; - } - - $.ajax({ - method: 'post', - url: url, - data: { - id: id, - productId: productId, - total: total - } - }).done(function(data) { - if (data.code === 200) { - showCountPlus($this); - $this.addClass('highlight'); - $this.find('.count').html(count + 1); - } else if (data.code === 401) { - location.href = data.data;//未登录跳转登录页 - } - }).fail(function(data) { - tip.show('网络断开连接了~'); - }); - - } - }); -} - -}); -define("js/product/recommend-for-you-product-desc", ["swiper","jquery","index"], function(require, exports, module){ -/** - * 为您优选 - * @author: liangzhifeng<zhifeng.liang@yoho.cn> - * @date: 2015/11/16 - */ - - -var Swiper = require("swiper"), - $ = require("jquery"); - -var recommendSwiper, - $recommendForYou = $('.recommend-for-you'), - preferenceUrl = $('#preferenceUrl').val(), - winH = $(window).height(), - end = false, - requesting = false; - - -function request() { - if (requesting || end) { - return; - } - - requesting = true; - - if (preferenceUrl) { - $.get(preferenceUrl).then(function(html) { - if (html.length < 5) { - $recommendForYou.css('display', 'none'); - } else { - $recommendForYou.html(html).show(); - if ($('#swiper-recommend').length) { - recommendSwiper = new Swiper('#swiper-recommend', { - slidesPerView: 'auto', - grabCursor: true, - slideElement: 'a', - lazyLoading: true, - watchSlidesVisibility: true - }); - } - } - - requesting = false; - end = true; - - window.rePosFooter(); - - }).fail(function() { - $recommendForYou.hide(); - }); - } -} - -function scrollHandler() { - if (!end || $(window).scrollTop() + winH >= $(document).height() - 200) { - request(); - } -} - -$(window).scroll(function() { - window.requestAnimationFrame(scrollHandler); -}); - -}); -define("js/product/detail/consultform", ["jquery"], function(require, exports, module){ -/** - * 我要咨询提交页面 - * @author: liangzhifeng<zhifeng.liang@yoho.cn> - * @date: 2015/12/01 - */ -var $ = require("jquery"), - tip = require("js/plugin/tip"), - loading = require("js/plugin/loading"); - -var $consultForm = $('.consult-form'), - $submit = $('#submit'), - $content = $('#content'), - productId = $('#product_id').val(), - isSubmiting; - -$submit.on('touchend', function() { - $content.blur(); - $consultForm.submit(); - return false; -}).on('touchstart', function() { - $(this).addClass('highlight'); -}).on('touchend touchcancel', function() { - $(this).removeClass('highlight'); -}); - -$content.on('focus', function() { - if ($content.val() === '请输入咨询内容') { - $content.val(''); - } -}).on('blur', function() { - if ($content.val() === '') { - $content.val('请输入咨询内容'); - } -}); - -// 提交表单请求 -$consultForm.on('submit', function() { - var content; - - if (isSubmiting) { - return false; - } - - // 简单的表单校验 - content = $content.val(); - if (!content || content === '请输入咨询内容') { - tip.show('咨询内容不能为空'); - return false; - } - - isSubmiting = true; - loading.showLoadingMask(); - $.ajax({ - method: 'POST', - url: '/product/detail/consultsubmit', - data: { - product_id: productId, - content: content - } - }).then(function(res) { - if ($.type(res) !== 'object') { - res = {}; - } - if (res.code !== 200) { - tip.show(res.message || '网络出了点问题~'); - isSubmiting = false; - loading.hideLoadingMask(); - } else { - tip.show('提交成功~'); - setTimeout(function() { - window.history.go(-1); - }, 3000); - } - }).fail(function() { - tip.show('网络出了点问题~'); - isSubmiting = false; - }); - return false; -}); - -}); -define("js/product/newsale/hot-rank", ["jquery","swiper","lazyload","index"], function(require, exports, module){ -var $ = require("jquery"), - Swiper = require("swiper"), - lazyLoad = require("lazyload"), - loading = require("js/plugin/loading"); - -var page = 1, - winH, - listTop, - navSwiper, - notab = 0, - sort = '', - id = '', - hotrankNav, - noResult = '<p class="no-result">未找到相关搜索结果</p>'; - -require("js/product/suspend-cart"); - -function hotrank(page, sort, tabId, notab) { - loading.showLoadingMask(); - $.ajax({ - type: 'GET', - url: '/product/newsale/selectHotrank?' + sort, - dataType: 'html', - data: { - page: page, - tab_id: tabId, - notab: notab - }, - success: function(data) { - if (data === ' ') { - if ($('.rank-main').length < 1 && $('.goods-nav').length < 1) { - $('#hotRank').html(noResult); - } else { - if (page === 1) { - hotrankNav = $('.goods-nav').prop('outerHTML'); - - $('#hotRank').html(hotrankNav + noResult); - } - } - } else { - $('.no-result').remove(); - if (page === 1) { - $('.rank-main').remove(); - } - $('#hotRank').append(data); - } - - lazyLoad($('img.lazy')); - $('.rank-main ul li:gt(9)').find('.item-content i').removeClass('top'); - winH = $(window).height(); - if ($('.rank-main').length !== 0) { - $('#yoho-footer').css('position', 'static'); - listTop = $('.rank-main').find('ul').offset().top; - } else { - $('#yoho-footer').css('position', 'fixed'); - } - navSwiper = new Swiper('.s-goods-nav', { - grabCursor: true, - slidesPerView: 'auto', - slideElement: 'li' - }); - loading.hideLoadingMask(); - } - }); -} - -function scrollHandler() { - if (page === 2) { - return; - } - if ($(window).scrollTop() + winH < listTop + $('#hotRank').height() - 100) { - return; - } - page = 2; - notab = 1; - hotrank(page, sort, id, notab); -} - -$(window).scroll(function() { - window.requestAnimationFrame(scrollHandler); -}); - -hotrank(page, sort, id, notab); -$('#hotRank').on('touchend touchcancel', function(e) { - var ev = ev || window.event; - var target = ev.target || ev.srcElement; - - if (target.nodeName.toLowerCase() === 'span') { - $('.s-goods-nav .nav-item').removeClass('active'); - target.parentNode.className = 'active ' + target.parentNode.className; - id = target.getAttribute('data-id') ? target.getAttribute('data-id') : ''; - sort = target.getAttribute('data-sort') ? target.getAttribute('data-sort') : ''; - page = 1; - notab = 1; - hotrank(page, sort, id, notab); - } -}); -$('#hotRank').bind('contextmenu', function(e) { - return false; -}); -$('#hotRank').on('touchstart', function(e) { - var ev = ev || window.event; - var target = ev.target || ev.srcElement; +define("js/cart/chose-panel", ["jquery"], function(require, exports, module){ +/** + * 购物车选择尺寸、颜色和数量面板 + * 显示时构造当前商品信息的HTML插入yoho-page;消失则是直接清除HTML + * @author: xuqi<qi.xu@yoho.cn> + * @date: 2015/10/21 + */ + + +// bikai +// 增加init函数,异步请求的接口需要重新初始化一下选择列表 +// 异步渲染的模板统一插入 #chose-panel ,兼容页面多个选择框 + +var $ = require("jquery"), + tip = require("js/plugin/tip"), + loading = require("js/plugin/loading"); + +var innerScroll = require("js/plugin/inner-scroll"); + +var $chosePanel = $('#chose-panel'), + $num, + $chosed, + $imgsThumb, + $leftNum, + leftNum, + confirming, + curColorIndex, + curSizeIndex, + hasChooseColor, + hasChooseSize, + $curSizeBlock, + $sizeRowList, + $curColorBlock, + $colorRowList, + cbFn, + $allChoseItems, + queryString, + $choseArea, + $cartBar, + $soonSoldOut = $('.soonSoldOut-tag'), + $yohoPage = $('.yoho-page'); + +// 购物车编辑标相关变量 +var isEdit, + isSelected, + oldSknId; + +// 限购商品的商品码。只有限购商品时才会设置。 +var limitProductCode, + + // 限购商品的skn。只有限购商品时才会设置。 + skn; + +//禁用数字编辑 +function disableNumEdit() { + var $numBtn = $('.chose-panel').find('.num .btn>.iconfont'); + + //添加disabled样式 + $numBtn.hasClass('disabled') ? null : $numBtn.addClass('disabled'); + + $yohoPage.off('touchstart', '.btn-minus'); + $yohoPage.off('touchstart', '.btn-plus'); +} + +// 初始化购物车面板显示 +function init() { + hasChooseColor = false; + hasChooseSize = false; + $curSizeBlock = null; + queryString = $.queryString(); + $imgsThumb = $('.chose-panel').find('.thumb'); + $choseArea = $('.chose-panel .main .chose-items'); + $allChoseItems = $('.chose-items'); + $sizeRowList = $('.size-list ul'); + $colorRowList = $('.color-list ul'); + $leftNum = $('#left-num'); + $cartBar = $('.cart-bar'); + curColorIndex = 0; + curSizeIndex = 0; + isEdit = 0; +} + +/* + * 设置当前面板为编辑模式 + * + * @param {String} sknId. 当前编辑商品的sknId + * + * @param {Bool} isThisGoodSelected. 当前编辑商品的在购物车中是否被选中 + * + * @return {undefined} + */ +function setEditModeWithSknId(sknId, isThisGoodSelected) { + $('#chose-btn-sure').html('确认'); + isEdit = 1; + oldSknId = sknId; + isSelected = isThisGoodSelected; +} + +/* + * 设置当前面板为限购商品模式 + * + * @param {String} code 当前限购商品的商品码 + * + * @param {String} sknId. 当前限购商品的sknId + * + * @return {undefined} + */ +function setLimitGoodModeWithSknId(code, sknId) { + disableNumEdit(); + $('#chose-btn-sure').html('立即购买'); + limitProductCode = code; + skn = sknId; +} + +//删除面板 +function removePannel() { + var $pannel = $('.chose-panel'), + $promotionId = $('#promotionId'); + + if ($pannel) { + $pannel.remove(); + } + + if ($promotionId) { + $promotionId.remove(); + } +} + +function checkColorSizeNum() { + if (!hasChooseColor && !hasChooseSize) { + tip.show('请选择颜色和尺码~'); + return false; + } else if (!hasChooseColor) { + tip.show('请选择颜色~'); + return false; + } else if (!hasChooseSize) { + tip.show('请选择尺码~'); + return false; + } + return true; +} + + + +function show(html, cb) { + if (html) { + $chosePanel.html(html); + if ($('#promotionId').val() !== '') { + disableNumEdit(); + } + init(); + } + + $('.chose-panel').show(); + $num = $('#good-num'); + cbFn = cb; + + + innerScroll.disableScroll($choseArea); +} + +//隐藏当前Panel +function hide() { + $('.chose-panel').hide(); + innerScroll.enableScroll($choseArea); + + if ($cartBar.length > 0) { + $cartBar.show(); + } +} + +//修改加入购物车的文字和背景 +function updateConformButtonClassAndText() { + $chosed = $allChoseItems.find('.chosed'); + if (2 === $chosed.closest('.zero-stock').length) { + $('#chose-btn-sure').css('background-color', '#c0c0c0').html('已售罄'); + } else if (limitProductCode) { + $('#chose-btn-sure').css('background-color', '#eb0313').html('立即购买'); + } else { + $('#chose-btn-sure').css('background-color', '#eb0313').html(isEdit ? '确认' : '加入购物车'); + } +} + +//显示剩余件数 +function displayGoodNum(curGoodNum) { + + //数量大于0 + if (curGoodNum > 0) { + if ($soonSoldOut.length > 0) { + $allChoseItems.find('.num .left-num').html('即将售罄'); + } else { + $allChoseItems.find('.num .left-num').html('剩余' + curGoodNum + '件'); + } + + $leftNum.val(curGoodNum); + + //数量小于0 + } else { + $allChoseItems.find('.num .left-num').html(''); + $leftNum.val(0); + } +} + +//老的选中尺码去掉勾选,新的选中尺码加上勾选 +function changeSizeChosed(newSizeIndex) { + var sizes, + queryString, + i; + + if (curColorIndex && $curSizeBlock && $curSizeBlock.length > 0) { + $curSizeBlock.removeClass('chosed'); + sizes = $sizeRowList.eq(newSizeIndex).children(); + for (i = 0; i < sizes.length; i++) { + if ($(sizes[i]).data('id') === $curSizeBlock.data('id')) { + $curSizeBlock = $(sizes[i]); + queryString = '#' + $curSizeBlock.data('id'); + curColorIndex = $(queryString).data('index'); + $curSizeBlock.addClass('chosed'); + return $curSizeBlock.data('num'); + } + } + + //特殊处理: 老的选中尺码在新选中的颜色对应尺码中不存在,需要下述1,2,3 + // 1.重置尺码选择的标志变量. + $curSizeBlock = null; + hasChooseSize = false; + + // 2.当前颜色行隐藏 + $colorRowList.eq(curColorIndex).addClass('hide'); + + // 3.目标颜色行第一行显示 + $colorRowList.eq(0).removeClass('hide'); + curColorIndex = 0; + + return -1; + } + return 0; +} + +//老的选中颜色去掉勾选,新的选中颜色加上勾选 +function changeColorChosed(newColorIndex) { + if (curSizeIndex && $curColorBlock && $curColorBlock.length > 0) { + $curColorBlock.removeClass('chosed'); + $curColorBlock = $($colorRowList.eq(newColorIndex).children().get(curSizeIndex - 1)); + $curColorBlock.addClass('chosed'); + return $curColorBlock.data('num'); + } + return 0; +} + +init(); + + +$yohoPage.on('touchstart', '.chose-panel', function(e) { + var $cur = $(e.target); + + if ($cur.closest('.main').length > 0) { + return; + } + + //点击蒙版消失 + hide(); + + return false; +}); + +$yohoPage.on('touchstart', '.color-list .block', function() { + var $this = $(this), + index = $this.index(), + curGoodNum; + + // 当前颜色已经是选中状态,再点击时 + if ($this.hasClass('chosed')) { + + //清空剩余件数的提示 + $allChoseItems.find('.num .left-num').html(''); + $leftNum.val(0); + hasChooseColor = false; + + //当前尺码行隐藏 + $sizeRowList.eq(curSizeIndex).addClass('hide'); + + //目标尺码行显示 + $sizeRowList.eq(0).removeClass('hide'); + + curSizeIndex = 0; + + //老的选中尺码去掉勾选,新的选中尺码加上勾选 + changeSizeChosed(0); + + // 当前颜色不是选中状态,选中时 + } else { + hasChooseColor = true; + + // 尺码行当前行隐藏 + $sizeRowList.eq(curSizeIndex).addClass('hide'); + + //老的选中尺码去掉勾选,新的选中尺码加上勾选 + curGoodNum = changeSizeChosed(index + 1); + + // 显示剩余数量 + displayGoodNum(curGoodNum); + + //尺码对应行显示 + $sizeRowList.eq(index + 1).removeClass('hide'); + + curSizeIndex = index + 1; + $curColorBlock = $this; + + // 修改颜色时修改商品图片 + $imgsThumb.addClass('hide').eq(index).removeClass('hide'); + } + + // 颜色块切换勾选样式 + $this.siblings('.chosed').removeClass('chosed'); + + // 特殊处理: 老的选中尺码在新选中的颜色对应尺码中不存在, 需要将颜色的第一行对应的颜色块加上勾选样式. + if (-1 === curGoodNum) { + $curColorBlock = $($colorRowList.eq(0).children().get(index)); + $curColorBlock.addClass('chosed'); + + // 当前选择的颜色块,加上勾选样式 + } else { + $this.toggleClass('chosed'); + } + + $('#good-num').val(1); + + // 设置按钮的样式和文字 + updateConformButtonClassAndText(); +}).on('touchstart', '.size-list .block', function() { + var $this = $(this), + index, + curGoodNum; + + // 当前尺码已经是选中状态,再点击时 + if ($this.hasClass('chosed')) { + + //清空剩余件数的提示 + $allChoseItems.find('.num .left-num').html(''); + $leftNum.val(0); + hasChooseSize = false; + + //当前颜色行隐藏 + $colorRowList.eq(curColorIndex).addClass('hide'); + + //目标颜色行显示 + $colorRowList.eq(0).removeClass('hide'); + + curColorIndex = 0; + + //老的选中颜色去掉勾选,新的选中颜色加上勾选 + changeColorChosed(0); + + // 当前尺码不是选中状态,选中时 + } else { + hasChooseSize = true; + + index = $('#' + $this.data('id')).data('index') - 1; + + // 颜色当前行隐藏 + $colorRowList.eq(curColorIndex).addClass('hide'); + + //老的选中颜色去掉勾选,新的选中颜色加上勾选 + curGoodNum = changeColorChosed(index + 1); + + // 显示剩余数量 + displayGoodNum(curGoodNum); + + //颜色对应行显示 + $colorRowList.eq(index + 1).removeClass('hide'); + + curColorIndex = index + 1; + $curSizeBlock = $this; + } + + // 颜色块切换勾选样式 + $this.siblings('.chosed').removeClass('chosed'); + $this.toggleClass('chosed'); + $('#good-num').val(1); + + // 设置按钮的样式和文字 + updateConformButtonClassAndText(); +}); + +$yohoPage.on('touchstart', '.btn-minus', function() { + var num = parseInt($num.val(), 10); + + leftNum = $('#left-num').val(); + + if (!checkColorSizeNum()) { + return; + } + + if (num === 1 || 0 === leftNum - 0) { + tip.show('您选择的数量不能为零~'); + return; + } + if (num < 0) { + tip.show('您选择的数量不能为负数~'); + return; + } + + $num.val(num - 1); +}).on('touchstart', '.btn-plus', function() { + var num = parseInt($num.val(), 10); + + leftNum = $('#left-num').val(); + + if (!checkColorSizeNum()) { + return; + } + + if (num - 0 === leftNum || 0 === leftNum) { + return; + } + + //TODO:库存数验证 + if (num > leftNum - 1) { + tip.show('您选择的数量超过了最大库存量~'); + return; + } + $num.val(num + 1); +}).on('touchstart', '#chose-btn-sure', function() { + + var productSku, + buyNumber = $('#good-num').val() - 0, + + promotionId, + cartGoodData, + url, + num = parseInt($num.val(), 10); + + //颜色尺码没有选择 + if (!checkColorSizeNum()) { + return; + } + + if ($('#chose-btn-sure').html() === '已售罄') { + return; + } + + leftNum = $('#left-num').val() - 0; + + if (num > leftNum) { + tip.show('您选择的数量超过了最大库存量~'); + return; + } + if (num < 0) { + tip.show('您选择的数量小于一件~'); + return; + } + $chosed = $('.block-list>ul>li.chosed'); + + if (2 === $chosed.length && 0 === $chosed.closest('.zero-stock').length) { + productSku = $curSizeBlock.data('skuid'); + promotionId = $('#promotionId').val(); + if (confirming) { + return false; + } + + confirming = true; + loading.showLoadingMask(); + + //针对是否处于编辑模式设置不同的url和需要post的数据 + if (isEdit) { + cartGoodData = { + new_product_sku: productSku, + old_product_sku: oldSknId, + buy_number: buyNumber, + selected: isSelected + }; + + url = '/cart/index/modify'; + + } else if (limitProductCode) { + + $(this).css('background-color', '#ccc').removeAttr('id'); + + // 当前面板选择的是限购商品 + url = $('#limitProductPay').val() + '?limitproductcode=' + limitProductCode + '&sku=' + + productSku + '&skn=' + skn + '&buy_number=' + buyNumber; + + removePannel(); + loading.showLoadingMask(); + + // 调用接口判断商品是否可以购买 + $.ajax({ + url: url + }).then(function(res) { + + // 如果有错,则商品不可购买,执行页面刷新,否则跳到结算页面 + if (res.error) { + tip.show(res.message); + setTimeout(function() { + location.reload(); + }, 2000); + } else { + location.href = url; + } + }).fail(function() { + tip.show('网络异常!'); + setTimeout(function() { + location.reload(); + }, 2000); + }); + + return false; + + } else { + cartGoodData = { + productSku: productSku, + buyNumber: buyNumber, + promotionId: promotionId, + isEdit: isEdit, + cartType: queryString.cartType + }; + + url = '/cart/index/add'; + } + + $.ajax({ + method: 'POST', + url: url, + data: cartGoodData + }).done(function(res) { + var cartNum; + + loading.hideLoadingMask(); + if (res.code === 200 && !isEdit) { + cartNum = res.data.goods_count; + if (cartNum > 99) { + cartNum = '99+'; + } + $('.num-tag').html(cartNum).removeClass('hide'); + confirming = false; + + if (cbFn) { + cbFn(); + } + } + if (res.message && !isEdit) { + tip.show(res.message); + } + + hide(); + + if (isEdit) { + loading.showLoadingMask(); + + //延迟刷新,否则面板可能无法隐藏 + setTimeout(function() { + + //获取当前页面商品类型:普通商品/预售商品 + window.location.href = '/cart/index/index?cartType=' + $('#cartType').val(); + }, 1); + } + }).fail(function() { + tip.show('网络出了点问题~'); + }).always(function() { + confirming = false; + }); + } + +}); + +exports.init = init; +exports.show = show; +exports.remove = removePannel; +exports.setEditModeWithSknId = setEditModeWithSknId; +exports.disableNumEdit = disableNumEdit; +exports.setLimitGoodModeWithSknId = setLimitGoodModeWithSknId; - if (target.nodeName.toLowerCase() === 'span') { - target.parentNode.className = 'bgActive ' + target.parentNode.className; - } -}).on('touchend touchcancel', function() { - $('.s-goods-nav .nav-item').removeClass('bgActive'); }); - - +define("js/plugin/inner-scroll", ["jquery"], function(require, exports, module){ +/** + * 弹出层可以滚动,遮盖层禁止滚动插件 + * + * @author liangzhifeng<zhifeng.liang@yoho.cn> + * @date: 2016/02/22 + */ + +var $ = require("jquery"); + +function preventDefault(e) { + e = e || window.event; + e.preventDefault && e.preventDefault(); + e.returnValue = false; +} + +function stopPropagation(e) { + e = e || window.event; + e.stopPropagation && e.stopPropagation(); + e.cancelBubble = false; +} + +function innerScroll(e) { + var delta = e.wheelDelta || e.originalEvent.wheelDelta || e.detail || 0, + box = $(this).get(0); + + // 阻止冒泡到document + // document上已经preventDefault + stopPropagation(e); + + + if ($(box).height() + box.scrollTop >= box.scrollHeight) { + if (delta < 0) { + preventDefault(e); + return false; + } + } + if (box.scrollTop === 0) { + if (delta > 0) { + preventDefault(e); + return false; + } + } +} + +function disableScroll($choseArea) { + var startX, startY; + + // 内部可滚 + $choseArea.on('mousewheel', innerScroll); + + // 移动端touch重写 + $choseArea.on('touchstart', function(e) { + startX = e.originalEvent.changedTouches[0].pageX; + startY = e.originalEvent.changedTouches[0].pageY; + }); + + // 仿innerScroll方法 + $choseArea.on('touchmove', function(e) { + var deltaX = e.originalEvent.changedTouches[0].pageX - startX, + deltaY = e.originalEvent.changedTouches[0].pageY - startY; + + var box = $(this).get(0); + + e.stopPropagation(); + + + // 只能纵向滚 + if (Math.abs(deltaY) < Math.abs(deltaX)) { + e.preventDefault(); + return false; + } + + + if ($(box).height() + box.scrollTop >= box.scrollHeight) { + if (deltaY < 0) { + e.preventDefault(); + return false; + } + } + if (box.scrollTop === 0) { + if (deltaY > 0) { + e.preventDefault(); + return false; + } + } + }); + + $(document).on('mousewheel', preventDefault); + $(document).on('touchmove', preventDefault); +} + +function enableScroll($choseArea) { + + $choseArea.off('touchstart'); + $choseArea.off('touchmove'); + $choseArea.off('mousewheel'); + + $(document).off('mousewheel', preventDefault); + $(document).off('touchmove', preventDefault); +} + +exports.enableScroll = enableScroll; +exports.disableScroll = disableScroll; }); -define("js/product/product-category", ["jquery"], function(require, exports, module){ -/** - * 分类 - * @author: berry<lixia.zhang@yoho.cn> - * @date: 2016/4/25 - */ -var $ = require("jquery"); - -var $allProductCell = $('.allproduct'), - $categoryContainer = $('.category-container'), - $contents = $categoryContainer.children('.content'), - $subLevelItem = $categoryContainer.find('.sub-level li'), - $trilangle = $categoryContainer.find('.primary-level-trilangle'); - -//初始化container高度 -(function() { - var $header = $('.yoho-header'); - var h = $(window).height() - $header.outerHeight() - $allProductCell.outerHeight(); - var trilangleRightMargin = $(window).width() * 0.55; - - $categoryContainer.css('min-height', h); - $trilangle.css('margin-right', trilangleRightMargin); - $contents.height(h); - -}()); - - -$categoryContainer.on('touchend', function(e) { - var $this = $(e.target), - $subLevel, - $cur, index, - $subLevelContainer, $trilangleItem; - - $cur = $this.closest('.p-level-item'); - - $subLevelContainer = $this.closest('.content').find('.sub-level-container'); - $subLevelContainer.removeClass('hide'); - - if ($cur.length > 0) { - index = $cur.index(); - $subLevel = $this.closest('.content').find('.sub-level'); - $trilangleItem = $this.closest('.content').find('.primary-level-trilangle'); - - if ($this.hasClass('focus')) { - return; - } - - $subLevel.not('.hide').addClass('hide'); - $subLevel.eq(index).removeClass('hide'); +define("js/product/detail/desc", ["jquery","lazyload","swiper","index"], function(require, exports, module){ +/** + * 商品详情 --异步加载页面下半部分 + * @author: liangzhifeng<zhifeng.liang@yoho.cn> + * @date: 2015/11/18 + */ +var $ = require("jquery"), + lazyLoad = require("lazyload"), + Swiper = require("swiper"), + loading = require("js/plugin/loading"), + tip = require("js/plugin/tip"); + +var introUrl = $('#introUrl').val(), + winH = $(window).height(), + $productDesc, + searching = false, + end = false; + +var sizeSwiper, + refSwiper; + + +//判断是否要显示向左滑动提示 +function hiddenTips($ele) { + var offsetContainer, + offsetLastColumn; + + if ($ele.length > 0) { + offsetContainer = $ele[0].getBoundingClientRect().right; + offsetLastColumn = $ele.find('.swiper-slide:last-child')[0].getBoundingClientRect().right; + + + if (offsetLastColumn - offsetContainer < 0) { + $ele.next('.tips').css('display', 'none'); + } else { + $ele.next('.tips').css('display', 'block'); + } + } +} + +//function isFlexSupport() { +// var flex = document.createElement('p').style.flex, +// webkitFlex = document.createElement('p').style.webkitFlex, +// flexWrap = document.createElement('p').style.flexWrap; +// +// if ((flex === '' || webkitFlex === '') && flexWrap === '') { +// return true; +// } else { +// return false; +// } +//} + +function wrapElements(selector, count) { + var elArr = null; + + $(selector).each(function(idx, el) { + elArr = $(selector).slice(idx, idx + count); + + if (elArr.length === count && idx % count === 0) { + $(elArr).wrapAll($('<div class="js-wraper"></div>')); + } + }); +} + + + +function search() { + if (searching || end) { + return; + } + searching = true; + + // alert($('#reference-swiper-container .swiper-wrapper').width()); + + loading.showLoadingMask(); + + $.ajax({ + type: 'GET', + url: introUrl, + success: function(data) { + $productDesc = $('#productDesc'); + $productDesc.append(data); + + window.rePosFooter(); + + lazyLoad($productDesc.find('img.lazy')); + + //尺码信息左右滑动 + sizeSwiper = new Swiper('#size-swiper-container',{ + slidesPerView: 'auto' + }); + + //模特试穿左右滑动 + refSwiper = new Swiper('#reference-swiper-container',{ + slidesPerView: 'auto' + }); + + hiddenTips($('#size-swiper-container')); + hiddenTips($('#reference-swiper-container')); + + //if (!isFlexSupport()) { + // $('.detail .column').removeClass('column').addClass('oldbox'); + //} + wrapElements('.detail .column', 2); + searching = false; + end = true; + loading.hideLoadingMask(); + }, + error: function() { + tip.show('网络断开连接了~'); + searching = false; + loading.hideLoadingMask(); + } + }); +} + +function scrollHandler() { + if (!end || $(window).scrollTop() + winH >= $(document).height() - 200) { + search(); + } +} + +//srcoll to load more +$(window).scroll(function() { + window.requestAnimationFrame(scrollHandler); +}); + - $trilangleItem.not('.hide').addClass('hide'); - $trilangleItem.eq(index).removeClass('hide'); - } }); +define("js/product/detail/comments-consults", ["jquery","hammer"], function(require, exports, module){ +/** + * 商品详情 --评论和咨询tab + * @author: Lynnic + * @date: 2015/11/18 + */ +var $ = require("jquery"), + tip = require("js/plugin/tip"), + Hammer = require("hammer"); + +var commentsNum,consultsNum; + +var navtabEle = document.getElementById('nav-tab'), + navtabHammer = navtabEle && new Hammer(navtabEle), + + gotoConsultEle = document.getElementById('goto-consult'), + gotoConsultHammer = gotoConsultEle && new Hammer(gotoConsultEle), + + readmore = document.getElementById('readmore'), + readmoreHammer = readmore && new Hammer(readmore); + + + +(function() { + consultsNum = $('#nav-tab .consults-num').html() - 0; + + commentsNum = $('#nav-tab .comments-num').html() - 0; + + $('#nav-tab li').each(function() { + $(this).removeClass('focus'); + }); + + $('#feedback-content .content').each(function() { + $(this).addClass('hide'); + }); + if (0 !== commentsNum) { + $('#nav-tab .comment-nav').addClass('focus'); + $('#feedback-content .comment-content').removeClass('hide'); + + } else if (0 !== consultsNum) { + $('#nav-tab .consult-nav').addClass('focus'); + $('#feedback-content .consult-content').removeClass('hide'); + } + +})(); + +if (navtabHammer) { + navtabHammer.on('tap', function(e) { + var $this = $(e.target).closest('li'); + var index = $this.index(); + + if ($this.hasClass('comment-nav') && 0 === commentsNum) { + tip.show('暂无商品评价'); + } else { + if (!$this.hasClass('focus')) { + + $('#nav-tab li').each(function() { + $(this).removeClass('focus'); + }); + $('#feedback-content .content').each(function() { + $(this).addClass('hide'); + }); + + $this.addClass('focus'); + $('#feedback-content .content:eq(' + index + ')').removeClass('hide'); + } + } + }); +} + +// if (consultFooterHammer) { +// consultFooterHammer.on('tap', function() { +// location.href = $(consultFooterEle).data('href'); +// }); +// } + +if (gotoConsultHammer) { + gotoConsultHammer.on('tap', function() { + location.href = $(gotoConsultEle).find('a').attr('href'); + }); +} + +//咨询页面固定header +if ($('.goods-consults-page').length > 0) { + $('#yoho-header').css('position', 'fixed').css('top', '0'); +} + +if ($('.goods-consults-page').length > 0) { + $('#yoho-footer').css('border-top', '1px solid #e0e0e0'); +} + +if (readmoreHammer) { + readmoreHammer.on('tap', function() { + $('.readmore').hide(); + $('.goods-consults.customer-consults').removeClass('customer-consults'); + + return false; + }); +} + +require("js/product/detail/fav"); -$categoryContainer.find('.sub-level').on('touchstart', 'li', function() { - $subLevelItem.removeClass('highlight'); - $(this).addClass('highlight'); -}).on('touchend touchcancel', 'li', function() { - $(this).removeClass('highlight'); }); +define("js/product/detail/fav", ["jquery","hammer"], function(require, exports, module){ +/** + * 商品详情咨询页 --点赞和帮助功能 + * @author: Lynnic + * @date: 2015/12/09 + */ + + var $ = require("jquery"), + Hammer = require("hammer"), + tip = require("js/plugin/tip"); + +var goodsConsultsEle = $('#goods-consults')[0], + goodsConsultsHammer = goodsConsultsEle && new Hammer(goodsConsultsEle); + +var productId, + total; + +function showCountPlus($el) { + var $count = $el.find('.animate-count'); + + $count.css('display', 'inline'); + $count.animate({ + opacity: 0.25, + fontSize: '0.7rem', + right: '-=5' + }, 300, function() { + $count.css('display', 'none'); + }); +} + +(function() { + var queryStr = window.location.search.substring(1); + + productId = queryStr.split('&')[0].split('=')[1]; + total = queryStr.split('&')[1] ? queryStr.split('&')[1].split('=')[1] : undefined; +})(); + +if (goodsConsultsHammer) { + + goodsConsultsHammer.on('tap', function(e) { + + var $this = $(e.target).closest('li'), + id = $this.closest('.consult-item').data('id'), + count = $this.find('.count').html() - 0, + url; + + if (!$this.hasClass('highlight')) { + + if ($this.hasClass('fav')) { + url = '/product/detail/consultupvote'; + } else if ($this.hasClass('useful')) { + url = '/product/detail/consultuseful'; + } + + $.ajax({ + method: 'post', + url: url, + data: { + id: id, + productId: productId, + total: total + } + }).done(function(data) { + if (data.code === 200) { + showCountPlus($this); + $this.addClass('highlight'); + $this.find('.count').html(count + 1); + } else if (data.code === 401) { + location.href = data.data;//未登录跳转登录页 + } + }).fail(function(data) { + tip.show('网络断开连接了~'); + }); + + } + }); +} -$allProductCell.on('touchstart', function() { - $(this).addClass('highlight'); -}).on('touchend touchcancel', function() { - $(this).removeClass('highlight'); }); -}); -define("js/product/shop", ["jquery","iscroll-probe","lazyload","swiper","hammer","index"], function(require, exports, module){ -/** - * 品牌店铺首页 - */ - -var $ = require("jquery"), - IScroll = require("iscroll-probe"), - lazyLoad = require("lazyload"), - Swiper = require("swiper"), - bannerSwiper, - multiSwiper, - myScroll, - imgH, - nav1H, - main1H, - main1oH, - nav2H, - main2oH, - scH, - $nav1 = $('#pos-nav'), - $nav2 = $('#pos-list'), - sTop; - -var tip = require("js/plugin/tip"), - filter = require("js/plugin/filter"), - loading = require("js/plugin/loading"); - -var $subNav = $('.home-sub-nav'), - $goodsContainer = $('#goods-container'), - $goodsChildren = $goodsContainer.children(), - $ngc = $($goodsChildren.get(0)), - $pgc = $($goodsChildren.get(1)), - $dgc = $($goodsChildren.get(2)), - shopId = $('input[name="shop_id"]').val(), - appVersion = $('input[name="app_version"]').val(), - brand = $('input[name="brand"]').val(), - favId = $('input[name="favId"]').val(); - -var winH = $(window).height(), - noResult = '<p class="no-result">未找到相关搜索结果</p>'; - -//默认筛选条件 -var defaultOpt = require("js/product/query-param"); - -var $listNav = $('#list-nav'), - $posList = $('#pos-list'), - - //导航数据信息 - navInfo = { - new: { - order: 1, - reload: true, - page: 1, - end: false - }, - hot: { - order: 1, - reload: true, - page: 1, - end: false - }, - newest: { - order: 1, - reload: true, - page: 0, - end: false - }, - price: { - order: 1, - reload: true, - page: 0, - end: false - }, - discount: { - order: 1, - reload: true, - page: 0, - end: false - } - }, - $pre = $listNav.find('.active'), //纪录进入筛选前的active项,初始为选中项 - searching; - -var viewType = 1,// 1-首页,2-上新,3-人气 - listCount = $('.category-list li').length, - listModValue = 4 - listCount % 4, - listIndex; - -lazyLoad($('img.lazy')); - -//焦点效果 -if ($('.banner-swiper').find('li').size() > 1) { - bannerSwiper = new Swiper('.banner-swiper', { - lazyLoading: true, - lazyLoadingInPrevNext: true, - loop: true, - autoplay: 3000, - autoplayDisableOnInteraction: false, - paginationClickable: true, - slideElement: 'li', - pagination: '.banner-top .pagination-inner' - }); -} +define("js/product/recommend-for-you-product-desc", ["swiper","jquery","index"], function(require, exports, module){ +/** + * 为您优选 + * @author: liangzhifeng<zhifeng.liang@yoho.cn> + * @date: 2015/11/16 + */ + + +var Swiper = require("swiper"), + $ = require("jquery"); + +var recommendSwiper, + $recommendForYou = $('.recommend-for-you'), + preferenceUrl = $('#preferenceUrl').val(), + winH = $(window).height(), + end = false, + requesting = false; + + +function request() { + if (requesting || end) { + return; + } + + requesting = true; + + if (preferenceUrl) { + $.get(preferenceUrl).then(function(html) { + if (html.length < 5) { + $recommendForYou.css('display', 'none'); + } else { + $recommendForYou.html(html).show(); + if ($('#swiper-recommend').length) { + recommendSwiper = new Swiper('#swiper-recommend', { + slidesPerView: 'auto', + grabCursor: true, + slideElement: 'a', + lazyLoading: true, + watchSlidesVisibility: true + }); + } + } + + requesting = false; + end = true; + + window.rePosFooter(); + + }).fail(function() { + $recommendForYou.hide(); + }); + } +} + +function scrollHandler() { + if (!end || $(window).scrollTop() + winH >= $(document).height() - 200) { + request(); + } +} + +$(window).scroll(function() { + window.requestAnimationFrame(scrollHandler); +}); -if ($('.multi-browse').find('li').size() > 1) { - multiSwiper = new Swiper('.multi-browse', { - lazyLoading: true, - lazyLoadingInPrevNext: true, - lazyLoadingOnTransitionStart: true, - grabCursor: true, - slidesPerView: 'auto', - slideElement: 'li', - watchSlidesVisibility: true - }); -} +}); +define("js/product/detail/consultform", ["jquery"], function(require, exports, module){ +/** + * 我要咨询提交页面 + * @author: liangzhifeng<zhifeng.liang@yoho.cn> + * @date: 2015/12/01 + */ +var $ = require("jquery"), + tip = require("js/plugin/tip"), + loading = require("js/plugin/loading"); + +var $consultForm = $('.consult-form'), + $submit = $('#submit'), + $content = $('#content'), + productId = $('#product_id').val(), + isSubmiting; + +$submit.on('touchend', function() { + $content.blur(); + $consultForm.submit(); + return false; +}).on('touchstart', function() { + $(this).addClass('highlight'); +}).on('touchend touchcancel', function() { + $(this).removeClass('highlight'); +}); + +$content.on('focus', function() { + if ($content.val() === '请输入咨询内容') { + $content.val(''); + } +}).on('blur', function() { + if ($content.val() === '') { + $content.val('请输入咨询内容'); + } +}); + +// 提交表单请求 +$consultForm.on('submit', function() { + var content; + + if (isSubmiting) { + return false; + } + + // 简单的表单校验 + content = $content.val(); + if (!content || content === '请输入咨询内容') { + tip.show('咨询内容不能为空'); + return false; + } + + isSubmiting = true; + loading.showLoadingMask(); + $.ajax({ + method: 'POST', + url: '/product/detail/consultsubmit', + data: { + product_id: productId, + content: content + } + }).then(function(res) { + if ($.type(res) !== 'object') { + res = {}; + } + if (res.code !== 200) { + tip.show(res.message || '网络出了点问题~'); + isSubmiting = false; + loading.hideLoadingMask(); + } else { + tip.show('提交成功~'); + setTimeout(function() { + window.history.go(-1); + }, 3000); + } + }).fail(function() { + tip.show('网络出了点问题~'); + isSubmiting = false; + }); + return false; +}); -//根据热门品类的个数来改变样式展示 -// -if ($('.category-list li').length % 4 !== 0) { - $('.category-list li:last-child').addClass('category-list-last-li'); -} - -if ($('.category-list li').length < 4) { - $('.category-list').addClass('category-list-top-board'); - $('.category-list').find('.buriedpoint').addClass('category-list-only-one-row'); -} - -if ($('.category-list li').length >= 5) { - for (listIndex = listModValue; listIndex >= 0; listIndex--) { - $('.category-list li').eq(listCount - 4 + listIndex - 1).addClass('category-list-last-full-row'); - } -} - -function getPageGoods(info) { - var nav,navType; - - if (searching) { - return; - } - - navType = info.data.type; - nav = navInfo[navType]; - - //不需要重新加载并且数据请求结束 - if (nav.end) { - - return; - } - - searching = true; - $.ajax({ - type: 'GET', - url: info.url, - data: info.data, - success: function(data) { - if (data === ' ') { - nav.end = true; - } - - info.callBack(data); - }, - error: function() { - alert('网络断开连接了~'); - searching = false; - } - }); -} - -function getParam(req) { - if (brand) { - req.data.brand = brand; - } - - if (shopId) { - req.data.shop_id = shopId; - } -} - -function newData(callback) { - var req = {}; - - req.url = '/index/search/search'; - req.data = { - type: 'newest', - order: '1', - page: navInfo.new.page, - tagNew: '1' - }; - - getParam(req); - - req.callBack = function(data) { - $('#new-arrival').append(data); - navInfo.new.page++; - myScroll.refresh(); - lazyLoad($('#new-arrival .lazy')); - scH = $('#scroller').outerHeight(); - searching = false; - callback && $.isFunction(callback) && callback(); - }; - getPageGoods(req); -} - -function hotData(callback) { - var req = {}; - - req.url = '/index/search/search'; - req.data = { - type: 'hot', - order: '1', - page: navInfo.hot.page, - showTag: '1' - }; - - getParam(req); - - req.callBack = function(data) { - $('#popularity').append(data); - navInfo.hot.page++; - myScroll.refresh(); - lazyLoad($('#popularity .lazy')); - scH = $('#scroller').outerHeight(); - searching = false; - callback && $.isFunction(callback) && callback(); - }; - getPageGoods(req); -} - -function tabChange(dom, index) { - var li = dom.eq(index); - - dom.removeClass('active'); - li.addClass('active'); - - dom.removeClass('color'); - li.addClass('color'); -} - -//首页导航 -$.jqtab = function(nav, posNav, main) { - - $(nav + ' li, ' + posNav + ' li').not('li.all-goods').on('touchstart', function() { - - var index = $(this).index(), - activeTab = $(this).attr('tab'); - - $nav1.removeClass('fixed-top'); - tabChange($(nav + ' li'), index); - tabChange($(posNav + ' li'), index); - $(main).hide(); - $('#' + activeTab).fadeIn(); - if (activeTab === 'new-arrival') { - newData(); - viewType = 2; - } else if (activeTab === 'popularity') { - hotData(); - viewType = 3; - } else if (activeTab === 'home-page') { - - myScroll && myScroll.refresh(); - scH = $('#scroller').outerHeight(); - $nav1.removeClass('fixed-top'); - $nav1.removeClass('absolute'); - $nav2.removeClass('fixed-top'); - $nav2.removeClass('absolute'); - } - if (!$nav1.hasClass('hide')) { - myScroll.scrollTo(0, 0 - imgH); - } - $nav1.addClass('hide'); - - return false; - }); -}; -$.jqtab('#nav', '#pos-nav', '.main'); -$('#wrapper').addClass('scroll-wrapper'); - -// lazyLoad($('img.lazy')); - -myScroll = new IScroll('#wrapper', { - probeType: 3, - mouseWheel: true, - click: true -}); -myScroll.on('scroll', function() { - var scrollCall, - sTop = -this.y; - - if (sTop + winH * 2 > scH) { - switch (viewType) { - case 2: - scrollCall = function() { - $nav1.css({ - transform: 'translate(0, ' + (-scH) + 'px)' - }); - }; - newData(scrollCall); - break; - case 3: - scrollCall = function() { - $nav1.css({ - transform: 'translate(0, ' + (-scH) + 'px)' - }); - }; - hotData(scrollCall); - break; - } - } - - if (sTop < imgH) { - if (!$nav1.hasClass('hide')) { - $nav1.addClass('hide'); - } - if (!$nav2.hasClass('hide')) { - $nav2.addClass('hide'); - } //滑动距离不到导航1 - } else if (sTop < imgH + nav1H + main1oH) { - if ($nav1.hasClass('hide')) { - $nav1.removeClass('hide'); - } - if (!$nav2.hasClass('hide')) { - $nav2.addClass('hide'); - }//滑动距离不到导航2 - - if (sTop < imgH + main1H) { - if (!$nav1.hasClass('fixed-top')) { - $nav1.addClass('fixed-top') - .removeClass('absolute') - .css({ - transform: 'translate(0, ' + (-scH) + 'px)' - }); - } - } else if (sTop < imgH + nav1H + main1H) { - if ($('#home-page').is(':hidden')) { - return false; - } - if (!$nav1.hasClass('absolute')) { - $nav1.addClass('absolute') - .removeClass('fixed-top'); - } - $nav1.css({ - transform: 'translate(0, ' + (imgH + main1H - sTop - scH) + 'px)' - }); - } - } else { - if ($('#home-page').is(':hidden')) { - return false; - } - - if (!$nav1.hasClass('hide')) { - $nav1.addClass('hide'); - } - if ($nav2.hasClass('hide')) { - $nav2.removeClass('hide'); - } - - if (sTop < scH) { - if (!$nav2.hasClass('absolute')) { - $nav2.addClass('absolute') - .removeClass('fixed-top'); - } - $nav2.css({ - transform: 'translate(0, ' + (-scH) + 'px)' - }); - } - } - $('#scroller').trigger('scroll'); -}); - - - -document.addEventListener('touchmove', function(e) { - e.preventDefault(); -}, false); - -/*if (!isIphone) { - return; -}*/ - - -//window onload 后重新refresh iscroll -$(window).load(function() { - myScroll && myScroll.refresh(); - imgH = $('#nav-top').outerHeight(); - nav1H = $('#nav').outerHeight(); - main1H = $('#nav-main').height(); - main1oH = $('#nav-main').outerHeight(); - nav2H = $('#list-nav').outerHeight(); - main2oH = $('#goods-container').outerHeight(); - setTimeout(function() { - scH = $('#scroller').outerHeight(); - }, 1000); -}); - - -function search(opt) { - var setting = {}, - ext, - att, - nav, navType, - page; - - if (searching) { - return; - } - - if (!opt.url) { - opt.url = '/index/search/search'; - } - - if (!opt.nextPage) { - - //筛选项变更则重置reload为true - for (att in navInfo) { - if (navInfo.hasOwnProperty(att)) { - navInfo[att].reload = true; - } - } - - if (opt.id) { - switch (opt.type) { - case 'shop_id': - ext = { - shop_id: opt.id - }; - break; - case 'gender': - ext = { - gender: opt.id - }; - break; - case 'brand': - ext = { - brand: opt.id - }; - break; - case 'sort': - ext = { - sort: opt.id - }; - break; - case 'color': - ext = { - color: opt.id - }; - break; - case 'size': - ext = { - size: opt.id - }; - break; - case 'price': - ext = { - price: opt.id - }; - break; - case 'discount': - ext = { - discount: opt.id - }; - break; - } - $.extend(defaultOpt, ext); //扩展筛选项 - } - } - - //导航类别 - if ($pre.hasClass('new')) { - navType = 'newest'; - } else if ($pre.hasClass('price')) { - navType = 'price'; - } else if ($pre.hasClass('discount')) { - navType = 'discount'; - } - nav = navInfo[navType]; - - page = nav.page + 1; - if (nav.reload) { - page = 1; - } else if (nav.end) { - - //不需要重新加载并且数据请求结束 - return; - } - $.extend(setting, defaultOpt, { - type: navType, - order: nav.order, - page: page - }); - - if (brand) { - setting.brand = brand; - } - if (shopId) { - setting.shop_id = shopId; - } - - searching = true; - loading.showLoadingMask(); - - $.ajax({ - type: 'GET', - url: opt.url ? opt.url : '', - data: setting, - success: function(data) { - var $container, - num; - - switch (navType) { - case 'newest': - $container = $ngc; - break; - case 'price': - $container = $pgc; - break; - case 'discount': - $container = $dgc; - break; - } - - if (data === ' ') { - nav.end = true; - - if (nav.reload) { - $container.html(noResult); - } - } else { - if (nav.reload) { - $container.html(data); - lazyLoad($container.find('.lazy')); - } else { - num = $container.find('.good-info').length; - $container.append(data); - - //lazy good-infos who append in - lazyLoad($container.find('.good-info:gt(' + (num - 1) + ') .lazy')); - } - } - - nav.reload = false; - nav.page = page; - - searching = false; - loading.hideLoadingMask(); - - window.rePosFooter(); - - setTimeout(function() { - myScroll.refresh(); - scH = $('#scroller').outerHeight(); - }, 1000); - }, - error: function() { - tip.show('网络断开连接了~'); - searching = false; - loading.hideLoadingMask(); - } - }); -} - -$.ajax({ - type: 'GET', - url: '/search/filter', - data: { - shop_id: brand ? '' : shopId, - brand: brand - }, - success: function(data) { - $goodsContainer.append(data); - - setTimeout(function() { - myScroll.refresh(); - scH = $('#scroller').outerHeight(); - }, 1000); - - //初始化filter&注册filter回调 - filter.initFilter({ - fCbFn: search, - hCbFn: function() { - - //切换active状态到$pre上 - $pre.addClass('active'); - $pre.siblings('.filter').removeClass('active'); - }, - missStatus: true - }); - } -}); - -$listNav.bind('contextmenu', function(e) { - return false; -}); - -$posList.bind('contextmenu', function(e) { - return false; -}); - -$subNav.on('touchend touchcancel', function(e) { - var $this = $(e.target).closest('li'), - cname, - nav, - navType, - $active; - - e.preventDefault(); - - if (typeof $this === 'undefined' || $this.length === 0) { - return; - } - - if ($this.hasClass('filter')) { - - //筛选面板切换状态 - if ($this.hasClass('active')) { - filter.hideFilter(); - - //点击筛选钱的active项回复active - $pre.addClass('active'); - $this.removeClass('active'); - } else { - $pre = $this.siblings('.active'); - - $pre.removeClass('active'); - $this.addClass('active'); - - filter.showFilter(); - } - } else { - if ($this.hasClass('new')) { - cname = '.new'; - navType = 'newest'; - } else if ($this.hasClass('price')) { - cname = '.price'; - navType = 'price'; - } else if ($this.hasClass('discount')) { - cname = '.discount'; - navType = 'discount'; - } - - nav = navInfo[navType]; - - if ($this.hasClass('active')) { - - //最新无排序切换 - if ($this.hasClass('new')) { - return; - } - - if ($this.hasClass('price') || $this.hasClass('discount')) { - $this = $subNav.find(cname); - - // 价格/折扣切换排序状态 - $this.find('.icon > .iconfont').toggleClass('cur'); - $pre = $this; //更新pre为当前项 - nav.reload = true; //重置reload,HTML会被替换为逆序的HTML - nav.order = nav.order === 0 ? 1 : 0; //切换排序 - - $goodsContainer.children('.container:not(.hide)').addClass('hide'); - - switch (navType) { - case 'newest': - $ngc.removeClass('hide'); - break; - - case 'price': - $pgc.removeClass('hide'); - break; - - case 'discount': - $dgc.removeClass('hide'); - break; - } - - } - } else { - $active = $subNav.find('.active'); - - $pre = $this; //$pre为除筛选导航的其他导航项,若当前active的为筛选,则把$pre置为当前点击项 - - if ($active.hasClass('filter')) { - - //若之前active项为筛选,则隐藏筛选面板 - filter.hideFilter(); - } else { - - //切换container显示 - $goodsContainer.children('.container:not(.hide)').addClass('hide'); - - switch (navType) { - case 'newest': - $ngc.removeClass('hide'); - break; - - case 'price': - $pgc.removeClass('hide'); - break; - - case 'discount': - $dgc.removeClass('hide'); - break; - } - } - - $subNav.children().removeClass('active'); - $subNav.find(cname).addClass('active'); - } - - if (nav.reload) { - search({ - type: 'shop_id', - id: shopId, - brand: brand, - url: '/index/search/search', - nextPage: false - }); - } - } - e.stopPropagation(); -}); - - -function scrollHandler() { - - sTop = -myScroll.y; - - //当scroll到1/4$goodsContainer高度后继续请求下一页数据 - myScroll && myScroll.refresh(); - if (sTop + winH > $('#scroller').height() - 0.25 * $goodsContainer.height() - 50) { - if ($pre !== undefined) { - search({ - type: 'shop_id', - id: shopId, - brand: brand, - url: '/index/search/search', - nextPage: true - }); - } - } -} - -//srcoll to load more -$(window).scroll(function() { - window.requestAnimationFrame(scrollHandler); -}); - - -//初始请求最新第一页数据 -search({ - type: 'shop_id', - id: shopId, - brand: brand, - url: '/index/search/search', - nextPage: false -}); - -$listNav.on('touchstart', 'li', function(e) { - $(this).addClass('bytouch'); -}).on('touchend touchcancel', function() { - $listNav.find('li').removeClass('bytouch'); - myScroll.refresh(); -}); - -$posList.on('touchstart', 'li', function(e) { - $(this).addClass('bytouch'); -}).on('touchend touchcancel', function() { - $posList.find('li').removeClass('bytouch'); - myScroll.refresh(); - myScroll.scrollTo(0, -(imgH + nav1H + main1oH + 5)); -}); - -//底部导航点击 -function fotterClick(group) { - $(group + ' li').on('touchstart', function() { - $('.sub-group').addClass('hide'); - if ($(this).find('.sub-group').length > 0) { - $(this).find('.sub-group').removeClass('hide'); - } - }); -} - -fotterClick('.shop-foot-wrapper'); - -function stopPropagation(e) { - if (e.stopPropagation) { - e.stopPropagation(); - } else { - e.cancelBubble = true; - } -} - -$(document).bind('touchstart', function() { - $('.sub-group').addClass('hide'); -}); - -$('.shop-foot-wrapper').bind('touchstart', function(e) { - stopPropagation(e); -}); - -//收藏 -function postCollect(info) { - var url = ''; - - if (searching) { - return; - } - searching = true; - - $.ajax({ - method: 'post', - url: info.url, - data: info.data, - - success: function(data) { - - if (data.code === 200) { - if ($('#collect').hasClass('alreadyCollect')) { - $('#collect').attr('class', 'notCollect'); - } else { - $('#collect').attr('class', 'alreadyCollect'); - } - } - - if (data.code === 401) { - url = data.url; - $('body').append('<a href=\'' + url + '\'><span class="jump-login"><span></a>'); - - $('.jump-login').click(); - } - - setTimeout(function() { - myScroll.refresh(); - scH = $('#scroller').outerHeight(); - }, 1000); - searching = false; - }, - error: function() { - alert('网络断开连接了~'); - searching = false; - } - }); -} - -function collectShop() { - var qew = {}; - - qew.url = '/product/index/shopFav'; - qew.data = { - shop_id: favId ? favId : shopId, - app_version: appVersion - }; - postCollect(qew); -} - -function cancelShop() { - var qew = {}; - - qew.url = '/product/index/cancelShopFav'; - qew.data = { - shop_id: favId ? favId : shopId, - app_version: appVersion - }; - postCollect(qew); -} - -$('#collect').on('touchstart', function(e) { - if ($('#collect').hasClass('alreadyCollect')) { - cancelShop(); - } else { - collectShop(); - } }); - +define("js/product/newsale/hot-rank", ["jquery","swiper","lazyload","index"], function(require, exports, module){ +var $ = require("jquery"), + Swiper = require("swiper"), + lazyLoad = require("lazyload"), + loading = require("js/plugin/loading"); + +var page = 1, + winH, + listTop, + navSwiper, + notab = 0, + sort = '', + id = '', + hotrankNav, + noResult = '<p class="no-result">未找到相关搜索结果</p>'; + +require("js/product/suspend-cart"); + +function hotrank(page, sort, tabId, notab) { + loading.showLoadingMask(); + $.ajax({ + type: 'GET', + url: '/product/newsale/selectHotrank?' + sort, + dataType: 'html', + data: { + page: page, + tab_id: tabId, + notab: notab + }, + success: function(data) { + if (data === ' ') { + if ($('.rank-main').length < 1 && $('.goods-nav').length < 1) { + $('#hotRank').html(noResult); + } else { + if (page === 1) { + hotrankNav = $('.goods-nav').prop('outerHTML'); + + $('#hotRank').html(hotrankNav + noResult); + } + } + } else { + $('.no-result').remove(); + if (page === 1) { + $('.rank-main').remove(); + } + $('#hotRank').append(data); + } + + lazyLoad($('img.lazy')); + $('.rank-main ul li:gt(9)').find('.item-content i').removeClass('top'); + winH = $(window).height(); + if ($('.rank-main').length !== 0) { + $('#yoho-footer').css('position', 'static'); + listTop = $('.rank-main').find('ul').offset().top; + } else { + $('#yoho-footer').css('position', 'fixed'); + } + navSwiper = new Swiper('.s-goods-nav', { + grabCursor: true, + slidesPerView: 'auto', + slideElement: 'li' + }); + loading.hideLoadingMask(); + } + }); +} + +function scrollHandler() { + if (page === 2) { + return; + } + if ($(window).scrollTop() + winH < listTop + $('#hotRank').height() - 100) { + return; + } + page = 2; + notab = 1; + hotrank(page, sort, id, notab); +} + +$(window).scroll(function() { + window.requestAnimationFrame(scrollHandler); +}); + +hotrank(page, sort, id, notab); +$('#hotRank').on('touchend touchcancel', function(e) { + var ev = ev || window.event; + var target = ev.target || ev.srcElement; + + if (target.nodeName.toLowerCase() === 'span') { + $('.s-goods-nav .nav-item').removeClass('active'); + target.parentNode.className = 'active ' + target.parentNode.className; + id = target.getAttribute('data-id') ? target.getAttribute('data-id') : ''; + sort = target.getAttribute('data-sort') ? target.getAttribute('data-sort') : ''; + page = 1; + notab = 1; + hotrank(page, sort, id, notab); + } +}); +$('#hotRank').bind('contextmenu', function(e) { + return false; +}); +$('#hotRank').on('touchstart', function(e) { + var ev = ev || window.event; + var target = ev.target || ev.srcElement; + + if (target.nodeName.toLowerCase() === 'span') { + target.parentNode.className = 'bgActive ' + target.parentNode.className; + } +}).on('touchend touchcancel', function() { + $('.s-goods-nav .nav-item').removeClass('bgActive'); +}); + }); -define("js/me/entry", ["jquery","hammer","lazyload","swiper","handlebars","source-map","mlellipsis","index"], function(require, exports, module){ -/** - * 个人中心js打包入口文件 - * @author: xuqi<qi.xu@yoho.cn> - * @date: 2015/11/10 - */ - -require("js/me/order"); -require("js/me/order-detail"); -require("js/me/fav"); -require("js/me/suggest"); -require("js/me/index"); -require("js/me/coupons"); -require("js/me/online-service"); -require("js/me/address"); -require("js/me/suggest"); -require("js/me/browse-record"); -require("js/me/address-act"); -require("js/me/logistic"); -require("js/me/pay"); -require("js/me/personal-details"); -require("js/me/currency"); -require("js/me/currency-new"); -require("js/me/message"); -require("js/me/message-detail"); - +define("js/product/product-category", ["jquery"], function(require, exports, module){ +/** + * 分类 + * @author: berry<lixia.zhang@yoho.cn> + * @date: 2016/4/25 + */ +var $ = require("jquery"); + +var $allProductCell = $('.allproduct'), + $categoryContainer = $('.category-container'), + $contents = $categoryContainer.children('.content'), + $subLevelItem = $categoryContainer.find('.sub-level li'), + $trilangle = $categoryContainer.find('.primary-level-trilangle'); + +//初始化container高度 +(function() { + var $header = $('.yoho-header'); + var h = $(window).height() - $header.outerHeight() - $allProductCell.outerHeight(); + var trilangleRightMargin = $(window).width() * 0.55; + + $categoryContainer.css('min-height', h); + $trilangle.css('margin-right', trilangleRightMargin); + $contents.height(h); + +}()); + + +$categoryContainer.on('touchend', function(e) { + var $this = $(e.target), + $subLevel, + $cur, index, + $subLevelContainer, $trilangleItem; + + $cur = $this.closest('.p-level-item'); + + $subLevelContainer = $this.closest('.content').find('.sub-level-container'); + $subLevelContainer.removeClass('hide'); + + if ($cur.length > 0) { + index = $cur.index(); + $subLevel = $this.closest('.content').find('.sub-level'); + $trilangleItem = $this.closest('.content').find('.primary-level-trilangle'); + + if ($this.hasClass('focus')) { + return; + } + + $subLevel.not('.hide').addClass('hide'); + $subLevel.eq(index).removeClass('hide'); + + $trilangleItem.not('.hide').addClass('hide'); + $trilangleItem.eq(index).removeClass('hide'); + } +}); + +$categoryContainer.find('.sub-level').on('touchstart', 'li', function() { + $subLevelItem.removeClass('highlight'); + $(this).addClass('highlight'); +}).on('touchend touchcancel', 'li', function() { + $(this).removeClass('highlight'); +}); + +$allProductCell.on('touchstart', function() { + $(this).addClass('highlight'); +}).on('touchend touchcancel', function() { + $(this).removeClass('highlight'); }); -define("js/me/order", ["jquery","hammer","lazyload","swiper","handlebars","source-map","index"], function(require, exports, module){ -/** - * 个人中心--我的订单 - * @author: xuqi<qi.xu@yoho.cn> - * @date: 2015/11/10 - */ - -var $ = require("jquery"), - Hammer = require("hammer"), - lazyLoad = require("lazyload"), - tip = require("js/plugin/tip"), - Swiper = require("swiper"); - -var $navLi = $('#order-nav > li'), - $orderContainer = $('#order-container'); - -var $curContainer = $orderContainer.children('.orders:not(.hide)');//保存当前显示的order-container - -var winH = $(window).height(); - -var activeType = $navLi.filter('.active').data('type'); //当前active的项的index - -var order = { - page: 0, - end: false -}; - -var inAjax = false; - -var loading = require("js/plugin/loading"); - -var dialog = require("js/me/dialog"); - -var orderHammer, - $reaMask = $('.reason-mask'), - reasonSwiper; - -// 减少计时 -function downCount(item) { - var hoursItem = item.find('.hours'); - - var difference = hoursItem.text(),// difference of dates - interval; - /** - * Main downCount function that calculates everything - */ - function countdown() { - - // basic math variables - var _second = 1000, - _minute = _second * 60, - _hour = _minute * 60, - _day = _hour * 24, - days, - hours, - minutes, - seconds; - - // calculate dates - days = Math.floor(difference / _day), - hours = Math.floor((difference % _day) / _hour), - minutes = Math.floor((difference % _hour) / _minute), - seconds = Math.floor((difference % _minute) / _second); - - // fix dates so that it will show two digets - days = (String(days).length >= 2) ? days : '0' + days; - hours = (String(hours).length >= 2) ? hours : '0' + hours; - minutes = (String(minutes).length >= 2) ? minutes : '0' + minutes; - seconds = (String(seconds).length >= 2) ? seconds : '0' + seconds; - - // set to DOM - item.removeClass('hide'); - hoursItem.text('剩余' + hours + ':' + minutes + ':' + seconds); - - difference -= 1000; - - if (difference <= 0) { - clearInterval(interval);// stop timer - return; - } - } - if (difference !== '' && difference > 0) { - interval = setInterval(countdown, 1000);// start - } -} - -// 初始化时间 -function setTime() { - - $('.order').each(function() { - var item = $(this).find('.count-down'); - - if (!$(this).hasClass('hide')) { - downCount(item); - } - }); -} - -//加载订单 -function getOrders(option) { - var opt = { - type: activeType, - page: order.page + 1 - }; - - var show = option && !option.noLoadingMask; - - if (inAjax) { - return; - } - - inAjax = true; - show && loading.showLoadingMask(); - - $.ajax({ - type: 'GET', - url: '/home/getOrders', - data: opt, - success: function(data) { - var num; - - if (data !== ' ') { - order.page = opt.page; - - if (opt.page === 1) { - $curContainer.html(data); - lazyLoad($curContainer.find('.lazy'), { - try_again_css: 'order-failure' - }); - } else { - num = $curContainer.children('.order').length; - $curContainer.append(data); - - //lazyload - lazyLoad($curContainer.children('.order:gt(' + (num - 1) + ')').find('.lazy'), { - try_again_css: 'order-failure' - }); - } - - window.rePosFooter(); //重新计算底部位置 - } else { - order.end = true; - } - - inAjax = false; - show && loading.hideLoadingMask(); - setTime(); - } - }); -} - -lazyLoad({ - try_again_css: 'order-failure' }); - -//初始化导航 -(function() { - var liCount = $navLi.length; - - //默认4个导航项 - if (liCount === 4) { - return; - } - - $navLi.width(100 / liCount + '%'); -}()); - -loading.init($('body')); //满屏loading - -//点击订单区域跳转订单详情页 -orderHammer = new Hammer(document.getElementById('order-container')); -orderHammer.on('tap', function(e) { - var $cur = $(e.target), - $order, - id, - url; - - if ($cur.closest('.locHref').length > 0) { - return; - } - - $order = $cur.closest('.order'); - id = $order.data('id'); - - $reaMask.data('orderId', id); - - if ($cur.closest('.del').length > 0) { - - //Order delete - dialog.showDialog({ - dialogText: '确定删除订单吗?', - hasFooter: { - leftBtnText: '取消', - rightBtnText: '确定' - } - }, function() { - $.ajax({ - type: 'GET', - url: '/home/delOrder', - data: { - id: id - }, - success: function(data) { - dialog.hideDialog(); - if (data.message) { - tip.show(data.message); - } - if (data.code === 200) { - - //删除订单页面刷新 - window.location.reload(); - } - }, - error: function() { - tip.show('取消订单失败'); - } - }); - }); - } else if ($cur.closest('.cancel').length > 0) { - console.log('s'); - $reaMask.css('visibility', 'visible'); - } else if ($cur.closest('.order-goods').length > 0) { - - //Location to order detail - url = $order.data('href'); - location.href = url; - } -}); - -function scrollHandler() { - if (order.end === false && $(window).scrollTop() + winH > - $(document).height() - 0.25 * $orderContainer.height()) { - - //下拉请求时不显示mask - getOrders({ - noLoadingMask: true - }); - } -} - -//srcoll to load more -$(window).scroll(function() { - window.requestAnimationFrame(scrollHandler); -}); - -//初始化请求第一页数据 -getOrders(); - -$(function() { - reasonSwiper = new Swiper('.box-main', { - paginationClickable: true, - direction: 'vertical', - slidesPerView: 6, - height: 200, - centeredSlides: true, - initialSlide: 3, - onSlideChangeStart: function(reasonSwiper) { - var activeIndex = reasonSwiper.activeIndex, - slides = reasonSwiper.slides, - i = 0; - - if (slides.length !== 1) { - if (activeIndex === 0) { - for (i = 1; i < slides.length; i++) { - $(slides[i]).css('transform', ''); - } - } else if (activeIndex === slides.length - 1) { - for (i = 0; i < activeIndex; i++) { - $(slides[i]).css('transform', 'rotateX(' + (30 + (activeIndex - i) * 12) + 'deg)'); - } - } else { - for (i = 0; i < activeIndex; i++) { - $(slides[i]).css('transform', 'rotateX(' + (30 + (activeIndex - i) * 12) + 'deg)'); - } - for (i = activeIndex + 1; i < slides.length; i++) { - $(slides[i]).css('transform', ''); - } - } - } - $(slides[activeIndex]).css('transform', ''); - } - }); -}); - -$reaMask.find('.box-cmp').on('touchend', function(e) { - var selSolid = reasonSwiper.slides[reasonSwiper.activeIndex], - reason = $(selSolid).text(), - reasonId = $(selSolid).data('reasonId'); - - $.ajax({ - type: 'GET', - url: '/home/cancelOrder', - data: { - id: $reaMask.data('orderId'), - reason: reason, - reasonId: reasonId - } - }).then(function(res) { - $reaMask.fadeOut(); - if ($.type(res) !== 'object') { - return; - } - if (res.message) { - tip.show(res.message); - } - setTimeout(function() { - window.location.href = '/home/orders'; - }, 2000); - }).fail(function() { - tip.show('网络错误'); - }); -}); - -$reaMask.on('touchend', function(event) { - if (event.target.className !== 'reason-mask') { - return false; - } - - $reaMask.css('visibility', 'hidden'); - event.stopPropagation(); -}); -}); -define("js/me/order-detail", ["jquery","lazyload","hammer","handlebars","source-map","swiper","index"], function(require, exports, module){ -/** - * 订单详情页 - * @author: xuqi<qi.xu@yoho.cn> - * @date: 2015/11/16 - */ - -var $ = require("jquery"), - lazyLoad = require("lazyload"), - Hammer = require("hammer"), - dialog = require("js/me/dialog"), - tip = require("js/plugin/tip"), - orderId = $('#order-detail').data('id'), - $countDownHours = $('.hours'), - $countdownContainer = $('.count-down'), - Swiper = require("swiper"), - $ownerInfo = $('.owner-info'), - $reaMask = $('.reason-mask'), - reasonSwiper, - optHammer; - -lazyLoad({ - try_again_css: 'order-failure' -}); - -function downCount(options) { - - var difference = options,// difference of dates - interval; - /** - * Main downCount function that calculates everything - */ - function countdown() { - - // basic math variables - var _second = 1000, - _minute = _second * 60, - _hour = _minute * 60, - _day = _hour * 24, - days, - hours, - minutes, - seconds; - - // calculate dates - days = Math.floor(difference / _day), - hours = Math.floor((difference % _day) / _hour), - minutes = Math.floor((difference % _hour) / _minute), - seconds = Math.floor((difference % _minute) / _second); - - // fix dates so that it will show two digets - days = (String(days).length >= 2) ? days : '0' + days; - hours = (String(hours).length >= 2) ? hours : '0' + hours; - minutes = (String(minutes).length >= 2) ? minutes : '0' + minutes; - seconds = (String(seconds).length >= 2) ? seconds : '0' + seconds; - - // set to DOM - $countdownContainer.removeClass('hide'); - $countDownHours.text('剩余' + hours + ':' + minutes + ':' + seconds); - - difference -= 1000; - - if (difference < 0) { - clearInterval(interval);// stop timer - return; - } - } - if (difference !== '' && difference > 0) { - interval = setInterval(countdown, 1000);// start - } -} - -downCount($countDownHours.text()); - -//订单删除 -optHammer = new Hammer(document.getElementsByClassName('opt')[0]); -optHammer.on('tap', function(e) { - var $cur = $(e.target); - - if ($cur.hasClass('btn-del')) { - - //删除订单 - dialog.showDialog({ - dialogText: '确定删除订单吗?', - hasFooter: { - leftBtnText: '取消', - rightBtnText: '确定' - } - }, function() { - $.ajax({ - type: 'GET', - url: '/home/delOrder', - data: { - id: orderId - } - }).then(function(res) { - $('#dialog-wrapper').hide(); - if ($.type(res) !== 'object') { - return; - } - if (res.message) { - tip.show(res.message); - } - setTimeout(function() { - window.location.href = '/home/orders'; - }, 2000); - }).fail(function() { - tip.show('网络错误'); - }); - }); - } else if ($cur.hasClass('btn-cancel')) { - $reaMask.css('visibility', 'visible'); - } -}); - -if ($ownerInfo.data('changeable') === true) { - $ownerInfo.find('.rest').show(); - $ownerInfo.on('touchend', function() { - location.href = $ownerInfo.data('url'); - }); -} - -$(function() { - reasonSwiper = new Swiper('.box-main', { - paginationClickable: true, - direction: 'vertical', - slidesPerView: 6, - height: 200, - centeredSlides: true, - initialSlide: 3, - onSlideChangeStart: function(reasonSwiper) { - var activeIndex = reasonSwiper.activeIndex, - slides = reasonSwiper.slides, - i = 0; - - if (slides.length !== 1) { - if (activeIndex === 0) { - for (i = 1; i < slides.length; i++) { - $(slides[i]).css('transform', ''); - } - } else if (activeIndex === slides.length - 1) { - for (i = 0; i < activeIndex; i++) { - $(slides[i]).css('transform', 'rotateX(' + (30 + (activeIndex - i) * 12) + 'deg)'); - } - } else { - for (i = 0; i < activeIndex; i++) { - $(slides[i]).css('transform', 'rotateX(' + (30 + (activeIndex - i) * 12) + 'deg)'); - } - for (i = activeIndex + 1; i < slides.length; i++) { - $(slides[i]).css('transform', ''); - } - } - } - $(slides[activeIndex]).css('transform', ''); - } - }); -}); - -$reaMask.find('.box-cmp').on('touchend', function(e) { - var selSolid = reasonSwiper.slides[reasonSwiper.activeIndex], - reason = $(selSolid).text(), - reasonId = $(selSolid).data('reasonId'); - - $.ajax({ - type: 'GET', - url: '/home/cancelOrder', - data: { - id: orderId, - reason: reason, - reasonId: reasonId - } - }).then(function(res) { - $reaMask.fadeOut(); - if ($.type(res) !== 'object') { - return; - } - if (res.message) { - tip.show(res.message); - } - setTimeout(function() { - window.location.href = '/home/orders'; - }, 2000); - }).fail(function() { - tip.show('网络错误'); - }); -}); - -$reaMask.on('touchend', function(event) { - if (event.target.className !== 'reason-mask') { - return false; - } - - $reaMask.css('visibility', 'hidden'); - event.stopPropagation(); -}); - -}); -define("js/me/fav", ["jquery","hammer","swiper","handlebars","source-map","index"], function(require, exports, module){ +define("js/product/shop", ["jquery","iscroll-probe","lazyload","swiper","hammer","index"], function(require, exports, module){ /** - * 个人中心--收藏 - * @author: chenglong<chenglong.wang@yoho.cn> - * @date: 2015/11/12 + * 品牌店铺首页 */ + var $ = require("jquery"), - Hammer = require("hammer"), - Swiper = require("swiper"); + IScroll = require("iscroll-probe"), + lazyLoad = require("lazyload"), + Swiper = require("swiper"), + bannerSwiper, + multiSwiper, + myScroll, + imgH, + nav1H, + main1H, + main1oH, + nav2H, + main2oH, + scH, + $nav1 = $('#pos-nav'), + $nav2 = $('#pos-list'), + sTop; -var diaLog = require("js/me/dialog"); +var tip = require("js/plugin/tip"), + filter = require("js/plugin/filter"), + loading = require("js/plugin/loading"); -var tip = require("js/plugin/tip"); +var $subNav = $('.home-sub-nav'), + $goodsContainer = $('#goods-container'), + $goodsChildren = $goodsContainer.children(), + $ngc = $($goodsChildren.get(0)), + $pgc = $($goodsChildren.get(1)), + $dgc = $($goodsChildren.get(2)), + shopId = $('input[name="shop_id"]').val(), + appVersion = $('input[name="app_version"]').val(), + brand = $('input[name="brand"]').val(), + favId = $('input[name="favId"]').val(); -var $navLi = $('#fav-tab > li'), - $favContainer = $('.fav-content > .fav-type'), - swiperObj = {}, - favTabHammer, - favContentHammer, - $loadMore = $('.fav-load-more'), - $brandLoadMore = $('.fav-brand-load-more'), - winH = $(window).height(), - footerH = $('#yoho-footer').height(), - $favProductList = $('.fav-product-list'), - $favBrandList = $('.fav-brand-swiper-wrapper'), - pageId = 1, - brandPageId = 1, //收藏品牌的当前页数 - lockId = true, - brandLockId = true, //收藏品牌是否可下拉加载更多 - brandTab = false; //当前是否停留在收藏品牌页 +var winH = $(window).height(), + noResult = '<p class="no-result">未找到相关搜索结果</p>'; -function showFavTab(index) { - $navLi.filter('.active').removeClass('active'); - $navLi.eq(index).addClass('active'); +//默认筛选条件 +var defaultOpt = require("js/product/query-param"); - $favContainer.filter('.show').removeClass('show'); - $favContainer.eq(index).addClass('show'); -} +var $listNav = $('#list-nav'), + $posList = $('#pos-list'), -//初始化swiper -function initSwiper(data) { - var i, - idStrReg = /container-(\d+)['"]{1}/gi, - idReg = /\d+/, - idArr = data.match(idStrReg), - idArrLen = idArr.length, - containerId; + //导航数据信息 + navInfo = { + new: { + order: 1, + reload: true, + page: 1, + end: false + }, + hot: { + order: 1, + reload: true, + page: 1, + end: false + }, + newest: { + order: 1, + reload: true, + page: 0, + end: false + }, + price: { + order: 1, + reload: true, + page: 0, + end: false + }, + discount: { + order: 1, + reload: true, + page: 0, + end: false + } + }, + $pre = $listNav.find('.active'), //纪录进入筛选前的active项,初始为选中项 + searching; - //$swiperList = $('.swiper-container'); - for (i = 0; i < idArrLen; i++) { +var viewType = 1,// 1-首页,2-上新,3-人气 + listCount = $('.category-list li').length, + listModValue = 4 - listCount % 4, + listIndex; - /*id = $swiperList.eq(i).attr('data-id'); +lazyLoad($('img.lazy')); - if (!!swiperObj[id]) { - swiperObj[id].destroy(true, true); - }*/ +//焦点效果 +if ($('.banner-swiper').find('li').size() > 1) { + bannerSwiper = new Swiper('.banner-swiper', { + lazyLoading: true, + lazyLoadingInPrevNext: true, + loop: true, + autoplay: 3000, + autoplayDisableOnInteraction: false, + paginationClickable: true, + slideElement: 'li', + pagination: '.banner-top .pagination-inner' + }); +} - containerId = idArr[i].match(idReg)[0]; +if ($('.multi-browse').find('li').size() > 1) { + multiSwiper = new Swiper('.multi-browse', { + lazyLoading: true, + lazyLoadingInPrevNext: true, + lazyLoadingOnTransitionStart: true, + grabCursor: true, + slidesPerView: 'auto', + slideElement: 'li', + watchSlidesVisibility: true + }); +} - swiperObj[containerId] = new Swiper('#swiper-container-' + containerId, { - slidesPerView: 'auto', - grabCursor: true, - slideElement: 'li', - wrapperClass: 'swiper-wrapper-' + containerId, - lazyLoading: true, - watchSlidesVisibility: true - }); +//根据热门品类的个数来改变样式展示 +// +if ($('.category-list li').length % 4 !== 0) { + $('.category-list li:last-child').addClass('category-list-last-li'); +} + +if ($('.category-list li').length < 4) { + $('.category-list').addClass('category-list-top-board'); + $('.category-list').find('.buriedpoint').addClass('category-list-only-one-row'); +} + +if ($('.category-list li').length >= 5) { + for (listIndex = listModValue; listIndex >= 0; listIndex--) { + $('.category-list li').eq(listCount - 4 + listIndex - 1).addClass('category-list-last-full-row'); } } -// 上拉加载更多 -function loadData($parent, url, page) { - if (url === 'favBrand') { - brandLockId = true; - } else { - lockId = true; +function getPageGoods(info) { + var nav,navType; + + if (searching) { + return; + } + + navType = info.data.type; + nav = navInfo[navType]; + + //不需要重新加载并且数据请求结束 + if (nav.end) { + + return; } + + searching = true; $.ajax({ - method: 'post', - url: '/home/' + url, - data: { - page: page - }, + type: 'GET', + url: info.url, + data: info.data, success: function(data) { - var $loadingMask = $parent.closest('.fav-type').find('.fav-content-loading'); - - if (url === 'favBrand') { - $brandLoadMore.addClass('hide'); - } else { - $loadMore.addClass('hide'); + if (data === ' ') { + nav.end = true; } - if (data === ' ') { - $loadingMask.addClass('hide'); - $parent.closest('.fav-type').find('.fav-null-box').removeClass('hide'); - window.rePosFooter(); - } else if (data === 'end') { + info.callBack(data); + }, + error: function() { + alert('网络断开连接了~'); + searching = false; + } + }); +} - //处理data等于end时如果loadingMask存在且没有hide样式的情况 - if ($loadingMask && !$loadingMask.hasClass('hide')) { - $loadingMask.addClass('hide'); +function getParam(req) { + if (brand) { + req.data.brand = brand; + } - //$parent.closest('.fav-type').find('.fav-null-box').removeClass('hide'); - } + if (shopId) { + req.data.shop_id = shopId; + } +} - $parent.closest('.fav-type').find('.fav-load-background') - .removeClass('fav-load-background').html('没有更多了'); +function newData(callback) { + var req = {}; - // hf: fixes bug to 修改没有数据还调接口,加载错误页面问题 - brandLockId = true; - lockId = true; - } else if (data.length > 10) { - $parent.append(data); + req.url = '/index/search/search'; + req.data = { + type: 'newest', + order: '1', + page: navInfo.new.page, + tagNew: '1' + }; - //如果有数据loadingMask会被remove掉 - $loadingMask.remove(); - if (url === 'favBrand') { - initSwiper(data);//如果是收藏品牌需要初始化swiper + getParam(req); - brandLockId = false;//请求成功后解锁品牌收藏page++ - } else { - lockId = false;//请求成功后解锁商品收藏page++ - } - } - window.rePosFooter(); - } - }); + req.callBack = function(data) { + $('#new-arrival').append(data); + navInfo.new.page++; + myScroll.refresh(); + lazyLoad($('#new-arrival .lazy')); + scH = $('#scroller').outerHeight(); + searching = false; + callback && $.isFunction(callback) && callback(); + }; + getPageGoods(req); } -// 如果从品牌收藏入口进入 -if ($('#fav-tab').hasClass('brand-tab')) { - showFavTab(1); - loadData($favBrandList, 'favBrand', 1); - brandTab = true; - window.rePosFooter(); -} else { - showFavTab(0); - loadData($favProductList, 'favProduct', 1); - brandTab = false; - window.rePosFooter(); +function hotData(callback) { + var req = {}; + + req.url = '/index/search/search'; + req.data = { + type: 'hot', + order: '1', + page: navInfo.hot.page, + showTag: '1' + }; + + getParam(req); + + req.callBack = function(data) { + $('#popularity').append(data); + navInfo.hot.page++; + myScroll.refresh(); + lazyLoad($('#popularity .lazy')); + scH = $('#scroller').outerHeight(); + searching = false; + callback && $.isFunction(callback) && callback(); + }; + getPageGoods(req); } -favTabHammer = new Hammer(document.getElementById('fav-tab')); -favTabHammer.on('tap', function(e) { - var $cur = $(e.target).closest('li'), - index; +function tabChange(dom, index) { + var li = dom.eq(index); - if ($cur.length === 0 || $cur.hasClass('active')) { - return; - } + dom.removeClass('active'); + li.addClass('active'); - index = $cur.index(); + dom.removeClass('color'); + li.addClass('color'); +} - if (index === 0) { - brandTab = false; - if ($favProductList.find('li').length === 0 && - $favProductList.closest('.fav-type').find('.fav-null-box').hasClass('hide')) { - loadData($favProductList, 'favProduct', 1); +//首页导航 +$.jqtab = function(nav, posNav, main) { + + $(nav + ' li, ' + posNav + ' li').not('li.all-goods').on('touchstart', function() { + + var index = $(this).index(), + activeTab = $(this).attr('tab'); + + $nav1.removeClass('fixed-top'); + tabChange($(nav + ' li'), index); + tabChange($(posNav + ' li'), index); + $(main).hide(); + $('#' + activeTab).fadeIn(); + if (activeTab === 'new-arrival') { + newData(); + viewType = 2; + } else if (activeTab === 'popularity') { + hotData(); + viewType = 3; + } else if (activeTab === 'home-page') { + + myScroll && myScroll.refresh(); + scH = $('#scroller').outerHeight(); + $nav1.removeClass('fixed-top'); + $nav1.removeClass('absolute'); + $nav2.removeClass('fixed-top'); + $nav2.removeClass('absolute'); } - } else { - brandTab = true; - if ($favBrandList.find('div').length === 0 && - $favBrandList.closest('.fav-type').find('.fav-null-box').hasClass('hide')) { - loadData($favBrandList, 'favBrand', 1); + if (!$nav1.hasClass('hide')) { + myScroll.scrollTo(0, 0 - imgH); } - } - showFavTab(index); - window.rePosFooter(); + $nav1.addClass('hide'); -}); + return false; + }); +}; +$.jqtab('#nav', '#pos-nav', '.main'); +$('#wrapper').addClass('scroll-wrapper'); -//删除收藏的商品 -favContentHammer = new Hammer(document.getElementById('fav-content')); +// lazyLoad($('img.lazy')); -favContentHammer.on('tap', function(e) { - var id = ''; +myScroll = new IScroll('#wrapper', { + probeType: 3, + mouseWheel: true, + click: true +}); +myScroll.on('scroll', function() { + var scrollCall, + sTop = -this.y; - if (!$(e.target).hasClass('del-fav')) { - return; + if (sTop + winH * 2 > scH) { + switch (viewType) { + case 2: + scrollCall = function() { + $nav1.css({ + transform: 'translate(0, ' + (-scH) + 'px)' + }); + }; + newData(scrollCall); + break; + case 3: + scrollCall = function() { + $nav1.css({ + transform: 'translate(0, ' + (-scH) + 'px)' + }); + }; + hotData(scrollCall); + break; + } } - diaLog.showDialog({ - dialogText: '您确定要取消收藏吗?', - hasFooter: { - leftBtnText: '取消', - rightBtnText: '确定' + if (sTop < imgH) { + if (!$nav1.hasClass('hide')) { + $nav1.addClass('hide'); } - }, function() { - id = $(e.target).closest('li').attr('data-id'); - $.ajax({ - method: 'post', - url: '/home/favoriteDel', - data: { - id: id - } - }).then(function(data) { + if (!$nav2.hasClass('hide')) { + $nav2.addClass('hide'); + } //滑动距离不到导航1 + } else if (sTop < imgH + nav1H + main1oH) { + if ($nav1.hasClass('hide')) { + $nav1.removeClass('hide'); + } + if (!$nav2.hasClass('hide')) { + $nav2.addClass('hide'); + }//滑动距离不到导航2 - if (data.code === 200) { - diaLog.showDialog({ - autoHide: true, - fast: true, - dialogText: '已经取消收藏' - }); - $(e.target).closest('li').remove(); - } else if (data.code === 400) { - diaLog.showDialog({ - autoHide: true, - fast: true, - dialogText: data.message - }); - } else { - diaLog.showDialog({ - autoHide: true, - fast: true, - dialogText: '取消收藏失败' - }); + if (sTop < imgH + main1H) { + if (!$nav1.hasClass('fixed-top')) { + $nav1.addClass('fixed-top') + .removeClass('absolute') + .css({ + transform: 'translate(0, ' + (-scH) + 'px)' + }); } - }).fail(function() { + } else if (sTop < imgH + nav1H + main1H) { + if ($('#home-page').is(':hidden')) { + return false; + } + if (!$nav1.hasClass('absolute')) { + $nav1.addClass('absolute') + .removeClass('fixed-top'); + } + $nav1.css({ + transform: 'translate(0, ' + (imgH + main1H - sTop - scH) + 'px)' + }); + } + } else { + if ($('#home-page').is(':hidden')) { + return false; + } - //TODO + if (!$nav1.hasClass('hide')) { + $nav1.addClass('hide'); + } + if ($nav2.hasClass('hide')) { + $nav2.removeClass('hide'); + } - diaLog.showDialog({ - autoHide: true, - dialogText: '网络错误~' + if (sTop < scH) { + if (!$nav2.hasClass('absolute')) { + $nav2.addClass('absolute') + .removeClass('fixed-top'); + } + $nav2.css({ + transform: 'translate(0, ' + (-scH) + 'px)' }); - }); - }); + } + } + $('#scroller').trigger('scroll'); }); -function scrollHandler() { - //距离底部未1/4列表高度+底部高度的时候加载更多 - if ($(window).scrollTop() + winH >= $(document).height() - 0.25 * $favBrandList.height() - footerH) { - if (brandTab) { - $brandLoadMore.filter('.hide').removeClass('hide'); - if (!brandLockId) { - brandPageId++; - loadData($favBrandList, 'favBrand', brandPageId); - } +document.addEventListener('touchmove', function(e) { + e.preventDefault(); +}, false); - } else { +/*if (!isIphone) { + return; +}*/ - $loadMore.filter('.hide').removeClass('hide'); - if (!lockId) { - pageId++; - loadData($favProductList, 'favProduct', pageId); - } - } +//window onload 后重新refresh iscroll +$(window).load(function() { + myScroll && myScroll.refresh(); + imgH = $('#nav-top').outerHeight(); + nav1H = $('#nav').outerHeight(); + main1H = $('#nav-main').height(); + main1oH = $('#nav-main').outerHeight(); + nav2H = $('#list-nav').outerHeight(); + main2oH = $('#goods-container').outerHeight(); + setTimeout(function() { + scH = $('#scroller').outerHeight(); + }, 1000); +}); + + +function search(opt) { + var setting = {}, + ext, + att, + nav, navType, + page; + + if (searching) { + return; } -} -//srcoll to load more -$(window).scroll(scrollHandler); + if (!opt.url) { + opt.url = '/index/search/search'; + } -$(document).on('touchend', '.swiper-header', function() { - var url = $(this).find('.fav-more').attr('href'); + if (!opt.nextPage) { - if (url) { - window.location.href = url; + //筛选项变更则重置reload为true + for (att in navInfo) { + if (navInfo.hasOwnProperty(att)) { + navInfo[att].reload = true; + } + } + + if (opt.id) { + switch (opt.type) { + case 'shop_id': + ext = { + shop_id: opt.id + }; + break; + case 'gender': + ext = { + gender: opt.id + }; + break; + case 'brand': + ext = { + brand: opt.id + }; + break; + case 'sort': + ext = { + sort: opt.id + }; + break; + case 'color': + ext = { + color: opt.id + }; + break; + case 'size': + ext = { + size: opt.id + }; + break; + case 'price': + ext = { + price: opt.id + }; + break; + case 'discount': + ext = { + discount: opt.id + }; + break; + } + $.extend(defaultOpt, ext); //扩展筛选项 + } } -}); -$('.invalidGoods').on('touchstart touchend', function(e) { - var $this = $(e.target).closest('span'); + //导航类别 + if ($pre.hasClass('new')) { + navType = 'newest'; + } else if ($pre.hasClass('price')) { + navType = 'price'; + } else if ($pre.hasClass('discount')) { + navType = 'discount'; + } + nav = navInfo[navType]; - if ($this.hasClass('del-fav')) { + page = nav.page + 1; + if (nav.reload) { + page = 1; + } else if (nav.end) { + + //不需要重新加载并且数据请求结束 return; } - tip.show('商品已下架'); - return false; -}); - -}); -define("js/me/suggest", ["jquery","hammer","lazyload","handlebars","source-map"], function(require, exports, module){ -/** - * 个人中心--意见反馈 - * @author: chenglong<chenglong.wang@yoho.cn> - * @date: 2015/11/12 - */ + $.extend(setting, defaultOpt, { + type: navType, + order: nav.order, + page: page + }); + if (brand) { + setting.brand = brand; + } + if (shopId) { + setting.shop_id = shopId; + } -var $ = require("jquery"), - Hammer = require("hammer"), - lazyLoad = require("lazyload"), - Handlebars = require("handlebars"); + searching = true; + loading.showLoadingMask(); -var diaLog = require("js/me/dialog"); + $.ajax({ + type: 'GET', + url: opt.url ? opt.url : '', + data: setting, + success: function(data) { + var $container, + num; -var $uploadImgList = $('.upload-img-list'), - headerNavHammer, - formHammer, - imgTpl, - imgTemplate, - $likeBtn = $('.suggest-item .like-btn'), - $disLikeBtn = $('.suggest-item .dislike-btn'), - $imgAdd = $('.img-add'), - imgStr = '', - uploadImgNum = 0; + switch (navType) { + case 'newest': + $container = $ngc; + break; + case 'price': + $container = $pgc; + break; + case 'discount': + $container = $dgc; + break; + } -require("js/me/jquery.upload"); + if (data === ' ') { + nav.end = true; -imgTpl = '{{# imgList}}' + - '<li>' + - '{{# imgUrl}}<img src="{{.}}" />' + - '<span class="upload-img-remove"></span>{{/ imgUrl}}' + - '</li>' + - '{{/ imgList}}'; + if (nav.reload) { + $container.html(noResult); + } + } else { + if (nav.reload) { + $container.html(data); + lazyLoad($container.find('.lazy')); + } else { + num = $container.find('.good-info').length; + $container.append(data); -imgTemplate = Handlebars.compile(imgTpl); + //lazy good-infos who append in + lazyLoad($container.find('.good-info:gt(' + (num - 1) + ') .lazy')); + } + } -$('#upload-img').upload({ - auto: true, - fileType: 'image/*', - uploadScript: '/home/suggestimgUpload', - fileObjName: 'fileData', - fileSizeLimit: 300, - height: '100%', - width: '100%', - multi: false, - onAddQueueItem: function(files) { + nav.reload = false; + nav.page = page; - //TODO - $uploadImgList.html(imgTemplate({ - imgList: true - })); + searching = false; + loading.hideLoadingMask(); + + window.rePosFooter(); + + setTimeout(function() { + myScroll.refresh(); + scH = $('#scroller').outerHeight(); + }, 1000); + }, + error: function() { + tip.show('网络断开连接了~'); + searching = false; + loading.hideLoadingMask(); + } + }); +} + +$.ajax({ + type: 'GET', + url: '/search/filter', + data: { + shop_id: brand ? '' : shopId, + brand: brand }, - onUploadComplete: function(file, data) { - $uploadImgList.html(''); - imgStr = JSON.parse(data).imgList[0].imgRelUrl; - $uploadImgList.html(imgTemplate(JSON.parse(data))); - $imgAdd.hide(); - uploadImgNum++; + success: function(data) { + $goodsContainer.append(data); + + setTimeout(function() { + myScroll.refresh(); + scH = $('#scroller').outerHeight(); + }, 1000); + + //初始化filter&注册filter回调 + filter.initFilter({ + fCbFn: search, + hCbFn: function() { + + //切换active状态到$pre上 + $pre.addClass('active'); + $pre.siblings('.filter').removeClass('active'); + }, + missStatus: true + }); } }); -lazyLoad(); +$listNav.bind('contextmenu', function(e) { + return false; +}); -headerNavHammer = new Hammer(document.getElementById('yoho-header')); +$posList.bind('contextmenu', function(e) { + return false; +}); -headerNavHammer.on('tap', function(e) { - var suggestText = $('#suggest-textarea').val(), - textReg = /\S+/; +$subNav.on('touchend touchcancel', function(e) { + var $this = $(e.target).closest('li'), + cname, + nav, + navType, + $active; + e.preventDefault(); - if ($(e.target).hasClass('nav-btn')) { + if (typeof $this === 'undefined' || $this.length === 0) { + return; + } - if (!textReg.test(suggestText)) { - diaLog.showDialog({ - autoHide: true, - dialogText: '意见不能为空' - }); + if ($this.hasClass('filter')) { - return; + //筛选面板切换状态 + if ($this.hasClass('active')) { + filter.hideFilter(); + + //点击筛选钱的active项回复active + $pre.addClass('active'); + $this.removeClass('active'); + } else { + $pre = $this.siblings('.active'); + + $pre.removeClass('active'); + $this.addClass('active'); + + filter.showFilter(); + } + } else { + if ($this.hasClass('new')) { + cname = '.new'; + navType = 'newest'; + } else if ($this.hasClass('price')) { + cname = '.price'; + navType = 'price'; + } else if ($this.hasClass('discount')) { + cname = '.discount'; + navType = 'discount'; } - $.ajax({ - method: 'post', - url: '/home/savesuggest', - data: { - content: suggestText, - image: imgStr + nav = navInfo[navType]; + + if ($this.hasClass('active')) { + + //最新无排序切换 + if ($this.hasClass('new')) { + return; } - }).then(function(data) { - if (data.code === 200) { - diaLog.showDialog({ - autoHide: true, - dialogText: '提交成功' - }); - setTimeout(function() { - location.pathname = 'home/suggest'; - }, 2000); + + if ($this.hasClass('price') || $this.hasClass('discount')) { + $this = $subNav.find(cname); + + // 价格/折扣切换排序状态 + $this.find('.icon > .iconfont').toggleClass('cur'); + $pre = $this; //更新pre为当前项 + nav.reload = true; //重置reload,HTML会被替换为逆序的HTML + nav.order = nav.order === 0 ? 1 : 0; //切换排序 + + $goodsContainer.children('.container:not(.hide)').addClass('hide'); + + switch (navType) { + case 'newest': + $ngc.removeClass('hide'); + break; + + case 'price': + $pgc.removeClass('hide'); + break; + + case 'discount': + $dgc.removeClass('hide'); + break; + } + + } + } else { + $active = $subNav.find('.active'); + + $pre = $this; //$pre为除筛选导航的其他导航项,若当前active的为筛选,则把$pre置为当前点击项 + + if ($active.hasClass('filter')) { + + //若之前active项为筛选,则隐藏筛选面板 + filter.hideFilter(); } else { - diaLog.showDialog({ - autoHide: true, - dialogText: '提交失败~' - }); + + //切换container显示 + $goodsContainer.children('.container:not(.hide)').addClass('hide'); + + switch (navType) { + case 'newest': + $ngc.removeClass('hide'); + break; + + case 'price': + $pgc.removeClass('hide'); + break; + + case 'discount': + $dgc.removeClass('hide'); + break; + } } - }).fail(function() { - diaLog.showDialog({ - autoHide: true, - dialogText: '网络错误~' + $subNav.children().removeClass('active'); + $subNav.find(cname).addClass('active'); + } + + if (nav.reload) { + search({ + type: 'shop_id', + id: shopId, + brand: brand, + url: '/index/search/search', + nextPage: false }); - }); + } } + e.stopPropagation(); }); -if (document.getElementById('img-form') !== null) { - formHammer = new Hammer(document.getElementById('img-form')); - formHammer.on('tap', function(e) { - if ($(e.target).hasClass('upload-img-remove')) { - $uploadImgList.html(''); - imgStr = ''; - uploadImgNum--; - setTimeout(function() { - $imgAdd.show(); - }, 50); +function scrollHandler() { + sTop = -myScroll.y; + + //当scroll到1/4$goodsContainer高度后继续请求下一页数据 + myScroll && myScroll.refresh(); + if (sTop + winH > $('#scroller').height() - 0.25 * $goodsContainer.height() - 50) { + if ($pre !== undefined) { + search({ + type: 'shop_id', + id: shopId, + brand: brand, + url: '/index/search/search', + nextPage: true + }); } - }); + } } -// 点赞与取消点赞 -$likeBtn.bind('click', function() { +//srcoll to load more +$(window).scroll(function() { + window.requestAnimationFrame(scrollHandler); +}); - var id = $(this).closest('.suggest-item').attr('data-id'), - $that = $(this); - $.ajax({ - method: 'post', - url: '/home/upAndDown', - data: { - suggest_id: id, - reliable: 1 - } - }).then(function(data) { - if (data.code === 200) { - $that.closest('.suggest-type').removeClass('show'); - $that.closest('.suggest-item').find('.suggest-good').addClass('show'); - } - }).fail(function(data) { +//初始请求最新第一页数据 +search({ + type: 'shop_id', + id: shopId, + brand: brand, + url: '/index/search/search', + nextPage: false +}); - //TODO +$listNav.on('touchstart', 'li', function(e) { + $(this).addClass('bytouch'); +}).on('touchend touchcancel', function() { + $listNav.find('li').removeClass('bytouch'); + myScroll.refresh(); +}); - diaLog.showDialog({ - autoHide: true, - dialogText: '网络错误~' - }); +$posList.on('touchstart', 'li', function(e) { + $(this).addClass('bytouch'); +}).on('touchend touchcancel', function() { + $posList.find('li').removeClass('bytouch'); + myScroll.refresh(); + myScroll.scrollTo(0, -(imgH + nav1H + main1oH + 5)); +}); + +//底部导航点击 +function fotterClick(group) { + $(group + ' li').on('touchstart', function() { + $('.sub-group').addClass('hide'); + if ($(this).find('.sub-group').length > 0) { + $(this).find('.sub-group').removeClass('hide'); + } }); +} + +fotterClick('.shop-foot-wrapper'); + +function stopPropagation(e) { + if (e.stopPropagation) { + e.stopPropagation(); + } else { + e.cancelBubble = true; + } +} + +$(document).bind('touchstart', function() { + $('.sub-group').addClass('hide'); }); -$disLikeBtn.bind('click', function() { +$('.shop-foot-wrapper').bind('touchstart', function(e) { + stopPropagation(e); +}); - var id = $(this).closest('.suggest-item').attr('data-id'), - $that = $(this); +//收藏 +function postCollect(info) { + var url = ''; + + if (searching) { + return; + } + searching = true; $.ajax({ method: 'post', - url: '/home/upAndDown', - data: { - suggest_id: id, - reliable: 2 - } - }).then(function(data) { - if (data.code === 200) { - $that.closest('.suggest-type').removeClass('show'); - $that.closest('.suggest-item').find('.suggest-bad').addClass('show'); - } - }).fail(function(data) { + url: info.url, + data: info.data, - //TODO + success: function(data) { - diaLog.showDialog({ - autoHide: true, - dialogText: '网络错误~' - }); + if (data.code === 200) { + if ($('#collect').hasClass('alreadyCollect')) { + $('#collect').attr('class', 'notCollect'); + } else { + $('#collect').attr('class', 'alreadyCollect'); + } + } + + if (data.code === 401) { + url = data.url; + $('body').append('<a href=\'' + url + '\'><span class="jump-login"><span></a>'); + + $('.jump-login').click(); + } + + setTimeout(function() { + myScroll.refresh(); + scH = $('#scroller').outerHeight(); + }, 1000); + searching = false; + }, + error: function() { + alert('网络断开连接了~'); + searching = false; + } }); -}); -}); -define("js/me/jquery.upload", ["jquery"], function(require, exports, module){ -/* -UploadiFive 1.2.2 -Copyright (c) 2012 Reactive Apps, Ronnie Garcia -Released under the UploadiFive Standard License <http://www.uploadify.com/uploadifive-standard-license> -*/ - -var jQuery = require("jquery"); - -;(function($) { - - var methods = { - - init : function(options) { - - return this.each(function() { - - // Create a reference to the jQuery DOM object - var $this = $(this); - $this.data('uploadifive', { - inputs : {}, // The object that contains all the file inputs - inputCount : 0, // The total number of file inputs created - fileID : 0, - queue : { - count : 0, // Total number of files in the queue - selected : 0, // Number of files selected in the last select operation - replaced : 0, // Number of files replaced in the last select operation - errors : 0, // Number of files that returned an error in the last select operation - queued : 0, // Number of files added to the queue in the last select operation - cancelled : 0 // Total number of files that have been cancelled or removed from the queue - }, - uploads : { - current : 0, // Number of files currently being uploaded - attempts : 0, // Number of file uploads attempted in the last upload operation - successful : 0, // Number of files successfully uploaded in the last upload operation - errors : 0, // Number of files returning errors in the last upload operation - count : 0 // Total number of files uploaded successfully - } - }); - var $data = $this.data('uploadifive'); - - // Set the default options - var settings = $data.settings = $.extend({ - 'auto' : true, // Automatically upload a file when it's added to the queue - 'buttonClass' : false, // A class to add to the UploadiFive button - 'buttonText' : 'Select Files', // The text that appears on the UploadiFive button - 'checkScript' : false, // Path to the script that checks for existing file names - 'dnd' : true, // Allow drag and drop into the queue - 'dropTarget' : false, // Selector for the drop target - 'fileObjName' : 'Filedata', // The name of the file object to use in your server-side script - 'fileSizeLimit' : 0, // Maximum allowed size of files to upload - 'fileType' : false, // Type of files allowed (image, etc), separate with a pipe character | - 'formData' : {}, // Additional data to send to the upload script - 'height' : 30, // The height of the button - 'itemTemplate' : false, // The HTML markup for the item in the queue - 'method' : 'post', // The method to use when submitting the upload - 'multi' : true, // Set to true to allow multiple file selections - 'overrideEvents' : [], // An array of events to override - 'queueID' : false, // The ID of the file queue - 'queueSizeLimit' : 0, // The maximum number of files that can be in the queue - 'removeCompleted' : false, // Set to true to remove files that have completed uploading - 'simUploadLimit' : 0, // The maximum number of files to upload at once - 'truncateLength' : 0, // The length to truncate the file names to - 'uploadLimit' : 0, // The maximum number of files you can upload - 'uploadScript' : 'uploadifive.php', // The path to the upload script - 'width' : 100 // The width of the button - - /* - // Events - 'onAddQueueItem' : function(file) {}, // Triggered for each file that is added to the queue - 'onCancel' : function(file) {}, // Triggered when a file is cancelled or removed from the queue - 'onCheck' : function(file, exists) {}, // Triggered when the server is checked for an existing file - 'onClearQueue' : function(queue) {}, // Triggered during the clearQueue function - 'onDestroy' : function() {} // Triggered during the destroy function - 'onDrop' : function(files, numberOfFilesDropped) {}, // Triggered when files are dropped into the file queue - 'onError' : function(file, fileType, data) {}, // Triggered when an error occurs - 'onFallback' : function() {}, // Triggered if the HTML5 File API is not supported by the browser - 'onInit' : function() {}, // Triggered when UploadiFive if initialized - 'onQueueComplete' : function() {}, // Triggered once when an upload queue is done - 'onProgress' : function(file, event) {}, // Triggered during each progress update of an upload - 'onSelect' : function() {}, // Triggered once when files are selected from a dialog box - 'onUpload' : function(file) {}, // Triggered when an upload queue is started - 'onUploadComplete' : function(file, data) {}, // Triggered when a file is successfully uploaded - 'onUploadFile' : function(file) {}, // Triggered for each file being uploaded - */ - }, options); - - // Calculate the file size limit - if (isNaN(settings.fileSizeLimit)) { - var fileSizeLimitBytes = parseInt(settings.fileSizeLimit) * 1.024 - if (settings.fileSizeLimit.indexOf('KB') > -1) { - settings.fileSizeLimit = fileSizeLimitBytes * 1000; - } else if (settings.fileSizeLimit.indexOf('MB') > -1) { - settings.fileSizeLimit = fileSizeLimitBytes * 1000000; - } else if (settings.fileSizeLimit.indexOf('GB') > -1) { - settings.fileSizeLimit = fileSizeLimitBytes * 1000000000; - } - } else { - settings.fileSizeLimit = settings.fileSizeLimit * 1024; - } - - // Create a template for a file input - $data.inputTemplate = $('<input type="file">') - .css({ - 'font-size' : settings.height + 'px', - 'opacity' : 0, - 'position' : 'absolute', - 'right' : '-3px', - 'top' : '-3px', - 'z-index' : 999 - }); - - // Create a new input - $data.createInput = function() { - - // Create a clone of the file input - var input = $data.inputTemplate.clone(); - // Create a unique name for the input item - var inputName = input.name = 'input' + $data.inputCount++; - // Set the multiple attribute - if (settings.multi) { - input.attr('multiple', true); - } - // Set the accept attribute on the input - if (settings.fileType) { - input.attr('accept', settings.fileType); - } - // Set the onchange event for the input - input.bind('change', function() { - $data.queue.selected = 0; - $data.queue.replaced = 0; - $data.queue.errors = 0; - $data.queue.queued = 0; - // Add a queue item to the queue for each file - var limit = this.files.length; - $data.queue.selected = limit; - if (($data.queue.count + limit) > settings.queueSizeLimit && settings.queueSizeLimit !== 0) { - if ($.inArray('onError', settings.overrideEvents) < 0) { - alert('The maximum number of queue items has been reached (' + settings.queueSizeLimit + '). Please select fewer files.'); - } - // Trigger the error event - if (typeof settings.onError === 'function') { - settings.onError.call($this, 'QUEUE_LIMIT_EXCEEDED'); - } - } else { - for (var n = 0; n < limit; n++) { - file = this.files[n]; - $data.addQueueItem(file); - } - $data.inputs[inputName] = this; - $data.createInput(); - } - // Upload the file if auto-uploads are enabled - if (settings.auto) { - methods.upload.call($this); - } - // Trigger the select event - if (typeof settings.onSelect === 'function') { - settings.onSelect.call($this, $data.queue); - } - }); - // Hide the existing current item and add the new one - if ($data.currentInput) { - $data.currentInput.hide(); - } - $data.button.append(input); - $data.currentInput = input; - } - - // Remove an input - $data.destroyInput = function(key) { - $($data.inputs[key]).remove(); - delete $data.inputs[key]; - $data.inputCount--; - } - - // Drop a file into the queue - $data.drop = function(e) { - $data.queue.selected = 0; - $data.queue.replaced = 0; - $data.queue.errors = 0; - $data.queue.queued = 0; - - var fileData = e.dataTransfer; - - var inputName = fileData.name = 'input' + $data.inputCount++; - // Add a queue item to the queue for each file - var limit = fileData.files.length; - $data.queue.selected = limit; - if (($data.queue.count + limit) > settings.queueSizeLimit && settings.queueSizeLimit !== 0) { - // Check if the queueSizeLimit was reached - if ($.inArray('onError', settings.overrideEvents) < 0) { - alert('The maximum number of queue items has been reached (' + settings.queueSizeLimit + '). Please select fewer files.'); - } - // Trigger the onError event - if (typeof settings.onError === 'function') { - settings.onError.call($this, 'QUEUE_LIMIT_EXCEEDED'); - } - } else { - // Add a queue item for each file - for (var n = 0; n < limit; n++) { - file = fileData.files[n]; - $data.addQueueItem(file); - } - // Save the data to the inputs object - $data.inputs[inputName] = fileData; - } - - // Upload the file if auto-uploads are enabled - if (settings.auto) { - methods.upload.call($this); - } - - // Trigger the onDrop event - if (typeof settings.onDrop === 'function') { - settings.onDrop.call($this, fileData.files, fileData.files.length); - } - - // Stop FireFox from opening the dropped file(s) - e.preventDefault(); - e.stopPropagation(); - } - - // Check if a filename exists in the queue - $data.fileExistsInQueue = function(file) { - for (var key in $data.inputs) { - input = $data.inputs[key]; - limit = input.files.length; - for (var n = 0; n < limit; n++) { - existingFile = input.files[n]; - // Check if the filename matches - if (existingFile.name == file.name && !existingFile.complete) { - return true; - } - } - } - return false; - } - - // Remove an existing file in the queue - $data.removeExistingFile = function(file) { - for (var key in $data.inputs) { - input = $data.inputs[key]; - limit = input.files.length; - for (var n = 0; n < limit; n++) { - existingFile = input.files[n]; - // Check if the filename matches - if (existingFile.name == file.name && !existingFile.complete) { - $data.queue.replaced++; - methods.cancel.call($this, existingFile, true); - } - } - } - } - - // Create the file item template - if (settings.itemTemplate == false) { - $data.queueItem = $('<div class="uploadifive-queue-item">\ - <a class="close" href="#">X</a>\ - <div><span class="filename"></span><span class="fileinfo"></span></div>\ - <div class="progress">\ - <div class="progress-bar"></div>\ - </div>\ - </div>'); - } else { - $data.queueItem = $(settings.itemTemplate); - } - - // Add an item to the queue - $data.addQueueItem = function(file) { - if ($.inArray('onAddQueueItem', settings.overrideEvents) < 0) { - // Check if the filename already exists in the queue - $data.removeExistingFile(file); - // Create a clone of the queue item template - file.queueItem = $data.queueItem.clone(); - // Add an ID to the queue item - file.queueItem.attr('id', settings.id + '-file-' + $data.fileID++); - // Bind the close event to the close button - file.queueItem.find('.close').bind('click', function() { - methods.cancel.call($this, file); - return false; - }); - var fileName = file.name; - if (fileName.length > settings.truncateLength && settings.truncateLength != 0) { - fileName = fileName.substring(0, settings.truncateLength) + '...'; - } - file.queueItem.find('.filename').html(fileName); - // Add a reference to the file - file.queueItem.data('file', file); - $data.queueEl.append(file.queueItem); - } - // Trigger the addQueueItem event - if (typeof settings.onAddQueueItem === 'function') { - settings.onAddQueueItem.call($this, file); - } - // Check the filesize - if (file.size > settings.fileSizeLimit && settings.fileSizeLimit != 0) { - $data.error('FILE_SIZE_LIMIT_EXCEEDED', file); - } else { - $data.queue.queued++; - $data.queue.count++; - } - } - - // Remove an item from the queue - $data.removeQueueItem = function(file, instant, delay) { - // Set the default delay - if (!delay) delay = 0; - var fadeTime = instant ? 0 : 500; - if (file.queueItem) { - if (file.queueItem.find('.fileinfo').html() != ' - Completed') { - file.queueItem.find('.fileinfo').html(' - Cancelled'); - } - file.queueItem.find('.progress-bar').width(0); - file.queueItem.delay(delay).fadeOut(fadeTime, function() { - $(this).remove(); - }); - delete file.queueItem; - $data.queue.count--; - } - } - - // Count the number of files that need to be uploaded - $data.filesToUpload = function() { - var filesToUpload = 0; - for (var key in $data.inputs) { - input = $data.inputs[key]; - limit = input.files.length; - for (var n = 0; n < limit; n++) { - file = input.files[n]; - if (!file.skip && !file.complete) { - filesToUpload++; - } - } - } - return filesToUpload; - } - - // Check if a file exists - $data.checkExists = function(file) { - if ($.inArray('onCheck', settings.overrideEvents) < 0) { - // This request needs to be synchronous - $.ajaxSetup({ - 'async' : false - }); - // Send the filename to the check script - var checkData = $.extend(settings.formData, {filename: file.name}); - $.post(settings.checkScript, checkData, function(fileExists) { - file.exists = parseInt(fileExists); - }); - if (file.exists) { - if (!confirm('A file named ' + file.name + ' already exists in the upload folder.\nWould you like to replace it?')) { - // If not replacing the file, cancel the upload - methods.cancel.call($this, file); - return true; - } - } - } - // Trigger the check event - if (typeof settings.onCheck === 'function') { - settings.onCheck.call($this, file, file.exists); - } - return false; - } - - // Upload a single file - $data.uploadFile = function(file, uploadAll) { - if (!file.skip && !file.complete && !file.uploading) { - file.uploading = true; - $data.uploads.current++; - $data.uploads.attempted++; - - // Create a new AJAX request - xhr = file.xhr = new XMLHttpRequest(); - - // Start the upload - // Use the faster FormData if it exists - if (typeof FormData === 'function' || typeof FormData === 'object') { - - // Create a new FormData object - var formData = new FormData(); - - // Add the form data - formData.append(settings.fileObjName, file); - - // Add the rest of the formData - for (i in settings.formData) { - formData.append(i, settings.formData[i]); - } - - // Open the AJAX call - xhr.open(settings.method, settings.uploadScript, true); - - // On progress function - xhr.upload.addEventListener('progress', function(e) { - if (e.lengthComputable) { - $data.progress(e, file); - } - }, false); - - // On complete function - xhr.addEventListener('load', function(e) { - if (this.readyState == 4) { - file.uploading = false; - if (this.status == 200) { - if (file.xhr.responseText !== 'Invalid file type.') { - $data.uploadComplete(e, file, uploadAll); - } else { - $data.error(file.xhr.responseText, file, uploadAll); - } - } else if (this.status == 404) { - $data.error('404_FILE_NOT_FOUND', file, uploadAll); - } else if (this.status == 403) { - $data.error('403_FORBIDDEN', file, uploadAll); - } else { - $data.error('Unknown Error', file, uploadAll); - } - } - }); - - // Send the form data (multipart/form-data) - xhr.send(formData); - - } else { - - // Send as binary - var reader = new FileReader(); - reader.onload = function(e) { - - // Set some file builder variables - var boundary = '-------------------------' + (new Date).getTime(), - dashes = '--', - eol = '\r\n', - binFile = ''; - - // Build an RFC2388 String - binFile += dashes + boundary + eol; - // Generate the headers - binFile += 'Content-Disposition: form-data; name="' + settings.fileObjName + '"'; - if (file.name) { - binFile += '; filename="' + file.name + '"'; - } - binFile += eol; - binFile += 'Content-Type: application/octet-stream' + eol + eol; - binFile += e.target.result + eol; - - for (key in settings.formData) { - binFile += dashes + boundary + eol; - binFile += 'Content-Disposition: form-data; name="' + key + '"' + eol + eol; - binFile += settings.formData[key] + eol; - } - - binFile += dashes + boundary + dashes + eol; - - // On progress function - xhr.upload.addEventListener('progress', function(e) { - $data.progress(e, file); - }, false); - - // On complete function - xhr.addEventListener('load', function(e) { - file.uploading = false; - var status = this.status; - if (status == 404) { - $data.error('404_FILE_NOT_FOUND', file, uploadAll); - } else { - if (file.xhr.responseText != 'Invalid file type.') { - $data.uploadComplete(e, file, uploadAll); - } else { - $data.error(file.xhr.responseText, file, uploadAll); - } - } - }, false); - - // Open the ajax request - var url = settings.uploadScript; - if (settings.method == 'get') { - var params = $(settings.formData).param(); - url += params; - } - xhr.open(settings.method, settings.uploadScript, true); - xhr.setRequestHeader("Content-Type", "multipart/form-data; boundary=" + boundary); - - // Trigger the uploadFile event - if (typeof settings.onUploadFile === 'function') { - settings.onUploadFile.call($this, file); - } - - // Send the file for upload - xhr.sendAsBinary(binFile); - } - reader.readAsBinaryString(file); - - } - } - } - - // Update a file upload's progress - $data.progress = function(e, file) { - if ($.inArray('onProgress', settings.overrideEvents) < 0) { - if (e.lengthComputable) { - var percent = Math.round((e.loaded / e.total) * 100); - } - file.queueItem.find('.fileinfo').html(' - ' + percent + '%'); - file.queueItem.find('.progress-bar').css('width', percent + '%'); - } - // Trigger the progress event - if (typeof settings.onProgress === 'function') { - settings.onProgress.call($this, file, e); - } - } - - // Trigger an error - $data.error = function(errorType, file, uploadAll) { - if ($.inArray('onError', settings.overrideEvents) < 0) { - // Get the error message - switch(errorType) { - case '404_FILE_NOT_FOUND': - errorMsg = '404 Error'; - break; - case '403_FORBIDDEN': - errorMsg = '403 Forbidden'; - break; - case 'FORBIDDEN_FILE_TYPE': - errorMsg = 'Forbidden File Type'; - break; - case 'FILE_SIZE_LIMIT_EXCEEDED': - errorMsg = 'File Too Large'; - break; - default: - errorMsg = 'Unknown Error'; - break; - } - - // Add the error class to the queue item - file.queueItem.addClass('error') - // Output the error in the queue item - .find('.fileinfo').html(' - ' + errorMsg); - // Hide the - file.queueItem.find('.progress').remove(); - } - // Trigger the error event - if (typeof settings.onError === 'function') { - settings.onError.call($this, errorType, file); - } - file.skip = true; - if (errorType == '404_FILE_NOT_FOUND') { - $data.uploads.errors++; - } else { - $data.queue.errors++; - } - if (uploadAll) { - methods.upload.call($this, null, true); - } - } - - // Trigger when a single file upload is complete - $data.uploadComplete = function(e, file, uploadAll) { - if ($.inArray('onUploadComplete', settings.overrideEvents) < 0) { - file.queueItem.find('.progress-bar').css('width', '100%'); - file.queueItem.find('.fileinfo').html(' - Completed'); - file.queueItem.find('.progress').slideUp(250); - file.queueItem.addClass('complete'); - } - // Trigger the complete event - if (typeof settings.onUploadComplete === 'function') { - settings.onUploadComplete.call($this, file, file.xhr.responseText); - } - if (settings.removeCompleted) { - setTimeout(function() { methods.cancel.call($this, file); }, 3000); - } - file.complete = true; - $data.uploads.successful++; - $data.uploads.count++; - $data.uploads.current--; - delete file.xhr; - if (uploadAll) { - methods.upload.call($this, null, true); - } - } - - // Trigger when all the files are done uploading - $data.queueComplete = function() { - // Trigger the queueComplete event - if (typeof settings.onQueueComplete === 'function') { - settings.onQueueComplete.call($this, $data.uploads); - } - } - - // ---------------------- - // Initialize UploadiFive - // ---------------------- - - // Check if HTML5 is available - if (window.File && window.FileList && window.Blob && (window.FileReader || window.FormData)) { - // Assign an ID to the object - settings.id = 'uploadifive-' + $this.attr('id'); - - // Wrap the file input in a div with overflow set to hidden - $data.button = $('<div id="' + settings.id + '" class="uploadifive-button">' + settings.buttonText + '</div>'); - if (settings.buttonClass) $data.button.addClass(settings.buttonClass); - - // Style the button wrapper - $data.button.css({ - 'height' : settings.height, - 'line-height' : settings.height + 'px', - 'overflow' : 'hidden', - 'position' : 'relative', - 'text-align' : 'center', - 'width' : settings.width - }); - - // Insert the button above the file input - $this.before($data.button) - // Add the file input to the button - .appendTo($data.button) - // Modify the styles of the file input - .hide(); - - // Create a new input - $data.createInput.call($this); - - // Create the queue container - if (!settings.queueID) { - settings.queueID = settings.id + '-queue'; - $data.queueEl = $('<div id="' + settings.queueID + '" class="uploadifive-queue" />'); - $data.button.after($data.queueEl); - } else { - $data.queueEl = $('#' + settings.queueID); - } - - // Add drag and drop functionality - if (settings.dnd) { - var $dropTarget = settings.dropTarget ? $(settings.dropTarget) : $data.queueEl.get(0); - $dropTarget.addEventListener('dragleave', function(e) { - // Stop FireFox from opening the dropped file(s) - e.preventDefault(); - e.stopPropagation(); - }, false); - $dropTarget.addEventListener('dragenter', function(e) { - // Stop FireFox from opening the dropped file(s) - e.preventDefault(); - e.stopPropagation(); - }, false); - $dropTarget.addEventListener('dragover', function(e) { - // Stop FireFox from opening the dropped file(s) - e.preventDefault(); - e.stopPropagation(); - }, false); - $dropTarget.addEventListener('drop', $data.drop, false); - } - - // Send as binary workaround for Chrome - if (!XMLHttpRequest.prototype.sendAsBinary) { - XMLHttpRequest.prototype.sendAsBinary = function(datastr) { - function byteValue(x) { - return x.charCodeAt(0) & 0xff; - } - var ords = Array.prototype.map.call(datastr, byteValue); - var ui8a = new Uint8Array(ords); - this.send(ui8a.buffer); - } - } - - // Trigger the oninit event - if (typeof settings.onInit === 'function') { - settings.onInit.call($this); - } - - } else { - - // Trigger the fallback event - if (typeof settings.onFallback === 'function') { - settings.onFallback.call($this); - } - return false; - - } - - }); - - }, - - - // Write some data to the console - debug : function() { - - return this.each(function() { - - console.log($(this).data('uploadifive')); - - }); - - }, - - // Clear all the items from the queue - clearQueue : function() { - - this.each(function() { - - var $this = $(this), - $data = $this.data('uploadifive'), - settings = $data.settings; - - for (var key in $data.inputs) { - input = $data.inputs[key]; - limit = input.files.length; - for (i = 0; i < limit; i++) { - file = input.files[i]; - methods.cancel.call($this, file); - } - } - // Trigger the onClearQueue event - if (typeof settings.onClearQueue === 'function') { - settings.onClearQueue.call($this, $('#' + $data.settings.queueID)); - } - - }); - - }, - - // Cancel a file upload in progress or remove a file from the queue - cancel : function(file, fast) { - - this.each(function() { - - var $this = $(this), - $data = $this.data('uploadifive'), - settings = $data.settings; - - // If user passed a queue item ID instead of file... - if (typeof file === 'string') { - if (!isNaN(file)) { - fileID = 'uploadifive-' + $(this).attr('id') + '-file-' + file; - } - file = $('#' + fileID).data('file'); - } - - file.skip = true; - $data.filesCancelled++; - if (file.uploading) { - $data.uploads.current--; - file.uploading = false; - file.xhr.abort(); - delete file.xhr; - methods.upload.call($this); - } - if ($.inArray('onCancel', settings.overrideEvents) < 0) { - $data.removeQueueItem(file, fast); - } - - // Trigger the cancel event - if (typeof settings.onCancel === 'function') { - settings.onCancel.call($this, file); - } - - }); - - }, - - // Upload the files in the queue - upload : function(file, keepVars) { - - this.each(function() { - - var $this = $(this), - $data = $this.data('uploadifive'), - settings = $data.settings; - - if (file) { - - $data.uploadFile.call($this, file); - - } else { - - // Check if the upload limit was reached - if (($data.uploads.count + $data.uploads.current) < settings.uploadLimit || settings.uploadLimit == 0) { - if (!keepVars) { - $data.uploads.attempted = 0; - $data.uploads.successsful = 0; - $data.uploads.errors = 0; - var filesToUpload = $data.filesToUpload(); - // Trigger the onUpload event - if (typeof settings.onUpload === 'function') { - settings.onUpload.call($this, filesToUpload); - } - } - - // Loop through the files - $('#' + settings.queueID).find('.uploadifive-queue-item').not('.error, .complete').each(function() { - _file = $(this).data('file'); - // Check if the simUpload limit was reached - if (($data.uploads.current >= settings.simUploadLimit && settings.simUploadLimit !== 0) || ($data.uploads.current >= settings.uploadLimit && settings.uploadLimit !== 0) || ($data.uploads.count >= settings.uploadLimit && settings.uploadLimit !== 0)) { - return false; - } - if (settings.checkScript) { - // Let the loop know that we're already processing this file - _file.checking = true; - skipFile = $data.checkExists(_file); - _file.checking = false; - if (!skipFile) { - $data.uploadFile(_file, true); - } - } else { - $data.uploadFile(_file, true); - } - }); - if ($('#' + settings.queueID).find('.uploadifive-queue-item').not('.error, .complete').size() == 0) { - $data.queueComplete(); - } - } else { - if ($data.uploads.current == 0) { - if ($.inArray('onError', settings.overrideEvents) < 0) { - if ($data.filesToUpload() > 0 && settings.uploadLimit != 0) { - alert('The maximum upload limit has been reached.'); - } - } - // Trigger the onError event - if (typeof settings.onError === 'function') { - settings.onError.call($this, 'UPLOAD_LIMIT_EXCEEDED', $data.filesToUpload()); - } - } - } - - } - - }); - - }, - - // Destroy an instance of UploadiFive - destroy : function() { - - this.each(function() { - - var $this = $(this), - $data = $this.data('uploadifive'), - settings = $data.settings; - - // Clear the queue - methods.clearQueue.call($this); - // Destroy the queue if it was created - if (!settings.queueID) $('#' + settings.queueID).remove(); - // Remove extra inputs - $this.siblings('input').remove(); - // Show the original file input - $this.show() - // Move the file input out of the button - .insertBefore($data.button); - // Delete the button - $data.button.remove(); - // Trigger the destroy event - if (typeof settings.onDestroy === 'function') { - settings.onDestroy.call($this); - } - - }); - - } - - } - - $.fn.upload = function(method) { - - if (methods[method]) { - return methods[method].apply(this, Array.prototype.slice.call(arguments, 1)); - } else if (typeof method === 'object' || !method) { - return methods.init.apply(this, arguments); - } else { - $.error('The method ' + method + ' does not exist in $.uploadify'); - } - - } - -})(jQuery); -}); -define("js/me/index", ["jquery","swiper","index"], function(require, exports, module){ -/** - * 个人中心首页 - * @author: bikai<kai.bi@yoho.cn> - * @date: 2015/11/12 - */ -var $ = require("jquery"), - noticeScroll = require("js/plugin/notice-scroll"); - -var $userAvatar = $('.user-avatar'), - $listItem = $('.list-item'); -var myImage = new Image(), - avatar; - -require("js/product/recommend-for-you"); -require("js/product/suspend-cart"); - -// 部分老用户没有头像,显示默认头像 -avatar = $userAvatar.data('avatar'); -myImage.src = avatar; -myImage.onload = function() { - $userAvatar.css('background-image', 'url(' + avatar + ')'); -}; - -noticeScroll('.notice', $('.notice').data('time') * 1000); - -$('.yoho-page').on('touchstart', '.list-item, .type-item, .order-title', function() { - $listItem.removeClass('highlight'); - $(this).addClass('highlight'); -}).on('touchend touchcancel', '.list-item, .type-item, .order-title', function() { - $(this).removeClass('highlight'); -}); - -}); -define("js/product/recommend-for-you", ["swiper","jquery","index"], function(require, exports, module){ -/** - * 为您优选 - * @author: bikai<kai.bi@yoho.cn> - * @date: 2015/11/16 - */ - - -var Swiper = require("swiper"), - $ = require("jquery"); - -var recommendSwiper, - $recommendForYou = $('.recommend-for-you'); - -$.get('/home/preference').then(function(html) { - $recommendForYou.html(html).show(); - if ($('#swiper-recommend').length) { - recommendSwiper = new Swiper('#swiper-recommend', { - slidesPerView: 'auto', - grabCursor: true, - slideElement: 'a', - lazyLoading: true, - watchSlidesVisibility: true - }); - } -}).fail(function() { - $recommendForYou.hide(); -}); -}); -define("js/me/coupons", ["jquery","hammer","mlellipsis"], function(require, exports, module){ -var $ = require("jquery"), - Hammer = require("hammer"), - ellipsis = require("mlellipsis"), - loading = require("js/plugin/loading"); - -var employ, - statu = 0, - page = 1; - -ellipsis.init(); - -function couponAJAX(statu, page) { - loading.showLoadingMask(); - $.ajax({ - type: 'POST', - url: '/home/couponData', - dataType: 'html', - data: { - status: statu, - page: page - }, - success: function(data) { - $('#employ').append(data); - window.rePosFooter(); - loading.hideLoadingMask(); - } - }); -} - -$('.yoho-footer').css('border-top', '1px solid #e0e0e0'); -$('.employ span').each(function(index) { - employ = new Hammer($('.employ span')[index]); - employ.on('tap', function(e) { - $('.employ span').removeClass('active').eq(index).addClass('active'); - $('#employ').html(' '); - statu = index; - page = 1; - couponAJAX(statu, page); - window.rePosFooter(); - }); -}); - - -function scrollHandler() { - if ($(window).scrollTop() + $(window).height() > $('body').height() - 100) { - page++; - couponAJAX(statu, page); - return; - } -} - -$(window).scroll(function() { - window.requestAnimationFrame(scrollHandler); -}); - -couponAJAX(statu, page); -}); -define("js/me/online-service", ["jquery"], function(require, exports, module){ -/** - * 在线客服 - * @author: bikai<kai.bi@yoho.cn> - * @date: 2015/11/16 - */ -var $ = require("jquery"); - -var $questionTab = $('.question-tab .tab-item'); - -$questionTab.on('touchend', function() { - var clickTab = $(this).data('tab'); - - clickTab = '[data-tab-name="' + clickTab + '"]'; - - $questionTab.removeClass('current'); - $(this).addClass('current'); - - $('.question-list').removeClass('current'); - $(clickTab).addClass('current'); -}); - -$('.yoho-page').on('touchstart', '.connect-item, .question-item', function() { - $(this).siblings().removeClass('highlight'); - $(this).addClass('highlight'); -}).on('touchend touchcancel', '.connect-item, .question-item', function() { - $(this).removeClass('highlight'); -}); - -}); -define("js/me/address", ["jquery","hammer"], function(require, exports, module){ -/** - * 地址管理 - * @author: bikai<kai.bi@yoho.cn> - * @date: 2015/11/17 - */ - -var $ = require("jquery"), - tip = require("js/plugin/tip"), - loading = require("js/plugin/loading"); - -var $action = $('.action'), - $addAddress = $('.add-address'), - $footer = $('#yoho-footer'), - $confim = $('.confim-mask'), - $pageWrap = $('.page-wrap'), - $addressItem = $('.address-item'), - deleteId; - -require("js/common"); - -$pageWrap.first().css('min-height', function() { - return $(window).height() - $('#yoho-header').height() - $footer.height(); -}); -window.rePosFooter(); - -$confim.on('touchend', '.cancel', function(e) { - deleteId = null; - $confim.fadeOut(); - return false; -}).on('touchend', '.confim', function() { - loading.showLoadingMask(); - $confim.fadeOut(); - $.ajax({ - method: 'POST', - url: '/home/delAddress', - data: { - id: deleteId - } - }).then(function(res) { - if ($.type(res) !== 'object') { - res = {}; - } - if (res.code !== 200) { - tip.show(res.message || '网络出了点问题~'); - loading.hideLoadingMask(); - } else { - window.location.reload(); - } - }).fail(function() { - tip.show('网络出了点问题~'); - loading.hideLoadingMask(); - }).always(function() { - deleteId = null; - }); - return false; -}); - - -// 添加地址 -if ($addressItem.length < 5) { - $addAddress.attr('href', $addAddress.data('href')); -} -$addAddress.on('touchend', function() { - if ($addressItem.length >= 5) { - tip.show('您最多添加5个收货地址'); - return false; - } -}); - -// 删除 -$action.on('touchend', '.del', function() { - deleteId = $(this).data('id'); - $confim.fadeIn(); - return false; -}); - -$action.on('touchstart', 'a,span', function() { - $(this).css('background', '#eee'); -}).on('touchend touchcancel', 'a,span', function() { - $(this).css('background', 'transparent'); -}); - -}); -define("js/me/browse-record", ["jquery","lazyload","handlebars","source-map","hammer"], function(require, exports, module){ -/** - * 浏览记录 - * @author: xuqi<qi.xu@yoho.cn> - * @date: 2015/11/28 - */ - -var $ = require("jquery"); - -var lazyLoad = require("lazyload"), - load = require("js/plugin/loading"), - tip = require("js/plugin/tip"); - -var dialog = require("js/me/dialog"); - -var $page = $('.records'); - -var $loadMore = $('.load-more'), - $more = $loadMore.children('.more'), - $noMore = $loadMore.children('.no-more'); - -var page = 0; - -var end = false, - loading = false; - -var winH = $(window).height(); - -load.init(); -function moreRecord(cb) { - var count = $page.children('.browse-record-good').length; - - if (loading) { - return; - } - - if (page === 1) { - $loadMore.removeClass('hide'); - } - - loading = true; - $.ajax({ - type: 'GET', - url: '/home/recordContent', - data: { - page: page + 1 - }, - success: function(data) { - if (data === ' ') { - end = true; - - $more.addClass('hide'); - $noMore.removeClass('hide'); - } else { - - if (count === 0) { - $page.html(data); - - lazyLoad(); - } else { - $page.append(data); - - lazyLoad($page.find('.browse-record-good:gt(' + (count - 1) + ') .lazy')); - } - window.rePosFooter(); - page++; - - if (cb) { - cb(); - } - } - }, - complete: function() { - loading = false; - } - }); -} - -load.showLoadingMask(); -moreRecord(load.hideLoadingMask); - -$(window).scroll(function() { - if (end) { - return; - } - - if (winH + $(window).scrollTop() > $(document).height() - 0.25 * $page.height()) { - moreRecord(); - } -}); - -$page.on('touchstart', '.del-icon', function() { - var $good = $(this).closest('.browse-record-good'), - skn = $good.data('skn'); - - dialog.showDialog({ - dialogText: '确定删除此条浏览记录吗?', - hasFooter: { - leftBtnText: '取消', - rightBtnText: '确定' - } - }, function() { - - $.ajax({ - type: 'GET', - url: '/home/delRecord', - data: { - skn: skn - }, - success: function(data) { - if (data.code === 200) { - dialog.showDialog({ - dialogText: '删除浏览记录成功', - autoHide: 2000, - fast: true - }); - setTimeout(function() { - window.history.go(0); - }, 1200); - } - } - }); - }); -}); - -$('.deps').on('touchstart', 'span', function() { - $(this).css('background', '#eee'); -}).on('touchend touchcancel', 'span', function() { - $(this).css('background', 'transparent'); -}); - -$('.invalidGoods').on('touchstart touchend', function() { - var $this = $(e.target).closest('span'); - - if ($this.hasClass('del-icon')) { - return; - } - tip.show('商品已下架'); - return false; -}); -}); -define("js/me/address-act", ["jquery","hammer"], function(require, exports, module){ -/** - * 修改地址 - * @author: bikai<kai.bi@yoho.cn> - * @date: 2015/11/30 - */ -var $ = require("jquery"), - Hammer = require("hammer"), - tip = require("js/plugin/tip"), - security = require("js/plugin/security"), - loading = require("js/plugin/loading"); - -var $addressForm = $('.edit-address'), - $submit = $('.submit'), - $editAddressPage = $('.my-edit-address-page'), - $addressListPage = $('.my-address-list-page'), - $backBtn = $('.nav-back'), - $navTitle = $('.nav-title'), - $input = $('input, textarea'), - navTitle = $navTitle.html(), - $area = $('.area'), - isSubmiting, - currentPage = 'edit', - newArea = [], - chinaAddressList, - queryString = $.queryString(); - -$($editAddressPage, $addressListPage).css('min-height', function() { - return $(window).height() - $('#yoho-header').height(); -}); - -// 清除返回按钮原有链接 -$backBtn.attr('href', 'javascript:void(0);'); - -// 自定义返回按钮事件 -$backBtn.on('touchend', function(e) { - if (currentPage === 'list') { - $addressListPage.hide(); - $editAddressPage.show(); - e.preventDefault(); - currentPage = 'edit'; - $navTitle.html(navTitle); - - // 恢复默认的三级选择 - $addressListPage.hide(); - $addressListPage.find('ul').hide().find('li').removeClass('highlight'); - $addressListPage.children('ul').show().children('li').show(); - newArea = []; - } else { - window.history.go(-1); - } -}); - -// 提交表单请求 -$addressForm.on('submit', function() { - if (isSubmiting) { - return false; - } - - if (security.hasDangerInput(false)) { - return false; - } - - // 简单的表单校验 - if (!$(this).find('[name="consignee"]').val()) { - tip.show('收件人不能为空'); - return false; - } - if (!$(this).find('[name="mobile"]').val()) { - tip.show('手机号不能为空'); - return false; - } - if (!$(this).find('[name="area_code"]').val() || !$(this).find('[name="area"]').val()) { - tip.show('省市区不能为空'); - return false; - } - if (!$(this).find('[name="address"]').val()) { - tip.show('地址不能为空'); - return false; - } - - isSubmiting = true; - loading.showLoadingMask(); - $submit.css('background', '#777'); - $.ajax({ - method: 'POST', - url: '/home/saveAddress', - data: $(this).serialize() - }).then(function(res) { - if ($.type(res) !== 'object') { - res = {}; - } - if (res.code !== 200) { - tip.show(res.message || '网络出了点问题~'); - isSubmiting = false; - loading.hideLoadingMask(); - } else { - if (queryString.refer === 'shopping') { - window.location.href = '/cart/index/selectAddress'; - } else if (queryString.refer === 'modify') { - window.location.href = '/home/addressModify'; - } else { - window.location.href = '/home/address'; - } - } - }).fail(function() { - tip.show('网络出了点问题~'); - isSubmiting = false; - loading.hideLoadingMask(); - $submit.css('background', '#444'); - }); - return false; -}); - -$submit.on('touchend', function() { - if (security.hasDangerInput(false)) { - return false; - } - $input.blur(); - $addressForm.submit(); - return false; -}).on('touchstart', function() { - $(this).addClass('highlight'); -}).on('touchend touchcancel', function() { - $(this).removeClass('highlight'); -}); - -function bindAddressListEvent(html) { - $addressListPage.html(html); - - // 省市区 - $area.on('touchend', function() { - $editAddressPage.hide(); - $addressListPage.show(); - currentPage = 'list'; - $navTitle.html('地区选择'); - }); - - // touchend 在下滑的时候会触发 - // 省市区联动 - $addressListPage.find('.address').each(function(i, elem) { - var addressHammer = new Hammer(elem); - - addressHammer.on('tap', function(e) { - var $this = $(e.target); - - if (e.target.tagName.toLowerCase() !== 'li') { - $this = $this.parent('li'); - } - newArea.push($this.children('.caption').text().trim()); - $this.siblings().hide(); - $this.children('ul').show().children('li').show(); - - e.srcEvent.preventDefault(); - e.srcEvent.stopPropagation(); - }); - }); - - $addressListPage.find('.address-last').each(function(i, elem) { - var addressLastHammer = new Hammer(elem); - - addressLastHammer.on('tap', function(e) { - var $this = $(e.target); - - // 填结果到 html - newArea.push($this.text().trim()); - $('[name="area"]').val(newArea.join(' ')); - $('[name="area_code"]').val($this.data('id')); - - $editAddressPage.show(); - currentPage = 'edit'; - $navTitle.html(navTitle); - - // 恢复默认的三级选择 - $addressListPage.hide(); - $addressListPage.find('ul').hide().find('li').removeClass('highlight'); - $addressListPage.children('ul').show().children('li').show(); - newArea = []; - - e.srcEvent.preventDefault(); - e.srcEvent.stopPropagation(); - }); - }); - - $addressListPage.on('touchstart', 'li', function() { - $(this).addClass('highlight'); - }).on('touchend touchcancel', 'li', function() { - $(this).removeClass('highlight'); - }); -} - -// 读取省市区列表缓存 -if (window.localStorage && window.localStorage.getItem) { - chinaAddressList = window.localStorage.getItem('chinaAddressList'); -} -if (chinaAddressList) { - bindAddressListEvent(chinaAddressList); -} else { - - // 省市区列表异步加载 - $.ajax({ - method: 'GET', - url: '/home/locationList', - timeout: 60000 - }).then(function(html) { - bindAddressListEvent(html); - if (window.localStorage && window.localStorage.setItem) { - window.localStorage.setItem('chinaAddressList', html); - } - }).fail(function() { - tip.show('获取省市区列表失败'); - }); -} - -}); -define("js/me/logistic", ["jquery","hammer","mlellipsis","lazyload"], function(require, exports, module){ -/** - * 物流信息页面 - * @author: 赵彪<bill.zhao@yoho.cn> - * @date: 2015/12/02 - */ - -var $ = require("jquery"), - $footer = $('#yoho-footer'); - -var winH = window.outerHeight, - bodyH = document.body.offsetHeight, - footH = $footer.height(); - -function addFooterTopBorder() { - if (footH + bodyH > winH) { - window.rePosFooter(); - } else { - $footer.css('border-top', '1px solid #f1f1f1'); - } -} - -$(document).ready(addFooterTopBorder); - -function getGender() { - return window.cookie('_Channel') || 'boys'; -} - -require("js/home/maybe-like")(getGender()); - -//提前触发lazyload -$(window).scrollTop(1).scrollTop(0); - - - - -}); -define("js/me/pay", ["jquery","hammer"], function(require, exports, module){ -/** - * 支付页面 - * @author: 赵彪<bill.zhao@yoho.cn> - * @date: 2015/12/03 - */ -var $ = require("jquery"); - -var loading = require("js/plugin/loading"), - tip = require("js/plugin/tip"), - Hammer = require("hammer"); -// 点击微信显示加载 -var $loadingToast = $(".loading-toast"); -var theOrderCode = document.getElementById('ordercode').value; - -var wxPayEl = document.getElementById('weixin'), - wxHammer = wxPayEl && new Hammer(wxPayEl); - -var appIconPosition = { - baidu: '-2.7rem', - weixin: '-1.2rem', - QQ: '-5.4rem', - bank: '-4rem' -}; - -// 隐藏微信分享选项 -if (window.wx) { - wx.hideOptionMenu(); -} - -function onBridgeReady() { - document.addEventListener('WeixinJSBridgeReady', function () { - window.WeixinJSBridge && window.WeixinJSBridge.call('hideOptionMenu'); - }); -} - -if (typeof WeixinJSBridge === undefined) { - if (document.addEventListener) { - document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false); - } else if (document.attachEvent) { - document.attachEvent('WeixinJSBridgeReady', onBridgeReady); - document.attachEvent('onWeixinJSBridgeReady', onBridgeReady); - } - onBridgeReady(); -} else { - onBridgeReady(); -} - -// 调用微信JS api 支付 -function jsApiCall(orderCode, jsApiParameters) { - $loadingToast.addClass("hide"); - - // 防止重复操作弹框 - window.WeixinJSBridge && window.WeixinJSBridge.invoke( - 'getBrandWCPayRequest', - jsApiParameters, - function (res) { - window.location.href = '/home/orders/detail?order_code=' + orderCode; - } - ); -} - -// 微信支付 -function callpay(orderCode) { - var jsApiParameters; - - $loadingToast.removeClass("hide"); - if (typeof WeixinJSBridge === undefined) { - if (document.addEventListener) { - document.addEventListener('WeixinJSBridgeReady', jsApiCall, false); - } else if (document.attachEvent) { - document.attachEvent('WeixinJSBridgeReady', jsApiCall); - document.attachEvent('onWeixinJSBridgeReady', jsApiCall); - } - } else { - $.ajax({ - type: 'GET', - url: '/shopping/pay/wechatwapapi?order_code=' + orderCode, - dataType: 'json', - success: function (res) { - if (res.code === 200) { - jsApiParameters = res.data.jsApiParameters; - jsApiCall(orderCode, jsApiParameters); - } else { - tip.show('微信支付调取失败'); - } - }, - error: function () { - tip.show('请刷新本页面,完成微信支付'); - }, - complete: function () { - $loadingToast.addClass("hide"); - } - }); - } -} - - -function isWXOpen() { - var ua = window.navigator.userAgent.toLowerCase(); - - return ua.indexOf('micromessenger') > 0; -} - -function hideWeChatPay() { - var $payApps = $('.app'); - - $payApps.each(function (idx, app) { - if ($(app).parent().attr('id') === 'weixin') { - $(app).parent().css('display', 'none'); - return false; - } - }); -} - -function handleForWX() { - if (!isWXOpen()) { - hideWeChatPay(); - } -} - - -function setAppIcon(el, position) { - $(el).css('background-position-y', position); -} - -function loadIcon() { - var $boxs = $('.box'); - var $div = null; - var appid = null; - - $boxs.each(function (idx, box) { - $div = $(box).find('.icon').find('div'); - if ($div.length > 0) { - appid = $(box).attr('id'); - if (appid !== 'alipay') { - setAppIcon($div, appIconPosition[appid]); - } - } - }); -} - -function showPage() { - $('.payapp-list').css('visibility', 'visible'); -} - -function bindTouchedEvent() { - var $boxs = $('.box'); - - $boxs.on('touchstart', function (e) { - $(this).addClass('bytouch'); - }).on('touchend touchcancel', function () { - $boxs.removeClass('bytouch'); - }); -} - -if (wxHammer) { - wxHammer.on('tap', function () { - callpay(theOrderCode); - }); -} - -function main() { - handleForWX(); - loading.hideLoadingMask(); - showPage(); - loadIcon(); - bindTouchedEvent(); -} - -loading.showLoadingMask(); - -$(document).ready(main); - -$('.box').on('click', function () { - var url = $('.payapp-list a').attr('href'), - theRequest = [], - orderCode, - payment; - - if (url.indexOf("?") != -1) { - theRequest = url.split('?')[1].split("&"); - orderCode = theRequest[0].split('=')[1]; - payment = theRequest[1].split('=')[1]; - } - - $.ajax({ - url: '/shopping/pay/addPaymentInterval?orderCode=' + orderCode + '&payment=' + payment, - method: 'get' - }); -}); - - -}); -define("js/me/personal-details", ["jquery"], function(require, exports, module){ -/** - * 个人信息 - * @author: bikai<kai.bi@yoho.cn> - * @date: 2015/11/19 - */ -var $ = require("jquery"); -var $userAvatar = $('.user-avatar'); -var myImage = new Image(), - avatar; - -// 部分老用户没有头像,显示默认头像 -avatar = $userAvatar.data('avatar'); -myImage.src = avatar; -myImage.onload = function() { - $userAvatar.css('background-image', 'url(' + avatar + ')'); -}; +} + +function collectShop() { + var qew = {}; + + qew.url = '/product/index/shopFav'; + qew.data = { + shop_id: favId ? favId : shopId, + app_version: appVersion + }; + postCollect(qew); +} + +function cancelShop() { + var qew = {}; + + qew.url = '/product/index/cancelShopFav'; + qew.data = { + shop_id: favId ? favId : shopId, + app_version: appVersion + }; + postCollect(qew); +} + +$('#collect').on('touchstart', function(e) { + if ($('#collect').hasClass('alreadyCollect')) { + cancelShop(); + } else { + collectShop(); + } +}); + }); -define("js/me/currency", ["jquery"], function(require, exports, module){ -var $ = require("jquery"), - loading = require("js/plugin/loading"); -var page = 1; - -loading.showLoadingMask(); - -function ajaxCurrencyDetail(page) { - $.ajax({ - type: 'POST', - url: '/home/ajaxCurrencyDetail', - dataType: 'html', - data: { - page: page - }, - success: function(data) { - $('.coin-detail').append(data); - window.rePosFooter(); - } - }); -} - -function scrollHandler() { - if ($(window).scrollTop() + $(window).height() > $('body').height() - 100) { - page++; - ajaxCurrencyDetail(page); - return; - } -} +define("js/me/entry", ["jquery","hammer","lazyload","swiper","handlebars","source-map","mlellipsis","index"], function(require, exports, module){ +/** + * 个人中心js打包入口文件 + * @author: xuqi<qi.xu@yoho.cn> + * @date: 2015/11/10 + */ + +require("js/me/order"); +require("js/me/order-detail"); +require("js/me/fav"); +require("js/me/suggest"); +require("js/me/index"); +require("js/me/coupons"); +require("js/me/online-service"); +require("js/me/address"); +require("js/me/suggest"); +require("js/me/browse-record"); +require("js/me/address-act"); +require("js/me/logistic"); +require("js/me/pay"); +require("js/me/personal-details"); +require("js/me/currency"); +require("js/me/currency-new"); +require("js/me/message"); +require("js/me/message-detail"); -$(window).scroll(function() { - window.requestAnimationFrame(scrollHandler); }); - -ajaxCurrencyDetail(page); - -$(document).ready(loading.hideLoadingMask); - +define("js/me/order", ["jquery","hammer","lazyload","swiper","handlebars","source-map","index"], function(require, exports, module){ +/** + * 个人中心--我的订单 + * @author: xuqi<qi.xu@yoho.cn> + * @date: 2015/11/10 + */ + +var $ = require("jquery"), + Hammer = require("hammer"), + lazyLoad = require("lazyload"), + tip = require("js/plugin/tip"), + Swiper = require("swiper"); + +var $navLi = $('#order-nav > li'), + $orderContainer = $('#order-container'); + +var $curContainer = $orderContainer.children('.orders:not(.hide)');//保存当前显示的order-container + +var winH = $(window).height(); + +var activeType = $navLi.filter('.active').data('type'); //当前active的项的index + +var order = { + page: 0, + end: false +}; + +var inAjax = false; + +var loading = require("js/plugin/loading"); + +var dialog = require("js/me/dialog"); + +var orderHammer, + $reaMask = $('.reason-mask'), + reasonSwiper; + +// 减少计时 +function downCount(item) { + var hoursItem = item.find('.hours'); + + var difference = hoursItem.text(),// difference of dates + interval; + /** + * Main downCount function that calculates everything + */ + function countdown() { + + // basic math variables + var _second = 1000, + _minute = _second * 60, + _hour = _minute * 60, + _day = _hour * 24, + days, + hours, + minutes, + seconds; + + // calculate dates + days = Math.floor(difference / _day), + hours = Math.floor((difference % _day) / _hour), + minutes = Math.floor((difference % _hour) / _minute), + seconds = Math.floor((difference % _minute) / _second); + + // fix dates so that it will show two digets + days = (String(days).length >= 2) ? days : '0' + days; + hours = (String(hours).length >= 2) ? hours : '0' + hours; + minutes = (String(minutes).length >= 2) ? minutes : '0' + minutes; + seconds = (String(seconds).length >= 2) ? seconds : '0' + seconds; + + // set to DOM + item.removeClass('hide'); + hoursItem.text('剩余' + hours + ':' + minutes + ':' + seconds); + + difference -= 1000; + + if (difference <= 0) { + clearInterval(interval);// stop timer + return; + } + } + if (difference !== '' && difference > 0) { + interval = setInterval(countdown, 1000);// start + } +} + +// 初始化时间 +function setTime() { + + $('.order').each(function() { + var item = $(this).find('.count-down'); + + if (!$(this).hasClass('hide')) { + downCount(item); + } + }); +} + +//加载订单 +function getOrders(option) { + var opt = { + type: activeType, + page: order.page + 1 + }; + + var show = option && !option.noLoadingMask; + + if (inAjax) { + return; + } + + inAjax = true; + show && loading.showLoadingMask(); + + $.ajax({ + type: 'GET', + url: '/home/getOrders', + data: opt, + success: function(data) { + var num; + + if (data !== ' ') { + order.page = opt.page; + + if (opt.page === 1) { + $curContainer.html(data); + lazyLoad($curContainer.find('.lazy'), { + try_again_css: 'order-failure' + }); + } else { + num = $curContainer.children('.order').length; + $curContainer.append(data); + + //lazyload + lazyLoad($curContainer.children('.order:gt(' + (num - 1) + ')').find('.lazy'), { + try_again_css: 'order-failure' + }); + } + + window.rePosFooter(); //重新计算底部位置 + } else { + order.end = true; + } + + inAjax = false; + show && loading.hideLoadingMask(); + setTime(); + } + }); +} + +lazyLoad({ + try_again_css: 'order-failure' +}); + +//初始化导航 +(function() { + var liCount = $navLi.length; + + //默认4个导航项 + if (liCount === 4) { + return; + } + + $navLi.width(100 / liCount + '%'); +}()); + +loading.init($('body')); //满屏loading + +//点击订单区域跳转订单详情页 +orderHammer = new Hammer(document.getElementById('order-container')); +orderHammer.on('tap', function(e) { + var $cur = $(e.target), + $order, + id, + url; + + if ($cur.closest('.locHref').length > 0) { + return; + } + + $order = $cur.closest('.order'); + id = $order.data('id'); + + $reaMask.data('orderId', id); + + if ($cur.closest('.del').length > 0) { + + //Order delete + dialog.showDialog({ + dialogText: '确定删除订单吗?', + hasFooter: { + leftBtnText: '取消', + rightBtnText: '确定' + } + }, function() { + $.ajax({ + type: 'GET', + url: '/home/delOrder', + data: { + id: id + }, + success: function(data) { + dialog.hideDialog(); + if (data.message) { + tip.show(data.message); + } + if (data.code === 200) { + + //删除订单页面刷新 + window.location.reload(); + } + }, + error: function() { + tip.show('取消订单失败'); + } + }); + }); + } else if ($cur.closest('.cancel').length > 0) { + console.log('s'); + $reaMask.css('visibility', 'visible'); + } else if ($cur.closest('.order-goods').length > 0) { + + //Location to order detail + url = $order.data('href'); + location.href = url; + } +}); + +function scrollHandler() { + if (order.end === false && $(window).scrollTop() + winH > + $(document).height() - 0.25 * $orderContainer.height()) { + + //下拉请求时不显示mask + getOrders({ + noLoadingMask: true + }); + } +} + +//srcoll to load more +$(window).scroll(function() { + window.requestAnimationFrame(scrollHandler); +}); + +//初始化请求第一页数据 +getOrders(); + +$(function() { + reasonSwiper = new Swiper('.box-main', { + paginationClickable: true, + direction: 'vertical', + slidesPerView: 6, + height: 200, + centeredSlides: true, + initialSlide: 3, + onSlideChangeStart: function(reasonSwiper) { + var activeIndex = reasonSwiper.activeIndex, + slides = reasonSwiper.slides, + i = 0; + + if (slides.length !== 1) { + if (activeIndex === 0) { + for (i = 1; i < slides.length; i++) { + $(slides[i]).css('transform', ''); + } + } else if (activeIndex === slides.length - 1) { + for (i = 0; i < activeIndex; i++) { + $(slides[i]).css('transform', 'rotateX(' + (30 + (activeIndex - i) * 12) + 'deg)'); + } + } else { + for (i = 0; i < activeIndex; i++) { + $(slides[i]).css('transform', 'rotateX(' + (30 + (activeIndex - i) * 12) + 'deg)'); + } + for (i = activeIndex + 1; i < slides.length; i++) { + $(slides[i]).css('transform', ''); + } + } + } + $(slides[activeIndex]).css('transform', ''); + } + }); +}); + +$reaMask.find('.box-cmp').on('touchend', function(e) { + var selSolid = reasonSwiper.slides[reasonSwiper.activeIndex], + reason = $(selSolid).text(), + reasonId = $(selSolid).data('reasonId'); + + $.ajax({ + type: 'GET', + url: '/home/cancelOrder', + data: { + id: $reaMask.data('orderId'), + reason: reason, + reasonId: reasonId + } + }).then(function(res) { + $reaMask.fadeOut(); + if ($.type(res) !== 'object') { + return; + } + if (res.message) { + tip.show(res.message); + } + setTimeout(function() { + window.location.href = '/home/orders'; + }, 2000); + }).fail(function() { + tip.show('网络错误'); + }); +}); + +$reaMask.on('touchend', function(event) { + if (event.target.className !== 'reason-mask') { + return false; + } + + $reaMask.css('visibility', 'hidden'); + event.stopPropagation(); }); -define("js/me/currency-new", ["jquery","hammer","mlellipsis","lazyload"], function(require, exports, module){ -/** - * 新有货币界面 - * @author: 赵彪<bill.zhao@yoho.cn> - * @date: 2015/12/30 - */ - -function getGender() { - return window.cookie('_Channel') || 'boys'; -} - -require("js/home/maybe-like")(getGender()); - - }); -define("js/me/message", ["jquery","handlebars","source-map","hammer"], function(require, exports, module){ -var $ = require("jquery"), - loading = require("js/plugin/loading"), - dialog = require("js/me/dialog"); - -var $page = $('.massage-page'), - page = 1, - stopLoading = false; - -function massageAJAX(page) { - loading.showLoadingMask(); - $.ajax({ - type: 'POST', - url: '/home/ajaxMessage', - dataType: 'html', - data: { - page: page - }, - success: function(data) { - if (data === ' ') { - stopLoading = true; - if (page === 1) { - data = '<p style="text-align:center">您没有消息</p>'; - } - } - - $('.massage-page').append(data); - window.rePosFooter(); - loading.hideLoadingMask(); - } - }); -} - -function scrollHandler() { - if (!stopLoading && ($(window).scrollTop() + $(window).height() > $('body').height() - 100)) { - page++; - massageAJAX(page); - } -} +define("js/me/order-detail", ["jquery","lazyload","hammer","handlebars","source-map","swiper","index"], function(require, exports, module){ +/** + * 订单详情页 + * @author: xuqi<qi.xu@yoho.cn> + * @date: 2015/11/16 + */ + +var $ = require("jquery"), + lazyLoad = require("lazyload"), + Hammer = require("hammer"), + dialog = require("js/me/dialog"), + tip = require("js/plugin/tip"), + orderId = $('#order-detail').data('id'), + $countDownHours = $('.hours'), + $countdownContainer = $('.count-down'), + Swiper = require("swiper"), + $ownerInfo = $('.owner-info'), + $reaMask = $('.reason-mask'), + reasonSwiper, + optHammer; + +lazyLoad({ + try_again_css: 'order-failure' +}); + +function downCount(options) { + + var difference = options,// difference of dates + interval; + /** + * Main downCount function that calculates everything + */ + function countdown() { + + // basic math variables + var _second = 1000, + _minute = _second * 60, + _hour = _minute * 60, + _day = _hour * 24, + days, + hours, + minutes, + seconds; + + // calculate dates + days = Math.floor(difference / _day), + hours = Math.floor((difference % _day) / _hour), + minutes = Math.floor((difference % _hour) / _minute), + seconds = Math.floor((difference % _minute) / _second); + + // fix dates so that it will show two digets + days = (String(days).length >= 2) ? days : '0' + days; + hours = (String(hours).length >= 2) ? hours : '0' + hours; + minutes = (String(minutes).length >= 2) ? minutes : '0' + minutes; + seconds = (String(seconds).length >= 2) ? seconds : '0' + seconds; + + // set to DOM + $countdownContainer.removeClass('hide'); + $countDownHours.text('剩余' + hours + ':' + minutes + ':' + seconds); + + difference -= 1000; + + if (difference < 0) { + clearInterval(interval);// stop timer + return; + } + } + if (difference !== '' && difference > 0) { + interval = setInterval(countdown, 1000);// start + } +} + +downCount($countDownHours.text()); + +//订单删除 +optHammer = new Hammer(document.getElementsByClassName('opt')[0]); +optHammer.on('tap', function(e) { + var $cur = $(e.target); + + if ($cur.hasClass('btn-del')) { + + //删除订单 + dialog.showDialog({ + dialogText: '确定删除订单吗?', + hasFooter: { + leftBtnText: '取消', + rightBtnText: '确定' + } + }, function() { + $.ajax({ + type: 'GET', + url: '/home/delOrder', + data: { + id: orderId + } + }).then(function(res) { + $('#dialog-wrapper').hide(); + if ($.type(res) !== 'object') { + return; + } + if (res.message) { + tip.show(res.message); + } + setTimeout(function() { + window.location.href = '/home/orders'; + }, 2000); + }).fail(function() { + tip.show('网络错误'); + }); + }); + } else if ($cur.hasClass('btn-cancel')) { + $reaMask.css('visibility', 'visible'); + } +}); + +if ($ownerInfo.data('changeable') === true) { + $ownerInfo.find('.rest').show(); + $ownerInfo.on('touchend', function() { + location.href = $ownerInfo.data('url'); + }); +} + +$(function() { + reasonSwiper = new Swiper('.box-main', { + paginationClickable: true, + direction: 'vertical', + slidesPerView: 6, + height: 200, + centeredSlides: true, + initialSlide: 3, + onSlideChangeStart: function(reasonSwiper) { + var activeIndex = reasonSwiper.activeIndex, + slides = reasonSwiper.slides, + i = 0; + + if (slides.length !== 1) { + if (activeIndex === 0) { + for (i = 1; i < slides.length; i++) { + $(slides[i]).css('transform', ''); + } + } else if (activeIndex === slides.length - 1) { + for (i = 0; i < activeIndex; i++) { + $(slides[i]).css('transform', 'rotateX(' + (30 + (activeIndex - i) * 12) + 'deg)'); + } + } else { + for (i = 0; i < activeIndex; i++) { + $(slides[i]).css('transform', 'rotateX(' + (30 + (activeIndex - i) * 12) + 'deg)'); + } + for (i = activeIndex + 1; i < slides.length; i++) { + $(slides[i]).css('transform', ''); + } + } + } + $(slides[activeIndex]).css('transform', ''); + } + }); +}); + +$reaMask.find('.box-cmp').on('touchend', function(e) { + var selSolid = reasonSwiper.slides[reasonSwiper.activeIndex], + reason = $(selSolid).text(), + reasonId = $(selSolid).data('reasonId'); + + $.ajax({ + type: 'GET', + url: '/home/cancelOrder', + data: { + id: orderId, + reason: reason, + reasonId: reasonId + } + }).then(function(res) { + $reaMask.fadeOut(); + if ($.type(res) !== 'object') { + return; + } + if (res.message) { + tip.show(res.message); + } + setTimeout(function() { + window.location.href = '/home/orders'; + }, 2000); + }).fail(function() { + tip.show('网络错误'); + }); +}); + +$reaMask.on('touchend', function(event) { + if (event.target.className !== 'reason-mask') { + return false; + } + + $reaMask.css('visibility', 'hidden'); + event.stopPropagation(); +}); -$(window).scroll(function() { - window.requestAnimationFrame(scrollHandler); }); +define("js/me/fav", ["jquery","hammer","swiper","handlebars","source-map","index"], function(require, exports, module){ +/** + * 个人中心--收藏 + * @author: chenglong<chenglong.wang@yoho.cn> + * @date: 2015/11/12 + */ +var $ = require("jquery"), + Hammer = require("hammer"), + Swiper = require("swiper"); + +var diaLog = require("js/me/dialog"); + +var tip = require("js/plugin/tip"); + +var $navLi = $('#fav-tab > li'), + $favContainer = $('.fav-content > .fav-type'), + swiperObj = {}, + favTabHammer, + favContentHammer, + $loadMore = $('.fav-load-more'), + $brandLoadMore = $('.fav-brand-load-more'), + winH = $(window).height(), + footerH = $('#yoho-footer').height(), + $favProductList = $('.fav-product-list'), + $favBrandList = $('.fav-brand-swiper-wrapper'), + pageId = 1, + brandPageId = 1, //收藏品牌的当前页数 + lockId = true, + brandLockId = true, //收藏品牌是否可下拉加载更多 + brandTab = false; //当前是否停留在收藏品牌页 + +function showFavTab(index) { + $navLi.filter('.active').removeClass('active'); + $navLi.eq(index).addClass('active'); + + $favContainer.filter('.show').removeClass('show'); + $favContainer.eq(index).addClass('show'); +} + +//初始化swiper +function initSwiper(data) { + var i, + idStrReg = /container-(\d+)['"]{1}/gi, + idReg = /\d+/, + idArr = data.match(idStrReg), + idArrLen = idArr.length, + containerId; + + //$swiperList = $('.swiper-container'); + for (i = 0; i < idArrLen; i++) { + + /*id = $swiperList.eq(i).attr('data-id'); + + if (!!swiperObj[id]) { + swiperObj[id].destroy(true, true); + }*/ + + containerId = idArr[i].match(idReg)[0]; + + swiperObj[containerId] = new Swiper('#swiper-container-' + containerId, { + slidesPerView: 'auto', + grabCursor: true, + slideElement: 'li', + wrapperClass: 'swiper-wrapper-' + containerId, + lazyLoading: true, + watchSlidesVisibility: true + }); + } +} + +// 上拉加载更多 +function loadData($parent, url, page) { + if (url === 'favBrand') { + brandLockId = true; + } else { + lockId = true; + } + $.ajax({ + method: 'post', + url: '/home/' + url, + data: { + page: page + }, + success: function(data) { + var $loadingMask = $parent.closest('.fav-type').find('.fav-content-loading'); + + if (url === 'favBrand') { + $brandLoadMore.addClass('hide'); + } else { + $loadMore.addClass('hide'); + } + + if (data === ' ') { + $loadingMask.addClass('hide'); + $parent.closest('.fav-type').find('.fav-null-box').removeClass('hide'); + window.rePosFooter(); + } else if (data === 'end') { + + //处理data等于end时如果loadingMask存在且没有hide样式的情况 + if ($loadingMask && !$loadingMask.hasClass('hide')) { + $loadingMask.addClass('hide'); + + //$parent.closest('.fav-type').find('.fav-null-box').removeClass('hide'); + } + + $parent.closest('.fav-type').find('.fav-load-background') + .removeClass('fav-load-background').html('没有更多了'); + + // hf: fixes bug to 修改没有数据还调接口,加载错误页面问题 + brandLockId = true; + lockId = true; + } else if (data.length > 10) { + $parent.append(data); + + //如果有数据loadingMask会被remove掉 + $loadingMask.remove(); + if (url === 'favBrand') { + initSwiper(data);//如果是收藏品牌需要初始化swiper + + brandLockId = false;//请求成功后解锁品牌收藏page++ + } else { + lockId = false;//请求成功后解锁商品收藏page++ + } + } + window.rePosFooter(); + } + }); +} + +// 如果从品牌收藏入口进入 +if ($('#fav-tab').hasClass('brand-tab')) { + showFavTab(1); + loadData($favBrandList, 'favBrand', 1); + brandTab = true; + window.rePosFooter(); +} else { + showFavTab(0); + loadData($favProductList, 'favProduct', 1); + brandTab = false; + window.rePosFooter(); +} + +favTabHammer = new Hammer(document.getElementById('fav-tab')); +favTabHammer.on('tap', function(e) { + var $cur = $(e.target).closest('li'), + index; + + if ($cur.length === 0 || $cur.hasClass('active')) { + return; + } + + index = $cur.index(); + + if (index === 0) { + brandTab = false; + if ($favProductList.find('li').length === 0 && + $favProductList.closest('.fav-type').find('.fav-null-box').hasClass('hide')) { + loadData($favProductList, 'favProduct', 1); + } + } else { + brandTab = true; + if ($favBrandList.find('div').length === 0 && + $favBrandList.closest('.fav-type').find('.fav-null-box').hasClass('hide')) { + loadData($favBrandList, 'favBrand', 1); + } + } + showFavTab(index); + window.rePosFooter(); + +}); + +//删除收藏的商品 +favContentHammer = new Hammer(document.getElementById('fav-content')); + +favContentHammer.on('tap', function(e) { + var id = ''; + + if (!$(e.target).hasClass('del-fav')) { + return; + } + + diaLog.showDialog({ + dialogText: '您确定要取消收藏吗?', + hasFooter: { + leftBtnText: '取消', + rightBtnText: '确定' + } + }, function() { + id = $(e.target).closest('li').attr('data-id'); + $.ajax({ + method: 'post', + url: '/home/favoriteDel', + data: { + id: id + } + }).then(function(data) { + + if (data.code === 200) { + diaLog.showDialog({ + autoHide: true, + fast: true, + dialogText: '已经取消收藏' + }); + $(e.target).closest('li').remove(); + } else if (data.code === 400) { + diaLog.showDialog({ + autoHide: true, + fast: true, + dialogText: data.message + }); + } else { + diaLog.showDialog({ + autoHide: true, + fast: true, + dialogText: '取消收藏失败' + }); + } + }).fail(function() { + + //TODO + + diaLog.showDialog({ + autoHide: true, + dialogText: '网络错误~' + }); + }); + }); +}); + +function scrollHandler() { + + //距离底部未1/4列表高度+底部高度的时候加载更多 + if ($(window).scrollTop() + winH >= $(document).height() - 0.25 * $favBrandList.height() - footerH) { + if (brandTab) { + $brandLoadMore.filter('.hide').removeClass('hide'); + + if (!brandLockId) { + brandPageId++; + loadData($favBrandList, 'favBrand', brandPageId); + } + + } else { + + $loadMore.filter('.hide').removeClass('hide'); + + if (!lockId) { + pageId++; + loadData($favProductList, 'favProduct', pageId); + } + } + } +} + +//srcoll to load more +$(window).scroll(scrollHandler); + +$(document).on('touchend', '.swiper-header', function() { + var url = $(this).find('.fav-more').attr('href'); + + if (url) { + window.location.href = url; + } +}); + +$('.invalidGoods').on('touchstart touchend', function(e) { + var $this = $(e.target).closest('span'); + + if ($this.hasClass('del-fav')) { + return; + } + tip.show('商品已下架'); + return false; +}); -// 删除消息 -$page.on('touchstart', '.del', function() { - var $good = $(this).closest('.massage-list'), - $id = $good.data('id'); - - dialog.showDialog({ - dialogText: '确定删除这条消息吗?', - hasFooter: { - leftBtnText: '取消', - rightBtnText: '确定' - } - }, function() { - - $.ajax({ - type: 'POST', - url: '/home/ajaxDelMes', - data: { - id: $id - }, - success: function(data) { - if (data.code === 200) { - dialog.showDialog({ - dialogText: '删除消息成功', - autoHide: 2000, - fast: true - }); - setTimeout(function() { - window.history.go(0); - }, 1200); - } else { - dialog.showDialog({ - dialogText: data.message, - autoHide: 2000, - fast: true - }); - } - } - }); - }); }); - -massageAJAX(page); - +define("js/me/suggest", ["jquery","hammer","lazyload","handlebars","source-map"], function(require, exports, module){ +/** + * 个人中心--意见反馈 + * @author: chenglong<chenglong.wang@yoho.cn> + * @date: 2015/11/12 + */ + + +var $ = require("jquery"), + Hammer = require("hammer"), + lazyLoad = require("lazyload"), + Handlebars = require("handlebars"); + +var diaLog = require("js/me/dialog"); + +var $uploadImgList = $('.upload-img-list'), + headerNavHammer, + formHammer, + imgTpl, + imgTemplate, + $likeBtn = $('.suggest-item .like-btn'), + $disLikeBtn = $('.suggest-item .dislike-btn'), + $imgAdd = $('.img-add'), + imgStr = '', + uploadImgNum = 0; + +require("js/me/jquery.upload"); + +imgTpl = '{{# imgList}}' + + '<li>' + + '{{# imgUrl}}<img src="{{.}}" />' + + '<span class="upload-img-remove"></span>{{/ imgUrl}}' + + '</li>' + + '{{/ imgList}}'; + +imgTemplate = Handlebars.compile(imgTpl); + +$('#upload-img').upload({ + auto: true, + fileType: 'image/*', + uploadScript: '/home/suggestimgUpload', + fileObjName: 'fileData', + fileSizeLimit: 300, + height: '100%', + width: '100%', + multi: false, + onAddQueueItem: function(files) { + + //TODO + $uploadImgList.html(imgTemplate({ + imgList: true + })); + }, + onUploadComplete: function(file, data) { + $uploadImgList.html(''); + imgStr = JSON.parse(data).imgList[0].imgRelUrl; + $uploadImgList.html(imgTemplate(JSON.parse(data))); + $imgAdd.hide(); + uploadImgNum++; + } +}); + +lazyLoad(); + +headerNavHammer = new Hammer(document.getElementById('yoho-header')); + +headerNavHammer.on('tap', function(e) { + var suggestText = $('#suggest-textarea').val(), + textReg = /\S+/; + + + if ($(e.target).hasClass('nav-btn')) { + + if (!textReg.test(suggestText)) { + diaLog.showDialog({ + autoHide: true, + dialogText: '意见不能为空' + }); + + return; + } + + $.ajax({ + method: 'post', + url: '/home/savesuggest', + data: { + content: suggestText, + image: imgStr + } + }).then(function(data) { + if (data.code === 200) { + diaLog.showDialog({ + autoHide: true, + dialogText: '提交成功' + }); + setTimeout(function() { + location.pathname = 'home/suggest'; + }, 2000); + } else { + diaLog.showDialog({ + autoHide: true, + dialogText: '提交失败~' + }); + } + }).fail(function() { + + diaLog.showDialog({ + autoHide: true, + dialogText: '网络错误~' + }); + }); + } +}); + +if (document.getElementById('img-form') !== null) { + formHammer = new Hammer(document.getElementById('img-form')); + + formHammer.on('tap', function(e) { + if ($(e.target).hasClass('upload-img-remove')) { + $uploadImgList.html(''); + imgStr = ''; + uploadImgNum--; + setTimeout(function() { + $imgAdd.show(); + }, 50); + + } + }); +} + +// 点赞与取消点赞 +$likeBtn.bind('click', function() { + + var id = $(this).closest('.suggest-item').attr('data-id'), + $that = $(this); + + $.ajax({ + method: 'post', + url: '/home/upAndDown', + data: { + suggest_id: id, + reliable: 1 + } + }).then(function(data) { + if (data.code === 200) { + $that.closest('.suggest-type').removeClass('show'); + $that.closest('.suggest-item').find('.suggest-good').addClass('show'); + } + }).fail(function(data) { + + //TODO + + diaLog.showDialog({ + autoHide: true, + dialogText: '网络错误~' + }); + }); +}); + +$disLikeBtn.bind('click', function() { + + var id = $(this).closest('.suggest-item').attr('data-id'), + $that = $(this); + + $.ajax({ + method: 'post', + url: '/home/upAndDown', + data: { + suggest_id: id, + reliable: 2 + } + }).then(function(data) { + if (data.code === 200) { + $that.closest('.suggest-type').removeClass('show'); + $that.closest('.suggest-item').find('.suggest-bad').addClass('show'); + } + }).fail(function(data) { + + //TODO + + diaLog.showDialog({ + autoHide: true, + dialogText: '网络错误~' + }); + }); }); -define("js/me/message-detail", ["jquery","handlebars","source-map","hammer"], function(require, exports, module){ -var $ = require("jquery"), - dialog = require("js/me/dialog"); - -var $page = $('.massage-page'); - -var pickBusy = false; - - -// 领取生日券 -$page.on('touchstart', '.pick-coupon-btn', function() { - if (pickBusy) { - return; - } - pickBusy = true; - - var $id = $(this).data('id'); - - $.ajax({ - type: 'POST', - url: '/home/pickCoupon', - data: { - id: $id - }, - success: function(data) { - if (data.code === 200) { - dialog.showDialog({ - dialogText: '领取成功', - autoHide: 2000, - fast: true - }); - $(this).removeClass('pick-coupon-btn'); - } - - pickBusy = false; - - dialog.showDialog({ - dialogText: data.message, - autoHide: 2000, - fast: true - }); - } - }); }); - +define("js/me/jquery.upload", ["jquery"], function(require, exports, module){ +/* +UploadiFive 1.2.2 +Copyright (c) 2012 Reactive Apps, Ronnie Garcia +Released under the UploadiFive Standard License <http://www.uploadify.com/uploadifive-standard-license> +*/ + +var jQuery = require("jquery"); + +;(function($) { + + var methods = { + + init : function(options) { + + return this.each(function() { + + // Create a reference to the jQuery DOM object + var $this = $(this); + $this.data('uploadifive', { + inputs : {}, // The object that contains all the file inputs + inputCount : 0, // The total number of file inputs created + fileID : 0, + queue : { + count : 0, // Total number of files in the queue + selected : 0, // Number of files selected in the last select operation + replaced : 0, // Number of files replaced in the last select operation + errors : 0, // Number of files that returned an error in the last select operation + queued : 0, // Number of files added to the queue in the last select operation + cancelled : 0 // Total number of files that have been cancelled or removed from the queue + }, + uploads : { + current : 0, // Number of files currently being uploaded + attempts : 0, // Number of file uploads attempted in the last upload operation + successful : 0, // Number of files successfully uploaded in the last upload operation + errors : 0, // Number of files returning errors in the last upload operation + count : 0 // Total number of files uploaded successfully + } + }); + var $data = $this.data('uploadifive'); + + // Set the default options + var settings = $data.settings = $.extend({ + 'auto' : true, // Automatically upload a file when it's added to the queue + 'buttonClass' : false, // A class to add to the UploadiFive button + 'buttonText' : 'Select Files', // The text that appears on the UploadiFive button + 'checkScript' : false, // Path to the script that checks for existing file names + 'dnd' : true, // Allow drag and drop into the queue + 'dropTarget' : false, // Selector for the drop target + 'fileObjName' : 'Filedata', // The name of the file object to use in your server-side script + 'fileSizeLimit' : 0, // Maximum allowed size of files to upload + 'fileType' : false, // Type of files allowed (image, etc), separate with a pipe character | + 'formData' : {}, // Additional data to send to the upload script + 'height' : 30, // The height of the button + 'itemTemplate' : false, // The HTML markup for the item in the queue + 'method' : 'post', // The method to use when submitting the upload + 'multi' : true, // Set to true to allow multiple file selections + 'overrideEvents' : [], // An array of events to override + 'queueID' : false, // The ID of the file queue + 'queueSizeLimit' : 0, // The maximum number of files that can be in the queue + 'removeCompleted' : false, // Set to true to remove files that have completed uploading + 'simUploadLimit' : 0, // The maximum number of files to upload at once + 'truncateLength' : 0, // The length to truncate the file names to + 'uploadLimit' : 0, // The maximum number of files you can upload + 'uploadScript' : 'uploadifive.php', // The path to the upload script + 'width' : 100 // The width of the button + + /* + // Events + 'onAddQueueItem' : function(file) {}, // Triggered for each file that is added to the queue + 'onCancel' : function(file) {}, // Triggered when a file is cancelled or removed from the queue + 'onCheck' : function(file, exists) {}, // Triggered when the server is checked for an existing file + 'onClearQueue' : function(queue) {}, // Triggered during the clearQueue function + 'onDestroy' : function() {} // Triggered during the destroy function + 'onDrop' : function(files, numberOfFilesDropped) {}, // Triggered when files are dropped into the file queue + 'onError' : function(file, fileType, data) {}, // Triggered when an error occurs + 'onFallback' : function() {}, // Triggered if the HTML5 File API is not supported by the browser + 'onInit' : function() {}, // Triggered when UploadiFive if initialized + 'onQueueComplete' : function() {}, // Triggered once when an upload queue is done + 'onProgress' : function(file, event) {}, // Triggered during each progress update of an upload + 'onSelect' : function() {}, // Triggered once when files are selected from a dialog box + 'onUpload' : function(file) {}, // Triggered when an upload queue is started + 'onUploadComplete' : function(file, data) {}, // Triggered when a file is successfully uploaded + 'onUploadFile' : function(file) {}, // Triggered for each file being uploaded + */ + }, options); + + // Calculate the file size limit + if (isNaN(settings.fileSizeLimit)) { + var fileSizeLimitBytes = parseInt(settings.fileSizeLimit) * 1.024 + if (settings.fileSizeLimit.indexOf('KB') > -1) { + settings.fileSizeLimit = fileSizeLimitBytes * 1000; + } else if (settings.fileSizeLimit.indexOf('MB') > -1) { + settings.fileSizeLimit = fileSizeLimitBytes * 1000000; + } else if (settings.fileSizeLimit.indexOf('GB') > -1) { + settings.fileSizeLimit = fileSizeLimitBytes * 1000000000; + } + } else { + settings.fileSizeLimit = settings.fileSizeLimit * 1024; + } + + // Create a template for a file input + $data.inputTemplate = $('<input type="file">') + .css({ + 'font-size' : settings.height + 'px', + 'opacity' : 0, + 'position' : 'absolute', + 'right' : '-3px', + 'top' : '-3px', + 'z-index' : 999 + }); + + // Create a new input + $data.createInput = function() { + + // Create a clone of the file input + var input = $data.inputTemplate.clone(); + // Create a unique name for the input item + var inputName = input.name = 'input' + $data.inputCount++; + // Set the multiple attribute + if (settings.multi) { + input.attr('multiple', true); + } + // Set the accept attribute on the input + if (settings.fileType) { + input.attr('accept', settings.fileType); + } + // Set the onchange event for the input + input.bind('change', function() { + $data.queue.selected = 0; + $data.queue.replaced = 0; + $data.queue.errors = 0; + $data.queue.queued = 0; + // Add a queue item to the queue for each file + var limit = this.files.length; + $data.queue.selected = limit; + if (($data.queue.count + limit) > settings.queueSizeLimit && settings.queueSizeLimit !== 0) { + if ($.inArray('onError', settings.overrideEvents) < 0) { + alert('The maximum number of queue items has been reached (' + settings.queueSizeLimit + '). Please select fewer files.'); + } + // Trigger the error event + if (typeof settings.onError === 'function') { + settings.onError.call($this, 'QUEUE_LIMIT_EXCEEDED'); + } + } else { + for (var n = 0; n < limit; n++) { + file = this.files[n]; + $data.addQueueItem(file); + } + $data.inputs[inputName] = this; + $data.createInput(); + } + // Upload the file if auto-uploads are enabled + if (settings.auto) { + methods.upload.call($this); + } + // Trigger the select event + if (typeof settings.onSelect === 'function') { + settings.onSelect.call($this, $data.queue); + } + }); + // Hide the existing current item and add the new one + if ($data.currentInput) { + $data.currentInput.hide(); + } + $data.button.append(input); + $data.currentInput = input; + } + + // Remove an input + $data.destroyInput = function(key) { + $($data.inputs[key]).remove(); + delete $data.inputs[key]; + $data.inputCount--; + } + + // Drop a file into the queue + $data.drop = function(e) { + $data.queue.selected = 0; + $data.queue.replaced = 0; + $data.queue.errors = 0; + $data.queue.queued = 0; + + var fileData = e.dataTransfer; + + var inputName = fileData.name = 'input' + $data.inputCount++; + // Add a queue item to the queue for each file + var limit = fileData.files.length; + $data.queue.selected = limit; + if (($data.queue.count + limit) > settings.queueSizeLimit && settings.queueSizeLimit !== 0) { + // Check if the queueSizeLimit was reached + if ($.inArray('onError', settings.overrideEvents) < 0) { + alert('The maximum number of queue items has been reached (' + settings.queueSizeLimit + '). Please select fewer files.'); + } + // Trigger the onError event + if (typeof settings.onError === 'function') { + settings.onError.call($this, 'QUEUE_LIMIT_EXCEEDED'); + } + } else { + // Add a queue item for each file + for (var n = 0; n < limit; n++) { + file = fileData.files[n]; + $data.addQueueItem(file); + } + // Save the data to the inputs object + $data.inputs[inputName] = fileData; + } + + // Upload the file if auto-uploads are enabled + if (settings.auto) { + methods.upload.call($this); + } + + // Trigger the onDrop event + if (typeof settings.onDrop === 'function') { + settings.onDrop.call($this, fileData.files, fileData.files.length); + } + + // Stop FireFox from opening the dropped file(s) + e.preventDefault(); + e.stopPropagation(); + } + + // Check if a filename exists in the queue + $data.fileExistsInQueue = function(file) { + for (var key in $data.inputs) { + input = $data.inputs[key]; + limit = input.files.length; + for (var n = 0; n < limit; n++) { + existingFile = input.files[n]; + // Check if the filename matches + if (existingFile.name == file.name && !existingFile.complete) { + return true; + } + } + } + return false; + } + + // Remove an existing file in the queue + $data.removeExistingFile = function(file) { + for (var key in $data.inputs) { + input = $data.inputs[key]; + limit = input.files.length; + for (var n = 0; n < limit; n++) { + existingFile = input.files[n]; + // Check if the filename matches + if (existingFile.name == file.name && !existingFile.complete) { + $data.queue.replaced++; + methods.cancel.call($this, existingFile, true); + } + } + } + } + + // Create the file item template + if (settings.itemTemplate == false) { + $data.queueItem = $('<div class="uploadifive-queue-item">\ + <a class="close" href="#">X</a>\ + <div><span class="filename"></span><span class="fileinfo"></span></div>\ + <div class="progress">\ + <div class="progress-bar"></div>\ + </div>\ + </div>'); + } else { + $data.queueItem = $(settings.itemTemplate); + } + + // Add an item to the queue + $data.addQueueItem = function(file) { + if ($.inArray('onAddQueueItem', settings.overrideEvents) < 0) { + // Check if the filename already exists in the queue + $data.removeExistingFile(file); + // Create a clone of the queue item template + file.queueItem = $data.queueItem.clone(); + // Add an ID to the queue item + file.queueItem.attr('id', settings.id + '-file-' + $data.fileID++); + // Bind the close event to the close button + file.queueItem.find('.close').bind('click', function() { + methods.cancel.call($this, file); + return false; + }); + var fileName = file.name; + if (fileName.length > settings.truncateLength && settings.truncateLength != 0) { + fileName = fileName.substring(0, settings.truncateLength) + '...'; + } + file.queueItem.find('.filename').html(fileName); + // Add a reference to the file + file.queueItem.data('file', file); + $data.queueEl.append(file.queueItem); + } + // Trigger the addQueueItem event + if (typeof settings.onAddQueueItem === 'function') { + settings.onAddQueueItem.call($this, file); + } + // Check the filesize + if (file.size > settings.fileSizeLimit && settings.fileSizeLimit != 0) { + $data.error('FILE_SIZE_LIMIT_EXCEEDED', file); + } else { + $data.queue.queued++; + $data.queue.count++; + } + } + + // Remove an item from the queue + $data.removeQueueItem = function(file, instant, delay) { + // Set the default delay + if (!delay) delay = 0; + var fadeTime = instant ? 0 : 500; + if (file.queueItem) { + if (file.queueItem.find('.fileinfo').html() != ' - Completed') { + file.queueItem.find('.fileinfo').html(' - Cancelled'); + } + file.queueItem.find('.progress-bar').width(0); + file.queueItem.delay(delay).fadeOut(fadeTime, function() { + $(this).remove(); + }); + delete file.queueItem; + $data.queue.count--; + } + } + + // Count the number of files that need to be uploaded + $data.filesToUpload = function() { + var filesToUpload = 0; + for (var key in $data.inputs) { + input = $data.inputs[key]; + limit = input.files.length; + for (var n = 0; n < limit; n++) { + file = input.files[n]; + if (!file.skip && !file.complete) { + filesToUpload++; + } + } + } + return filesToUpload; + } + + // Check if a file exists + $data.checkExists = function(file) { + if ($.inArray('onCheck', settings.overrideEvents) < 0) { + // This request needs to be synchronous + $.ajaxSetup({ + 'async' : false + }); + // Send the filename to the check script + var checkData = $.extend(settings.formData, {filename: file.name}); + $.post(settings.checkScript, checkData, function(fileExists) { + file.exists = parseInt(fileExists); + }); + if (file.exists) { + if (!confirm('A file named ' + file.name + ' already exists in the upload folder.\nWould you like to replace it?')) { + // If not replacing the file, cancel the upload + methods.cancel.call($this, file); + return true; + } + } + } + // Trigger the check event + if (typeof settings.onCheck === 'function') { + settings.onCheck.call($this, file, file.exists); + } + return false; + } + + // Upload a single file + $data.uploadFile = function(file, uploadAll) { + if (!file.skip && !file.complete && !file.uploading) { + file.uploading = true; + $data.uploads.current++; + $data.uploads.attempted++; + + // Create a new AJAX request + xhr = file.xhr = new XMLHttpRequest(); + + // Start the upload + // Use the faster FormData if it exists + if (typeof FormData === 'function' || typeof FormData === 'object') { + + // Create a new FormData object + var formData = new FormData(); + + // Add the form data + formData.append(settings.fileObjName, file); + + // Add the rest of the formData + for (i in settings.formData) { + formData.append(i, settings.formData[i]); + } + + // Open the AJAX call + xhr.open(settings.method, settings.uploadScript, true); + + // On progress function + xhr.upload.addEventListener('progress', function(e) { + if (e.lengthComputable) { + $data.progress(e, file); + } + }, false); + + // On complete function + xhr.addEventListener('load', function(e) { + if (this.readyState == 4) { + file.uploading = false; + if (this.status == 200) { + if (file.xhr.responseText !== 'Invalid file type.') { + $data.uploadComplete(e, file, uploadAll); + } else { + $data.error(file.xhr.responseText, file, uploadAll); + } + } else if (this.status == 404) { + $data.error('404_FILE_NOT_FOUND', file, uploadAll); + } else if (this.status == 403) { + $data.error('403_FORBIDDEN', file, uploadAll); + } else { + $data.error('Unknown Error', file, uploadAll); + } + } + }); + + // Send the form data (multipart/form-data) + xhr.send(formData); + + } else { + + // Send as binary + var reader = new FileReader(); + reader.onload = function(e) { + + // Set some file builder variables + var boundary = '-------------------------' + (new Date).getTime(), + dashes = '--', + eol = '\r\n', + binFile = ''; + + // Build an RFC2388 String + binFile += dashes + boundary + eol; + // Generate the headers + binFile += 'Content-Disposition: form-data; name="' + settings.fileObjName + '"'; + if (file.name) { + binFile += '; filename="' + file.name + '"'; + } + binFile += eol; + binFile += 'Content-Type: application/octet-stream' + eol + eol; + binFile += e.target.result + eol; + + for (key in settings.formData) { + binFile += dashes + boundary + eol; + binFile += 'Content-Disposition: form-data; name="' + key + '"' + eol + eol; + binFile += settings.formData[key] + eol; + } + + binFile += dashes + boundary + dashes + eol; + + // On progress function + xhr.upload.addEventListener('progress', function(e) { + $data.progress(e, file); + }, false); + + // On complete function + xhr.addEventListener('load', function(e) { + file.uploading = false; + var status = this.status; + if (status == 404) { + $data.error('404_FILE_NOT_FOUND', file, uploadAll); + } else { + if (file.xhr.responseText != 'Invalid file type.') { + $data.uploadComplete(e, file, uploadAll); + } else { + $data.error(file.xhr.responseText, file, uploadAll); + } + } + }, false); + + // Open the ajax request + var url = settings.uploadScript; + if (settings.method == 'get') { + var params = $(settings.formData).param(); + url += params; + } + xhr.open(settings.method, settings.uploadScript, true); + xhr.setRequestHeader("Content-Type", "multipart/form-data; boundary=" + boundary); + + // Trigger the uploadFile event + if (typeof settings.onUploadFile === 'function') { + settings.onUploadFile.call($this, file); + } + + // Send the file for upload + xhr.sendAsBinary(binFile); + } + reader.readAsBinaryString(file); + + } + } + } + + // Update a file upload's progress + $data.progress = function(e, file) { + if ($.inArray('onProgress', settings.overrideEvents) < 0) { + if (e.lengthComputable) { + var percent = Math.round((e.loaded / e.total) * 100); + } + file.queueItem.find('.fileinfo').html(' - ' + percent + '%'); + file.queueItem.find('.progress-bar').css('width', percent + '%'); + } + // Trigger the progress event + if (typeof settings.onProgress === 'function') { + settings.onProgress.call($this, file, e); + } + } + + // Trigger an error + $data.error = function(errorType, file, uploadAll) { + if ($.inArray('onError', settings.overrideEvents) < 0) { + // Get the error message + switch(errorType) { + case '404_FILE_NOT_FOUND': + errorMsg = '404 Error'; + break; + case '403_FORBIDDEN': + errorMsg = '403 Forbidden'; + break; + case 'FORBIDDEN_FILE_TYPE': + errorMsg = 'Forbidden File Type'; + break; + case 'FILE_SIZE_LIMIT_EXCEEDED': + errorMsg = 'File Too Large'; + break; + default: + errorMsg = 'Unknown Error'; + break; + } + + // Add the error class to the queue item + file.queueItem.addClass('error') + // Output the error in the queue item + .find('.fileinfo').html(' - ' + errorMsg); + // Hide the + file.queueItem.find('.progress').remove(); + } + // Trigger the error event + if (typeof settings.onError === 'function') { + settings.onError.call($this, errorType, file); + } + file.skip = true; + if (errorType == '404_FILE_NOT_FOUND') { + $data.uploads.errors++; + } else { + $data.queue.errors++; + } + if (uploadAll) { + methods.upload.call($this, null, true); + } + } + + // Trigger when a single file upload is complete + $data.uploadComplete = function(e, file, uploadAll) { + if ($.inArray('onUploadComplete', settings.overrideEvents) < 0) { + file.queueItem.find('.progress-bar').css('width', '100%'); + file.queueItem.find('.fileinfo').html(' - Completed'); + file.queueItem.find('.progress').slideUp(250); + file.queueItem.addClass('complete'); + } + // Trigger the complete event + if (typeof settings.onUploadComplete === 'function') { + settings.onUploadComplete.call($this, file, file.xhr.responseText); + } + if (settings.removeCompleted) { + setTimeout(function() { methods.cancel.call($this, file); }, 3000); + } + file.complete = true; + $data.uploads.successful++; + $data.uploads.count++; + $data.uploads.current--; + delete file.xhr; + if (uploadAll) { + methods.upload.call($this, null, true); + } + } + + // Trigger when all the files are done uploading + $data.queueComplete = function() { + // Trigger the queueComplete event + if (typeof settings.onQueueComplete === 'function') { + settings.onQueueComplete.call($this, $data.uploads); + } + } + + // ---------------------- + // Initialize UploadiFive + // ---------------------- + + // Check if HTML5 is available + if (window.File && window.FileList && window.Blob && (window.FileReader || window.FormData)) { + // Assign an ID to the object + settings.id = 'uploadifive-' + $this.attr('id'); + + // Wrap the file input in a div with overflow set to hidden + $data.button = $('<div id="' + settings.id + '" class="uploadifive-button">' + settings.buttonText + '</div>'); + if (settings.buttonClass) $data.button.addClass(settings.buttonClass); + + // Style the button wrapper + $data.button.css({ + 'height' : settings.height, + 'line-height' : settings.height + 'px', + 'overflow' : 'hidden', + 'position' : 'relative', + 'text-align' : 'center', + 'width' : settings.width + }); + + // Insert the button above the file input + $this.before($data.button) + // Add the file input to the button + .appendTo($data.button) + // Modify the styles of the file input + .hide(); + + // Create a new input + $data.createInput.call($this); + + // Create the queue container + if (!settings.queueID) { + settings.queueID = settings.id + '-queue'; + $data.queueEl = $('<div id="' + settings.queueID + '" class="uploadifive-queue" />'); + $data.button.after($data.queueEl); + } else { + $data.queueEl = $('#' + settings.queueID); + } + + // Add drag and drop functionality + if (settings.dnd) { + var $dropTarget = settings.dropTarget ? $(settings.dropTarget) : $data.queueEl.get(0); + $dropTarget.addEventListener('dragleave', function(e) { + // Stop FireFox from opening the dropped file(s) + e.preventDefault(); + e.stopPropagation(); + }, false); + $dropTarget.addEventListener('dragenter', function(e) { + // Stop FireFox from opening the dropped file(s) + e.preventDefault(); + e.stopPropagation(); + }, false); + $dropTarget.addEventListener('dragover', function(e) { + // Stop FireFox from opening the dropped file(s) + e.preventDefault(); + e.stopPropagation(); + }, false); + $dropTarget.addEventListener('drop', $data.drop, false); + } + + // Send as binary workaround for Chrome + if (!XMLHttpRequest.prototype.sendAsBinary) { + XMLHttpRequest.prototype.sendAsBinary = function(datastr) { + function byteValue(x) { + return x.charCodeAt(0) & 0xff; + } + var ords = Array.prototype.map.call(datastr, byteValue); + var ui8a = new Uint8Array(ords); + this.send(ui8a.buffer); + } + } + + // Trigger the oninit event + if (typeof settings.onInit === 'function') { + settings.onInit.call($this); + } + + } else { + + // Trigger the fallback event + if (typeof settings.onFallback === 'function') { + settings.onFallback.call($this); + } + return false; + + } + + }); + + }, + + + // Write some data to the console + debug : function() { + + return this.each(function() { + + console.log($(this).data('uploadifive')); + + }); + + }, + + // Clear all the items from the queue + clearQueue : function() { + + this.each(function() { + + var $this = $(this), + $data = $this.data('uploadifive'), + settings = $data.settings; + + for (var key in $data.inputs) { + input = $data.inputs[key]; + limit = input.files.length; + for (i = 0; i < limit; i++) { + file = input.files[i]; + methods.cancel.call($this, file); + } + } + // Trigger the onClearQueue event + if (typeof settings.onClearQueue === 'function') { + settings.onClearQueue.call($this, $('#' + $data.settings.queueID)); + } + + }); + + }, + + // Cancel a file upload in progress or remove a file from the queue + cancel : function(file, fast) { + + this.each(function() { + + var $this = $(this), + $data = $this.data('uploadifive'), + settings = $data.settings; + + // If user passed a queue item ID instead of file... + if (typeof file === 'string') { + if (!isNaN(file)) { + fileID = 'uploadifive-' + $(this).attr('id') + '-file-' + file; + } + file = $('#' + fileID).data('file'); + } + + file.skip = true; + $data.filesCancelled++; + if (file.uploading) { + $data.uploads.current--; + file.uploading = false; + file.xhr.abort(); + delete file.xhr; + methods.upload.call($this); + } + if ($.inArray('onCancel', settings.overrideEvents) < 0) { + $data.removeQueueItem(file, fast); + } + + // Trigger the cancel event + if (typeof settings.onCancel === 'function') { + settings.onCancel.call($this, file); + } + + }); + + }, + + // Upload the files in the queue + upload : function(file, keepVars) { + + this.each(function() { + + var $this = $(this), + $data = $this.data('uploadifive'), + settings = $data.settings; + + if (file) { + + $data.uploadFile.call($this, file); + + } else { + + // Check if the upload limit was reached + if (($data.uploads.count + $data.uploads.current) < settings.uploadLimit || settings.uploadLimit == 0) { + if (!keepVars) { + $data.uploads.attempted = 0; + $data.uploads.successsful = 0; + $data.uploads.errors = 0; + var filesToUpload = $data.filesToUpload(); + // Trigger the onUpload event + if (typeof settings.onUpload === 'function') { + settings.onUpload.call($this, filesToUpload); + } + } + + // Loop through the files + $('#' + settings.queueID).find('.uploadifive-queue-item').not('.error, .complete').each(function() { + _file = $(this).data('file'); + // Check if the simUpload limit was reached + if (($data.uploads.current >= settings.simUploadLimit && settings.simUploadLimit !== 0) || ($data.uploads.current >= settings.uploadLimit && settings.uploadLimit !== 0) || ($data.uploads.count >= settings.uploadLimit && settings.uploadLimit !== 0)) { + return false; + } + if (settings.checkScript) { + // Let the loop know that we're already processing this file + _file.checking = true; + skipFile = $data.checkExists(_file); + _file.checking = false; + if (!skipFile) { + $data.uploadFile(_file, true); + } + } else { + $data.uploadFile(_file, true); + } + }); + if ($('#' + settings.queueID).find('.uploadifive-queue-item').not('.error, .complete').size() == 0) { + $data.queueComplete(); + } + } else { + if ($data.uploads.current == 0) { + if ($.inArray('onError', settings.overrideEvents) < 0) { + if ($data.filesToUpload() > 0 && settings.uploadLimit != 0) { + alert('The maximum upload limit has been reached.'); + } + } + // Trigger the onError event + if (typeof settings.onError === 'function') { + settings.onError.call($this, 'UPLOAD_LIMIT_EXCEEDED', $data.filesToUpload()); + } + } + } + + } + + }); + + }, + + // Destroy an instance of UploadiFive + destroy : function() { + + this.each(function() { + + var $this = $(this), + $data = $this.data('uploadifive'), + settings = $data.settings; + + // Clear the queue + methods.clearQueue.call($this); + // Destroy the queue if it was created + if (!settings.queueID) $('#' + settings.queueID).remove(); + // Remove extra inputs + $this.siblings('input').remove(); + // Show the original file input + $this.show() + // Move the file input out of the button + .insertBefore($data.button); + // Delete the button + $data.button.remove(); + // Trigger the destroy event + if (typeof settings.onDestroy === 'function') { + settings.onDestroy.call($this); + } + + }); + + } + + } + + $.fn.upload = function(method) { + + if (methods[method]) { + return methods[method].apply(this, Array.prototype.slice.call(arguments, 1)); + } else if (typeof method === 'object' || !method) { + return methods.init.apply(this, arguments); + } else { + $.error('The method ' + method + ' does not exist in $.uploadify'); + } + + } + +})(jQuery); }); -define("js/cart/entry", ["jquery","mlellipsis","hammer","handlebars","source-map","swiper","lazyload","index"], function(require, exports, module){ -/** - * 购物车打包入口 - * @author: xuqi<qi.xu@yoho.cn> - * @date: 2015/10/23 - */ - -require("js/cart/cart"); -require("js/cart/gift-advance"); -require("js/cart/order-ensure"); -require("js/cart/select-coupon"); -require("js/cart/select-address"); +define("js/me/index", ["jquery","swiper","index"], function(require, exports, module){ +/** + * 个人中心首页 + * @author: bikai<kai.bi@yoho.cn> + * @date: 2015/11/12 + */ +var $ = require("jquery"), + noticeScroll = require("js/plugin/notice-scroll"); + +var $userAvatar = $('.user-avatar'), + $listItem = $('.list-item'); +var myImage = new Image(), + avatar; + +require("js/product/recommend-for-you"); +require("js/product/suspend-cart"); + +// 部分老用户没有头像,显示默认头像 +avatar = $userAvatar.data('avatar'); +myImage.src = avatar; +myImage.onload = function() { + $userAvatar.css('background-image', 'url(' + avatar + ')'); +}; + +noticeScroll('.notice', $('.notice').data('time') * 1000); + +$('.yoho-page').on('touchstart', '.list-item, .type-item, .order-title', function() { + $listItem.removeClass('highlight'); + $(this).addClass('highlight'); +}).on('touchend touchcancel', '.list-item, .type-item, .order-title', function() { + $(this).removeClass('highlight'); +}); }); -define("js/cart/cart", ["jquery","mlellipsis","hammer","handlebars","source-map","swiper","lazyload","index"], function(require, exports, module){ -/** - * 购物车Logic - * @author: xuqi<qi.xu@yoho.cn> - * @date: 2015/10/20 - */ -var $ = require("jquery"), - ellipsis = require("mlellipsis"), - Hammer = require("hammer"); - -var chosePanel = require("js/cart/chose-panel"), - dialog = require("js/me/dialog"), - loading = require("js/plugin/loading"), - tip = require("js/plugin/tip"); - -var $cartContent = $('.cart-content'), - cartType = $('#cartType').val(), - $cartNav = $('.cart-nav'), - $cartPage = $('.shopping-cart-page'), - hasShowCartPresellTip = false; - -var navHammer, - advanceBuyHammer, - freebieHammer, - switchChose = false; - -var isRefreshByDelete = window.cookie('_yoho-cart-refreshByDelete') === 'true' ? true : false; - -var lowStockCount = 0; - - -loading.showLoadingMask(); - -function needLoadRecommandForYou() { - return window.isCookiesEnabled() ? - $('.cart-goods').length <= 0 && !isRefreshByDelete : - $('.cart-goods').length <= 0; -} - - -if (needLoadRecommandForYou()) { - require("js/product/recommend-for-you"); -} else { - if (isRefreshByDelete) { - $('body').css('background-color', '#f0f0f0'); - } - require("js/cart/good"); -} - -$cartPage.css('display', 'block'); -loading.hideLoadingMask(); - -window.setCookie('_yoho-cart-refreshByDelete', false); - -ellipsis.init(); - -function cartContentShow() { - return $cartContent.not('.hide'); -} - -function mlellipsisHiddenNames() { - cartContentShow().find('.shopping-cart-good .name').each(function() { - this.mlellipsis(2); - }); - switchChose = true; -} - -function hasChecked() { - return cartContentShow().find('.cart-goods .icon-cb-checked').length > 0 ? true : false; -} - -function shouldSelectGift() { - var $freebie = cartContentShow().find('.freebie'); - - if ($freebie.length <= 0) { - return false; - } - - return true; -} - -function shouldLowStocks() { - var $lowStocks, - result = false; - - if ('ordinary' === cartType) { - $lowStocks = $('.common .low-stocks'); - } else if ('advance' === cartType) { - $lowStocks = $('.presell .low-stocks'); - } - - if ($lowStocks.length <= 0) { - return result; - } - - $lowStocks.each(function(idx, item) { - if ($(item).parent().parent().parent().siblings('.checkbox').hasClass('icon-cb-checked')) { - lowStockCount += 1; - result = true; - } - }); - - return result; -} - -function showChooseGifDialog() { - dialog.showDialog({ - dialogText: '您还未选择赠品,是否去选择赠品', - hasFooter: { - leftBtnText: '我不要赠品', - rightBtnText: '去选择' - } - }, function() { - window.location.href = cartContentShow().find('.freebie > a').attr('href'); - }, function() { - var info = window.cookie('order-info'); - - if (info) { - window.setCookie('order-info', ''); - } - window.location.href = '/cart/index/orderEnsure?cartType=' + cartType; - }); -} - -if (typeof window.cookie === 'function' && 'y' === window.cookie('_hasShowCartPresellTip')) { - $('#presell-tip').removeClass('show').addClass('hide'); - hasShowCartPresellTip = true; -} else { - $('#presell-tip').removeClass('hide').addClass('show'); -} - -if ('advance' === cartType) { - $cartContent.toggleClass('hide'); - $('#common-cart-nav').removeClass('active'); - $('#presell-cart-nav').addClass('active'); - - mlellipsisHiddenNames(); - $(window).trigger('scroll'); -} - -if ($cartNav.length > 0) { - navHammer = new Hammer(document.getElementsByClassName('cart-nav')[0]); - navHammer.on('tap', function(e) { - var $this = $(e.target).closest('li'); - - if ($this.hasClass('active')) { - return; - } - - if (cartType === 'ordinary') { - cartType = 'advance'; - $('#cartType').val('advance'); - } else { - cartType = 'ordinary'; - $('#cartType').val('ordinary'); - } - - $this.siblings('.active').removeClass('active'); - $this.addClass('active'); - - //切换普通商品和预售商品购物车显示 - $cartContent.toggleClass('hide'); - - if (switchChose === false) { - mlellipsisHiddenNames(); - } - - //trigger lazyload - $(window).trigger('scroll'); - }); - - if (!hasShowCartPresellTip) { - setTimeout(function() { - $('#presell-tip').removeClass('show').addClass('hide'); - window.setCookie('_hasShowCartPresellTip', 'y'); - }, 3000); - } -} - -if ($('.advance-buy').length > 0) { - advanceBuyHammer = new Hammer(document.getElementsByClassName('advance-buy')[0]); - advanceBuyHammer.on('tap', function(e) { - window.location.href = '/cart/index/advanceBuy?cartType=' + cartType; - }); -} - -if ($('.freebie').length > 0) { - freebieHammer = new Hammer(document.getElementsByClassName('freebie')[0]); - freebieHammer.on('tap', function(e) { - window.location.href = '/cart/index/gift?cartType=' + cartType; - }); -} - -$('.btn-balance').on('touchend', function() { - var info = window.cookie('order-info'); - - lowStockCount = 0; - - if (shouldLowStocks()) { - tip.show('所选商品中有' + lowStockCount + '种库存不足的商品'); - return false; - } - - if (shouldSelectGift()) { - showChooseGifDialog(); - return false; - } - - if (hasChecked()) { - if (info) { - window.setCookie('order-info', ''); - } - window.location.href = '/cart/index/orderEnsure?cartType=' + cartType; - } else { - tip.show('请先勾选商品'); - } +define("js/product/recommend-for-you", ["swiper","jquery","index"], function(require, exports, module){ +/** + * 为您优选 + * @author: bikai<kai.bi@yoho.cn> + * @date: 2015/11/16 + */ + + +var Swiper = require("swiper"), + $ = require("jquery"); + +var recommendSwiper, + $recommendForYou = $('.recommend-for-you'); + +$.get('/home/preference').then(function(html) { + $recommendForYou.html(html).show(); + if ($('#swiper-recommend').length) { + recommendSwiper = new Swiper('#swiper-recommend', { + slidesPerView: 'auto', + grabCursor: true, + slideElement: 'a', + lazyLoading: true, + watchSlidesVisibility: true + }); + } +}).fail(function() { + $recommendForYou.hide(); }); - -$('.off-shell-goods').on('touchstart touchend', function(e) { - var $this = $(e.target).closest('span'); - - if ($this.hasClass('icon-del')) { - return; - } - - tip.show('商品已下架'); - return false; }); - -$('.chose').on('touchend', function() { - chosePanel.show(); +define("js/me/coupons", ["jquery","hammer","mlellipsis"], function(require, exports, module){ +var $ = require("jquery"), + Hammer = require("hammer"), + ellipsis = require("mlellipsis"), + loading = require("js/plugin/loading"); + +var employ, + statu = 0, + page = 1; + +ellipsis.init(); + +function couponAJAX(statu, page) { + loading.showLoadingMask(); + $.ajax({ + type: 'POST', + url: '/home/couponData', + dataType: 'html', + data: { + status: statu, + page: page + }, + success: function(data) { + $('#employ').append(data); + window.rePosFooter(); + loading.hideLoadingMask(); + } + }); +} + +$('.yoho-footer').css('border-top', '1px solid #e0e0e0'); +$('.employ span').each(function(index) { + employ = new Hammer($('.employ span')[index]); + employ.on('tap', function(e) { + $('.employ span').removeClass('active').eq(index).addClass('active'); + $('#employ').html(' '); + statu = index; + page = 1; + couponAJAX(statu, page); + window.rePosFooter(); + }); +}); + + +function scrollHandler() { + if ($(window).scrollTop() + $(window).height() > $('body').height() - 100) { + page++; + couponAJAX(statu, page); + return; + } +} + +$(window).scroll(function() { + window.requestAnimationFrame(scrollHandler); +}); + +couponAJAX(statu, page); }); +define("js/me/online-service", ["jquery"], function(require, exports, module){ +/** + * 在线客服 + * @author: bikai<kai.bi@yoho.cn> + * @date: 2015/11/16 + */ +var $ = require("jquery"); + +var $questionTab = $('.question-tab .tab-item'); + +$questionTab.on('touchend', function() { + var clickTab = $(this).data('tab'); + + clickTab = '[data-tab-name="' + clickTab + '"]'; + + $questionTab.removeClass('current'); + $(this).addClass('current'); + + $('.question-list').removeClass('current'); + $(clickTab).addClass('current'); +}); + +$('.yoho-page').on('touchstart', '.connect-item, .question-item', function() { + $(this).siblings().removeClass('highlight'); + $(this).addClass('highlight'); +}).on('touchend touchcancel', '.connect-item, .question-item', function() { + $(this).removeClass('highlight'); +}); -$cartNav.on('touchstart', 'li', function(e) { - $(this).addClass('bytouch'); -}).on('touchend touchcancel', function() { - $cartNav.find('li').removeClass('bytouch'); }); +define("js/me/address", ["jquery","hammer"], function(require, exports, module){ +/** + * 地址管理 + * @author: bikai<kai.bi@yoho.cn> + * @date: 2015/11/17 + */ + +var $ = require("jquery"), + tip = require("js/plugin/tip"), + loading = require("js/plugin/loading"); + +var $action = $('.action'), + $addAddress = $('.add-address'), + $footer = $('#yoho-footer'), + $confim = $('.confim-mask'), + $pageWrap = $('.page-wrap'), + $addressItem = $('.address-item'), + deleteId; + +require("js/common"); + +$pageWrap.first().css('min-height', function() { + return $(window).height() - $('#yoho-header').height() - $footer.height(); +}); +window.rePosFooter(); + +$confim.on('touchend', '.cancel', function(e) { + deleteId = null; + $confim.fadeOut(); + return false; +}).on('touchend', '.confim', function() { + loading.showLoadingMask(); + $confim.fadeOut(); + $.ajax({ + method: 'POST', + url: '/home/delAddress', + data: { + id: deleteId + } + }).then(function(res) { + if ($.type(res) !== 'object') { + res = {}; + } + if (res.code !== 200) { + tip.show(res.message || '网络出了点问题~'); + loading.hideLoadingMask(); + } else { + window.location.reload(); + } + }).fail(function() { + tip.show('网络出了点问题~'); + loading.hideLoadingMask(); + }).always(function() { + deleteId = null; + }); + return false; +}); + + +// 添加地址 +if ($addressItem.length < 5) { + $addAddress.attr('href', $addAddress.data('href')); +} +$addAddress.on('touchend', function() { + if ($addressItem.length >= 5) { + tip.show('您最多添加5个收货地址'); + return false; + } +}); + +// 删除 +$action.on('touchend', '.del', function() { + deleteId = $(this).data('id'); + $confim.fadeIn(); + return false; +}); + +$action.on('touchstart', 'a,span', function() { + $(this).css('background', '#eee'); +}).on('touchend touchcancel', 'a,span', function() { + $(this).css('background', 'transparent'); +}); -//提前触发lazyload -$(window).scrollTop(1).scrollTop(0); }); -define("js/cart/good", ["jquery","mlellipsis","lazyload","handlebars","source-map","hammer"], function(require, exports, module){ -/** - * 购物车商品 - * @author: xuqi<qi.xu@yoho.cn> - * @date: 2015/10/20 - */ - -var $ = require("jquery"), - ellipsis = require("mlellipsis"), - chosePanel = require("js/cart/chose-panel"), - loading = require("js/plugin/loading"), - lazyLoad = require("lazyload"); - -var dialog = require("js/me/dialog"), - tip = require("js/plugin/tip"); - -var $selectAllBtn = $('.balance .checkbox'), - requesting = false; - -//上次编辑的商品skn -var previousEditSkn; - -ellipsis.init(); - -lazyLoad({ - try_again_css: 'order-failure' +define("js/me/browse-record", ["jquery","lazyload","handlebars","source-map","hammer"], function(require, exports, module){ +/** + * 浏览记录 + * @author: xuqi<qi.xu@yoho.cn> + * @date: 2015/11/28 + */ + +var $ = require("jquery"); + +var lazyLoad = require("lazyload"), + load = require("js/plugin/loading"), + tip = require("js/plugin/tip"); + +var dialog = require("js/me/dialog"); + +var $page = $('.records'); + +var $loadMore = $('.load-more'), + $more = $loadMore.children('.more'), + $noMore = $loadMore.children('.no-more'); + +var page = 0; + +var end = false, + loading = false; + +var winH = $(window).height(); + +load.init(); +function moreRecord(cb) { + var count = $page.children('.browse-record-good').length; + + if (loading) { + return; + } + + if (page === 1) { + $loadMore.removeClass('hide'); + } + + loading = true; + $.ajax({ + type: 'GET', + url: '/home/recordContent', + data: { + page: page + 1 + }, + success: function(data) { + if (data === ' ') { + end = true; + + $more.addClass('hide'); + $noMore.removeClass('hide'); + } else { + + if (count === 0) { + $page.html(data); + + lazyLoad(); + } else { + $page.append(data); + + lazyLoad($page.find('.browse-record-good:gt(' + (count - 1) + ') .lazy')); + } + window.rePosFooter(); + page++; + + if (cb) { + cb(); + } + } + }, + complete: function() { + loading = false; + } + }); +} + +load.showLoadingMask(); +moreRecord(load.hideLoadingMask); + +$(window).scroll(function() { + if (end) { + return; + } + + if (winH + $(window).scrollTop() > $(document).height() - 0.25 * $page.height()) { + moreRecord(); + } +}); + +$page.on('touchstart', '.del-icon', function() { + var $good = $(this).closest('.browse-record-good'), + skn = $good.data('skn'); + + dialog.showDialog({ + dialogText: '确定删除此条浏览记录吗?', + hasFooter: { + leftBtnText: '取消', + rightBtnText: '确定' + } + }, function() { + + $.ajax({ + type: 'GET', + url: '/home/delRecord', + data: { + skn: skn + }, + success: function(data) { + if (data.code === 200) { + dialog.showDialog({ + dialogText: '删除浏览记录成功', + autoHide: 2000, + fast: true + }); + setTimeout(function() { + window.history.go(0); + }, 1200); + } + } + }); + }); +}); + +$('.deps').on('touchstart', 'span', function() { + $(this).css('background', '#eee'); +}).on('touchend touchcancel', 'span', function() { + $(this).css('background', 'transparent'); +}); + +$('.invalidGoods').on('touchstart touchend', function() { + var $this = $(e.target).closest('span'); + + if ($this.hasClass('del-icon')) { + return; + } + tip.show('商品已下架'); + return false; }); - -setTimeout(function() { - $('.shopping-cart-good .name').each(function() { - this.mlellipsis(2); - }); -}, 0); - -function GoodInfo(properties) { - this.goods_type = properties.goods_type; - this.buy_number = properties.buy_number; - this.product_sku = properties.product_sku; - this.selected = properties.selected; -} - -//TIP:事件委托在.cart-goods,商品列表的容器统一需要有.cart-goods -$('.cart-goods').on('touchstart', '.checkbox', function() { - var $this = $(this), - $good = $this.closest('.shopping-cart-good'), - id = $good.data('id'); - - var goodsList = [], - goodInfo = {}; - - if (!$this.hasClass('icon-cb-checked') && $this.siblings('.info').find('.low-stocks').length > 0) { - tip.show('库存不足,无法购买'); - return false; - } - - goodInfo.goods_type = $('#cartType').val(); - goodInfo.selected = $this.hasClass('icon-cb-checked') ? 'N' : 'Y'; - goodInfo.product_sku = id; - goodInfo.buy_number = $good.find('.count').eq(0).text().trim().replace('×', ''); - goodsList.push(new GoodInfo(goodInfo)); - - $.ajax({ - type: 'post', - url: 'select', - data: { - skuList: JSON.stringify(goodsList) - } - }).then(function(data) { - if (data.code === 200) { - if ($this.hasClass('icon-cb-checked')) { - $this.removeClass('icon-cb-checked').addClass('icon-checkbox'); - } else { - $this.removeClass('icon-checkbox').addClass('icon-cb-checked'); - } - window.location.href = '/cart/index/index?cartType=' + $('#cartType').val(); - } else if (data.code === 400) { - tip.show('网络异常'); - } - }, function() { - tip.show('网络异常'); - }); }); +define("js/me/address-act", ["jquery","hammer"], function(require, exports, module){ +/** + * 修改地址 + * @author: bikai<kai.bi@yoho.cn> + * @date: 2015/11/30 + */ +var $ = require("jquery"), + Hammer = require("hammer"), + tip = require("js/plugin/tip"), + security = require("js/plugin/security"), + loading = require("js/plugin/loading"); + +var $addressForm = $('.edit-address'), + $submit = $('.submit'), + $editAddressPage = $('.my-edit-address-page'), + $addressListPage = $('.my-address-list-page'), + $backBtn = $('.nav-back'), + $navTitle = $('.nav-title'), + $input = $('input, textarea'), + navTitle = $navTitle.html(), + $area = $('.area'), + isSubmiting, + currentPage = 'edit', + newArea = [], + chinaAddressList, + queryString = $.queryString(); + +$($editAddressPage, $addressListPage).css('min-height', function() { + return $(window).height() - $('#yoho-header').height(); +}); + +// 清除返回按钮原有链接 +$backBtn.attr('href', 'javascript:void(0);'); + +// 自定义返回按钮事件 +$backBtn.on('touchend', function(e) { + if (currentPage === 'list') { + $addressListPage.hide(); + $editAddressPage.show(); + e.preventDefault(); + currentPage = 'edit'; + $navTitle.html(navTitle); + + // 恢复默认的三级选择 + $addressListPage.hide(); + $addressListPage.find('ul').hide().find('li').removeClass('highlight'); + $addressListPage.children('ul').show().children('li').show(); + newArea = []; + } else { + window.history.go(-1); + } +}); + +// 提交表单请求 +$addressForm.on('submit', function() { + if (isSubmiting) { + return false; + } + + if (security.hasDangerInput(false)) { + return false; + } + + // 简单的表单校验 + if (!$(this).find('[name="consignee"]').val()) { + tip.show('收件人不能为空'); + return false; + } + if (!$(this).find('[name="mobile"]').val()) { + tip.show('手机号不能为空'); + return false; + } + if (!$(this).find('[name="area_code"]').val() || !$(this).find('[name="area"]').val()) { + tip.show('省市区不能为空'); + return false; + } + if (!$(this).find('[name="address"]').val()) { + tip.show('地址不能为空'); + return false; + } + + isSubmiting = true; + loading.showLoadingMask(); + $submit.css('background', '#777'); + $.ajax({ + method: 'POST', + url: '/home/saveAddress', + data: $(this).serialize() + }).then(function(res) { + if ($.type(res) !== 'object') { + res = {}; + } + if (res.code !== 200) { + tip.show(res.message || '网络出了点问题~'); + isSubmiting = false; + loading.hideLoadingMask(); + } else { + if (queryString.refer === 'shopping') { + window.location.href = '/cart/index/selectAddress'; + } else if (queryString.refer === 'modify') { + window.location.href = '/home/addressModify'; + } else { + window.location.href = '/home/address'; + } + } + }).fail(function() { + tip.show('网络出了点问题~'); + isSubmiting = false; + loading.hideLoadingMask(); + $submit.css('background', '#444'); + }); + return false; +}); + +$submit.on('touchend', function() { + if (security.hasDangerInput(false)) { + return false; + } + $input.blur(); + $addressForm.submit(); + return false; +}).on('touchstart', function() { + $(this).addClass('highlight'); +}).on('touchend touchcancel', function() { + $(this).removeClass('highlight'); +}); + +function bindAddressListEvent(html) { + $addressListPage.html(html); + + // 省市区 + $area.on('touchend', function() { + $editAddressPage.hide(); + $addressListPage.show(); + currentPage = 'list'; + $navTitle.html('地区选择'); + }); + + // touchend 在下滑的时候会触发 + // 省市区联动 + $addressListPage.find('.address').each(function(i, elem) { + var addressHammer = new Hammer(elem); + + addressHammer.on('tap', function(e) { + var $this = $(e.target); + + if (e.target.tagName.toLowerCase() !== 'li') { + $this = $this.parent('li'); + } + newArea.push($this.children('.caption').text().trim()); + $this.siblings().hide(); + $this.children('ul').show().children('li').show(); + + e.srcEvent.preventDefault(); + e.srcEvent.stopPropagation(); + }); + }); + + $addressListPage.find('.address-last').each(function(i, elem) { + var addressLastHammer = new Hammer(elem); + + addressLastHammer.on('tap', function(e) { + var $this = $(e.target); + + // 填结果到 html + newArea.push($this.text().trim()); + $('[name="area"]').val(newArea.join(' ')); + $('[name="area_code"]').val($this.data('id')); + + $editAddressPage.show(); + currentPage = 'edit'; + $navTitle.html(navTitle); + + // 恢复默认的三级选择 + $addressListPage.hide(); + $addressListPage.find('ul').hide().find('li').removeClass('highlight'); + $addressListPage.children('ul').show().children('li').show(); + newArea = []; + + e.srcEvent.preventDefault(); + e.srcEvent.stopPropagation(); + }); + }); + + $addressListPage.on('touchstart', 'li', function() { + $(this).addClass('highlight'); + }).on('touchend touchcancel', 'li', function() { + $(this).removeClass('highlight'); + }); +} + +// 读取省市区列表缓存 +if (window.localStorage && window.localStorage.getItem) { + chinaAddressList = window.localStorage.getItem('chinaAddressList'); +} +if (chinaAddressList) { + bindAddressListEvent(chinaAddressList); +} else { + + // 省市区列表异步加载 + $.ajax({ + method: 'GET', + url: '/home/locationList', + timeout: 60000 + }).then(function(html) { + bindAddressListEvent(html); + if (window.localStorage && window.localStorage.setItem) { + window.localStorage.setItem('chinaAddressList', html); + } + }).fail(function() { + tip.show('获取省市区列表失败'); + }); +} -/* - * 显示购物车编辑面板。 - * - * @param {String} html. chose-pannel模板,由服务端返回 - * - * @param {String} id. 商品skuid - * - * @param {Bool} isSelected. 所要编辑的商品是否被选中 - * - * @param {Bool} isEditNum. 所要编辑的商品是否被选中 - * - * @return false or undefined - * - */ -function showEditPannelWithSku(html, id, isSelected, isEditNum) { - if (html.length < 2) { - tip.show('出错啦!'); - return false; - } - - //删掉页面上原有的pannel - chosePanel.remove(); - - $(html).appendTo('#mainCart'); - - - chosePanel.init(); - chosePanel.setEditModeWithSknId(id, isSelected); - - if (!isEditNum) { - chosePanel.disableNumEdit(); - } - - chosePanel.show(); -} - - -$('.icon-edit').on('touchstart', function(e) { - var $this = $(this), - skn = $this.closest('.shopping-cart-good').data('skn'); - - var $checkBox, - $tag; - - var id, - count, - canEditNum; - - if ($this.parents('.off-shell-goods').length) { - tip.show('商品已下架'); - return false; - } - - //如果点击的是上次编辑的商品,直接显示chose-pannel - if (skn === previousEditSkn) { - chosePanel.show(); - return; - } - - previousEditSkn = skn; - - - $checkBox = $this.closest('.info').siblings('.checkbox'); - $tag = $this.closest('.deps').siblings('.few-tag'); - - id = $this.closest('.shopping-cart-good').data('id'); - count = $this.data('count'); - - //加价购或者赠品不能编辑数量 - canEditNum = $tag.hasClass('gift-tag') || $tag.hasClass('plus-tag') ? false : true; - - e.stopPropagation(); - - loading.showLoadingMask(); - - - $.ajax({ - url: '/cart/index/goodinfo', - data: { - skn: skn, - buy_num: count - }, - success: function(res) { - showEditPannelWithSku(res, id, $checkBox.hasClass('icon-cb-checked'), canEditNum); - }, - error: function() { - tip.show('网络异常'); - window.location.reload(); - }, - complete: function() { - loading.hideLoadingMask(); - } - }); }); +define("js/me/logistic", ["jquery","hammer","mlellipsis","lazyload"], function(require, exports, module){ +/** + * 物流信息页面 + * @author: 赵彪<bill.zhao@yoho.cn> + * @date: 2015/12/02 + */ + +var $ = require("jquery"), + $footer = $('#yoho-footer'); + +var winH = window.outerHeight, + bodyH = document.body.offsetHeight, + footH = $footer.height(); + +function addFooterTopBorder() { + if (footH + bodyH > winH) { + window.rePosFooter(); + } else { + $footer.css('border-top', '1px solid #f1f1f1'); + } +} + +$(document).ready(addFooterTopBorder); + +function getGender() { + return window.cookie('_Channel') || 'boys'; +} + +require("js/home/maybe-like")(getGender()); + +//提前触发lazyload +$(window).scrollTop(1).scrollTop(0); + + + -$('.icon-del').on('touchstart', function(e) { - var $this = $(this); - - e.stopPropagation(); - - dialog.showDialog({ - dialogText: '您确定要从购物车中删除吗?', - hasFooter: { - leftBtnText: '取消', - rightBtnText: '确定' - } - }, function() { - var $shoppingCartGood = $this.closest('.shopping-cart-good'), - count = $this.data('count'); - - $.ajax({ - method: 'post', - url: '/cart/index/del', - data: { - sku: $shoppingCartGood.data('id'), - count: count, - promotionId: $shoppingCartGood.data('promotion') - } - }).then(function(data) { - if (data.code === 200) { - dialog.showDialog({ - dialogText: '删除成功', - autoHide: true, - fast: true - }); - window.setCookie('_yoho-cart-refreshByDelete', true); - window.location.href = '/cart/index/index?cartType=' + $('#cartType').val(); - } else { - tip.show(data.message); - } - }, function() { - tip.show('网络异常'); - window.location.reload(); - }); - }); }); +define("js/me/pay", ["jquery","hammer"], function(require, exports, module){ +/** + * 支付页面 + * @author: 赵彪<bill.zhao@yoho.cn> + * @date: 2015/12/03 + */ +var $ = require("jquery"); + +var loading = require("js/plugin/loading"), + tip = require("js/plugin/tip"), + Hammer = require("hammer"); +// 点击微信显示加载 +var $loadingToast = $(".loading-toast"); +var theOrderCode = document.getElementById('ordercode').value; + +var wxPayEl = document.getElementById('weixin'), + wxHammer = wxPayEl && new Hammer(wxPayEl); + +var appIconPosition = { + baidu: '-2.7rem', + weixin: '-1.2rem', + QQ: '-5.4rem', + bank: '-4rem' +}; + +// 隐藏微信分享选项 +if (window.wx) { + wx.hideOptionMenu(); +} + +function onBridgeReady() { + document.addEventListener('WeixinJSBridgeReady', function () { + window.WeixinJSBridge && window.WeixinJSBridge.call('hideOptionMenu'); + }); +} + +if (typeof WeixinJSBridge === undefined) { + if (document.addEventListener) { + document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false); + } else if (document.attachEvent) { + document.attachEvent('WeixinJSBridgeReady', onBridgeReady); + document.attachEvent('onWeixinJSBridgeReady', onBridgeReady); + } + onBridgeReady(); +} else { + onBridgeReady(); +} + +// 调用微信JS api 支付 +function jsApiCall(orderCode, jsApiParameters) { + $loadingToast.addClass("hide"); + + // 防止重复操作弹框 + window.WeixinJSBridge && window.WeixinJSBridge.invoke( + 'getBrandWCPayRequest', + jsApiParameters, + function (res) { + window.location.href = '/home/orders/detail?order_code=' + orderCode; + } + ); +} + +// 微信支付 +function callpay(orderCode) { + var jsApiParameters; + + $loadingToast.removeClass("hide"); + if (typeof WeixinJSBridge === undefined) { + if (document.addEventListener) { + document.addEventListener('WeixinJSBridgeReady', jsApiCall, false); + } else if (document.attachEvent) { + document.attachEvent('WeixinJSBridgeReady', jsApiCall); + document.attachEvent('onWeixinJSBridgeReady', jsApiCall); + } + } else { + $.ajax({ + type: 'GET', + url: '/shopping/pay/wechatwapapi?order_code=' + orderCode, + dataType: 'json', + success: function (res) { + if (res.code === 200) { + jsApiParameters = res.data.jsApiParameters; + jsApiCall(orderCode, jsApiParameters); + } else { + tip.show('微信支付调取失败'); + } + }, + error: function () { + tip.show('请刷新本页面,完成微信支付'); + }, + complete: function () { + $loadingToast.addClass("hide"); + } + }); + } +} + + +function isWXOpen() { + var ua = window.navigator.userAgent.toLowerCase(); + + return ua.indexOf('micromessenger') > 0; +} + +function hideWeChatPay() { + var $payApps = $('.app'); + + $payApps.each(function (idx, app) { + if ($(app).parent().attr('id') === 'weixin') { + $(app).parent().css('display', 'none'); + return false; + } + }); +} + +function handleForWX() { + if (!isWXOpen()) { + hideWeChatPay(); + } +} + + +function setAppIcon(el, position) { + $(el).css('background-position-y', position); +} + +function loadIcon() { + var $boxs = $('.box'); + var $div = null; + var appid = null; + + $boxs.each(function (idx, box) { + $div = $(box).find('.icon').find('div'); + if ($div.length > 0) { + appid = $(box).attr('id'); + if (appid !== 'alipay') { + setAppIcon($div, appIconPosition[appid]); + } + } + }); +} + +function showPage() { + $('.payapp-list').css('visibility', 'visible'); +} + +function bindTouchedEvent() { + var $boxs = $('.box'); + + $boxs.on('touchstart', function (e) { + $(this).addClass('bytouch'); + }).on('touchend touchcancel', function () { + $boxs.removeClass('bytouch'); + }); +} + +if (wxHammer) { + wxHammer.on('tap', function () { + callpay(theOrderCode); + }); +} + +function main() { + handleForWX(); + loading.hideLoadingMask(); + showPage(); + loadIcon(); + bindTouchedEvent(); +} + +loading.showLoadingMask(); + +$(document).ready(main); + +$('.box').on('click', function () { + var url = $('.payapp-list a').attr('href'), + theRequest = [], + orderCode, + payment; + + if (url.indexOf("?") != -1) { + theRequest = url.split('?')[1].split("&"); + orderCode = theRequest[0].split('=')[1]; + payment = theRequest[1].split('=')[1]; + } + + $.ajax({ + url: '/shopping/pay/addPaymentInterval?orderCode=' + orderCode + '&payment=' + payment, + method: 'get' + }); +}); + -function requestUpdateAllGoodsCheckStatus(theGoods, successHandeler) { - if (requesting) { - return; - } - requesting = true; - $.ajax({ - url: 'select', - type: 'post', - data: { - skuList: JSON.stringify(theGoods) - }, - success: function(res) { - if (res.code === 200) { - successHandeler(); - } else { - tip.show(res.message); - } - }, - error: function() { - tip.show('网络异常'); - }, - complete: function() { - requesting = false; - } - }); -} - -function didUpdateAllGoodsCheckStatus() { - var $checkedBoxs = $('.shopping-cart-good .icon-cb-checked'), - $uncheckedBoxs = $('.shopping-cart-good .icon-checkbox'); - - var shouldSelectAll; - - if ($selectAllBtn.hasClass('icon-cb-checked')) { - $selectAllBtn.removeClass('icon-cb-checked').addClass('icon-checkbox'); - shouldSelectAll = true; - } else { - $selectAllBtn.removeClass('icon-checkbox').addClass('icon-cb-checked'); - shouldSelectAll = false; - } - - if (!shouldSelectAll) { - $uncheckedBoxs.each(function(idx, uncheckedBox) { - $(uncheckedBox).removeClass('icon-checkbox').addClass('icon-cb-checked'); - }); - } else { - $checkedBoxs.each(function(idx, checkedBox) { - $(checkedBox).removeClass('icon-cb-checked').addClass('icon-checkbox'); - }); - } - window.location.href = '/cart/index/index?cartType=' + $('#cartType').val(); -} - -function bottomCheckBoxHandeler(isSelected, type, handlerAfterTouch) { - var goodInfo = {}, - $goods = $('.cart-content:not(.hide) .shopping-cart-good'), - $good = null, - goodsList = []; - - goodInfo.goods_type = type; - goodInfo.selected = isSelected ? 'N' : 'Y'; - - $goods.each(function(idx, good) { - $good = $(good); - - goodInfo.product_sku = $(good).data('id'); - goodInfo.hasPromotion = $(good).data('promotion'); - goodInfo.buy_number = $good.find('.count').eq(0).text().trim().replace('×', ''); +}); +define("js/me/personal-details", ["jquery"], function(require, exports, module){ +/** + * 个人信息 + * @author: bikai<kai.bi@yoho.cn> + * @date: 2015/11/19 + */ +var $ = require("jquery"); +var $userAvatar = $('.user-avatar'); +var myImage = new Image(), + avatar; + +// 部分老用户没有头像,显示默认头像 +avatar = $userAvatar.data('avatar'); +myImage.src = avatar; +myImage.onload = function() { + $userAvatar.css('background-image', 'url(' + avatar + ')'); +}; - goodsList.push(new GoodInfo(goodInfo)); - }); +}); +define("js/me/currency", ["jquery"], function(require, exports, module){ +var $ = require("jquery"), + loading = require("js/plugin/loading"); +var page = 1; + +loading.showLoadingMask(); + +function ajaxCurrencyDetail(page) { + $.ajax({ + type: 'POST', + url: '/home/ajaxCurrencyDetail', + dataType: 'html', + data: { + page: page + }, + success: function(data) { + $('.coin-detail').append(data); + window.rePosFooter(); + } + }); +} + +function scrollHandler() { + if ($(window).scrollTop() + $(window).height() > $('body').height() - 100) { + page++; + ajaxCurrencyDetail(page); + return; + } +} + +$(window).scroll(function() { + window.requestAnimationFrame(scrollHandler); +}); + +ajaxCurrencyDetail(page); + +$(document).ready(loading.hideLoadingMask); - requestUpdateAllGoodsCheckStatus(goodsList, handlerAfterTouch); -} +}); +define("js/me/currency-new", ["jquery","hammer","mlellipsis","lazyload"], function(require, exports, module){ +/** + * 新有货币界面 + * @author: 赵彪<bill.zhao@yoho.cn> + * @date: 2015/12/30 + */ + +function getGender() { + return window.cookie('_Channel') || 'boys'; +} + +require("js/home/maybe-like")(getGender()); + -//全选按钮点击事件 -$selectAllBtn.on('touchend', function() { - var cartType = $('#cartType').val(), - isSelect = $(this).hasClass('icon-cb-checked'); +}); +define("js/me/message", ["jquery","handlebars","source-map","hammer"], function(require, exports, module){ +var $ = require("jquery"), + loading = require("js/plugin/loading"), + dialog = require("js/me/dialog"); + +var $page = $('.massage-page'), + page = 1, + stopLoading = false; + +function massageAJAX(page) { + loading.showLoadingMask(); + $.ajax({ + type: 'POST', + url: '/home/ajaxMessage', + dataType: 'html', + data: { + page: page + }, + success: function(data) { + if (data === ' ') { + stopLoading = true; + if (page === 1) { + data = '<p style="text-align:center">您没有消息</p>'; + } + } + + $('.massage-page').append(data); + window.rePosFooter(); + loading.hideLoadingMask(); + } + }); +} + +function scrollHandler() { + if (!stopLoading && ($(window).scrollTop() + $(window).height() > $('body').height() - 100)) { + page++; + massageAJAX(page); + } +} + +$(window).scroll(function() { + window.requestAnimationFrame(scrollHandler); +}); + +// 删除消息 +$page.on('touchstart', '.del', function() { + var $good = $(this).closest('.massage-list'), + $id = $good.data('id'); + + dialog.showDialog({ + dialogText: '确定删除这条消息吗?', + hasFooter: { + leftBtnText: '取消', + rightBtnText: '确定' + } + }, function() { + + $.ajax({ + type: 'POST', + url: '/home/ajaxDelMes', + data: { + id: $id + }, + success: function(data) { + if (data.code === 200) { + dialog.showDialog({ + dialogText: '删除消息成功', + autoHide: 2000, + fast: true + }); + setTimeout(function() { + window.history.go(0); + }, 1200); + } else { + dialog.showDialog({ + dialogText: data.message, + autoHide: 2000, + fast: true + }); + } + } + }); + }); +}); + +massageAJAX(page); - if ('ordinary' === cartType) { - if (!isSelect && $('.common .low-stocks').length > 0) { - tip.show('所选商品中含有库存不足的商品'); - return false; - } - } else if ('advance' === cartType) { - if (!isSelect && $('.presell .low-stocks').length > 0) { - tip.show('所选商品中含有库存不足的商品'); - return false; - } - } +}); +define("js/me/message-detail", ["jquery","handlebars","source-map","hammer"], function(require, exports, module){ +var $ = require("jquery"), + dialog = require("js/me/dialog"); + +var $page = $('.massage-page'); + +var pickBusy = false; + + +// 领取生日券 +$page.on('touchstart', '.pick-coupon-btn', function() { + if (pickBusy) { + return; + } + pickBusy = true; + + var $id = $(this).data('id'); + + $.ajax({ + type: 'POST', + url: '/home/pickCoupon', + data: { + id: $id + }, + success: function(data) { + if (data.code === 200) { + dialog.showDialog({ + dialogText: '领取成功', + autoHide: 2000, + fast: true + }); + $(this).removeClass('pick-coupon-btn'); + } + + pickBusy = false; + + dialog.showDialog({ + dialogText: data.message, + autoHide: 2000, + fast: true + }); + } + }); +}); - bottomCheckBoxHandeler(isSelect, cartType, didUpdateAllGoodsCheckStatus); }); +define("js/cart/entry", ["jquery","mlellipsis","hammer","handlebars","source-map","swiper","lazyload","index"], function(require, exports, module){ +/** + * 购物车打包入口 + * @author: xuqi<qi.xu@yoho.cn> + * @date: 2015/10/23 + */ + +require("js/cart/cart"); +require("js/cart/gift-advance"); +require("js/cart/order-ensure"); +require("js/cart/select-coupon"); +require("js/cart/select-address"); -$('.down').on('touchend', function() { - chosePanel.show(); }); +define("js/cart/cart", ["jquery","mlellipsis","hammer","handlebars","source-map","swiper","lazyload","index"], function(require, exports, module){ +/** + * 购物车Logic + * @author: xuqi<qi.xu@yoho.cn> + * @date: 2015/10/20 + */ +var $ = require("jquery"), + ellipsis = require("mlellipsis"), + Hammer = require("hammer"); + +var chosePanel = require("js/cart/chose-panel"), + dialog = require("js/me/dialog"), + loading = require("js/plugin/loading"), + tip = require("js/plugin/tip"); + +var $cartContent = $('.cart-content'), + cartType = $('#cartType').val(), + $cartNav = $('.cart-nav'), + $cartPage = $('.shopping-cart-page'), + hasShowCartPresellTip = false; + +var navHammer, + advanceBuyHammer, + freebieHammer, + switchChose = false; + +var isRefreshByDelete = window.cookie('_yoho-cart-refreshByDelete') === 'true' ? true : false; + +var lowStockCount = 0; + + +loading.showLoadingMask(); + +function needLoadRecommandForYou() { + return window.isCookiesEnabled() ? + $('.cart-goods').length <= 0 && !isRefreshByDelete : + $('.cart-goods').length <= 0; +} + + +if (needLoadRecommandForYou()) { + require("js/product/recommend-for-you"); +} else { + if (isRefreshByDelete) { + $('body').css('background-color', '#f0f0f0'); + } + require("js/cart/good"); +} + +$cartPage.css('display', 'block'); +loading.hideLoadingMask(); + +window.setCookie('_yoho-cart-refreshByDelete', false); + +ellipsis.init(); + +function cartContentShow() { + return $cartContent.not('.hide'); +} + +function mlellipsisHiddenNames() { + cartContentShow().find('.shopping-cart-good .name').each(function() { + this.mlellipsis(2); + }); + switchChose = true; +} + +function hasChecked() { + return cartContentShow().find('.cart-goods .icon-cb-checked').length > 0 ? true : false; +} + +function shouldSelectGift() { + var $freebie = cartContentShow().find('.freebie'); + + if ($freebie.length <= 0) { + return false; + } + + return true; +} + +function shouldLowStocks() { + var $lowStocks, + result = false; + + if ('ordinary' === cartType) { + $lowStocks = $('.common .low-stocks'); + } else if ('advance' === cartType) { + $lowStocks = $('.presell .low-stocks'); + } + + if ($lowStocks.length <= 0) { + return result; + } + + $lowStocks.each(function(idx, item) { + if ($(item).parent().parent().parent().siblings('.checkbox').hasClass('icon-cb-checked')) { + lowStockCount += 1; + result = true; + } + }); + + return result; +} + +function showChooseGifDialog() { + dialog.showDialog({ + dialogText: '您还未选择赠品,是否去选择赠品', + hasFooter: { + leftBtnText: '我不要赠品', + rightBtnText: '去选择' + } + }, function() { + window.location.href = cartContentShow().find('.freebie > a').attr('href'); + }, function() { + var info = window.cookie('order-info'); + + if (info) { + window.setCookie('order-info', ''); + } + window.location.href = '/cart/index/orderEnsure?cartType=' + cartType; + }); +} + +if (typeof window.cookie === 'function' && 'y' === window.cookie('_hasShowCartPresellTip')) { + $('#presell-tip').removeClass('show').addClass('hide'); + hasShowCartPresellTip = true; +} else { + $('#presell-tip').removeClass('hide').addClass('show'); +} + +if ('advance' === cartType) { + $cartContent.toggleClass('hide'); + $('#common-cart-nav').removeClass('active'); + $('#presell-cart-nav').addClass('active'); + + mlellipsisHiddenNames(); + $(window).trigger('scroll'); +} + +if ($cartNav.length > 0) { + navHammer = new Hammer(document.getElementsByClassName('cart-nav')[0]); + navHammer.on('tap', function(e) { + var $this = $(e.target).closest('li'); + + if ($this.hasClass('active')) { + return; + } + + if (cartType === 'ordinary') { + cartType = 'advance'; + $('#cartType').val('advance'); + } else { + cartType = 'ordinary'; + $('#cartType').val('ordinary'); + } + + $this.siblings('.active').removeClass('active'); + $this.addClass('active'); + + //切换普通商品和预售商品购物车显示 + $cartContent.toggleClass('hide'); + + if (switchChose === false) { + mlellipsisHiddenNames(); + } + + //trigger lazyload + $(window).trigger('scroll'); + }); + + if (!hasShowCartPresellTip) { + setTimeout(function() { + $('#presell-tip').removeClass('show').addClass('hide'); + window.setCookie('_hasShowCartPresellTip', 'y'); + }, 3000); + } +} + +if ($('.advance-buy').length > 0) { + advanceBuyHammer = new Hammer(document.getElementsByClassName('advance-buy')[0]); + advanceBuyHammer.on('tap', function(e) { + window.location.href = '/cart/index/advanceBuy?cartType=' + cartType; + }); +} + +if ($('.freebie').length > 0) { + freebieHammer = new Hammer(document.getElementsByClassName('freebie')[0]); + freebieHammer.on('tap', function(e) { + window.location.href = '/cart/index/gift?cartType=' + cartType; + }); +} + +$('.btn-balance').on('touchend', function() { + var info = window.cookie('order-info'); + + lowStockCount = 0; + + if (shouldLowStocks()) { + tip.show('所选商品中有' + lowStockCount + '种库存不足的商品'); + return false; + } + + if (shouldSelectGift()) { + showChooseGifDialog(); + return false; + } + + if (hasChecked()) { + if (info) { + window.setCookie('order-info', ''); + } + window.location.href = '/cart/index/orderEnsure?cartType=' + cartType; + } else { + tip.show('请先勾选商品'); + } +}); + +$('.off-shell-goods').on('touchstart touchend', function(e) { + var $this = $(e.target).closest('span'); + + if ($this.hasClass('icon-del')) { + return; + } + + tip.show('商品已下架'); + return false; +}); + +$('.chose').on('touchend', function() { + chosePanel.show(); +}); + +$cartNav.on('touchstart', 'li', function(e) { + $(this).addClass('bytouch'); +}).on('touchend touchcancel', function() { + $cartNav.find('li').removeClass('bytouch'); +}); + +//提前触发lazyload +$(window).scrollTop(1).scrollTop(0); +}); +define("js/cart/good", ["jquery","mlellipsis","lazyload","handlebars","source-map","hammer"], function(require, exports, module){ +/** + * 购物车商品 + * @author: xuqi<qi.xu@yoho.cn> + * @date: 2015/10/20 + */ + +var $ = require("jquery"), + ellipsis = require("mlellipsis"), + chosePanel = require("js/cart/chose-panel"), + loading = require("js/plugin/loading"), + lazyLoad = require("lazyload"); + +var dialog = require("js/me/dialog"), + tip = require("js/plugin/tip"); + +var $selectAllBtn = $('.balance .checkbox'), + requesting = false; + +//上次编辑的商品skn +var previousEditSkn; + +ellipsis.init(); + +lazyLoad({ + try_again_css: 'order-failure' +}); + +setTimeout(function() { + $('.shopping-cart-good .name').each(function() { + this.mlellipsis(2); + }); +}, 0); + +function GoodInfo(properties) { + this.goods_type = properties.goods_type; + this.buy_number = properties.buy_number; + this.product_sku = properties.product_sku; + this.selected = properties.selected; +} + +//TIP:事件委托在.cart-goods,商品列表的容器统一需要有.cart-goods +$('.cart-goods').on('touchstart', '.checkbox', function() { + var $this = $(this), + $good = $this.closest('.shopping-cart-good'), + id = $good.data('id'); + + var goodsList = [], + goodInfo = {}; + + if (!$this.hasClass('icon-cb-checked') && $this.siblings('.info').find('.low-stocks').length > 0) { + tip.show('库存不足,无法购买'); + return false; + } + + goodInfo.goods_type = $('#cartType').val(); + goodInfo.selected = $this.hasClass('icon-cb-checked') ? 'N' : 'Y'; + goodInfo.product_sku = id; + goodInfo.buy_number = $good.find('.count').eq(0).text().trim().replace('×', ''); + goodsList.push(new GoodInfo(goodInfo)); + + $.ajax({ + type: 'post', + url: 'select', + data: { + skuList: JSON.stringify(goodsList) + } + }).then(function(data) { + if (data.code === 200) { + if ($this.hasClass('icon-cb-checked')) { + $this.removeClass('icon-cb-checked').addClass('icon-checkbox'); + } else { + $this.removeClass('icon-checkbox').addClass('icon-cb-checked'); + } + window.location.href = '/cart/index/index?cartType=' + $('#cartType').val(); + } else if (data.code === 400) { + tip.show('网络异常'); + } + }, function() { + tip.show('网络异常'); + }); +}); + +/* + * 显示购物车编辑面板。 + * + * @param {String} html. chose-pannel模板,由服务端返回 + * + * @param {String} id. 商品skuid + * + * @param {Bool} isSelected. 所要编辑的商品是否被选中 + * + * @param {Bool} isEditNum. 所要编辑的商品是否被选中 + * + * @return false or undefined + * + */ +function showEditPannelWithSku(html, id, isSelected, isEditNum) { + if (html.length < 2) { + tip.show('出错啦!'); + return false; + } + + //删掉页面上原有的pannel + chosePanel.remove(); + + $(html).appendTo('#mainCart'); + + + chosePanel.init(); + chosePanel.setEditModeWithSknId(id, isSelected); + + if (!isEditNum) { + chosePanel.disableNumEdit(); + } + + chosePanel.show(); +} + + +$('.icon-edit').on('touchstart', function(e) { + var $this = $(this), + skn = $this.closest('.shopping-cart-good').data('skn'); + + var $checkBox, + $tag; + + var id, + count, + canEditNum; + + if ($this.parents('.off-shell-goods').length) { + tip.show('商品已下架'); + return false; + } + + //如果点击的是上次编辑的商品,直接显示chose-pannel + if (skn === previousEditSkn) { + chosePanel.show(); + return; + } + + previousEditSkn = skn; + + + $checkBox = $this.closest('.info').siblings('.checkbox'); + $tag = $this.closest('.deps').siblings('.few-tag'); + + id = $this.closest('.shopping-cart-good').data('id'); + count = $this.data('count'); + + //加价购或者赠品不能编辑数量 + canEditNum = $tag.hasClass('gift-tag') || $tag.hasClass('plus-tag') ? false : true; + + e.stopPropagation(); + + loading.showLoadingMask(); + + + $.ajax({ + url: '/cart/index/goodinfo', + data: { + skn: skn, + buy_num: count + }, + success: function(res) { + showEditPannelWithSku(res, id, $checkBox.hasClass('icon-cb-checked'), canEditNum); + }, + error: function() { + tip.show('网络异常'); + window.location.reload(); + }, + complete: function() { + loading.hideLoadingMask(); + } + }); +}); + +$('.icon-del').on('touchstart', function(e) { + var $this = $(this); + + e.stopPropagation(); + + dialog.showDialog({ + dialogText: '您确定要从购物车中删除吗?', + hasFooter: { + leftBtnText: '取消', + rightBtnText: '确定' + } + }, function() { + var $shoppingCartGood = $this.closest('.shopping-cart-good'), + count = $this.data('count'); + + $.ajax({ + method: 'post', + url: '/cart/index/del', + data: { + sku: $shoppingCartGood.data('id'), + count: count, + promotionId: $shoppingCartGood.data('promotion') + } + }).then(function(data) { + if (data.code === 200) { + dialog.showDialog({ + dialogText: '删除成功', + autoHide: true, + fast: true + }); + window.setCookie('_yoho-cart-refreshByDelete', true); + window.location.href = '/cart/index/index?cartType=' + $('#cartType').val(); + } else { + tip.show(data.message); + } + }, function() { + tip.show('网络异常'); + window.location.reload(); + }); + }); +}); + +function requestUpdateAllGoodsCheckStatus(theGoods, successHandeler) { + if (requesting) { + return; + } + requesting = true; + $.ajax({ + url: 'select', + type: 'post', + data: { + skuList: JSON.stringify(theGoods) + }, + success: function(res) { + if (res.code === 200) { + successHandeler(); + } else { + tip.show(res.message); + } + }, + error: function() { + tip.show('网络异常'); + }, + complete: function() { + requesting = false; + } + }); +} + +function didUpdateAllGoodsCheckStatus() { + var $checkedBoxs = $('.shopping-cart-good .icon-cb-checked'), + $uncheckedBoxs = $('.shopping-cart-good .icon-checkbox'); + + var shouldSelectAll; + + if ($selectAllBtn.hasClass('icon-cb-checked')) { + $selectAllBtn.removeClass('icon-cb-checked').addClass('icon-checkbox'); + shouldSelectAll = true; + } else { + $selectAllBtn.removeClass('icon-checkbox').addClass('icon-cb-checked'); + shouldSelectAll = false; + } + + if (!shouldSelectAll) { + $uncheckedBoxs.each(function(idx, uncheckedBox) { + $(uncheckedBox).removeClass('icon-checkbox').addClass('icon-cb-checked'); + }); + } else { + $checkedBoxs.each(function(idx, checkedBox) { + $(checkedBox).removeClass('icon-cb-checked').addClass('icon-checkbox'); + }); + } + window.location.href = '/cart/index/index?cartType=' + $('#cartType').val(); +} + +function bottomCheckBoxHandeler(isSelected, type, handlerAfterTouch) { + var goodInfo = {}, + $goods = $('.cart-content:not(.hide) .shopping-cart-good'), + $good = null, + goodsList = []; + + goodInfo.goods_type = type; + goodInfo.selected = isSelected ? 'N' : 'Y'; + + $goods.each(function(idx, good) { + $good = $(good); + + goodInfo.product_sku = $(good).data('id'); + goodInfo.hasPromotion = $(good).data('promotion'); + goodInfo.buy_number = $good.find('.count').eq(0).text().trim().replace('×', ''); + + goodsList.push(new GoodInfo(goodInfo)); + }); + + requestUpdateAllGoodsCheckStatus(goodsList, handlerAfterTouch); +} + +//全选按钮点击事件 +$selectAllBtn.on('touchend', function() { + var cartType = $('#cartType').val(), + isSelect = $(this).hasClass('icon-cb-checked'); + + if ('ordinary' === cartType) { + if (!isSelect && $('.common .low-stocks').length > 0) { + tip.show('所选商品中含有库存不足的商品'); + return false; + } + } else if ('advance' === cartType) { + if (!isSelect && $('.presell .low-stocks').length > 0) { + tip.show('所选商品中含有库存不足的商品'); + return false; + } + } + + bottomCheckBoxHandeler(isSelect, cartType, didUpdateAllGoodsCheckStatus); +}); + +$('.down').on('touchend', function() { + chosePanel.show(); +}); }); define("js/cart/gift-advance", ["jquery","mlellipsis","lazyload","hammer"], function(require, exports, module){ -/** - * 赠品/加价购 - * @author: xuqi<qi.xu@yoho.cn> - * @date: 2015/10/23 - */ - -var $ = require("jquery"), - ellipsis = require("mlellipsis"), - lazyLoad = require("lazyload"), - Hammer = require("hammer"), - tip = require("js/plugin/tip"), - loading = require("js/plugin/loading"), - chosePanel = require("js/cart/chose-panel"); - -var $page = $('.gift-advance-page'), - queryString = $.queryString(); - -require("js/common"); - -lazyLoad($('.lazy')); -ellipsis.init(); - -function getProductInfo(skn, promotionId) { - loading.showLoadingMask(); - $.get('/cart/index/giftinfo', { - skn: skn, - promotionId: promotionId - }).then(function(html) { - if (!html) { - tip.show('网络错误'); - return; - } - chosePanel.show(html, function() { - window.location.href = '/cart/index/index?cartType=' + queryString.cartType; - }); - }, function() { - tip.show('网络错误'); - }).always(function() { - loading.hideLoadingMask(); - }); -} - -$page.find('.chose').each(function(i, elem) { - var choseHammer = new Hammer(elem); - - choseHammer.on('tap', function(e) { - var $this = $(e.target), - id = $this.closest('.gift-advance-good').data('id'), - promotionId = $this.closest('.advance-block').data('promotion-id'); - - getProductInfo(id, promotionId); - }); -}); - -setTimeout(function() { - $('.gift-advance-good .name').each(function() { - this.mlellipsis(2); - }); -}, 0); +/** + * 赠品/加价购 + * @author: xuqi<qi.xu@yoho.cn> + * @date: 2015/10/23 + */ + +var $ = require("jquery"), + ellipsis = require("mlellipsis"), + lazyLoad = require("lazyload"), + Hammer = require("hammer"), + tip = require("js/plugin/tip"), + loading = require("js/plugin/loading"), + chosePanel = require("js/cart/chose-panel"); + +var $page = $('.gift-advance-page'), + queryString = $.queryString(); + +require("js/common"); + +lazyLoad($('.lazy')); +ellipsis.init(); + +function getProductInfo(skn, promotionId) { + loading.showLoadingMask(); + $.get('/cart/index/giftinfo', { + skn: skn, + promotionId: promotionId + }).then(function(html) { + if (!html) { + tip.show('网络错误'); + return; + } + chosePanel.show(html, function() { + window.location.href = '/cart/index/index?cartType=' + queryString.cartType; + }); + }, function() { + tip.show('网络错误'); + }).always(function() { + loading.hideLoadingMask(); + }); +} + +$page.find('.chose').each(function(i, elem) { + var choseHammer = new Hammer(elem); + + choseHammer.on('tap', function(e) { + var $this = $(e.target), + id = $this.closest('.gift-advance-good').data('id'), + promotionId = $this.closest('.advance-block').data('promotion-id'); + + getProductInfo(id, promotionId); + }); +}); + +setTimeout(function() { + $('.gift-advance-good .name').each(function() { + this.mlellipsis(2); + }); +}, 0); }); define("js/cart/order-ensure", ["jquery","lazyload","hammer"], function(require, exports, module){ -/** - * 订单确认 - * @author: xuqi<qi.xu@yoho.cn> - * @date: 2015/11/12 - */ - -var $ = require("jquery"), - lazyLoad = require("lazyload"), - tip = require("js/plugin/tip"), - loading = require("js/plugin/loading"), - order = require("js/cart/order-info"); - -var $invoice = $('.invoice'), - $couponUse = $('.coupon-use.used'), - $addressWrap = $('.address-wrap'), - $coinCheck = $('.coin-check'), - $coinUsed = $('.coin .used'), - $subBlock = $('.sub-block'), - payType, - queryString = $.queryString(), - orderInfo = order.orderInfo, - isSubmiting, - dispatchInfo, - total; - -require("js/common"); - -lazyLoad(); - -function getQueryParam() { - var queryArray = location.search.substr(1).split('&'), - i, - subArr = [], - obj = {}; - - for (i = 0; i < queryArray.length; i++) { - subArr = queryArray[i].split('='); - obj[subArr[0]] = subArr[1]; - subArr = []; - } - - return obj; -} - -function isLimitGood() { - return getQueryParam().limitproductcode; -} - - -if (window.getUid() !== orderInfo('uid')) { - order.init(); - window.location.reload(); -} - -if ($couponUse.data('name') !== orderInfo('couponName')) { - orderInfo('couponCode', null); - orderInfo('couponName', null); -} - -// 来自购物车的链接默认不使用优惠券 -if (document.referrer && document.referrer.indexOf('/cart/index/index') !== -1) { - orderInfo('couponCode', null); - orderInfo('couponName', null); -} - -isLimitGood() && (function() { - var a = []; - - var data = getQueryParam(); - - data.type = 'limitcode'; - - a.push(data); - orderInfo('skuList', JSON.stringify(a)); - orderInfo('limitUrlSufix', location.search); -})(); - -if (queryString.cartType || queryString.carttype || !orderInfo('cartType')) { - orderInfo('cartType', queryString.cartType || queryString.carttype || 'ordinary'); -} - -// function dispacthTapEvt(e) { -// var $cur = $(e.target).closest('li'); - -// if ($cur.length === 0 || $cur.hasClass('chosed')) { -// return; -// } - -// $cur.siblings('li.chosed').removeClass('chosed'); -// $cur.addClass('chosed'); -// } - -$('.checkbox').on('touchstart', function() { - var $this = $(this); - - if ($this.hasClass('icon-cb-radio')) { - $this.removeClass('icon-cb-radio').addClass('icon-radio'); - return; - } - if ($this.hasClass('icon-radio')) { - $this.removeClass('icon-radio').addClass('icon-cb-radio'); - } -}); - -$invoice.on('touchend', '.checkbox', function() { - var $this = $(this); - - if ($this.hasClass('icon-cb-radio')) { - $invoice.addClass('focus'); - } - if ($this.hasClass('icon-radio')) { - $invoice.removeClass('focus'); - } -}); - - -function updateDeliverId(id) { - var $moreJit = $('.more-jit a').get(0), - url = $moreJit.href; - - if (url.indexOf('deliveryId') < 0) { - $moreJit.href = url + '&deliveryId=' + id; - } else { - $moreJit.href = url.replace(/deliveryId=(\d)/, 'deliveryId=' + id); - } -} - -function orderCompute() { - var yohoCoin = orderInfo('yohoCoin'), - deliverId = orderInfo('deliveryId'); - - loading.showLoadingMask(); - $.ajax({ - method: 'POST', - url: '/cart/index/orderCompute', - data: { - cartType: orderInfo('cartType') || 'ordinary', - deliveryId: orderInfo('deliveryId'), - paymentTypeId: orderInfo('paymentTypeId'), - couponCode: orderInfo('couponCode'), - yohoCoin: yohoCoin, - skuList: isLimitGood() ? orderInfo('skuList') : undefined - } - }).then(function(res) { - if ($.type(res) !== 'object') { - window.location.reload(); - } else { - if (typeof res.last_order_amount !== undefined) { - res.last_order_amount = (+res.last_order_amount).toFixed(2); - } - if (res.use_yoho_coin) { - $coinCheck.find('em').html('- ¥ ' + res.use_yoho_coin); - $coinUsed.html('已抵¥' + res.use_yoho_coin); - $coinCheck.find('em').show(); - $coinUsed.show(); - } - total = ''; - if (res.promotion_formula_list) { - $.each(res.promotion_formula_list, function(index, value) { - total += '<li>' + - '<p>' + value.promotion + '</p>' + - '<span>' + value.promotion_amount + '</span>' + - '</li>'; - }); - $('.price-cost span').html('¥' + res.last_order_amount); - $('.bill span').html('¥' + res.last_order_amount); - $('.total').html(total); - } - - updateDeliverId(deliverId); - } - }).fail(function() { - window.location.reload(); - }).always(function() { - loading.hideLoadingMask(); - }); -} - -function submitOrder() { - var invoiceText = $invoice.find('[name="invoice-title"]').val() || orderInfo('invoiceText'), - msg = $('#msg').find('input').val() || orderInfo('msg'); - - if (isSubmiting) { - return false; - } - if (orderInfo('invoice')) { - if (!invoiceText) { - tip.show('请输入发票抬头'); - return; - } - if (invoiceText.length > 30) { - tip.show('发票抬头不得超过30个汉字'); - return; - } - } - if (msg) { - if (msg.length > 40) { - tip.show('留言不得超过40个汉字'); - return; - } - } - loading.showLoadingMask(); - isSubmiting = true; - $.ajax({ - method: 'POST', - url: '/cart/index/orderSub', - data: { - addressId: orderInfo('addressId'), - cartType: orderInfo('cartType') || 'ordinary', - deliveryId: orderInfo('deliveryId'), - deliveryTimeId: orderInfo('deliveryTimeId'), - invoiceText: orderInfo('invoice') ? invoiceText : null, - invoiceType: orderInfo('invoice') ? ($invoice.find('.invoice-type').val() || - orderInfo('invoiceType')) : null, - msg: msg, - paymentTypeId: orderInfo('paymentTypeId'), - paymentType: orderInfo('paymentType'), //支付方式 - couponCode: orderInfo('couponCode'), - yohoCoin: orderInfo('yohoCoin'), - skuList: isLimitGood() ? orderInfo('skuList') : undefined - - } - }).then(function(res) { - var url; - - if (!res) { - tip.show('系统繁忙,请稍后再试!'); - return; - } - if (res.code === 200) { - if (payType === 2) { - - // 货到付款的进入订单页面 - url = '/home/orderDetail?order_code=' + res.data.order_code; - } else { - url = '/home/orders/pay?order_code=' + res.data.order_code; - } - window.setCookie('order-info', ''); - window.location.href = url; - } else if (res.message) { - tip.show(res.message); - } - }).fail(function() { - tip.show('系统繁忙,请稍后再试!'); - }).always(function() { - isSubmiting = false; - loading.hideLoadingMask(); - }); -} - -// 界面点击,状态存 cookie -if (!orderInfo('addressId')) { - orderInfo('addressId', $addressWrap.data('id')); -} - -$('.delivery-id').on('touchend', 'li', function() { - orderInfo('deliveryId', $(this).data('id')); - orderCompute(); -}); - -$('.payment-type').on('touchend', 'li', function() { - orderInfo('paymentType', $('.icon-cb-radio', this).data('id')); -}); - -$('.dispatch-time').on('touchend', 'li', function() { - orderInfo('deliveryTimeId', $(this).data('id')); -}); - -$('.coin').on('touchend', function() { - var $this = $(this); - - if ($this.find('.checkbox').hasClass('icon-cb-radio')) { - orderInfo('yohoCoin', $this.data('yoho-coin')); - $this.find('.can-use').hide(); - } else { - orderInfo('yohoCoin', 0); - $this.find('.coin-check em').hide(); - $this.find('.can-use').show(); - $this.find('.used').hide(); - } - orderCompute(); -}); - -$invoice.on('touchend', '.checkbox', function(e) { - var $this = $(this); - - orderInfo('invoice', $this.hasClass('icon-cb-radio')); - e.preventDefault(); - e.stopPropagation(); -}); - -$invoice.find('[name="invoice-title"]').on('blur', function() { - orderInfo('invoiceText', $(this).val()); -}).end().find('.invoice-type').on('change', function() { - orderInfo('invoiceType', $(this).val()); -}); - -$('#msg').find('textarea').on('blur', function() { - orderInfo('msg', $(this).val()); -}); - -$('.pay-mode').on('click', 'li', function() { - var $this = $(this); - - orderInfo('paymentTypeId', $this.data('pay-id')); - orderInfo('paymentType', $this.data('pay-type')); - payType = $this.data('pay-type'); -}); - -$('form').on('submit', function() { - return false; -}); - -// xwg 2016/3/21 13:22 -$('.dispatch').on('touchend', 'h3', function() { - if ($(this).siblings('ul').is(':hidden')) { - $('.dispatch h3').removeClass('border-none'); - $(this).addClass('border-none'); - $('.down').removeClass('hide'); - $('.up').addClass('hide'); - $('.up', this).removeClass('hide'); - $('.down', this).addClass('hide'); - $('.dispatch ul').hide(); - $(this).siblings('ul').show(); - } else { - $(this).removeClass('border-none'); - $('.down', this).removeClass('hide'); - $('.up', this).addClass('hide'); - $(this).siblings('ul').hide(); - } -}); - -$subBlock.on('touchstart', 'li', function() { - $.each($(this).parents('ul').find('i'), function() { - $(this).parents('ul').find('i').removeClass('icon-cb-radio').addClass('icon-radio'); - }); - $(this).parents('ul').hide(); - $('.down').removeClass('hide'); - $('.up').addClass('hide'); - $('.dispatch h3').removeClass('border-none'); - dispatchInfo = $(this).find('span').html(); - $(this).parents('.sub-block').find('h3 span').html(dispatchInfo); - if ($(this).find('i').hasClass('icon-cb-radio')) { - $(this).find('i').addClass('icon-radio'); - } else if ($(this).find('i').hasClass('icon-radio')) { - $(this).find('i').addClass('icon-cb-radio'); - } -}); - - -$('.bill a').on('touchstart', function() { - orderInfo('paymentTypeId', $('.delivery-id .icon-cb-radio').data('id')); - orderInfo('paymentType', $('.payment-type .icon-cb-radio').data('id')); - - payType = $('.payment-type .icon-cb-radio').data('id'); - submitOrder(); -}); - -function phoneHidden(phone) { - phone = phone || ''; - return phone.replace(/(\d{3})\d{4}(\d{4})/, '$1****$2'); -} - -$('.info-phone').html(phoneHidden($('.info-phone').html())); - -if (orderInfo('address') && orderInfo('address').is_support === 'N') { - orderInfo('deliveryId', $('.delivery-id .icon-cb-radio').data('id')); - orderCompute(); -} +/** + * 订单确认 + * @author: xuqi<qi.xu@yoho.cn> + * @date: 2015/11/12 + */ + +var $ = require("jquery"), + lazyLoad = require("lazyload"), + tip = require("js/plugin/tip"), + loading = require("js/plugin/loading"), + order = require("js/cart/order-info"); + +var $invoice = $('.invoice'), + $couponUse = $('.coupon-use.used'), + $addressWrap = $('.address-wrap'), + $coinCheck = $('.coin-check'), + $coinUsed = $('.coin .used'), + $subBlock = $('.sub-block'), + payType, + queryString = $.queryString(), + orderInfo = order.orderInfo, + isSubmiting, + dispatchInfo, + total; + +require("js/common"); + +lazyLoad(); + +function getQueryParam() { + var queryArray = location.search.substr(1).split('&'), + i, + subArr = [], + obj = {}; + + for (i = 0; i < queryArray.length; i++) { + subArr = queryArray[i].split('='); + obj[subArr[0]] = subArr[1]; + subArr = []; + } + + return obj; +} + +function isLimitGood() { + return getQueryParam().limitproductcode; +} + + +if (window.getUid() !== orderInfo('uid')) { + order.init(); + window.location.reload(); +} + +if ($couponUse.data('name') !== orderInfo('couponName')) { + orderInfo('couponCode', null); + orderInfo('couponName', null); +} + +// 来自购物车的链接默认不使用优惠券 +if (document.referrer && document.referrer.indexOf('/cart/index/index') !== -1) { + orderInfo('couponCode', null); + orderInfo('couponName', null); +} + +isLimitGood() && (function() { + var a = []; + + var data = getQueryParam(); + + data.type = 'limitcode'; + + a.push(data); + orderInfo('skuList', JSON.stringify(a)); + orderInfo('limitUrlSufix', location.search); +})(); + +if (queryString.cartType || queryString.carttype || !orderInfo('cartType')) { + orderInfo('cartType', queryString.cartType || queryString.carttype || 'ordinary'); +} + +// function dispacthTapEvt(e) { +// var $cur = $(e.target).closest('li'); + +// if ($cur.length === 0 || $cur.hasClass('chosed')) { +// return; +// } + +// $cur.siblings('li.chosed').removeClass('chosed'); +// $cur.addClass('chosed'); +// } + +$('.checkbox').on('touchstart', function() { + var $this = $(this); + + if ($this.hasClass('icon-cb-radio')) { + $this.removeClass('icon-cb-radio').addClass('icon-radio'); + return; + } + if ($this.hasClass('icon-radio')) { + $this.removeClass('icon-radio').addClass('icon-cb-radio'); + } +}); + +$invoice.on('touchend', '.checkbox', function() { + var $this = $(this); + + if ($this.hasClass('icon-cb-radio')) { + $invoice.addClass('focus'); + } + if ($this.hasClass('icon-radio')) { + $invoice.removeClass('focus'); + } +}); + + +function updateDeliverId(id) { + var $moreJit = $('.more-jit a').get(0), + url = $moreJit.href; + + if (url.indexOf('deliveryId') < 0) { + $moreJit.href = url + '&deliveryId=' + id; + } else { + $moreJit.href = url.replace(/deliveryId=(\d)/, 'deliveryId=' + id); + } +} + +function orderCompute() { + var yohoCoin = orderInfo('yohoCoin'), + deliverId = orderInfo('deliveryId'); + + loading.showLoadingMask(); + $.ajax({ + method: 'POST', + url: '/cart/index/orderCompute', + data: { + cartType: orderInfo('cartType') || 'ordinary', + deliveryId: orderInfo('deliveryId'), + paymentTypeId: orderInfo('paymentTypeId'), + couponCode: orderInfo('couponCode'), + yohoCoin: yohoCoin, + skuList: isLimitGood() ? orderInfo('skuList') : undefined + } + }).then(function(res) { + if ($.type(res) !== 'object') { + window.location.reload(); + } else { + if (typeof res.last_order_amount !== undefined) { + res.last_order_amount = (+res.last_order_amount).toFixed(2); + } + if (res.use_yoho_coin) { + $coinCheck.find('em').html('- ¥ ' + res.use_yoho_coin); + $coinUsed.html('已抵¥' + res.use_yoho_coin); + $coinCheck.find('em').show(); + $coinUsed.show(); + } + total = ''; + if (res.promotion_formula_list) { + $.each(res.promotion_formula_list, function(index, value) { + total += '<li>' + + '<p>' + value.promotion + '</p>' + + '<span>' + value.promotion_amount + '</span>' + + '</li>'; + }); + $('.price-cost span').html('¥' + res.last_order_amount); + $('.bill span').html('¥' + res.last_order_amount); + $('.total').html(total); + } + + updateDeliverId(deliverId); + } + }).fail(function() { + window.location.reload(); + }).always(function() { + loading.hideLoadingMask(); + }); +} + +function submitOrder() { + var invoiceText = $invoice.find('[name="invoice-title"]').val() || orderInfo('invoiceText'), + msg = $('#msg').find('input').val() || orderInfo('msg'); + + if (isSubmiting) { + return false; + } + if (orderInfo('invoice')) { + if (!invoiceText) { + tip.show('请输入发票抬头'); + return; + } + if (invoiceText.length > 30) { + tip.show('发票抬头不得超过30个汉字'); + return; + } + } + if (msg) { + if (msg.length > 40) { + tip.show('留言不得超过40个汉字'); + return; + } + } + loading.showLoadingMask(); + isSubmiting = true; + $.ajax({ + method: 'POST', + url: '/cart/index/orderSub', + data: { + addressId: orderInfo('addressId'), + cartType: orderInfo('cartType') || 'ordinary', + deliveryId: orderInfo('deliveryId'), + deliveryTimeId: orderInfo('deliveryTimeId'), + invoiceText: orderInfo('invoice') ? invoiceText : null, + invoiceType: orderInfo('invoice') ? ($invoice.find('.invoice-type').val() || + orderInfo('invoiceType')) : null, + msg: msg, + paymentTypeId: orderInfo('paymentTypeId'), + paymentType: orderInfo('paymentType'), //支付方式 + couponCode: orderInfo('couponCode'), + yohoCoin: orderInfo('yohoCoin'), + skuList: isLimitGood() ? orderInfo('skuList') : undefined + + } + }).then(function(res) { + var url; + + if (!res) { + tip.show('系统繁忙,请稍后再试!'); + return; + } + if (res.code === 200) { + if (payType === 2) { + + // 货到付款的进入订单页面 + url = '/home/orderDetail?order_code=' + res.data.order_code; + } else { + url = '/home/orders/pay?order_code=' + res.data.order_code; + } + window.setCookie('order-info', ''); + window.location.href = url; + } else if (res.message) { + tip.show(res.message); + } + }).fail(function() { + tip.show('系统繁忙,请稍后再试!'); + }).always(function() { + isSubmiting = false; + loading.hideLoadingMask(); + }); +} + +// 界面点击,状态存 cookie +if (!orderInfo('addressId')) { + orderInfo('addressId', $addressWrap.data('id')); +} + +$('.delivery-id').on('touchend', 'li', function() { + orderInfo('deliveryId', $(this).data('id')); + orderCompute(); +}); + +$('.payment-type').on('touchend', 'li', function() { + orderInfo('paymentType', $('.icon-cb-radio', this).data('id')); +}); + +$('.dispatch-time').on('touchend', 'li', function() { + orderInfo('deliveryTimeId', $(this).data('id')); +}); + +$('.coin').on('touchend', function() { + var $this = $(this); + + if ($this.find('.checkbox').hasClass('icon-cb-radio')) { + orderInfo('yohoCoin', $this.data('yoho-coin')); + $this.find('.can-use').hide(); + } else { + orderInfo('yohoCoin', 0); + $this.find('.coin-check em').hide(); + $this.find('.can-use').show(); + $this.find('.used').hide(); + } + orderCompute(); +}); + +$invoice.on('touchend', '.checkbox', function(e) { + var $this = $(this); + + orderInfo('invoice', $this.hasClass('icon-cb-radio')); + e.preventDefault(); + e.stopPropagation(); +}); + +$invoice.find('[name="invoice-title"]').on('blur', function() { + orderInfo('invoiceText', $(this).val()); +}).end().find('.invoice-type').on('change', function() { + orderInfo('invoiceType', $(this).val()); +}); + +$('#msg').find('textarea').on('blur', function() { + orderInfo('msg', $(this).val()); +}); + +$('.pay-mode').on('click', 'li', function() { + var $this = $(this); + + orderInfo('paymentTypeId', $this.data('pay-id')); + orderInfo('paymentType', $this.data('pay-type')); + payType = $this.data('pay-type'); +}); + +$('form').on('submit', function() { + return false; +}); + +// xwg 2016/3/21 13:22 +$('.dispatch').on('touchend', 'h3', function() { + if ($(this).siblings('ul').is(':hidden')) { + $('.dispatch h3').removeClass('border-none'); + $(this).addClass('border-none'); + $('.down').removeClass('hide'); + $('.up').addClass('hide'); + $('.up', this).removeClass('hide'); + $('.down', this).addClass('hide'); + $('.dispatch ul').hide(); + $(this).siblings('ul').show(); + } else { + $(this).removeClass('border-none'); + $('.down', this).removeClass('hide'); + $('.up', this).addClass('hide'); + $(this).siblings('ul').hide(); + } +}); + +$subBlock.on('touchstart', 'li', function() { + $.each($(this).parents('ul').find('i'), function() { + $(this).parents('ul').find('i').removeClass('icon-cb-radio').addClass('icon-radio'); + }); + $(this).parents('ul').hide(); + $('.down').removeClass('hide'); + $('.up').addClass('hide'); + $('.dispatch h3').removeClass('border-none'); + dispatchInfo = $(this).find('span').html(); + $(this).parents('.sub-block').find('h3 span').html(dispatchInfo); + if ($(this).find('i').hasClass('icon-cb-radio')) { + $(this).find('i').addClass('icon-radio'); + } else if ($(this).find('i').hasClass('icon-radio')) { + $(this).find('i').addClass('icon-cb-radio'); + } +}); + + +$('.bill a').on('touchstart', function() { + orderInfo('paymentTypeId', $('.delivery-id .icon-cb-radio').data('id')); + orderInfo('paymentType', $('.payment-type .icon-cb-radio').data('id')); + + payType = $('.payment-type .icon-cb-radio').data('id'); + submitOrder(); +}); + +function phoneHidden(phone) { + phone = phone || ''; + return phone.replace(/(\d{3})\d{4}(\d{4})/, '$1****$2'); +} + +$('.info-phone').html(phoneHidden($('.info-phone').html())); + +if (orderInfo('address') && orderInfo('address').is_support === 'N') { + orderInfo('deliveryId', $('.delivery-id .icon-cb-radio').data('id')); + orderCompute(); +} }); define("js/cart/order-info", ["jquery","hammer"], function(require, exports, module){ -/** - * 订单信息读取 - * @author: bikai<kai.bi@yoho.cn> - * @date: 2015/12/14 - */ -var $ = require("jquery"); -var info = window.cookie('order-info'); - -require("js/common"); - -function init() { - info = { - uid: window.getUid(), - deliveryId: $('.dispatch-mode .chosed').data('id') || 1, - deliveryTimeId: 1, - paymentTypeId: 1, - yohoCoin: 0, - addressId: null, - couponCode: null, - couponName: null, - invoice: null, - invoiceText: null, - invoiceType: null, - msg: null, - cartType: 'ordinary' - }; - window.setCookie('order-info', JSON.stringify(info)); -} - -// info 必须是 JSON 字符串 -try { - info = JSON.parse(info); - - // 2015/12/31 hf: fixes bug to 购物车页面调用该JS, 会导致有YOHO币,值却没有传给服务端. 因此需要再设置一下 - //info['yohoCoin'] = $('.coin').data('yoho-coin') || 0; -} catch (e) { - init(); -} - -exports.init = init; - -exports.orderInfo = function(key, value) { - if (value === undefined) { - return info[key]; - } - info[key] = value; - window.setCookie('order-info', JSON.stringify(info)); -}; +/** + * 订单信息读取 + * @author: bikai<kai.bi@yoho.cn> + * @date: 2015/12/14 + */ +var $ = require("jquery"); +var info = window.cookie('order-info'); + +require("js/common"); + +function init() { + info = { + uid: window.getUid(), + deliveryId: $('.dispatch-mode .chosed').data('id') || 1, + deliveryTimeId: 1, + paymentTypeId: 1, + yohoCoin: 0, + addressId: null, + couponCode: null, + couponName: null, + invoice: null, + invoiceText: null, + invoiceType: null, + msg: null, + cartType: 'ordinary' + }; + window.setCookie('order-info', JSON.stringify(info)); +} + +// info 必须是 JSON 字符串 +try { + info = JSON.parse(info); + + // 2015/12/31 hf: fixes bug to 购物车页面调用该JS, 会导致有YOHO币,值却没有传给服务端. 因此需要再设置一下 + //info['yohoCoin'] = $('.coin').data('yoho-coin') || 0; +} catch (e) { + init(); +} + +exports.init = init; + +exports.orderInfo = function(key, value) { + if (value === undefined) { + return info[key]; + } + info[key] = value; + window.setCookie('order-info', JSON.stringify(info)); +}; }); define("js/cart/select-coupon", ["jquery","handlebars","source-map","hammer","mlellipsis"], function(require, exports, module){ -/** - * 优惠券选择 - * @author: bikai<kai.bi@yoho.cn> - * @date: 2015/12/10 - */ - -var $ = require("jquery"), - Handlebars = require("handlebars"), - Hammer = require("hammer"), - ellipsis = require("mlellipsis"), - loading = require("js/plugin/loading"), - tip = require("js/plugin/tip"), - orderInfo = require("js/cart/order-info").orderInfo; - -var isGetData; - -var conponTmpl = Handlebars.compile($('#tmpl-coupon').html()), - conponNotAvaliableTmpl = Handlebars.compile($('#tmpl-coupon-not-avaliable').html()), - $newCoupon = $('#new-coupon'), - $couponList = $('#coupon-list'); - -var winH = $(window).height(); - -require("js/common"); - -function fixedLayOut() { - var $null = $('.null'), - navH = $('.nav-title').height(), - nullH = $null.height(); - - if ($null.length === 0) { - return false; - } - - $null.css({ - top: winH / 2 - nullH / 2 + navH - }); -} - -ellipsis.init(); - -$newCoupon.on('submit', function() { - var $this = $(this); - - if (!$this.find('[name="couponCode"]').val()) { - tip.show('请输入优惠券码'); - return false; - } - $.ajax({ - method: 'POST', - url: '/cart/index/couponSearch', - data: $this.serialize() - }).then(function(res) { - if (res.message) { - tip.show(res.message); - } - if (res.code === 200) { - tip.show('优惠券可用'); - orderInfo('couponCode', res.data.coupon_code); - orderInfo('couponName', res.data.coupon_title); - window.location.href = '/cart/index/orderEnsure'; - } - }).fail(function() { - tip.show('网络错误'); - }); - return false; -}); - -$couponList.on('touchstart', '.employ-main', function() { - var $this = $(this); - - $this.siblings().removeClass('focus'); - $this.addClass('focus'); -}).on('touchend touchcancel', '.employ-main', function() { - var $this = $(this); - - $this.siblings().removeClass('focus'); - $this.removeClass('focus'); -}); - -$('body').on('touchend', '.not-use', function() { - orderInfo('couponCode', null); - orderInfo('couponName', null); -}); - - -$newCoupon.find('input').on('input', function() { - if ($(this).val() !== '') { - $newCoupon.find('.submit').css('background', '#444'); - } else { - $newCoupon.find('.submit').css('background', '#b0b0b0'); - } -}); - -function getCouponHandle(allCoupons) { - var notAvailableCoupons, - coupons; - - // 空数组表示没有优惠券 - if ($.isArray(allCoupons)) { - $('.coupon-wrap').html($('#tmpl-no-coupon').html()); - fixedLayOut(); - return; - } - - // 把可用和不可用的优惠券分离出来 - notAvailableCoupons = allCoupons.notAvailableCoupons; - coupons = allCoupons.coupons; - - $.each(coupons, function(i, coupon) { - coupon.couponValue = Math.floor(coupon.couponValue); - }); - - $.each(notAvailableCoupons, function(i, coupon) { - coupon.couponValue = Math.floor(coupon.couponValue); - }); - - // 渲染可用的优惠券 - $couponList.append(conponTmpl({ - coupons: coupons - })).find('.employ-main').each(function(i, elem) { - var employHammer = new Hammer(elem); - - employHammer.on('tap', function(e) { - var $this = $(e.srcEvent.currentTarget); - var couponCode = $this.data('coupon-code'); - - $.ajax({ - method: 'POST', - url: '/cart/index/couponSearch', - data: { - couponCode: couponCode - } - }).then(function(res) { - if (res.code === 200) { - - //tip.show('优惠券可用'); - orderInfo('couponCode', res.data.coupon_code); - orderInfo('couponName', res.data.coupon_title); - window.location.href = '/cart/index/orderEnsure'; - } else if (res.message) { - tip.show(res.message); - } - }).fail(function() { - tip.show('网络错误'); - }); - }); - }); - - if (notAvailableCoupons.length) { - $('.not-avaliable-coupon-line').show(); - } - $('#coupon-list-not').append(conponNotAvaliableTmpl({ - notAvailableCoupons: notAvailableCoupons - })); - window.rePosFooter(); - -} - -function getCouponDate() { - - if (isGetData) { - return; - } - - loading.showLoadingMask(); - isGetData = true; - - $.ajax({ - type: 'GET', - url: '/cart/index/couponList', - dataType: 'json' - }).then(getCouponHandle).fail(function() { - - // tip.show('加载优惠券失败'); - }).always(function() { - isGetData = false; - loading.hideLoadingMask(); - }); -} - -getCouponDate(); - -// $(window).scroll(function() { -// if ($(window).scrollTop() + $(window).height() > $('body').height() * 0.9) { -// getCouponDate(); -// } -// }); +/** + * 优惠券选择 + * @author: bikai<kai.bi@yoho.cn> + * @date: 2015/12/10 + */ + +var $ = require("jquery"), + Handlebars = require("handlebars"), + Hammer = require("hammer"), + ellipsis = require("mlellipsis"), + loading = require("js/plugin/loading"), + tip = require("js/plugin/tip"), + orderInfo = require("js/cart/order-info").orderInfo; + +var isGetData; + +var conponTmpl = Handlebars.compile($('#tmpl-coupon').html()), + conponNotAvaliableTmpl = Handlebars.compile($('#tmpl-coupon-not-avaliable').html()), + $newCoupon = $('#new-coupon'), + $couponList = $('#coupon-list'); + +var winH = $(window).height(); + +require("js/common"); + +function fixedLayOut() { + var $null = $('.null'), + navH = $('.nav-title').height(), + nullH = $null.height(); + + if ($null.length === 0) { + return false; + } + + $null.css({ + top: winH / 2 - nullH / 2 + navH + }); +} + +ellipsis.init(); + +$newCoupon.on('submit', function() { + var $this = $(this); + + if (!$this.find('[name="couponCode"]').val()) { + tip.show('请输入优惠券码'); + return false; + } + $.ajax({ + method: 'POST', + url: '/cart/index/couponSearch', + data: $this.serialize() + }).then(function(res) { + if (res.message) { + tip.show(res.message); + } + if (res.code === 200) { + tip.show('优惠券可用'); + orderInfo('couponCode', res.data.coupon_code); + orderInfo('couponName', res.data.coupon_title); + window.location.href = '/cart/index/orderEnsure'; + } + }).fail(function() { + tip.show('网络错误'); + }); + return false; +}); + +$couponList.on('touchstart', '.employ-main', function() { + var $this = $(this); + + $this.siblings().removeClass('focus'); + $this.addClass('focus'); +}).on('touchend touchcancel', '.employ-main', function() { + var $this = $(this); + + $this.siblings().removeClass('focus'); + $this.removeClass('focus'); +}); + +$('body').on('touchend', '.not-use', function() { + orderInfo('couponCode', null); + orderInfo('couponName', null); +}); + + +$newCoupon.find('input').on('input', function() { + if ($(this).val() !== '') { + $newCoupon.find('.submit').css('background', '#444'); + } else { + $newCoupon.find('.submit').css('background', '#b0b0b0'); + } +}); + +function getCouponHandle(allCoupons) { + var notAvailableCoupons, + coupons; + + // 空数组表示没有优惠券 + if ($.isArray(allCoupons)) { + $('.coupon-wrap').html($('#tmpl-no-coupon').html()); + fixedLayOut(); + return; + } + + // 把可用和不可用的优惠券分离出来 + notAvailableCoupons = allCoupons.notAvailableCoupons; + coupons = allCoupons.coupons; + + $.each(coupons, function(i, coupon) { + coupon.couponValue = Math.floor(coupon.couponValue); + }); + + $.each(notAvailableCoupons, function(i, coupon) { + coupon.couponValue = Math.floor(coupon.couponValue); + }); + + // 渲染可用的优惠券 + $couponList.append(conponTmpl({ + coupons: coupons + })).find('.employ-main').each(function(i, elem) { + var employHammer = new Hammer(elem); + + employHammer.on('tap', function(e) { + var $this = $(e.srcEvent.currentTarget); + var couponCode = $this.data('coupon-code'); + + $.ajax({ + method: 'POST', + url: '/cart/index/couponSearch', + data: { + couponCode: couponCode + } + }).then(function(res) { + if (res.code === 200) { + + //tip.show('优惠券可用'); + orderInfo('couponCode', res.data.coupon_code); + orderInfo('couponName', res.data.coupon_title); + window.location.href = '/cart/index/orderEnsure'; + } else if (res.message) { + tip.show(res.message); + } + }).fail(function() { + tip.show('网络错误'); + }); + }); + }); + + if (notAvailableCoupons.length) { + $('.not-avaliable-coupon-line').show(); + } + $('#coupon-list-not').append(conponNotAvaliableTmpl({ + notAvailableCoupons: notAvailableCoupons + })); + window.rePosFooter(); + +} + +function getCouponDate() { + + if (isGetData) { + return; + } + + loading.showLoadingMask(); + isGetData = true; + + $.ajax({ + type: 'GET', + url: '/cart/index/couponList', + dataType: 'json' + }).then(getCouponHandle).fail(function() { + + // tip.show('加载优惠券失败'); + }).always(function() { + isGetData = false; + loading.hideLoadingMask(); + }); +} + +getCouponDate(); + +// $(window).scroll(function() { +// if ($(window).scrollTop() + $(window).height() > $('body').height() * 0.9) { +// getCouponDate(); +// } +// }); }); define("js/cart/select-address", ["jquery","hammer"], function(require, exports, module){ -/** - * 购物车 地址选择 - * @author: bikai<kai.bi@yoho.cn> - * @date: 2015/12/14 - */ - -var $ = require("jquery"), - orderInfo = require("js/cart/order-info").orderInfo; - -var $confim = $('.confim-mask'), - deleteId; - -require("js/common"); - -$('.address-item').on('touchend', function() { - var $this = $(this); - var addressId = $this.data('address-id'); - var address = { - address_id: $this.data('address-id'), - consignee: $this.find('.name').text(), - mobile: $this.find('.tel').text(), - address_info: $this.find('.address-info').text(), - is_support: $this.data('is-support') - }; - - orderInfo('addressId', addressId); - orderInfo('address', address); - console.log($this.data('href') + (orderInfo('limitUrlSufix') || '')); - window.location.href = $this.data('href') + (orderInfo('limitUrlSufix') || ''); -}).on('touchend', '.edit', function() { - window.location.href = $(this).data('href'); - return false; -}).on('touchstart', '.del', function() { - deleteId = $(this).data('id'); -}); - -$confim.on('touchend', '.confim', function() { - if (orderInfo('addressId') === deleteId) { - orderInfo('addressId', null); - orderInfo('address', null); - } -}); +/** + * 购物车 地址选择 + * @author: bikai<kai.bi@yoho.cn> + * @date: 2015/12/14 + */ + +var $ = require("jquery"), + orderInfo = require("js/cart/order-info").orderInfo; + +var $confim = $('.confim-mask'), + deleteId; + +require("js/common"); + +$('.address-item').on('touchend', function() { + var $this = $(this); + var addressId = $this.data('address-id'); + var address = { + address_id: $this.data('address-id'), + consignee: $this.find('.name').text(), + mobile: $this.find('.tel').text(), + address_info: $this.find('.address-info').text(), + is_support: $this.data('is-support') + }; + + orderInfo('addressId', addressId); + orderInfo('address', address); + console.log($this.data('href') + (orderInfo('limitUrlSufix') || '')); + window.location.href = $this.data('href') + (orderInfo('limitUrlSufix') || ''); +}).on('touchend', '.edit', function() { + window.location.href = $(this).data('href'); + return false; +}).on('touchstart', '.del', function() { + deleteId = $(this).data('id'); +}); + +$confim.on('touchend', '.confim', function() { + if (orderInfo('addressId') === deleteId) { + orderInfo('addressId', null); + orderInfo('address', null); + } +}); }); diff --git a/static/dist/myohobuy/1.3.25/index.css b/static/dist/myohobuy/1.3.25/index.css index 5bd079b..7cdd95e 100644 --- a/static/dist/myohobuy/1.3.25/index.css +++ b/static/dist/myohobuy/1.3.25/index.css @@ -1 +1 @@ -@charset "utf-8";.yoho-header .nav-back,.yoho-header .nav-btn,.yoho-header .nav-home,.yoho-header .nav-sub-right,a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0;font:inherit;font-size:100%;vertical-align:baseline}html{line-height:1}ol,ul{list-style:none}table{border-collapse:collapse;border-spacing:0}caption,td,th{text-align:left;font-weight:400;vertical-align:middle}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:"";content:none}a img{border:none}.yoho-header .nav-back,.yoho-header .nav-btn,.yoho-header .nav-home,.yoho-header .nav-sub-right,article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}.clearfix:after{content:'';display:table;clear:both}*{-webkit-tap-highlight-color:rgba(0,0,0,0);-moz-tap-highlight-color:transparent;tap-highlight-color:transparent}body,html{font-family:helvetica,Arial,黑体;width:100%;font-size:12px;line-height:1.4}button,input,select,textarea{font-size:100%;margin:0}img{max-width:100%;display:block;border:0;margin:0 auto}a{text-decoration:none;outline:none;color:#000}a:actived,a:hover,a:link,a:visited{color:#111}iframe[height="0"]{display:none}:focus{outline:none}.hide{display:none}.overflow-hidden{overflow:hidden}@font-face{font-family:iconfont;src:url(../assets/font/iconfont.eot?15505488658);src:url(../assets/font/iconfont.eot?&15505488658#iefix) format('embedded-opentype'),url(../assets/font/iconfont.woff?15505489210) format('woff'),url(../assets/font/iconfont.ttf?15505488658) format('truetype'),url(../assets/font/iconfont.svg?15505488658#iconfont) format('svg')}.iconfont{font-family:iconfont!important;font-size:16px;font-style:normal;text-decoration:none;-webkit-font-smoothing:antialiased;-webkit-text-stroke-width:.2px;-moz-osx-font-smoothing:grayscale}.yoho-tip{position:fixed;display:none;text-align:center;width:70%;padding:34px 0;top:50%;left:50%;margin-left:-35%;margin-top:-45px;background-color:rgba(0,0,0,.7);color:#fff;font-size:18px;border:none;z-index:4;border-radius:10px}.tap-hightlight.highlight{background:#eee!important}.load-more-info{width:100%;height:1.75rem;line-height:1.75rem;text-align:center;font-size:14px;overflow:hidden}.load-more-info .status.hide{display:none}.yoho-header .nav-back,.yoho-header .nav-btn,.yoho-header .nav-home,.yoho-header .nav-sub-right{display:block;position:absolute;top:0;width:2.25rem;height:2.25rem;font-size:20px;line-height:2.25rem;color:#fff;text-align:center;outline:none}.yoho-header{position:relative;background-color:#000;color:#fff;width:100%;overflow:hidden;height:2.25rem;line-height:2.25rem;z-index:1}.yoho-header a.highlight{background:hsla(0,0%,78%,.1)}.yoho-header .nav-back{left:.25rem}.yoho-header .nav-home{right:.25rem}.yoho-header .nav-btn{right:.25rem;font-size:14px}.yoho-header .nav-sub-right{right:2.5rem}.yoho-header .nav-title{position:absolute;margin-left:2.5rem;margin-right:2.5rem;height:100%;font-size:.9rem;color:#fff;font-weight:700;top:0;right:0;left:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-align:center}.yoho-header.boys{background-image:-webkit-linear-gradient(#323232,#414141);background-image:linear-gradient(#323232,#414141)}.yoho-header.girls{background:#ff88ae}.yoho-header.kids{background:#7ad9f9}.yoho-header.life-style{background:#4f4138}.systemUpdate{width:100%;height:2.25rem;overflow:hidden;line-height:2.25rem;display:none;background-image:-webkit-linear-gradient(#323232,#414141);background-image:linear-gradient(#323232,#414141)}.systemUpdate .systemHeader{width:85%;font-size:1.5rem}.systemUpdate .systemHeader,.systemUpdate span{height:100%;overflow:hidden;color:#fff;float:left;text-align:center}.systemUpdate span{width:14%;font-size:2rem;font-weight:700}.systemMain{width:92%;height:100%;overflow:hidden;background-color:#444;color:#fff;padding:0 4%;position:absolute;top:0;left:0}.systemMain p{font-size:1.3rem;line-height:1.5rem}.systemMain p:first-of-type{padding-top:2.25rem}.homebuttom{width:100%;height:2.25rem;overflow:hidden;border-top:1px solid hsla(0,0%,100%,.5);color:#fff;z-index:2;position:relative}.homebuttom ul{width:100%;height:90%;overflow:hidden;padding-top:.3rem}.homebuttom ul li{width:25%;height:100%;overflow:hidden;float:left;text-align:center}.homebuttom ul li i{width:100%;height:40%;display:block;color:#fff;margin-bottom:.2rem}.homebuttom ul li span{width:100%;height:auto;overflow:hidden;display:block;line-height:1rem;color:#fff}.homebuttom.boys{background-image:-webkit-linear-gradient(#323232,#414141);background-image:linear-gradient(#323232,#414141)}.homebuttom.girls{background:#ff88ae}.homebuttom.kids{background:#7ad9f9}.homebuttom.life-style{background:#4f4138}.yoho-footer{font-size:.6rem;background-color:#fff;position:relative}.yoho-footer .op-row{padding:0 .75rem;height:3rem;line-height:3rem}.yoho-footer .op-row a,.yoho-footer .op-row span{display:inline-block;overflow:hidden}.yoho-footer .op-row .user-name{text-decoration:underline;margin-left:.3em;margin-right:1em;max-width:5rem;text-overflow:ellipsis;white-space:nowrap}.yoho-footer .op-row .back-to-top{position:absolute;right:1rem}.yoho-footer .op-row .sep-line{margin:0 .3em}.yoho-footer .copyright{height:3rem;line-height:3rem;border-top:1px solid #ccc;text-align:center;color:#666;background-color:#eee}.footer-tab,.yoho-footer.bottom{position:fixed;width:100%;bottom:0}.footer-tab{left:0;height:2.5rem;padding-top:.5rem;box-sizing:border-box;background:#fff;border-top:1px solid #b0b0b0;z-index:3}.footer-tab .tab-item{float:left;width:20%;text-align:center;color:#b0b0b0}.footer-tab .tab-item.current{color:#414141}.footer-tab .tab-icon{font-size:1rem;line-height:1}.footer-tab .tab-name{margin-top:.25rem;font-size:.5rem;line-height:1}.boys-wrap .footer-tab .tab-item.current{color:#414141}.girls-wrap .footer-tab .tab-item.current{color:#ff88ae}.kids-wrap .footer-tab .tab-item.current{color:#7ad9f9}.lifestyle-wrap .footer-tab .tab-item.current{color:#4f4138}.good-info{float:left;width:6.9rem;height:12.65rem;margin:.25rem .375rem 1rem}.good-info .tag-container{height:.7rem;width:100%;overflow:hidden}.good-info .tag-container .good-tag{display:block;float:left;height:.7rem;font-size:.45rem;text-align:center;line-height:.7rem;box-sizing:border-box;margin-right:.1rem}.good-info .tag-container .good-tag:last-child{margin-right:0}.good-info .tag-container .new-tag{width:1.5rem;background-color:#78dc7e;color:#fff}.good-info .tag-container .renew-tag{width:2.25rem;background-color:#78dc7e;color:#fff}.good-info .tag-container .sale-tag{width:1.5rem;background-color:#ff575c;color:#fff}.good-info .tag-container .new-festival-tag{width:2.25rem;background-color:#000;color:#fff}.good-info .tag-container .limit-tag{width:2.5rem;border:1px solid #000;color:#000}.good-detail-img{position:relative;height:9.2rem}.good-detail-img .good-islike{position:absolute;width:1.5rem;height:1.5rem;top:0;right:0;line-height:1.5rem;font-size:.75rem;text-align:center;color:#b0b0b0;text-decoration:none}.good-detail-img .good-like{color:#d72928}.good-detail-img img{display:block;width:100%;height:9.2rem}.good-detail-img .few-tag{position:absolute;bottom:0;width:100%;height:.7rem;background:#ffac5b;font-size:.45rem;color:#fff;line-height:.7rem;text-align:center}.good-detail-text .name a{display:block;min-height:1.5rem;font-size:.55rem;color:#444;margin:.5rem 0}.good-detail-text .price{line-height:.55rem;font-size:.55rem}.good-detail-text .price .sale-price{color:#d62927}.good-detail-text .price .sale-price.no-price{color:#000}.good-detail-text .price .market-price{margin:0 0 0 .125rem;color:#b0b0b0;text-decoration:line-through}.order-failure{background-size:100%}.good-failure,.order-failure{background-image:url(../assets/img/lazy-failure/order-good.jpg)}.good-failure{background-size:3.3rem!important;background-position-x:40%}.filter-body,.filter-mask{position:absolute;left:0;right:0;top:0}.filter-mask{height:100%;background:rgba(0,0,0,.1)}.filter-body{background:#fff;color:#000;cursor:pointer;font-size:14px;height:440px}.filter-body .classify{width:50%;height:100%;background:#f8f8f8}.filter-body .classify>li{height:60px;line-height:60px}.filter-body .classify>li>*{box-sizing:border-box}.filter-body .classify>li .shower{padding-left:20px;width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#333}.filter-body .classify>li .shower.highlight{background:#eee}.filter-body .classify>li .default{color:#999}.filter-body .classify>li .title{float:left;color:#000}.filter-body .classify>li.active{background:#fff}.filter-body .sub-classify{position:absolute;display:none;width:50%;height:440px;left:50%;top:0;overflow:auto;-webkit-overflow-scrolling:touch}.filter-body .sub-classify>li{height:60px;line-height:60px;padding-left:15px;border-bottom:1px solid #e6e6e6;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.filter-body .sub-classify>li.highlight{background:#eee}.filter-body .sub-classify .chosed-icon{display:none}.filter-body .sub-classify .chosed .chosed-icon{display:inline}.filter-body .active>.sub-classify{display:block}.loading-mask{position:fixed;background:rgba(0,0,0,.1);top:0;bottom:0;right:0;left:0;@-webkit-keyframes a{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}45%{-webkit-transform:scale(.1);transform:scale(.1);opacity:.7}80%{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes a{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}45%{-webkit-transform:scale(.1);transform:scale(.1);opacity:.7}80%{-webkit-transform:scale(1);transform:scale(1);opacity:1}}}.loading-mask .loading{position:absolute;width:60px;height:20px;top:50%;left:50%;margin-top:-10px;margin-left:-30px}.loading-mask .loading>div{display:inline-block;background:#fff;width:15px;height:15px;border-radius:100%;margin:2px}.loading-mask .loading>div:nth-child(1){-webkit-animation:a .75s .12s infinite cubic-bezier(.2,.68,.18,1.08);animation:a .75s .12s infinite cubic-bezier(.2,.68,.18,1.08)}.loading-mask .loading>div:nth-child(2){-webkit-animation:a .75s (1 + 1) * .12s infinite cubic-bezier(.2,.68,.18,1.08);animation:a .75s (1 + 1) * .12s infinite cubic-bezier(.2,.68,.18,1.08)}.loading-mask .loading>div:nth-child(3){-webkit-animation:a .75s (2 + 1) * .12s infinite cubic-bezier(.2,.68,.18,1.08);animation:a .75s (2 + 1) * .12s infinite cubic-bezier(.2,.68,.18,1.08)}.index-page{width:100%;overflow:hidden;margin:0 auto}.index-page #yohood{background-color:transparent;background-image:url(../assets/img/yohood.png);background-size:40%;background-repeat:no-repeat;background-position-x:26%;background-position-y:36%;border:none;border-bottom:4px solid #fff}.index-page #yohood:active{background-image:url(../assets/img/yohood-tapped.png);background-color:hsla(0,0%,100%,.4);border-bottom-color:#000}.index-page #yohood:active .right-icon{color:#000}.index-page .index-header{box-sizing:border-box;padding:0 .5rem;width:100%;height:2.4rem;line-height:2.4rem}.index-page .index-header .index-logo{float:left;width:7.2rem;height:2.4rem;background:url(../assets/img/yohologo.png) 0 no-repeat;background-size:7rem 1.5rem;opacity:1;-webkit-transition:all .4s;transition:all .4s}.index-page .index-header .index-logo img{display:inline;vertical-align:middle;width:5.175rem;height:1.225rem}.index-page .index-header .index-logo.action{opacity:0;width:0}.index-page .index-header .box{position:relative;overflow:hidden;z-index:1}.index-page .index-header .box.action .clear-text,.index-page .index-header .box.action .no-search{display:block}.index-page .index-header .index-search{height:2.4rem;background:#fff;overflow:hidden;-webkit-transition:width .4s;transition:width .4s}.index-page .index-header .index-search .search-box{position:relative;top:.5rem;height:1.4rem;padding-right:2rem;-webkit-transition:width .4s;transition:width .4s;box-sizing:border-box;border:1px solid #ccc;overflow:hidden;-webkit-transition:margin-left .4s;transition:margin-left .4s}.index-page .index-header .index-search input{float:left;width:96%;font-size:.7rem;padding:.25rem;color:#999;overflow:hidden;border:none;-webkit-appearance:none}.index-page .index-header .index-search .iconfont{position:absolute;top:.2rem;width:1rem;font-size:.7rem;z-index:1;line-height:1rem}.index-page .index-header .index-search .clear-text{display:none;right:1.25rem;color:#ccc}.index-page .index-header .index-search .search-icon{right:.25rem;color:#666}.index-page .index-header .index-search .search-icon.empty{color:#e6e6e6}.index-page .index-header .no-search{display:none;float:left;margin-right:.25rem;color:#999;font-size:.7rem}.index-page .index-container{position:relative;-webkit-transition:-webkit-transform .5s;transition:-webkit-transform .5s;transition:transform .5s;transition:transform .5s,-webkit-transform .5s;background-color:#fff}.index-page .index-container .index_header{height:2rem;line-height:2rem;overflow:hidden;padding:0 .25rem}.index-page .index-container .index-channel{color:#fff;text-align:center;position:relative;background-color:#000;min-height:20rem}.index-page .index-container .index-channel .index-channel-list{margin-top:-7.5rem;width:100%;position:absolute;top:50%}.index-page .index-container .index-channel .index-channel-list .list-item{display:block;position:relative;margin:0 auto 1rem;width:10.8rem;height:2.6rem;text-align:center;font-size:.8rem;line-height:2.6rem;color:#fff;background-color:#000;border:4px solid #fff;font-weight:700}.index-page .index-container .index-channel .index-channel-list .list-item:last-child{margin-bottom:0}.index-page .index-container .index-channel .index-channel-list .lighter{font-weight:lighter}.index-page .index-container .index-channel .index-channel-list .right-icon{position:absolute;right:.25rem;top:0;font-weight:700}.index-page .index-container .index-channel .index-channel-list .homestyle{margin-bottom:1.25rem;width:7.1825rem}.search-page .search-input,.shop-index .search-area .search-input{position:relative;padding:.35rem .55rem;background:#f8f8f8}.search-page .search-input form,.shop-index .search-area .search-input form{width:100%}.search-page .search-input .search-icon,.shop-index .search-area .search-input .search-icon{position:absolute;font-size:.6rem;top:.65rem;left:.9rem;color:#b2b2b2}.search-page .search-input input,.shop-index .search-area .search-input input{height:1.4rem;width:9.45rem;border-radius:.7rem;padding:0 1.3rem;font-size:.6rem;background:#fff;border:none}.search-page .search-input .clear-input,.shop-index .search-area .search-input .clear-input{position:absolute;top:.5rem;right:3.625rem;font-size:.8rem;color:#666}.search-page .search-input .search,.shop-index .search-area .search-input .search{position:absolute;top:.45rem;right:1rem;border:none;background:transparent;color:#666;font-size:.75rem;line-height:1.4rem}.search-page .search-items,.shop-index .search-area .search-items{padding:1rem .5rem}.search-page .search-items h3,.shop-index .search-area .search-items h3{font-size:.6rem;margin-bottom:.5rem}.search-page .search-items li,.shop-index .search-area .search-items li{float:left;margin-right:.5rem;margin-bottom:.5rem;max-width:100%;overflow:hidden}.search-page .search-items a,.shop-index .search-area .search-items a{display:block;height:1.7rem;line-height:1.7rem;padding:0 .5rem;font-size:.7rem;background:#f8f8f8;color:#000;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-page .search-items .clear-history,.shop-index .search-area .search-items .clear-history{height:1.6rem;line-height:1.6rem;border:1px solid #e6e6e6;background:#fff;font-size:.7rem}.search-page .search-items .clear-icon,.shop-index .search-area .search-items .clear-icon{float:right;background:#fff}.search-page .search-items span,.shop-index .search-area .search-items span{margin-right:.125rem}.search-brand-page .search-input{position:relative;padding:.35rem .55rem;background:#f8f8f8}.search-brand-page .search-input form{width:100%}.search-brand-page .search-input .search-icon{position:absolute;font-size:.6rem;top:.65rem;left:.9rem;color:#b2b2b2}.search-brand-page .search-input input{height:1.4rem;width:9.45rem;border-radius:.7rem;padding:0 1.3rem;font-size:.6rem;background:#fff;border:none}.search-brand-page .search-input .clear-input{position:absolute;top:.5rem;right:3.625rem;font-size:.8rem;color:#666}.search-brand-page .search-input .search{position:absolute;top:.45rem;right:1rem;border:none;background:transparent;color:#666;font-size:.75rem;line-height:1.4rem}.search-brand-page .search-items{padding:1rem .5rem}.search-brand-page .search-items h3{font-size:.6rem;margin-bottom:.5rem;color:#b8b8b8}.search-brand-page .search-items li{float:left;margin-right:.5rem;margin-bottom:.5rem;max-width:100%;overflow:hidden}.search-brand-page .search-items a{display:block;height:1.7rem;line-height:1.7rem;padding:0 .5rem;font-size:.7rem;background:#fff;color:#b8b8b8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:1px solid #b8b8b8;border-radius:.2rem}.search-brand-page .search-items .clear-history{font-size:.7rem}.search-brand-page .search-items .clear-icon{float:right;color:#b8b8b8;border:none;background:#fff}.search-brand-page .search-items span{margin-right:.25rem;font-size:.35rem}.search-brand-page .search-items .history-search{border-bottom:1px solid #f3f3f3}.search-brand-page .search-items .hot-search{margin-top:.5rem}.search-brand-page .search-items .clearfix{margin-left:.75rem}.float-layer{height:44px;background:rgba(68,68,68,.95);position:fixed;width:100%;bottom:0;left:0;z-index:10;padding:10px 0}.float-layer .float-layer-left{padding-left:22px;overflow:hidden;float:left}.float-layer .float-layer-left img{height:44px;float:left;margin-right:10px}.float-layer .float-layer-left p{float:left;font-size:16px;height:44px;line-height:44px;color:#fff}.float-layer .float-layer-left .yoho-icon{float:left;margin-right:10px;font-size:22px;line-height:44px;width:44px;height:44px;text-align:center;color:#fff;border-radius:10px;background-image:-webkit-linear-gradient(#323232,#0f0f0f);background-image:linear-gradient(#323232,#0f0f0f)}#float-layer-close{position:absolute;left:0;top:0;width:50px;height:50px}#float-layer-close .close-icon{position:absolute;left:0;top:0;color:silver;z-index:2}#float-layer-btn{position:absolute;top:50%;right:15px;font-size:16px;padding:0 10px;height:27px;line-height:27px;background:#fff;border-radius:5px;margin-top:-13px;-webkit-tap-highlight-color:rgba(0,0,0,.5)}#float-layer-btn:actived,#float-layer-btn:hover,#float-layer-btn:link,#float-layer-btn:visited{color:#000}.circle-rightbottom{position:absolute;width:25px;height:0;border:0 solid #323232;border-bottom:25px solid #323232;border-radius:0 0 25px 0}.err-page .err-bg{position:fixed;height:5rem;width:5rem;top:50%;left:50%;margin-left:-2.5rem;margin-top:-2.5rem;background:url(../assets/img/404.png) no-repeat;background-size:100% 100%}body.passport-body{background-color:#444;font-family:MicroSoft YaHei,SimSun,sans-serif}body.passport-body *{box-sizing:border-box}.passport-page{text-align:center;padding:0 6%}.passport-page .header{position:relative;height:40px;margin:20px 0 30px}.passport-page .header .go-back{display:block;position:absolute;height:30px;width:30px;top:5px;left:0;background:url(../assets/img/passport/go-back.png) no-repeat;background-size:100% 100%}.passport-page .header .title{font-size:20px;line-height:40px;color:#fff}.passport-page .header .img-header{width:68px;height:40px;background:url(../assets/img/passport/yoho-family.png) no-repeat;background-size:100% 100%;margin:0 auto}.passport-page .input-container,.passport-page .select-container{position:relative;width:100%;height:52px;font-size:20px;background-color:#575757;border:1px solid #606060;border-radius:5px;text-align:left;color:#fff}.passport-page .select-container .select{position:absolute;height:50px;padding-right:40px;right:0;color:#fff;background-color:transparent;border:0;border-radius:5px;-webkit-appearance:none;-moz-appearance:none;appearance:none;direction:rtl}.passport-page .select-container .select:focus{outline:0;border:none}.passport-page .select-container .select:-moz-focusring{color:transparent;text-shadow:0 0 0 #fff}.passport-page .select-container .select-title{line-height:2.5;margin-left:15px}.passport-page .select-container .arrow-right{position:absolute;width:13px;height:20px;right:15px;top:16px;background:url(../assets/img/passport/arrow-right.png) no-repeat;background-size:100% 100%}.passport-page .has-clear,.passport-page .has-eye{padding-right:30px}.passport-page .area-code{position:absolute;left:15px;line-height:2.5}.passport-page .phone-container{padding-left:55px}.passport-page .input{width:100%;line-height:26px;padding:12px 0;padding-left:15px;border-radius:5px;color:#fff;background-color:transparent;border:none}.passport-page .btn{display:block;width:100%;font-size:20px;line-height:2.5;background-color:#36a74c;border-radius:5px;color:#fff}.passport-page .btn.disable{background-color:#a2a2a2}.passport-page .country-select.in-android-uc{width:90px}.passport-page .clear-input{position:absolute;display:none;top:18px;right:10px;width:16px;height:16px;background:url(../assets/img/passport/clear-input.png) no-repeat;background-size:100% 100%}.passport-page .eye{position:absolute;top:20px;right:10px;width:19px;height:12px;background:url(../assets/img/passport/eye.png) no-repeat;background-size:100% 100%}.passport-page .eye.close{background-image:url(../assets/img/passport/eye-close.png)}.passport-page .row{margin-bottom:10px}.reg-page .register-tip{color:#fff;font-size:15px}.login-page .yoho-logo{position:absolute;height:31px;width:26px;background:url(../assets/img/passport/yoho.png);background-size:100% 100%;top:10px;left:15px}.login-page .acc-container{padding-left:45px}.login-page .op-container{position:relative;width:100%;margin:20px 0;text-align:left;font-size:16px}.login-page .op-container .forget-pwd,.login-page .op-container .go-register{text-decoration:underline;color:#858585}.login-page .op-container .forget-pwd{position:absolute;right:0}.login-page .third-party-login{text-align:left}.login-page .third-party-login>span{font-size:16px;color:#858585}.login-page .third-party-login .tp-link{text-align:center;padding:20px 0}.login-page .third-party-login .tp-link>a{display:inline-block;width:44px;height:44px;margin:0 7px;border-radius:50%;background-color:#333;background-repeat:no-repeat;background-size:100% 100%}.login-page .third-party-login .tp-link .alipay{background-image:url(../assets/img/passport/alipay.png)}.login-page .third-party-login .tp-link .weibo{background-image:url(../assets/img/passport/weibo.png)}.login-page .third-party-login .tp-link .weixin{background-image:url(../assets/img/passport/weixin.png)}.login-page .third-party-login .tp-link .qq{background-image:url(../assets/img/passport/qq.png)}.login-page .international{display:block;width:200px;padding:5px 10px;background-color:#333;border:none;border-radius:20px;margin:0 auto;font-size:16px;color:#d8d8d8}.login-page .login-tip{font-size:16px;position:relative;color:#d8d8d8;margin:15px 0}.login-page .login-tip .info-icon{display:inline-block;height:12px;width:12px;background-image:url(../assets/img/passport/info.png);background-size:100% 100%}.login-page .mask{position:fixed;display:none;top:0;bottom:0;right:0;left:0;background-color:rgba(0,0,0,.5)}.login-page .retrive-pwd-ways{position:fixed;display:none;bottom:5px;left:10px;right:10px;font-size:16px}.login-page .retrive-pwd-ways li{background-color:#fff;width:100%;height:40px;line-height:40px;text-align:center}.login-page .retrive-pwd-ways li:nth-child(1){border-top-left-radius:5px;border-top-right-radius:5px;border-bottom:1px solid #9f9f9f}.login-page .retrive-pwd-ways li:nth-child(2){border-bottom-left-radius:5px;border-bottom-right-radius:5px}.login-page .retrive-pwd-ways li:last-child{margin-top:10px;border-radius:5px}.back-email-success-page .tip{font-size:20px;color:#fff;margin-top:30px}.back-email-success-page .resend,.back-email-success-page .sub-tip{color:#939393;font-size:16px}.back-email-success-page .go-email{margin:20px 0 10px}.back-email-success-page .resend{float:right}.back-code-page .captcha-tip,.reg-code-page .captcha-tip{position:absolute;width:148px;text-align:center;right:15px;top:8px;color:#36a74c;padding:5px 0;border:1px solid #36a74c;border-radius:20px;font-size:16px}.back-code-page .captcha-tip.disable,.reg-code-page .captcha-tip.disable{color:#8f8f8f;border-color:#8f8f8f}.back-code-page .input-container,.reg-code-page .input-container{padding-right:190px}.back-code-page .text-container,.reg-code-page .text-container{color:#fff;font-size:16px;margin-bottom:20px}.back-code-page .phone,.reg-code-page .phone{color:#4ecae8}.back-code-page .clear-input,.reg-code-page .clear-input{right:170px}.back-code-page .tip,.reg-code-page .tip{margin-top:30px;color:#fff;font-size:14px;line-height:2}.back-code-page .tip a,.reg-code-page .tip a{color:#fff}.bind-page .bind-tip{color:#fff;font-size:15px}#yohood{background-image:url(../assets/img/yohood.png);background-size:40%;background-repeat:no-repeat;background-color:transparent;background-position-x:10%;background-position-y:40%;border:none;border-bottom:4px solid #fff}.success-page{color:#fefefe}.success-page .success-icon{width:74px;height:74px;margin:60px auto 30px;background:url(../assets/img/passport/success.png);background-size:100%}.success-page .success-tip{padding:10px;font-size:16px;line-height:1.5}.success-page .go{display:block;margin:30px auto;width:270px;height:40px;font-size:14px;line-height:40px;color:#fff;background:hsla(0,0%,100%,.4);border-radius:5px}.time-view-like-share{color:#b0b0b0;line-height:.95rem;height:.95rem;font-size:.6rem}.time-view-like-share .iconfont{vertical-align:9%;margin-right:.1rem;font-size:.6rem}.time-view-like-share .like-share-container{display:inline-block;float:right}.time-view-like-share .like-share-container>*{float:left}.time-view-like-share .like-share-container .iconfont{position:relative;height:1.5rem;line-height:1.5rem;display:inline-block;color:#b0b0b0;width:1.5rem;top:-.35rem;font-size:.85rem;text-align:center;margin-right:0;outline:none}.time-view-like-share .like-share-container .share-btn{margin-left:.5rem}.time-view-like-share .like-share-container .like-btn.like{color:#444}.time-view-like-share .like-share-container .collect-btn{margin-left:.5rem}.time-view-like-share .like-share-container .collect-btn.collected{color:#d62927}.guang-info{margin-bottom:.75rem;padding:0 0 .6rem;border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0;background:#fff}.guang-info .info-author{display:block;width:100%}.guang-info .info-author .avatar{float:left;margin-top:.5rem;width:1.25rem;height:1.25rem;margin-left:.75rem;border-radius:50%}.guang-info .info-author .name{float:left;margin-left:.75rem;padding:.75rem 0;font-size:.7rem;color:#000}.guang-info .info-img{position:relative;width:100%}.guang-info .info-img img{display:block;width:100%}.guang-info .info-match{position:absolute;top:0;left:0;width:3.25rem;height:1.25rem;line-height:1.25rem;font-size:.7rem;color:#fff;background:#000;text-align:center;text-decoration:none;z-index:1}.guang-info .info-tag{position:absolute;top:0;left:2.625rem;height:1.25rem;width:1.25rem}.guang-info .info-tag.collocation{background-position:-1.25rem -6rem}.guang-info .info-tag.collocation,.guang-info .info-tag.fashion-good{background-image:url(../assets/img/sprite.guang.png);background-size:8rem 7.25rem}.guang-info .info-tag.fashion-good{background-position:-6rem -2rem}.guang-info .info-tag.fashion-man{background-image:url(../assets/img/sprite.guang.png);background-position:0 -6rem;background-size:8rem 7.25rem}.guang-info .info-tag.special-topic,.guang-info .info-tag.tip{background-image:url(../assets/img/sprite.guang.png);background-position:-6rem -4.5rem;background-size:8rem 7.25rem}.guang-info .info-tag.topic{background-image:url(../assets/img/sprite.guang.png);background-position:-6rem -3.25rem;background-size:8rem 7.25rem}.guang-info .info-deps{margin:.8rem 0 0;padding:0 1rem 0 .75rem}.guang-info .info-deps .info-title-container{text-decoration:none;color:#000}.guang-info .info-deps .info-title{line-height:1.1rem;color:#000;font-size:1rem;font-weight:700}.guang-info .info-deps .info-text{margin:.4rem 0 0;line-height:1.15rem;font-size:.7rem;color:#444}.guang-info .info-deps .time-view-like-share{margin-top:.4rem}.guang-info:last-child{margin-bottom:0}.ps-list-page{background-color:#f0f0f0}.ps-list-page .nav-tab,.ps-list-page .ps-content{width:100%}.ps-list-page .nav-tab{height:1.5rem;padding:.25rem 0;background-color:#fff}.ps-list-page .plus-nav,.ps-list-page .star-nav{box-sizing:border-box;float:left;width:50%;height:1.5rem;line-height:1.5rem;font-size:16px;text-align:center;color:#ccc}.ps-list-page .plus-nav.focus,.ps-list-page .star-nav.focus{color:#000}.ps-list-page .bytouch{background:#eee}.ps-list-page .star-nav{border-right:1px solid #ccc}.ps-list-page .plus-star-row{margin-bottom:.75rem}.ps-list-page .plus-star-row>a{display:block;height:7.75rem}.ps-list-page .plus-star-row>a>img{width:100%;height:100%}.ps-list-page .plus-star-row:last-child{margin-bottom:0}.ps-list-page .content.hide{display:none}.ps-list-page .swiper-container{height:7.75rem}.ps-list-page .swiper-pagination-bullet-active{background:#fff}.ps-list-page .brand-deps{height:40px;line-height:40px;padding-left:10px;font-size:14px;background:#fff;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ps-detail-page{background-color:#f0f0f0}.ps-detail-page .ps-block{margin-bottom:.75rem;border-bottom:1px solid #e0e0e0;border-top:1px solid #e0e0e0;background-color:#fff}.ps-detail-page .ps-block.header,.ps-detail-page .ps-block.related-infos{border-top:none}.ps-detail-page .ps-block.related-infos{margin-bottom:0;background-color:#f0f0f0}.ps-detail-page .header{position:relative}.ps-detail-page .header .banner{width:100%;height:7.75rem}.ps-detail-page .header .logo{position:absolute;border:1px solid #b5b5b5;height:4.2rem;width:4.2rem;top:5.65rem;left:1.25rem}.ps-detail-page .header .header-content{padding:0 .75rem}.ps-detail-page .header .name-islike-container{padding-left:6.2rem;margin-top:.6rem;font-size:.85rem}.ps-detail-page .header .name{color:#000;height:1.025rem;width:7.375rem}.ps-detail-page .header .brand-islike{position:relative;float:right;color:#b0b0b0;height:1.5rem;width:1.5rem;line-height:1.5rem;text-align:center;top:-.25rem;left:-.25rem}.ps-detail-page .header .brand-islike.like{color:red}.ps-detail-page .intro{margin-top:1.225rem;font-size:.6rem;color:#444;line-height:150%}.ps-detail-page .more-intro{padding:.75rem 0;font-size:.7rem;line-height:104%;color:#bbb;float:right}.ps-detail-page .more-intro .icon{display:inline-block;height:100%;width:1rem;-webkit-transition:-webkit-transform .1s ease-in;transition:-webkit-transform .1s ease-in;transition:transform .1s ease-in;transition:transform .1s ease-in,-webkit-transform .1s ease-in}.ps-detail-page .more-intro.spread .icon{-webkit-transform:rotate(-180deg);transform:rotate(-180deg)}.ps-detail-page .new-arrival{padding-left:0 .75rem}.ps-detail-page .new-arrival .new-arrival-content{padding:0 0 .5rem;width:15.35rem;margin:0 auto}.ps-detail-page .new-arrival .more-goods-container{height:2.25rem;padding:0 .75rem;border-top:1px solid #e0e0e0;color:#000}.ps-detail-page .new-arrival .floor-header-more{border-top:none;line-height:1rem;height:auto}.ps-detail-page .new-arrival .mg-text{height:100%;line-height:2.25rem;color:#000;text-decoration:none;display:block;font-size:.7rem}.ps-detail-page .new-arrival .more-prods{float:right;color:#b0b0b0}.ps-detail-page .new-arrival .new-arrival-header .more-prods{margin-right:.75rem;margin-top:.25rem}.ps-detail-page .new-arrival-header{padding-left:5.55rem;padding-top:.825rem}.ps-detail-page .new-arrival-header .header-text{font-size:.7rem;color:#000;line-height:122%;font-weight:700}.ps-detail-page .related-info-title{margin:0 .725rem;border:1px solid #e0e0e0;border-bottom:none;line-height:1.8rem;font-size:.75rem;color:#b0b0b0;text-align:center;background-color:#fff}.ps-detail-page .related-infos-container .guang-info:first-child{margin-top:0}.guang-list-page .editor-header{margin-bottom:.75rem;padding-top:.9rem;padding-bottom:1rem;background:#fff;border-bottom:1px solid #e0e0e0}.guang-list-page .avatar{float:left;margin-left:.75rem}.guang-list-page .avatar img{width:2.5rem;height:2.5rem;border-radius:50%}.guang-list-page .text{float:left;margin-left:.8rem;width:11.875rem}.guang-list-page .text .name{font-size:.8rem;line-height:1rem}.guang-list-page .text .info{margin-top:.15rem;color:#bdbdbf;font-size:.6rem;line-height:.8rem}.guang-list-page .swiper-container{width:100%;height:7.75rem}.guang-list-page .swiper-container img{height:100%;width:100%}.guang-list-page .swiper-container .swiper-pagination{bottom:0;left:0;width:100%}.guang-list-page .swiper-container .swiper-pagination-bullet-active{background:#fff}.guang-list-page .guang-nav{background-color:#fff;overflow:hidden;height:2rem}.guang-list-page .guang-nav-item{float:left;color:#ccc;font-size:.7rem;padding:0 .55rem;line-height:2rem}.guang-list-page .guang-nav-item.focus{color:#000}.guang-list-page .bytouch{background:#eee}.guang-list-page .info-list-container{overflow-x:hidden;background:#f0f0f0}.guang-list-page .info-list.hide{display:none}.guang-detail-page #wrapper{background:#f0f0f0}.guang-detail-page #wrapper.ios{position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.guang-detail-page #wrapper.ios.has-head,.guang-detail-page #wrapper.ios.has-head+.fixed-top{top:2.25rem}.guang-detail-page .author{border-bottom:1px solid #e0e0e0;background:#fff}.guang-detail-page .author>a{display:block;height:100%}.guang-detail-page .author .avatar{float:left;margin-top:.5rem;margin-left:.75rem;width:1.25rem;height:1.25rem;border-radius:50%}.guang-detail-page .author .name{float:left;font-size:.7rem;color:#000;padding:.75rem 0;margin-left:.75rem}.guang-detail-page .author .intro{float:left;font-size:.7rem;color:#b0b0b0;padding:.75rem 0;margin-left:.75rem}.guang-detail-page .post-title{padding:.4rem 0 .65rem .75rem;background:#fff}.guang-detail-page .post-title .title{line-height:1.5rem;font-size:1rem;color:#000;font-weight:700}.guang-detail-page .text-block{padding:.5rem .75rem;line-height:1.15rem;font-size:.7rem;background:#fff;color:#444}.guang-detail-page .big-img-block{padding-bottom:.125rem;background:#fff}.guang-detail-page .big-img-block img{width:100%;height:16rem}.guang-detail-page .small-img-block{padding-bottom:.2rem;background:#fff}.guang-detail-page .small-img-block img{float:right;width:7.875rem;height:10.5rem}.guang-detail-page .small-img-block img:first-child{float:left}.guang-detail-page .collocation-block{background:#fff}.guang-detail-page .collocation-block .good-list{padding-left:.375rem}.guang-detail-page .thumb-container{padding-top:.75rem;padding-left:.5rem;background:transparent url(../assets/img/guang/thumb-container-bg.png) no-repeat;background-size:200% 100%}.guang-detail-page .thumb-container.fixed-top{position:fixed;left:0;right:0;top:0}.guang-detail-page .thumb-container.fixed-bottom{position:fixed;left:0;right:0;bottom:0;background:hsla(0,0%,100%,.9)}.guang-detail-page .thumb-container.absolute{position:absolute;left:0;right:0}.guang-detail-page .thumb-container.static{position:static}.guang-detail-page .thumb-container.hide{display:none}.guang-detail-page .clothe-type{position:absolute;right:.15rem;bottom:.85rem;width:.5rem;height:.5rem;border-radius:50%}.guang-detail-page .clothe-type.bag{background-position:-4rem -2rem}.guang-detail-page .clothe-type.bag,.guang-detail-page .clothe-type.cloth{background-image:url(../assets/img/sprite.guang.png);background-size:8rem 7.25rem;background-color:#fff}.guang-detail-page .clothe-type.cloth{background-position:0 -4rem}.guang-detail-page .clothe-type.dress{background-position:0 0}.guang-detail-page .clothe-type.dress,.guang-detail-page .clothe-type.headset{background-image:url(../assets/img/sprite.guang.png);background-size:8rem 7.25rem;background-color:#fff}.guang-detail-page .clothe-type.headset{background-position:-4rem -4rem}.guang-detail-page .clothe-type.lamp{background-position:-6rem 0}.guang-detail-page .clothe-type.lamp,.guang-detail-page .clothe-type.pants{background-image:url(../assets/img/sprite.guang.png);background-size:8rem 7.25rem;background-color:#fff}.guang-detail-page .clothe-type.pants{background-position:-2rem -4rem}.guang-detail-page .clothe-type.shoe{background-position:-4rem 0}.guang-detail-page .clothe-type.shoe,.guang-detail-page .clothe-type.swim-suit{background-image:url(../assets/img/sprite.guang.png);background-size:8rem 7.25rem;background-color:#fff}.guang-detail-page .clothe-type.swim-suit{background-position:-2rem -2rem}.guang-detail-page .clothe-type.under{background-position:0 -2rem}.guang-detail-page .clothe-type.under,.guang-detail-page .clothe-type.watch{background-image:url(../assets/img/sprite.guang.png);background-size:8rem 7.25rem;background-color:#fff}.guang-detail-page .clothe-type.watch{background-position:-2rem 0}.guang-detail-page .thumb{display:inline-block;position:relative;margin-right:.55rem;padding-bottom:.75rem}.guang-detail-page .thumb:last-child{margin-right:0}.guang-detail-page .thumb.focus .thumb-img{border-color:#000}.guang-detail-page .thumb-img{height:3.35rem;width:2.4rem;border:1px solid transparent}.guang-detail-page .related-reco-block{background:#fff;padding-left:.375rem;border-top:1px solid #e0e0e0}.guang-detail-page .related-reco-block h2{margin-left:-.375rem;line-height:2.6rem;font-size:.75rem;color:#b0b0b0;text-align:center}.guang-detail-page .related-reco-block .one-good{padding-left:.375rem;padding-right:.75rem;margin-bottom:.5rem}.guang-detail-page .related-reco-block .one-good .thumb{float:left;height:3.35rem;width:2.4rem}.guang-detail-page .related-reco-block .one-good .content-container{padding-left:3rem;height:3.35rem;line-height:1;font-size:.6rem}.guang-detail-page .related-reco-block .one-good .content-container>p{height:50%;line-height:2.35rem}.guang-detail-page .related-reco-block .one-good .content-container span{display:inline-block;line-height:.6rem}.guang-detail-page .related-reco-block .one-good .content-container .price{line-height:1.175rem}.guang-detail-page .related-reco-block .one-good .sale-price{color:#d62927;line-height:1.5}.guang-detail-page .related-reco-block .one-good .sale-price.no-price{color:#000}.guang-detail-page .related-reco-block .one-good .market-price{margin-left:.125rem;color:#b0b0b0;text-decoration:line-through;line-height:1.5}.guang-detail-page .related-reco-block .one-good .check-detail{display:inline-block;color:#000;border:1px solid;border-radius:2px;float:right;padding:0 .125rem;line-height:1.5}.guang-detail-page .link-block{display:block;height:2rem;line-height:2rem;padding:0 .75rem;font-size:.4rem;background:#fff;border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0}.guang-detail-page .link-block .iconfont{float:right;color:#ccc}.guang-detail-page .related-brand{margin-top:.75rem}.guang-detail-page .related-brand h2{margin:0 .725rem;background:#fff;border:1px solid #e0e0e0;border-bottom:none;line-height:1.8rem;font-size:.75rem;color:#b0b0b0;text-align:center}.guang-detail-page .related-brand .brand-list{border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0;padding:.75rem 0;background:#fff}.guang-detail-page .related-brand .brand{float:left;width:3.95rem;height:3.2rem;border-right:1px solid #e0e0e0;margin-bottom:.25rem}.guang-detail-page .related-brand .brand a{display:block}.guang-detail-page .related-brand .brand:nth-child(4n){border-right:none}.guang-detail-page .related-brand .brand-logo{display:table-cell;width:3.95rem;height:2.35rem;vertical-align:middle}.guang-detail-page .related-brand .brand-logo img{display:block;max-width:3.95rem;max-height:2.35rem;vertical-align:middle;margin:0 auto}.guang-detail-page .related-brand .brand-name{margin:.25rem 0 0;line-height:.6rem;font-size:.45rem;color:#babac2;text-align:center;text-decoration:none;border-bottom:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.guang-detail-page .related-tag{position:relative;padding-bottom:.75rem;border-bottom:1px solid #e0e0e0;background:#fff}.guang-detail-page .related-tag .tag-bg{position:absolute;height:1rem;width:1rem;background:url(../assets/img/guang/tag.png) no-repeat;background-size:100% 100%;top:.875rem;left:.5rem}.guang-detail-page .related-tag .tag-list{margin-left:1.25rem}.guang-detail-page .related-tag li{float:left;margin-top:.775rem;margin-left:.775rem}.guang-detail-page .related-tag a{height:1.25rem;line-height:1.25rem;font-size:.75rem;color:#000;text-decoration:underline;white-space:nowrap}.guang-detail-page .related-info{margin-top:.75rem}.guang-detail-page .related-info h2{margin:0 .725rem;background:#fff;border:1px solid #e0e0e0;border-bottom:none;line-height:1.8rem;font-size:.75rem;color:#b0b0b0;text-align:center}.guang-detail-page .related-info .info-list{background:#fff;padding-bottom:.75rem;border-top:1px solid #e0e0e0}.guang-detail-page .related-info li{padding-top:.75rem;margin-bottom:.25rem}.guang-detail-page .related-info li a{display:block}.guang-detail-page .related-info li img{float:left;margin-left:.75rem;width:4.55rem;height:2.85rem}.guang-detail-page .related-info li img.square{height:4.55rem}.guang-detail-page .related-info .publish-time,.guang-detail-page .related-info .title{float:left;width:9rem;margin-left:.75rem;line-height:1rem;color:#444;font-size:.7rem}.guang-detail-page .related-info .publish-time{font-size:.45rem;margin-top:0;color:#b0b0b0}.guang-detail-page .related-info .publish-time .iconfont{font-size:.45rem}.yoho-header .nav-title{font-weight:400}.star-class-body{background:#333;width:100%;font:.3rem/1.5 Arial,黑体;float:left}.star-classroom{background:#333}.star-classroom img{max-width:100%;display:block;border:0;margin:0 auto}.star-classroom a{text-decoration:none;outline:none;color:#000}.star-classroom a:actived,.star-classroom a:hover,.star-classroom a:link,.star-classroom a:visited{color:#000}.star-classroom :focus{outline:none}.star-classroom .font-bold{font-weight:700}.star-classroom .classroom-mask{background-color:rgba(0,0,0,.5);position:fixed;left:0;right:0;top:0;bottom:0;z-index:-1;display:none}.star-classroom .head-tab{width:100%;height:2.2rem;background:#000}.star-classroom .head-tab li{width:33.3%;text-align:center;float:left;line-height:2.2rem;font-size:.75rem}.star-classroom .head-tab li a{color:#b0b0b0;display:inline-block}.star-classroom .head-tab li.cur a{color:#fff}.star-classroom .banner-top{width:100%;height:7.75rem;margin-top:.75rem;position:relative}.star-classroom .banner-top .banner-swiper{width:100%;height:7.75rem;overflow:hidden;position:relative}.star-classroom .banner-top .banner-swiper ul{position:relative;height:7.75rem}.star-classroom .banner-top .banner-swiper ul li{float:left;width:100%;height:7.75rem}.star-classroom .banner-top .banner-swiper ul img{width:100%;height:100%}.star-classroom .banner-top .swiper-pagination{position:absolute;left:0;right:0;bottom:.5rem;text-align:center;z-index:1}.star-classroom .banner-top .swiper-pagination .pagination-inner{display:inline-block}.star-classroom .banner-top .swiper-pagination span{display:inline-block;width:.35rem;height:.35rem;background:#fff;opacity:.5;margin:0 .25rem;border-radius:50%}.star-classroom .banner-top .swiper-pagination .swiper-pagination-bullet-active{background:#fff;opacity:1}.star-classroom .home-floor-sign{width:100%;height:5.5rem;margin-top:.75rem;background:#000}.star-classroom .home-floor-sign .nav-left{width:2.55rem;margin:.75rem 0 0 .75rem;text-align:center;float:left}.star-classroom .home-floor-sign .nav-left .user-name{font-size:.6rem;color:#fff;margin-top:.75rem;white-space:nowrap}.star-classroom .home-floor-sign .nav-main{width:6.3rem;height:2.25rem;float:left;background-image:url(../assets/img/guang/star-classroom/user_info_bg.png);background-repeat:no-repeat;background-size:contain;margin:.9rem 0 0 .25rem}.star-classroom .home-floor-sign .nav-main p{color:#fff;line-height:1.15rem;font-size:.6rem;margin-left:.75rem;white-space:nowrap}.star-classroom .home-floor-sign .nav-right{width:4.875rem;text-align:center;float:right}.star-classroom .home-floor-sign .nav-right .wyf-img{width:2.975rem;height:2.7rem;margin-top:.75rem;background-image:url(../assets/img/guang/star-classroom/home-wyf.png);background-repeat:no-repeat;background-size:contain;display:inline-block}.star-classroom .home-floor-sign .nav-right .add-intimacy{width:3.275rem;height:1.3rem;background-image:url(../assets/img/guang/star-classroom/add_intimacy_bg.png);background-repeat:no-repeat;background-size:contain;color:#fff;font-size:.55rem;display:inline-block;white-space:nowrap;line-height:1.65rem;margin-left:.3rem}.star-classroom .home-floor-sign .user-head{width:2.5rem;height:2.5rem;border-radius:50%;border:.05rem solid #e0e0e0;background-image:url(../assets/img/me/index/user-avatar.png);background-repeat:no-repeat;background-size:contain;display:block}.star-classroom .floor-header-more{width:100%;height:2.2rem;background:#000;position:relative;margin-top:.75rem;border-top:1px solid #000}.star-classroom .floor-header-more h2{color:#fff;font-size:.85rem;line-height:2.2rem;text-align:center}.star-classroom .floor-header-more .more-btn{width:1.6rem;height:2.4rem;line-height:2.15rem;position:absolute;right:.5rem;top:0;color:#b0b0b0;font-size:1.25rem}.star-classroom .home-floor-subject .subject-banner{width:100%;height:7.75rem}.star-classroom .subject-video-area{width:100%;height:7.75rem;margin-top:.75rem;background:#000}.star-classroom .subject-video-area #subject-video{width:100%;height:7.75rem}.star-classroom .home-floor-collocation{background:#000;padding-bottom:1.5rem}.star-classroom .home-floor-collocation .collocation-big-img{width:100%;height:6.925rem;padding:0 .35rem;box-sizing:border-box}.star-classroom .home-floor-collocation .collocation-big-img li{width:6.9rem;height:6.925rem;margin:0 .375rem;float:left}.star-classroom .home-floor-collocation .collocation-big-img img{height:100%}.star-classroom .home-floor-collocation .collocation-img{width:100%;height:3.475rem;margin-top:.75rem;position:relative}.star-classroom .home-floor-collocation .collocation-img .collocation-swiper{width:100%;height:3.475rem;overflow:hidden;position:relative}.star-classroom .home-floor-collocation .collocation-img ul{position:relative;height:3.475rem}.star-classroom .home-floor-collocation .collocation-img li{float:left;width:5.725rem;height:3.475rem;margin-left:.75rem}.star-classroom .home-floor-collocation .collocation-img img{width:100%;height:100%}.star-classroom .pop-intimacy{width:14.5rem;height:23rem;background:#fff;border-radius:.25rem;position:fixed;top:.5rem;left:.75rem;z-index:-1;display:none}.star-classroom .pop-intimacy .intimacy-head{text-align:center;color:#444;height:3.5rem;padding-top:.5rem;box-sizing:border-box;position:relative}.star-classroom .pop-intimacy .intimacy-head .pop-close{width:.625rem;height:.625rem;background-image:url(../assets/img/guang/star-classroom/pop-close.png);background-repeat:no-repeat;background-size:contain;position:absolute;right:.5rem;top:.6rem}.star-classroom .pop-intimacy .intimacy-head h1{font-size:1.4rem;font-weight:700;line-height:1rem}.star-classroom .pop-intimacy .intimacy-head h4,.star-classroom .pop-intimacy .my-intimacy{font-size:.6rem}.star-classroom .pop-intimacy .my-intimacy span{min-width:.25rem;height:.75rem;line-height:.75rem;border-radius:.75rem;font-size:.5rem;color:#fff;padding:0 .25rem;margin-left:.35rem;background-color:#444}.star-classroom .pop-intimacy .increased{font-size:.6rem;display:none}.star-classroom .pop-intimacy .increased span{color:red}.star-classroom .pop-intimacy .calendar{width:100%;float:left}.star-classroom .pop-intimacy .week{width:100%;height:.95rem;background:#aeaeae;padding:0 .575rem;box-sizing:border-box}.star-classroom .pop-intimacy .week h3{width:1.9rem;text-align:center;font-size:.6rem;color:#fff;float:left;line-height:.95rem}.star-classroom .pop-intimacy .day-item{float:left;width:100%;padding:.125rem .575rem;box-sizing:border-box}.star-classroom .pop-intimacy .day-item .item{width:1.9rem;color:#444;float:left;text-align:center;cursor:pointer;margin:.125rem 0 0;height:1.4rem;line-height:1.4rem;font-size:.7rem}.star-classroom .pop-intimacy .day-item .last-item{color:#d2d2d2}.star-classroom .pop-intimacy .day-item .sign-item{background-image:url(../assets/img/guang/star-classroom/sign-circle.png);background-position:50%;background-repeat:no-repeat;background-size:contain}.star-classroom .pop-intimacy .fan-charts{width:100%;height:2.2rem;border-top:1px solid #d5d5d5;text-align:center;position:relative;float:left}.star-classroom .pop-intimacy .fan-charts h2{font-size:.7rem;color:#444;line-height:2.2rem}.star-classroom .pop-intimacy .fan-charts .arrow{width:2.2rem;height:2.2rem;position:absolute;top:0;right:0;color:#b0b0b0;line-height:2.2rem}.star-classroom .fan-charts-cont{width:100%;line-height:2.2rem;float:left}.star-classroom .fan-charts-cont li{width:100%;height:2.2rem;border-top:1px solid #d5d5d5;position:relative;padding:0 .625rem;box-sizing:border-box}.star-classroom .fan-charts-cont .rank-ico{width:1.3rem;height:.975rem;border-radius:0;background-image:url(../assets/img/guang/star-classroom/king-ico.png);background-color:#fff;background-repeat:no-repeat;background-size:contain;color:#fff;font-size:.6rem;text-align:center;line-height:1.25rem;font-weight:700;position:relative;top:.625rem}.star-classroom .fan-charts-cont .rank-avatar{width:1.5rem;height:1.5rem;border-radius:50%;position:relative;top:.375rem;margin-left:.5rem;background-image:url(../assets/img/me/index/user-avatar.png);background-repeat:no-repeat;background-size:contain;display:block}.star-classroom .fan-charts-cont .fans-name{margin-left:.6rem;font-size:.6rem;color:#444;width:4.5rem;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;height:2.2rem}.star-classroom .fan-charts-cont .fans-intimacy{width:3.75rem;float:right;font-size:.5rem;color:#444}.star-classroom .fan-charts-cont .fans-intimacy span{font-size:.6rem;color:#d0021b;margin-left:.125rem}.star-classroom .fan-charts-cont li>*{float:left}.star-classroom .things-article{width:100%;float:left}.star-classroom .things-article>li{width:100%;float:left;padding:0 0 .75rem .75rem;box-sizing:border-box;background:#000}.star-classroom .things-article>li .author-info{width:100%;padding-top:.75rem;float:left;border-top:1px solid #b0b0b0}.star-classroom .things-article>li .author-info img{width:1.75rem;height:1.75rem;border-radius:50%;float:left}.star-classroom .things-article>li .author-nav{float:left;margin-left:.5rem;overflow:hidden}.star-classroom .things-article>li .author-nav h2{font-size:.7rem;color:#fff}.star-classroom .things-article>li .article-count{font-size:.6rem;color:#b0b0b0}.star-classroom .things-article>li .article-count span{margin-right:.55rem}.star-classroom .things-article>li .article-count .see-ico{width:.775rem;height:.6rem;padding-left:1rem}.star-classroom .things-article>li .artice-cont{width:100%;margin-top:.75rem;float:left}.star-classroom .things-article>li .artice-cont p{width:100%;height:4.5rem;font-size:.7rem;line-height:1.15rem;padding-right:.75rem;color:#fff;box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical}.star-classroom .things-article>li .artice-imgs{width:100%;margin-top:.75rem;float:left}.star-classroom .things-article>li .artice-imgs>li{float:left;width:4.75rem;height:4.75rem;margin-right:.125rem}.star-classroom .things-article>li .artice-imgs>li img{width:100%;height:100%;border-radius:.1rem}.star-classroom .artice-zan{width:100%;border-top:1px solid #b0b0b0;margin-top:.675rem;float:left;padding-top:.5rem}.star-classroom .artice-zan .iconfont{float:left;width:.85rem;height:.85rem;line-height:.85rem;display:inline-block;color:#b0b0b0;font-size:.85rem;text-align:center;margin:.225rem 1.325rem 0 .35rem;outline:none}.star-classroom .artice-zan .like{color:#d62927}.star-classroom .artice-zan ul{float:left;width:10.5rem;height:1.25rem;overflow:hidden}.star-classroom .artice-zan li{float:left;margin:0 .25rem;width:1.25rem;height:1.25rem}.star-classroom .artice-zan li img{width:100%;height:100%;border-radius:50%}.star-classroom .artice-zan .zan-more{float:left;width:1.25rem;height:1.25rem;border-radius:50%;margin:0 .25rem;background:#f0f0f0;color:#acb1b7;font-size:.6rem;text-align:center;line-height:1.25rem}.star-classroom .subject-list{width:100%;height:auto;overflow:hidden}.star-classroom .subject-list li{width:100%;float:left;background:#000;margin-top:.75rem}.star-classroom .subject-list li img{width:100%}.star-classroom .subject-list li p{width:100%;height:2.2rem;box-sizing:border-box;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding:0 .85rem;font-size:.85rem;line-height:2.2rem}.star-classroom .subject-list li a{color:#fff}.star-classroom .collocation-list{width:100%;float:left}.star-classroom .collocation-list li{float:left;width:100%;margin-top:.75rem;background:#000}.star-classroom .collocation-list li .cont-area{width:100%;box-sizing:border-box;padding:.75rem}.star-classroom .collocation-list li .cont-txt{font-size:.7rem;line-height:1.15rem;color:#b0b0b0;margin-top:.25rem}.star-classroom .collocation-list li img{width:100%}.star-classroom .collocation-list li .title{font-size:1rem;line-height:1.2rem;color:#fff;width:100%}.star-classroom .count-area{position:relative;width:100%;height:.8rem}.star-classroom .count-area span{font-size:.6rem;color:#b0b0b0;height:.8rem;line-height:.8rem}.star-classroom .count-area span i{display:inline-block;margin-right:.125rem;font-size:.6rem}.star-classroom .count-area .time{float:left}.star-classroom .count-area .see{float:left;margin-left:.5rem}.star-classroom .count-area .time-ico{width:.6rem;height:.6rem}.star-classroom .count-area .see-ico{width:.775rem;height:.6rem}.star-classroom .count-area .collection{position:absolute;right:3.05rem}.star-classroom .count-area .collected-ico{width:.85rem;height:.8rem;vertical-align:text-bottom}.star-classroom .count-area .collected{color:#d62927}.star-classroom .count-area .forward{width:1rem;height:.7rem;position:absolute;right:.575rem;margin-left:1.125rem;font-size:.6rem;color:#b0b0b0;height:.8rem;line-height:.8rem}.star-classroom .things-list .things-article>li{margin-top:.75rem}.star-classroom .things-list .things-article>li .author-info{border-top:none}.star-classroom .check-in{background:#f0f0f0}.star-classroom .check-in .check-in-header{width:100%;height:7.075rem;background-image:url(../assets/img/guang/star-classroom/checkIn-bg.jpg);background-repeat:no-repeat;background-size:contain}.star-classroom .check-in .head-cont{text-align:center;padding-top:.75rem;height:4.875rem;box-sizing:border-box}.star-classroom .check-in .head-cont .user-avatar{width:2.5rem;height:2.5rem;border-radius:50%;border:.1rem solid;border-color:hsla(0,0%,100%,.6);background-image:url(../assets/img/me/index/user-avatar.png);background-repeat:no-repeat;background-origin:border-box;background-size:contain;display:inline-block}.star-classroom .check-in .head-cont .user-name{color:#fff;font-size:.6rem;font-weight:700;margin-top:.175rem}.star-classroom .check-in .count-area{width:100%;float:left}.star-classroom .check-in .count-nav{width:7.975rem;float:left;margin-top:.3rem}.star-classroom .check-in .count-nav p{width:100%;text-align:center;color:#fff;line-height:.8rem;font-size:.55rem}.star-classroom .check-in .line{width:.05rem;height:1.15rem;float:left;margin-top:.65rem;box-sizing:border-box;border-left:1px solid #fff}.star-classroom .check-in .ranking-area{width:100%;background:#fff;border-top:1px solid #e0e0e0;margin-top:.75rem;padding-left:.75rem;box-sizing:border-box}.star-classroom .check-in .ranking-area li{width:100%;height:3rem;padding-top:.5rem;box-sizing:border-box;border-bottom:1px solid #e0e0e0}.star-classroom .check-in .ranking-area .rank-avatar{width:2rem;height:2rem;border-radius:50%;background-image:url(../assets/img/me/index/user-avatar.png);background-repeat:no-repeat;background-size:contain;float:left}.star-classroom .check-in .ranking-area .ranking-mid{float:left;margin-left:.5rem}.star-classroom .check-in .ranking-area .rank-ico{min-width:.45rem;height:.95rem;border-radius:.95rem;background:#444;display:inline-block;text-align:center;line-height:1rem;color:#fff;font-size:.6rem;font-weight:700;padding:0 .25rem}.star-classroom .check-in .ranking-area .rank-name{font-size:.6rem;color:#444;margin-top:.125rem;width:6.5rem;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;height:.95rem;line-height:.95rem}.star-classroom .check-in .ranking-area .ranking-rg{font-size:.5rem;color:#444;float:right;margin:.5rem .75rem 0 0}.star-classroom .check-in .ranking-area .intimacy{margin-left:.25rem;font-size:.9rem;color:#b0b0b0}.star-classroom .check-in .high-light .rank-ico{width:1.3rem;height:.975rem;line-height:1.25rem;border-radius:0;background-image:url(../assets/img/guang/star-classroom/king-ico.png);background-color:#fff;background-repeat:no-repeat;background-size:contain;padding:0}.star-classroom .check-in .high-light .intimacy{color:#d0021b}@media screen and (max-height:480px){.star-classroom .pop-intimacy{height:19.9rem}.star-classroom .pop-intimacy .day-item .item{height:1.25rem;line-height:1.25rem;margin-top:0}.star-classroom .pop-intimacy .fan-charts{height:1.9rem}.star-classroom .pop-intimacy .fan-charts h2{line-height:1.9rem}.star-classroom .pop-intimacy .fan-charts .arrow{height:1.9rem;line-height:1.9rem}.star-classroom .pop-intimacy .intimacy-head h1{font-size:1.25rem}.star-classroom .fan-charts-cont{line-height:1.9rem}.star-classroom .fan-charts-cont .rank-ico{top:.425rem}.star-classroom .fan-charts-cont .rank-avatar{top:.175rem}.star-classroom .fan-charts-cont .fans-name,.star-classroom .fan-charts-cont li{height:1.9rem}}.header-download{position:relative;height:5.3rem;padding:1.2rem 0 0;overflow:hidden}.header-download .download-bg{position:absolute;left:0;top:0;width:100%;z-index:-1}.header-download .yoho-logo{height:1.425rem;background:url(../assets/img/app-logo.png) no-repeat 50%;background-size:auto 100%}.header-download p{line-height:1.2rem;font-size:.7rem;color:#fff;text-align:center}.header-download .download-btn{display:block;margin:.45rem auto 0;width:7.35rem;height:1.6rem;line-height:1.6rem;border:solid #fff;font-size:.9rem;text-align:center;color:#fff}.header-download .close-btn{position:absolute;top:.425rem;right:.325rem;width:1.25rem;height:1.25rem;background:url(../assets/img/close-icon.png);background-size:100% 100%}.banner-top,.shop-index .banner-area{position:relative}.banner-top .swiper-pagination,.shop-index .banner-area .swiper-pagination{position:absolute;left:0;right:0;bottom:.5rem;text-align:center;z-index:1}.banner-top .swiper-pagination .pagination-inner,.shop-index .banner-area .swiper-pagination .pagination-inner{display:inline-block}.banner-top .swiper-pagination .pagination-inner span,.shop-index .banner-area .swiper-pagination .pagination-inner span{display:inline-block;width:.35rem;height:.35rem;background:#fff;opacity:.5;margin:0 .225rem;border-radius:50%}.banner-top .swiper-pagination .pagination-inner span.swiper-pagination-bullet-active,.shop-index .banner-area .swiper-pagination .pagination-inner span.swiper-pagination-bullet-active{background:#fff;opacity:1}.banner-swiper{overflow:hidden}.banner-swiper,.banner-swiper ul{position:relative;height:7.75758rem}.banner-swiper ul li{float:left}.banner-swiper ul li,.banner-swiper ul li img{width:100%;height:100%}.banner-center{margin:.75rem 0 0;height:5rem;overflow:hidden}.banner-center img{display:block;width:100%;height:100%}.banner-bottom{margin:.75rem 0 0;height:4rem;overflow:hidden}.banner-bottom img{display:block;width:100%}.side-nav{display:none;background:#fff;position:fixed;top:0;bottom:0;left:0;right:2.5rem;width:13.5rem;background:#f0f0f0;z-index:4;overflow:hidden;overflow-y:auto;-webkit-transition:all .3s;transition:all .3s}.side-nav>ul{margin-bottom:.5rem;background:#fff;border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0}.side-nav li{position:relative;height:1.9rem;line-height:1.9rem;background:#fff}.side-nav li a{display:block;height:100%;padding-left:2.75rem;color:#444}.side-nav li em{font-weight:700;font-size:.65rem}.side-nav li .title{display:inline-block;font-size:.9rem;vertical-align:bottom;padding-left:.5rem;-webkit-transform:scale(.5);transform:scale(.5);-webkit-transform-origin:0 50% 0;transform-origin:0 50% 0}.side-nav li .nav-icon,.side-nav li .nav-img{position:absolute;width:.95rem;height:.95rem;top:50%;margin-top:-.475rem;left:.875rem;background:no-repeat 0;background-size:100% 100%}.side-nav li .enter-subnav{position:absolute;right:.75rem;top:0;bottom:0;font-size:.9rem;color:#b0b0b0;font-weight:lighter}.side-nav li:after{content:'';position:absolute;right:0;bottom:0;width:10.75rem;height:0;border-top:1px solid #e0e0e0}.side-nav li:last-child:after{content:none}.side-nav li.highlight{background:#eee}.side-nav .first li{height:2.2rem;line-height:2.2rem;border-bottom:1px solid #e0e0e0}.side-nav .first li em{font-size:.9rem}.side-nav .first li .nav-icon,.side-nav .first li .nav-img{width:1.2rem;height:1.2rem;margin-top:-.6rem;left:.75rem}.side-nav .first li:last-child{border-bottom:none}.side-nav .first li:after{content:none}.side-nav .first .sub-nav li{border-bottom:1px solid #e0e0e0}.side-nav li.boys i{background:url(../assets/img/side-nav/boys.png) no-repeat 0;background-size:100% 100%}.side-nav li.girls i{background:url(../assets/img/side-nav/girls.png) no-repeat 0;background-size:100% 100%}.side-nav li.kids i{background:url(../assets/img/side-nav/kids.png) no-repeat 0;background-size:100% 100%}.side-nav li.life i{background:url(../assets/img/side-nav/life.png) no-repeat 0;background-size:100% 100%}.side-nav li.guang .nav-icon,.side-nav li.trendfinder .nav-icon{background:url(../assets/img/side-nav/guang.png) no-repeat 0;background-size:100% 100%}.side-nav.on{display:block}.sub-nav{display:none;position:fixed;bottom:0;top:0;left:0;width:13.5rem;background:#fff!important;overflow:hidden;-webkit-transform:translateX(13.5rem);transform:translateX(13.5rem);-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s}.sub-nav li{height:2rem!important;line-height:2rem!important;border:none;border-bottom:1px solid #e0e0e0}.sub-nav li a{position:relative;display:block;margin:0 0 0 .75rem;padding-left:.25rem;font-size:.9rem;z-index:2}.sub-nav li .nav-point{position:absolute;left:0;font-size:.4rem;color:#f0f0f0}.sub-nav li em{font-weight:400;font-size:.75rem!important}.sub-nav li:after{content:none}.sub-nav li.highlight{background:#eee}.sub-nav li.current .nav-point,.sub-nav li:hover .nav-point{color:#3e3e3e}.sub-nav li:first-child{height:2.25rem!important;line-height:2.25rem!important;background:#3e3e3e}.sub-nav li:first-child a{color:#fff;border-bottom:none;padding-left:1.75rem}.sub-nav li:first-child .nav-back{position:absolute;left:0}.sub-nav.show{display:block;z-index:1;-webkit-transform:translateX(0);transform:translateX(0);-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s}.floor-header{margin:.725rem .75rem 0;border:1px solid #e0e0e0;border-bottom:none;height:1.75rem;line-height:1.75rem;font-size:.75rem;color:#b1b1b1}.floor-header,.floor-header-more{background:#fff;text-align:center}.floor-header-more{position:relative;height:2.475rem;line-height:2.475rem;margin:.725rem 0 0;border-top:1px solid #e0e0e0;font-size:.8rem;color:#444}.floor-header-more .more-btn{position:absolute;right:.75rem;top:0;bottom:0;color:#b0b0b0;font-size:1.25rem}.fine-brands{background:#fff;border-top:1px solid #e0e0e0}.fine-brands a{display:block;text-decoration:none}.fine-brands .brand{float:left;width:3.95rem;height:4.35rem;border-right:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0;overflow:hidden}.fine-brands .brand .brand-logo{display:table-cell;width:3.95rem;height:3.25rem;vertical-align:middle}.fine-brands .brand .brand-logo img{display:block;max-width:3.95rem;max-height:3.25rem;vertical-align:middle;margin:0 auto}.fine-brands .brand .brand-name{line-height:1.1rem;font-size:.45rem;color:#babac2;text-align:center;text-decoration:none;border-bottom:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fine-brands .brand:nth-child(4n){border-right:none}.fine-brands .more .brand-logo{display:block;text-align:center;line-height:3.75rem}.fine-brands .more .brand-logo .iconfont{font-size:1.2rem;color:#333}.creative-life{background:#fff}.creative-life .banner{display:block;height:10rem;overflow:hidden}.creative-life .banner img{width:100%;height:100%}.creative-life .classify-list{border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0}.creative-life .classify-list>li{float:left;width:5.3rem;height:4.8rem;border-top:1px solid #e0e0e0;border-right:1px solid #e0e0e0}.creative-life .classify-logo{width:5.3rem;height:4.8rem}.creative-life .classify-logo img{display:block;width:100%;height:100%}.creative-life .classify-name{line-height:1.3rem;font-size:.65rem;color:#000;text-align:center;text-decoration:none;border-bottom:none;overflow:hidden}.creative-life .classify:nth-child(3n){border-right:0}.plus-star img{display:block;width:100%;height:4.95rem;border-top:1px solid #e0e0e0}.maybe-like{position:relative;background:#fff;padding-left:.375rem;border-top:1px solid #ccc;margin-top:.75rem}.maybe-like .title{height:2.6rem;font-size:.95rem;line-height:2.6rem;text-align:center;color:#dadada}.maybe-like .icon{display:inline-block;height:.775rem;width:.775rem;background:url(../assets/img/up-icon.png) no-repeat;background-size:100% 100%}.maybe-like .maybe-like-nav{width:100%;height:1.5rem;padding:.25rem 0;background-color:#fff}.maybe-like .maybe-like-nav:before{content:'';position:absolute;border-top:1px solid #ccc;left:0;top:2rem;width:16rem;height:0}.maybe-like .maybe-like-nav-item{box-sizing:border-box;float:left;width:50%;height:1.5rem;line-height:1.5rem;text-align:center;color:#ccc;border-right:1px solid #ccc}.maybe-like .maybe-like-nav-item.focus{color:#000}.load-more-img{padding-left:0;height:5rem;border-top:1px solid #ccc;overflow:hidden}.load-more-img img{display:block;width:100%;height:100%}.icons-wrapper{box-sizing:border-box;padding:.75rem 0 .4rem;background:#fff;border-bottom:1px solid #e0e0e0}.icons-item-eight{width:25%}.icons-item-eight,.icons-item-ten{float:left;margin-bottom:.25rem;height:3.65rem;text-align:center}.icons-item-ten{width:20%}.imagebar{display:block;margin:0 auto;text-align:center;width:2.45rem;height:2.45rem;line-height:2.45rem;box-sizing:border-box;overflow:hidden}.imagebar img{width:100%;height:100%}.linkbar{display:block;line-height:1.1rem;font-size:.6rem}.linkbar,.linkbar:active,.linkbar:hover,.linkbar:link,.linkbar:visited{color:#444}.trend-coll-wrapper{background:#fff;height:16.125rem;border-bottom:1px solid #e0e0e0}.trend-coll-header{position:relative;widows:100%}.trend-coll-header .trend-coll-title{width:100%;height:2.5rem;line-height:2.5rem;text-align:center;font-size:.85rem;color:#747474}.trend-coll-header .more{position:absolute;right:.6rem;top:.5rem}.trend-coll-content{padding:0 0 0 .375rem}.trend-coll-content .lspan,.trend-coll-content .rspan{float:left;margin:0 .375rem}.lspanimg,.rspanimg{display:block;float:right;width:6.875rem;height:6.875rem}.trend-coll-tail{box-sizing:border-box;width:100%;height:6.675rem;clear:both}.recommend-title{widows:100%;height:2.5rem;line-height:2.5rem;text-align:center;font-size:.85rem}.recommend-swiper{width:100%;height:3.5rem;overflow:hidden}.recommend-list{position:relative;height:100%}.recommend-list .recommend-item{float:left;padding-left:5%;width:21.875%;height:3.5rem}.recommend-list .recommend-item a{display:block;width:100%;height:100%}.recommend-list .recommend-item a img{width:100%;height:100%}.trend-topic-wrapper{background:#fff}.trend-topic-content{position:relative;width:100%;border-bottom:1px solid #e0e0e0}.trend-topic-content .swiper-pagination{position:absolute;left:0;right:0;bottom:.55rem;text-align:center;z-index:0}.trend-topic-content .swiper-pagination .pagination-inner{display:inline-block}.trend-topic-content .swiper-pagination span{float:left;width:.4rem;height:.4rem;margin:0 .2rem;background:#f0f0f0;border-radius:50%;opacity:1}.trend-topic-content .swiper-pagination span.swiper-pagination-bullet-active{background:#b0b0b0}.trend-topic-swiper{height:13.35rem;overflow:hidden}.trend-topic-swiper ul{position:relative}.trend-topic-swiper ul li{float:left;height:13.35rem}.trend-topic-swiper ul li .img-box{margin:0 auto;width:14.5rem;height:9rem;line-height:9rem;text-align:center}.trend-topic-swiper ul li .img-box img{vertical-align:middle;width:100%;height:100%}.trend-topic-swiper ul li .item-content{margin:.5rem .75rem 0}.trend-topic-swiper ul li .item-content .title{line-height:1.3rem;font-size:.75rem;color:#000;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis;white-space:nowrap}.trend-topic-swiper ul li .item-content .time{margin:.4rem 0 0;line-height:.6rem;color:#afafaf;font-size:.45rem}.trend-topic-swiper ul li .item-content .time .time-icon{margin-right:.2rem;font-size:.35rem}.category-swiper{position:relative;height:10rem;overflow:hidden}.category-swiper ul li{float:left;width:100%}.category-swiper ul li a,.category-swiper ul li img{display:block;width:100%;height:100%}.category-swiper .swiper-pagination{position:absolute;left:0;right:0;bottom:.5rem;text-align:center}.category-swiper .swiper-pagination .pagination-inner{display:inline-block}.category-swiper .swiper-pagination .pagination-inner span{display:inline-block;width:.35rem;height:.35rem;background:#fff;opacity:.5;margin:0 (.225rem);border-radius:50%}.category-swiper .swiper-pagination .pagination-inner span.swiper-active-switch{opacity:1}.goods-category{background:#fff}.goods-category .category-list{height:9.55rem;border-bottom:1px solid #e0e0e0;border-top:1px solid #e0e0e0;overflow:hidden}.goods-category .category-list li{float:left;width:4.775rem;height:4.775rem;border-left:1px solid #e0e0e0}.goods-category .category-list li .first-show{display:none}.goods-category .category-list li .img-box{height:100%;line-height:100%;text-align:center}.goods-category .category-list li .img-box img{width:100%;height:100%;vertical-align:middle}.goods-category .category-list li .category-name{line-height:.8rem;font-size:.5rem;color:#444;text-align:center}.goods-category .category-list li:first-child{width:6.325rem;height:9.55rem;border-left:none}.goods-category .category-list li:first-child .img-box{height:100%;line-height:100%}.goods-category .category-list li:first-child .category-name{line-height:1rem;font-size:.55rem}.goods-category .category-list li:nth-child(4),.goods-category .category-list li:nth-child(5){border-top:1px solid #e0e0e0}.hot-brands{border-bottom:1px solid #e0e0e0;background:#fff}.hot-brands .floor-header{background:#f0f0f0;margin:0;padding:.725rem .75rem 0;border:0}.hot-brands .floor-header h2{border:1px solid #e0e0e0;background:#fff;border-bottom:0}.hot-brands a{display:block;text-decoration:none;height:100%}.hot-brands .brand{float:left;width:3.95rem;height:4.35rem;border-right:1px solid #e0e0e0;border-top:1px solid #e0e0e0;overflow:hidden}.hot-brands .brand .brand-logo{display:table-cell;width:3.95rem;height:3.2rem;line-height:3.2rem;text-align:center;font-size:0;vertical-align:middle}.hot-brands .brand .brand-logo img{max-width:100%;max-height:100%}.hot-brands .brand .brand-name{line-height:1.1rem;font-size:.45rem;color:#babac2;text-align:center;text-decoration:none;border-bottom:none;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis;white-space:nowrap}.hot-brands .brand:nth-child(5n){border-right:none}.hot-brands .more{float:left;width:7.925rem;height:4.35rem;border-top:1px solid #e0e0e0;overflow:hidden}.hot-brands .more a{display:block;width:100%;height:100%}.brands-swiper{background:#fff;width:100%;height:4rem;padding-top:.5rem;border-top:1px solid #e0e0e0;overflow:hidden}.brands-swiper .brands-list{position:relative;height:4rem}.brands-swiper .brands-list li{float:left;padding-left:5%;width:21.875%;height:3.5rem}.brands-swiper .brands-list li a{position:relative;display:block;width:100%;height:100%;line-height:3.5rem;font-size:0}.brands-swiper .brands-list li img{display:inline-block;max-width:100%;max-height:100%;vertical-align:middle}.brands-swiper .brands-list li .brands-title{position:absolute;left:.2rem;right:.2rem;bottom:.2rem;height:.7rem;line-height:.7rem;text-align:center;font-size:.45rem;color:#444;background:hsla(0,0%,100%,.5);overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis;white-space:nowrap}.hot-category{margin:.75rem 0 0;border-bottom:1px solid #e0e0e0}.hot-category .category-banner{height:4.95rem}.hot-category .category-banner img{display:block;width:100%;height:4.95rem}.hot-category .category-list{background:#fff}.hot-category .category-list li{float:left;width:3.95rem;height:4.35rem;border-top:1px solid #e0e0e0;border-left:1px solid #e0e0e0;overflow:hidden}.hot-category .category-list li .img-box{width:100%;height:100%;line-height:3.85rem;text-align:center;overflow:hidden;font-size:0}.hot-category .category-list li .img-box img{vertical-align:middle;width:100%;height:100%;max-width:100%;max-height:100%}.hot-category .category-list li .category-title{line-height:.55rem;color:#aaa;font-size:.45rem;text-align:center}.home-header{height:2.25rem;line-height:2.25rem;background-image:-webkit-linear-gradient(#323232,#414141);background-image:linear-gradient(#323232,#414141);position:relative}.home-header .iconfont{color:#fff}.home-header .nav-btn{position:absolute;left:0;top:0;bottom:0;z-index:2;padding:0 .8rem}.home-header .logo{display:block;margin:0 auto;width:5.2rem;height:2.175rem;background:url(../assets/img/yohologo02.png) no-repeat 50%;background-size:100%}.home-header .logo.animate{background:url(../assets/img/yohologo01.png) no-repeat 50%;background-size:100%}.home-header .search-btn{position:absolute;right:0;top:0;width:2.25rem;height:2.25rem;text-align:center}.home-header .search-btn a{display:block;color:#fff;font-size:20px;line-height:2.25rem}.home-header .iconfont.highlight{background:hsla(0,0%,78%,.4)}.girls-wrap .home-header{background:#ff88ae}.kids-wrap .home-header{background:#7ad9f9}.lifestyle-wrap .home-header{background:#4f4138}.kids-wrap .logo{font-style:italic;font-family:helvetica,Arial,榛戜綋;font-weight:700;color:#fff}#thumb-row{background-color:#f0f0f0;text-align:center;padding:.8rem 0 0}#thumb-row .thumb-row-box{display:inline-block;width:6.875rem;height:4rem;border-radius:4px;background-size:100%;background-repeat:no-repeat;background-position:50%;margin:0 .36rem}.notice-wrap .trend{position:relative;box-sizing:border-box;float:left;width:4.25rem;height:1.8rem;background:no-repeat 50%;background-size:90%;background-color:#fff}.notice-wrap .trend:after{content:'';position:absolute;right:0;top:.4rem;width:1px;height:1rem;background:#eee}.notice-wrap .trend-imgae{width:3rem;margin-top:.625rem;margin-bottom:.625rem;vertical-align:middle}.notice-wrap .notice{box-sizing:border-box;float:left;padding:0 .75rem;background:#fff;width:11.75rem;height:1.8rem;overflow:hidden}.notice-wrap .notice .notice-item{display:block;width:100%;font-size:.6rem;line-height:1.8rem;color:#444;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notice-wrap .notice .notice-icon{display:inline-block;margin-right:.25rem;width:.7rem;height:.7rem;background-image:url(../assets/img/sprite.me.png);background-position:-1.85rem -5.15rem;background-size:6.5rem 6.2rem;vertical-align:middle}.notice-wrap .notice span.notice-icon{background-repeat:no-repeat!important}.fresh-swiper{position:relative;overflow:hidden}.fresh-swiper ul li{float:left;width:100%}.fresh-swiper ul li a,.fresh-swiper ul li img{display:block;width:100%;height:100%}.fresh-swiper .swiper-pagination{position:absolute;left:0;right:0;bottom:.5rem;text-align:center}.fresh-swiper .swiper-pagination .pagination-inner{display:inline-block}.fresh-swiper .swiper-pagination .pagination-inner span{display:inline-block;width:.35rem;height:.35rem;background:#fff;opacity:.5;margin:0 .225rem;border-radius:50%}.fresh-swiper .swiper-pagination .pagination-inner span.swiper-active-switch{opacity:1}.fresh-list-swiper{overflow:hidden;padding-bottom:.375rem;background-color:#fff;height:11.75rem}.fresh-list-swiper ul{box-sizing:border-box}.fresh-list-swiper li{float:left;width:6rem;margin:.5rem .25rem 0;border:none}.fresh-list-swiper li .img-box{width:100%;height:8rem;overflow:hidden;text-align:center;position:relative}.fresh-list-swiper li .img-box img{width:100%;height:8rem;vertical-align:middle;border:none;outline:none}.fresh-list-swiper li .fresh-info .fresh-name a{display:block;overflow:hidden;text-overflow:ellipsis;width:100%;white-space:nowrap;color:#444;line-height:1.2rem;font-size:.55rem}.fresh-list-swiper li .fresh-info .cur-price{color:#d62927;font-size:.55rem}.fresh-list-swiper li .fresh-info .old-price{margin:0 0 0 .25rem;color:#b0b0b0;text-decoration:line-through;font-size:.55rem}.fresh-list-swiper li .fresh-info .fresh-icon{background:#d62927;width:2.5rem;height:.825rem;display:block;margin:.2rem auto 0;color:#fff;text-align:center;border-radius:1rem;line-height:.825rem}.fresh-list-swiper li:first-child{margin-left:.5rem}.fresh-list-swiper li:last-child{margin-right:.5rem}.fresh-list{position:relative;padding:.375rem 0 0 .375rem}.coupon-area-page{max-width:16rem;overflow:hidden}.just-img{margin:0}.coupon-floor,.just-img{width:100%;float:left}.coupon-floor .floor-title{background-color:#fff;text-align:center;height:2.4rem;line-height:2.4rem;font-size:.75rem}.coupon-floor .floor-main{height:4.5rem;width:100%;background-size:100%;background-repeat:no-repeat;padding:.25rem .75rem;box-sizing:border-box;float:left}.coupon-floor .floor-main .main-left{float:left;width:11.675rem;height:4rem}.coupon-floor .floor-main .main-right-go,.coupon-floor .floor-main .main-right-receive,.coupon-floor .floor-main .main-right-use{float:right;width:2.825rem;height:4rem;position:relative}.coupon-floor .floor-main .main-right-go span,.coupon-floor .floor-main .main-right-receive span,.coupon-floor .floor-main .main-right-use span{background-repeat:no-repeat;background-size:contain}.coupon-floor .floor-main .main-right-go span.on-receive,.coupon-floor .floor-main .main-right-receive span.on-receive,.coupon-floor .floor-main .main-right-use span.on-receive{position:absolute;left:50%;top:1.25rem;margin-left:-.65rem;display:inline-block;width:1.3rem;height:1.35rem;background-image:url(../assets/img/coupon/click-txt.png)}.coupon-floor .floor-main .main-right-go span.received,.coupon-floor .floor-main .main-right-receive span.received,.coupon-floor .floor-main .main-right-use span.received{width:2.825rem;height:3.3rem;background-image:url(../assets/img/coupon/received.png);position:absolute;top:0;right:0}.coupon-floor .floor-main .main-right-go span.zero,.coupon-floor .floor-main .main-right-receive span.zero,.coupon-floor .floor-main .main-right-use span.zero{width:2.775rem;height:3.3rem;background-image:url(../assets/img/coupon/zero.png);position:absolute;top:0;right:0}.floor-mask{position:absolute;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);display:none;z-index:6}.floor-message{position:fixed;top:50%;left:50%;width:13.75rem;height:6.25rem;margin-left:-6.875rem;margin-top:-3.125rem;z-index:7;background-color:hsla(0,0%,98%,.92);display:none;border-radius:.25rem}.floor-message .coupon-message-content{border-bottom:1px solid #c5c5c5;height:4rem;text-align:center;line-height:4rem;font-size:.7rem}.floor-message .coupon-message-op{height:2.25rem;text-align:center;line-height:2.25rem;font-size:.8rem;color:#df6270}.floor-tooltip{position:fixed;top:50%;left:50%;width:5.5rem;height:3.5rem;margin-left:-2.75rem;margin-top:-1.75rem;z-index:8;background-color:rgba(60,60,60,.7);display:none;border-radius:.2rem;color:#fff}.floor-tooltip .icon-box{height:2.1rem;line-height:2.1rem;text-align:center}.floor-tooltip .icon-msg{height:1.4rem;text-align:center}.mobile-container{width:100%;overflow:hidden}.mobile-wrap{position:relative;z-index:2;background:#f0f0f0;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s}.mobile-wrap.menu-open{-webkit-transform:translateX(13.5rem);transform:translateX(13.5rem)}.overlay{display:none;position:absolute;top:0;left:0;right:0;bottom:0;background:#000;z-index:4;-webkit-transition:opacity 1s;transition:opacity 1s}.overlay.show{display:block;opacity:.3}.yoho-channel-page .brands-list .brands-title{display:none}.brand-page .re-pos-search{top:4.25rem!important}.brand-page .hide-when-loading{display:none}.brand-page .genderNav{display:block;width:100%;height:2rem;line-height:2rem;overflow:hidden;color:#aeaeae;z-index:3;position:fixed;top:2.25rem;border-bottom:1px solid #e1e1e1;background-color:#fff}.brand-page .genderNav ul{width:100%;height:90%;overflow:hidden}.brand-page .genderNav ul li{width:25%;height:100%;overflow:hidden;float:left;text-align:center;position:relative;font-size:.7rem}.brand-page .genderNav ul li i{width:100%;height:40%;overflow:hidden;display:block}.brand-page .genderNav ul li span:not(.split-border){width:100%;height:auto;overflow:hidden;display:block}.brand-page .genderNav ul li .split-border{display:inline-block;width:.05rem;height:1rem;background-color:#e1e1e1;position:absolute;top:30%;right:0}.brand-page .genderNav ul li:last-child .split-border{display:none}.brand-page .genderNav ul li.active{color:#444}.brand-page .brandNav{display:block;width:100%;height:2rem;line-height:2rem;overflow:hidden;color:#aeaeae;z-index:3;border-top:.75rem solid #f4f4f4;background-color:#fff;border-bottom:1px solid #f4f4f4}.brand-page .brandNav ul{width:100%;height:90%;overflow:hidden}.brand-page .brandNav ul li{width:33%;height:100%;overflow:hidden;float:left;text-align:center;position:relative;font-size:.7rem}.brand-page .brandNav ul li i{width:100%;height:40%;overflow:hidden;display:block}.brand-page .brandNav ul li span:not(.split-border){width:100%;height:auto;overflow:hidden;display:block}.brand-page .brandNav ul li .split-border{display:inline-block;width:.05rem;height:1rem;background-color:#e1e1e1;position:absolute;top:30%;right:0}.brand-page .brandNav ul li:last-child .split-border{display:none}.brand-page .brandNav ul li.active{color:#444}.brand-page .newbrand-search{width:93.75%;height:1.5rem;padding:.35rem 3.125%;background-color:#f8f8f8;left:0;top:2.25rem;position:fixed;z-index:2}.brand-page .newbrand-search .search-box{position:relative;width:12.5rem;height:1.5rem;background-color:#fff;border-radius:.75rem;padding:0 .8rem 0 1.3rem}.brand-page .newbrand-search .search-box a{width:100%;height:1.5rem;border:0;display:block}.brand-page .newbrand-search .search-box a span{line-height:1.5rem;color:#bdbdbd;font-size:1.2em;padding-left:.45rem}.brand-page .newbrand-search .search-box .search-icon{position:absolute;font-size:.6rem;top:0;left:.6rem;line-height:1.5rem;color:#bdbdbd}.brand-page .newbrand-search .search-box .search-input{border:none;width:95%;height:1.5rem;font-size:1.2em;padding:0 .25rem}.brand-page .newbrand-search .search-box .search-action{display:none;position:absolute;top:0;right:-1.85rem;font-size:.8rem;line-height:1.5rem;color:#666}.brand-page .newbrand-search .search-box .cancel-btn{display:inline;font-size:.7rem;vertical-align:middle;color:#666}.brand-page .newbrand-search .search-box .clear-text{margin-right:.5rem}.brand-page .banner-top{padding-top:6.45rem;background-color:#f8f8f8}.brand-page .hot-brands{padding-top:4.45rem;border-top:.75rem solid #f4f4f4}.brand-page .hot-brands .floor-header{padding:0}.brand-page .hot-brands .brands-swiper{border-top:0}.brand-page .hot-brand{margin:.75rem 0 0}.brand-page .hot-brand .hot-brand-list{background:#fff}.brand-page .hot-brand .hot-brand-list li{float:left;width:3.95rem;height:3.95rem}.brand-page .hot-brand .hot-brand-list li .img-box{display:table-cell;vertical-align:middle;text-align:center;width:3.95rem;height:3.95rem}.brand-page .hot-brand .hot-brand-list li img{max-width:3.5rem;max-height:3.5rem}.brand-page .brand-list{width:100%}.brand-page .brand-list .title-bar{width:100%;background:#eee;color:#999;position:relative}.brand-page .brand-list .title-bar h2{padding:0 .5rem;height:1.25rem;line-height:1.25rem;font-size:.85rem;border-top:1px solid #e6e6e6;background-color:#f4f4f4}.brand-page .brand-list p{cursor:pointer;padding:0 .5rem}.brand-page .brand-list p a{display:block;height:1.9rem;line-height:1.9rem;font-size:.7rem;border-bottom:1px solid #f3f3f3;border-top:1px solid #f9f9f9}.brand-page .brand-list p a i{display:inline-block;margin-top:-.1rem;width:2.7rem;height:1.05rem;text-align:center;vertical-align:middle;font-size:.7rem;line-height:1.1rem;color:#fff;border-radius:1.25rem;-webkit-transform:scale(.8);transform:scale(.8)}.brand-page .brand-list p a .icon-hot{background:red}.brand-page .brand-list p a .icon-new{background:#86c048}.brand-page .branding-wall{padding:0;width:98%;margin-left:1%}.brand-page .brand-wall-box{margin-top:.5rem;width:32%;display:inline-block}.brand-page .brand-name{margin-top:.25rem;text-align:center;vertical-align:middle;font-size:.6rem;line-height:1.75rem;height:1.75rem;overflow:hidden;color:#b8b8b8}.brand-page .right-bar{width:1.5rem;height:75%;top:20%;overflow:auto;position:fixed;right:.05rem;border-radius:.3rem;background:rgba(0,0,0,.8);z-index:2;display:none}.brand-page .right-bar b{height:.9rem;line-height:.9rem;text-align:center;display:block;color:#999;font-weight:700}.brand-page .right-bar::-webkit-scrollbar{display:none}.brand-page .con{padding-top:.25rem}.brand-page .search-result{padding-top:4.125rem}.category-page{font-size:.75rem}.category-page .search-input{position:relative;background-color:#f8f8f8;padding:.325rem .5rem}.category-page .search-input p{box-sizing:border-box;width:100%;height:1.5rem;line-height:1.5rem;border:none;padding-left:1.65rem;border-radius:1.5rem;font-size:.65rem;background:#fff;color:#999}.category-page .search-icon{position:absolute;top:0;bottom:0;left:1.075rem;line-height:2.15rem;color:#999}.category-page .category-nav{height:1.75rem;border-bottom:1px solid #e6e6e6}.category-page .category-nav li{display:block;box-sizing:border-box;float:left;height:100%;padding:.5rem 0;width:25%;text-align:center;color:#999}.category-page .category-nav li:last-child{border-right:none}.category-page .category-nav li.focus{color:#000}.category-page .category-nav li.bytouch{background:#eee}.category-page .category-nav span{display:block;width:100%;height:.75rem;line-height:.75rem;font-size:.75rem;border-right:1px solid #e6e6e6}.category-page .category-nav li:last-child span{border-right:0}.category-page .content{background:#f8f8f8}.category-page .content.hide{display:none}.category-page .primary-level{float:left;box-sizing:border-box;width:45%}.category-page .primary-level>li{height:2.225rem;line-height:2.225rem;padding:0 .8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.category-page .primary-level>li.focus{background-color:#fff}.category-page .primary-level>li.highlight{background-color:#eee}.category-page .sub-level-container{float:left;box-sizing:border-box;background:#fff;width:55%;height:100%}.category-page .sub-level{width:100%}.category-page .sub-level>li{box-sizing:border-box;height:2.225rem;line-height:2.225rem;border-bottom:1px solid #e6e6e6;padding-left:.5rem}.category-page .sub-level>li.highlight{background:#eee}.category-page .sub-level>li:last-child{border-bottom:none}.category-page .sub-level a{display:block;height:100%;width:100%;color:#000}.category-page .sub-level.hide{display:none}.my-page{background:#f0f0f0}.my-page,.my-page a{color:#444}.my-page .user-info{display:block;position:relative;padding:0 .75rem;color:#fff;font-size:.85rem;line-height:4.2rem;height:4.2rem;background:url(../assets/img/me/index/header-bg.jpg);background-size:cover}.my-page .user-info .user-avatar{float:left;position:relative;top:.4rem;width:3.15rem;height:3.15rem;border-radius:50%;border:.15rem solid #a7a8a9;background-image:url(../assets/img/me/index/user-avatar.png);background-size:100%}.my-page .user-info .username{float:left;padding:0 .4rem;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:6.5rem}.my-page .user-info .vip-icon{display:inline-block;width:1.8rem;height:.8rem;vertical-align:middle}.my-page .user-info .vip-3{background-position:-4.4rem -4.275rem}.my-page .user-info .vip-2,.my-page .user-info .vip-3{background-image:url(../assets/img/sprite.me.png);background-size:6.5rem 6.2rem}.my-page .user-info .vip-2{background-position:-4.7rem -3.05rem}.my-page .user-info .vip-1{background-image:url(../assets/img/sprite.me.png);background-position:-2.6rem -4.275rem;background-size:6.5rem 6.2rem}.my-page .user-info .more-icon{position:absolute;top:1rem;right:.75rem;width:2.2rem;height:2.2rem;line-height:2.2rem;text-align:center}.my-page .user-info .more-icon.highlight{background:hsla(0,0%,78%,.1)!important}.my-page .login-btn{display:block;position:absolute;top:1rem;left:4.85rem;width:6.1rem;height:2.05rem;line-height:2.05rem;color:#fff;border:.1rem solid #fff;text-align:center}.my-page .my-link{padding:.15rem 0;text-align:center;background:rgba(0,0,0,.8);height:1.9rem}.my-page .my-link .link-item{position:relative;float:left;color:#fff;font-size:.7rem;width:5.3rem}.my-page .my-link .link-item p{font-size:.6rem}.my-page .my-link .link-item.highlight{background:hsla(0,0%,78%,.1)!important}.my-page .my-link .link-item:after{content:'';position:absolute;right:0;top:.6rem;width:0;height:1.1rem;border-right:1px solid #fff}.my-page .my-link .link-item:last-of-type:after{content:none}.my-page .my-link.no-login{padding:0;height:2.2rem}.my-page .my-link.no-login .link-item p{font-size:.8rem;line-height:2.2rem}.my-page .notice{margin-bottom:.75rem;padding:0 .75rem;background:#fff;height:1.8rem;overflow:hidden}.my-page .notice .notice-item{display:block;width:100%;font-size:.6rem;line-height:1.8rem;color:#444;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.my-page .notice .notice-icon{display:inline-block;margin-right:.25rem;width:.7rem;height:.7rem;background-image:url(../assets/img/sprite.me.png);background-position:-1.85rem -5.15rem;background-size:6.5rem 6.2rem;vertical-align:middle}.my-page .my-order{margin-bottom:.75rem;border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0;background:#fff}.my-page .my-order .order-title{display:block;padding:0 .75rem;font-size:16px;line-height:2.2rem}.my-page .my-order .order-title span{color:#e0e0e0;float:right}.my-page .my-order .order-title.highlight{background:#eee}.my-page .my-order .order-type{padding:.5rem .75rem;text-align:center;border-top:1px solid #e0e0e0}.my-page .my-order .order-type .type-item{position:relative;float:left;color:#444;font-size:14px;line-height:1.5;width:4.825rem}.my-page .my-order .order-type .type-item .num{position:absolute;top:-.6rem;right:.9rem;width:1.8rem;height:1.8rem;font-size:1rem;line-height:1.8rem;color:#fff;background:#f03d35;text-align:center;border-radius:50%;-webkit-transform:scale(.5);transform:scale(.5)}.my-page .my-order .order-type .type-item.highlight{background:#eee}.my-page .my-order .order-type .iconfont{font-size:1rem}.my-page .group-list{margin-bottom:.75rem;border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0;background:#fff}.my-page .group-list .list-item{display:block;position:relative;padding:0 .75rem;font-size:16px;line-height:2.2rem}.my-page .group-list .list-item .opinion{width:1.3rem;height:1.3rem;overflow:hidden;display:inline-block;background-image:url(../assets/img/sprite.me.png);background-position:-4.7rem -1.8rem;background-size:6.5rem 6.2rem;position:relative;top:.36rem;margin-right:.3rem}.my-page .group-list .list-item.highlight{background:#eee}.my-page .group-list .list-item:after{content:'';position:absolute;right:0;bottom:0;width:13.5rem;height:0;border-top:1px solid #e0e0e0}.my-page .group-list .list-item:last-child:after{content:none}.my-page .group-list .icon{margin-right:.25rem;font-size:1.25rem;vertical-align:top}.my-page .group-list .num{color:#e0e0e0;float:right}.vip-grade-page{background:#f0f0f0;padding-bottom:.75rem}.vip-grade-page .block{padding:0 .75rem;margin-bottom:.75rem;border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0;background:#fff}.vip-grade-page .basic-info{padding-top:.75rem;padding-bottom:.625rem}.vip-grade-page .basic-info p{width:100%;height:auto;overflow:hidden;display:block}.vip-grade-page .basic-info span{overflow:hidden}.vip-grade-page .basic-info .user-name{float:left;max-width:6rem;text-overflow:ellipsis;white-space:nowrap;font-size:.625rem;margin-right:.5rem}.vip-grade-page .basic-info .vip-icon{float:left;width:1.8rem;height:.8rem;line-height:.9rem}.vip-grade-page .basic-info .vip-3{background-position:-4.4rem -4.275rem}.vip-grade-page .basic-info .vip-2,.vip-grade-page .basic-info .vip-3{background-image:url(../assets/img/sprite.me.png);background-size:6.5rem 6.2rem}.vip-grade-page .basic-info .vip-2{background-position:-4.7rem -3.05rem}.vip-grade-page .basic-info .vip-1{background-image:url(../assets/img/sprite.me.png);background-position:-2.6rem -4.275rem;background-size:6.5rem 6.2rem}.vip-grade-page .basic-info .grade-desc{margin-top:.5rem;font-size:.55rem;color:#b0b0b0}.vip-grade-page .basic-info .sum-cost{font-size:.55rem}.vip-grade-page .basic-info .sum-cost>span{font-style:italic;font-size:.7rem;color:#d1021c}.vip-grade-page .basic-info .progresser{position:relative;width:100%;height:.5rem;padding:.5rem 0}.vip-grade-page .basic-info .outer{height:.5rem;background:#e6e6e6;border-radius:.25rem}.vip-grade-page .basic-info .inner{position:absolute;top:.5rem;height:.5rem;background:#d1021c;border-radius:.25rem}.vip-grade-page .basic-info .beacon{position:absolute;margin-top:.125rem;font-style:italic}.vip-grade-page .basic-info .beacon-max{right:0}.vip-grade-page .basic-info .cost-limit{position:absolute;top:-.125rem;right:0;color:#b0b0b0}.vip-grade-page .basic-info .cost-gap{color:#000;margin:0 .2rem}.vip-grade-page .basic-info .sub-desc{display:block}.vip-grade-page .cost{padding:0 0 0 .75rem}.vip-grade-page .cost li{height:2.25rem;line-height:2.25rem;font-size:.75rem;padding-right:0}.vip-grade-page .cost li>span{float:right;padding:0 .75rem 0 0}.vip-grade-page .cost li:first-child{border-bottom:1px solid #e0e0e0}.vip-grade-page .privilege{padding-right:0;padding-bottom:1rem}.vip-grade-page .privilege .title{height:2.25rem;line-height:2.25rem;font-size:.75rem;border-bottom:1px solid #e0e0e0}.vip-grade-page .all-privilege{display:block;height:2.25rem;line-height:2.25rem;font-size:.75rem;margin-bottom:0}.vip-grade-page .all-privilege .iconfont{float:right;color:#e0e0e0}.vip-privilege-page{padding:0 .5rem}.privilege-list{background:#fff}.privilege-list .icon{float:left;display:block;width:1.75rem;height:1.75rem}.privilege-list li{height:1.75rem;padding:.625rem 0}.privilege-list P{font-size:.7rem;margin-left:2.5rem}.privilege-list span{display:block;color:#b0b0b0;font-size:.55rem}.order-page{background:#f0f0f0}.order-page .reason-mask{position:fixed;width:100%;height:100%;left:0;top:0;background:rgba(0,0,0,.5);z-index:5;visibility:hidden}.order-page .reason-mask .reason-box{border-bottom:1px solid #ccc;font:inherit;vertical-align:baseline;position:absolute;left:50%;top:50%;margin-left:-6.75rem;margin-top:-7.25rem;width:13.5rem;height:14.5rem;color:#444;background:#fff;border-radius:.25rem;padding-bottom:.5rem}.order-page .reason-mask .reason-box .box-head{height:1.5rem;line-height:1.5rem;text-align:right;font-size:.9rem;background:#f0f0f0;padding-right:.75rem}.order-page .reason-mask .reason-box .box-main{background:#fff;padding:.5rem;height:12rem}.order-page .reason-mask .reason-box li{text-align:center;background:#fff;color:rgba(0,0,0,.5);font-size:.95rem}.order-page .reason-mask .reason-box .swiper-slide-active{padding-top:0;font-style:normal;border-top:1px solid #dfe0e0;border-bottom:1px solid #dfe0e0;font-size:.95rem;color:#000;height:1.95rem!important;line-height:1.95rem}.order-page .reason-mask .reason-box .swiper-slide{line-height:1.75rem}.order-page .order{position:relative;display:block;background:#fff;margin:.75rem 0;border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0}.order-page .order .footer,.order-page .order .header{height:2.25rem;line-height:2.25rem;font-size:.75rem;padding:0 .75rem}.order-page .order .header{border-bottom:1px solid #e0e0e0}.order-page .order .order-status{float:right}.order-page .order .footer{text-align:right;border-top:1px solid #e0e0e0}.order-page .order .sum-cost{color:#e01;margin-left:.125rem}.order-page .order .order-opt{padding:.75rem 0;padding-right:.75rem;border-top:1px solid #e0e0e0;text-align:right}.order-page .order .order-opt .btn{display:inline-block;box-sizing:border-box;height:1.5rem;line-height:1.5rem;width:3.5rem;font-size:.6rem;text-align:center;border:1px solid #000;border-radius:5px}.order-page .order .order-opt .pay{background:#d0021b;color:#fff;border:none;margin-left:.5rem}.order-page .order .order-opt .count-down{list-style:none;padding:0;display:inline-block;text-align:right;font-size:.6rem;color:#b0b0b0;float:left;margin-left:.75rem;margin-top:.5rem}.order-page .order .order-opt .count-down .count-down-icon{margin-top:-.2rem;font-size:.75rem}.order-page .order .order-opt .count-down li{display:inline-block}.order-page .order .order-opt .count-down li span{font-size:.6rem;line-height:.6rem}.order-page .order .order-opt .count-down.hide{display:none}.order-page .order:last-child{margin-bottom:0}.order-page .no-order{position:absolute;background:#fff;text-align:center;top:50%;margin-top:-5.5rem;width:100%}.order-page .no-order .icon{width:3.825rem;height:4.9rem;background:url(../assets/img/me/no-order.png) no-repeat;background-size:100%;margin:0 auto}.order-page .no-order span{display:block;color:#444;font-size:.6rem;margin:.75rem 0 2rem}.order-page .no-order .walk-way{display:block;height:2rem;line-height:2rem;width:70%;margin:0 auto;text-align:center;font-size:.75rem;color:#fff;background:#444;border-radius:5px}.order-nav{border-bottom:1px solid #e0e0e0;background:#fff}.order-nav a{display:block;height:100%;width:100%;color:#b0b0b0}.order-nav>li{float:left;height:2.25rem;width:25%;line-height:2.25rem;color:#b0b0b0;font-size:.65rem;text-align:center}.order-nav>li.active a{color:#000}.order-good{position:relative;padding:.5rem 0;margin-left:.85rem;height:4rem;border-bottom:1px solid #e0e0e0;font-size:.65rem}.order-good .thumb-wrap{position:relative;float:left;width:3rem;height:4rem}.order-good .thumb{width:100%;height:100%}.order-good .tag{position:absolute;bottom:0;left:0;right:0;color:#fff;text-align:center;font-size:.3rem}.order-good .tag:before{display:block;line-height:1;-webkit-transform:scale(.833);transform:scale(.833)}.order-good .gift-tag{height:.625rem;background:#a1ce4e}.order-good .gift-tag:before{content:'赠品'}.order-good .advance-buy-tag{height:.625rem;background:#eb76aa}.order-good .advance-buy-tag:before{content:'加价购'}.order-good .deps{margin-left:3.375rem}.order-good .name{font-size:.7rem;max-width:70%;text-overflow:-o-ellipsis-lastline;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.order-good .row:nth-child(2){height:1.125rem;line-height:1.125rem}.order-good .row:nth-child(2)>span{margin-right:.375rem}.order-good .color,.order-good .size{color:#b6b6b6}.order-good .price-wrap{position:absolute;top:.5rem;right:.75rem;text-align:right}.order-good .price{color:#e01}.order-good .count{display:block;color:#999;text-align:right;line-height:1.125rem}.order-good .appear-date{color:red}.order-good:last-child{border-bottom:none}.order-detail-page{background:#f0f0f0}.order-detail-page .block{position:relative;background:#fff;padding:.5rem .75rem}.order-detail-page .block .iconfont{position:absolute;left:.75rem;top:50%;font-size:1rem;margin-top:-.75rem}.order-detail-page .sub{position:relative}.order-detail-page .sub .iconfont{left:0}.order-detail-page .logistics{display:block}.order-detail-page .logistics .icon-right{right:.625rem;left:auto;color:#b0b0b0}.order-detail-page .logistics .sub-content{border-top:1px solid #e0e0e0;margin-top:.5rem;padding-top:.5rem}.order-detail-page .owner-info{border-bottom:1px solid #e0e0e0;line-height:1.5}.order-detail-page .range{background-image:url(../assets/img/me/rang.png);background-size:cover;width:16rem;height:.5rem;background-color:#fff}.order-detail-page .beside-icon{margin-left:1.5rem}.order-detail-page .name-phone{font-size:.75rem}.order-detail-page .name-phone span{float:right}.order-detail-page .address{font-size:.6rem;margin-top:.25rem}.order-detail-page .rest{display:none;position:relative;width:100%;text-align:right;color:red;font-size:.6rem}.order-detail-page .rest .iconAddress{position:static;font-size:.6rem}.order-detail-page .order-status{margin:.5rem 0;border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0;padding-right:0}.order-detail-page .sub-content span{display:block;color:#b0b0b0;font-size:.6rem}.order-detail-page .sub-content .sub-title{display:block;color:#000;font-size:.7rem}.order-detail-page .goods{padding:0;margin-top:.5rem;border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0}.order-detail-page .cost li{font-size:.7rem}.order-detail-page .cost li span{float:right}.order-detail-page .cost li:last-child span{color:red}.order-detail-page .dollar{background:#fff;padding:.5rem .75rem;height:1.5rem;line-height:1.5rem;font-size:.7rem}.order-detail-page .dollar .bg-dollar{display:inline-block;width:.6rem;height:.6rem;background-image:url(../assets/img/sprite.me.png);background-position:-2.425rem -5.15rem;background-size:6.5rem 6.2rem;vertical-align:middle}.order-detail-page .opt{text-align:right;border-top:1px solid #e0e0e0}.order-detail-page .btn{display:inline-block;box-sizing:border-box;width:3.5rem;height:1.5rem;line-height:1.5rem;border-radius:5px;font-size:.65rem;text-align:center;border:1px solid #000}.order-detail-page .btn-pay{color:#fff;border:none;background:#d0021b;margin-left:.25rem;font-size:.6rem}.order-detail-page .count-down{list-style:none;padding:0;display:inline-block;text-align:right;font-size:.6rem;color:#b0b0b0;float:left;margin-left:.75rem;margin-top:.5rem}.order-detail-page .count-down .count-down-icon{margin-top:-.2rem;font-size:.75rem}.order-detail-page .count-down li{display:inline-block}.order-detail-page .count-down li span{font-size:.6rem;line-height:.6rem}.order-detail-page .count-down.hide{display:none}.order-detail-page .reason-mask{position:fixed;width:100%;height:100%;left:0;top:0;background:rgba(0,0,0,.5);z-index:5;visibility:hidden}.order-detail-page .reason-mask .reason-box{border-bottom:1px solid #ccc;font:inherit;vertical-align:baseline;position:absolute;left:50%;top:50%;margin-left:-6.75rem;margin-top:-7.25rem;width:13.5rem;height:14.5rem;color:#444;background:#fff;border-radius:.25rem;padding-bottom:.5rem}.order-detail-page .reason-mask .reason-box .box-head{height:1.5rem;line-height:1.5rem;text-align:right;font-size:.9rem;background:#f0f0f0;padding-right:.75rem}.order-detail-page .reason-mask .reason-box .box-main{background:#fff;padding:.5rem;height:12rem}.order-detail-page .reason-mask .reason-box li{text-align:center;background:#fff;color:rgba(0,0,0,.5);font-size:.95rem}.order-detail-page .reason-mask .reason-box .swiper-slide-active{padding-top:0;font-style:normal;border-top:1px solid #dfe0e0;border-bottom:1px solid #dfe0e0;font-size:.95rem;color:#000;height:1.95rem!important;line-height:1.95rem}.order-detail-page .reason-mask .reason-box .swiper-slide{line-height:1.75rem}.my-coupon-page .employ{width:100%;height:2.25rem;border-bottom:1px solid #e0e0e0;position:relative}.my-coupon-page .employ span{width:49%;height:1.2rem;line-height:1.2rem;overflow:hidden;border-right:2px solid #e0e0e0;margin:.525rem 0;float:left;text-align:center;font-size:.8rem;color:#b0b0b0}.my-coupon-page .employ span:last-of-type{border:none}.my-coupon-page .employ span.active{color:#444}.my-coupon-page .coupon-list{width:100%;height:auto;overflow:hidden}.my-coupon-page .coupon-list .employ-main{display:block;width:90.625%;height:4.5rem;overflow:hidden;margin:.75rem auto;background-image:url(../assets/img/me/employ/employ.jpg);background-position:top;background-repeat:no-repeat;background-size:100% 100%;color:#fff;position:relative}.my-coupon-page .coupon-list .employ-main span{width:34.482759%;height:100%;float:left;text-align:center;line-height:4.5rem;font-size:2.15rem}.my-coupon-page .coupon-list .employ-main p{width:59.517241%;height:auto;margin:0 .3rem;float:left}.my-coupon-page .coupon-list .employ-main p:first-of-type{margin-top:.75rem;font-size:.685rem;height:auto;min-height:2rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.my-coupon-page .coupon-list .employ-main i{width:100%;height:100%;overflow:hidden;display:block;position:absolute;top:0;left:0;background:url(../assets/img/me/employ/employsy.png) 100% 0 no-repeat;background-size:auto 100%}.my-coupon-page .coupon-list .employ-main.focus{background-image:url(../assets/img/me/employ/employ-red.jpg)}.my-coupon-page .coupon-list .null{width:100%;height:auto;overflow:hidden;position:absolute;left:0;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.my-coupon-page .coupon-list .null i{width:100%;height:3rem;overflow:hidden;display:block;background:url(../assets/img/me/employ/not.png) top no-repeat;background-size:auto 100%}.my-coupon-page .coupon-list .null p{width:100%;height:auto;overflow:hidden;padding:.5rem 0 0;font-size:.8rem;text-align:center;color:#444}.my-coupon-page .coupon-list .null a{width:73.75%;height:2rem;overflow:hidden;font-size:.9rem;line-height:2rem;display:block;background:#444;color:#fff;text-align:center;margin:1.5rem auto 0;border-radius:.2rem}.my-coupon-page .none{display:none}.personal-details{width:100%;height:auto;overflow:hidden;margin-top:.5rem;background-color:#fff;border-bottom:1px solid #e0e0e0}.personal-details ul{width:95%;height:auto;overflow:hidden;float:right}.personal-details ul li{height:2rem;border-bottom:1px solid #e0e0e0}.personal-details ul li .user-avatar{width:100%;height:100%;background-image:url(../assets/img/me/index/user-avatar.png);background-size:100%}.personal-details ul li>span{width:42%;height:100%;line-height:2rem;font-size:.8rem;margin-right:8%;float:left;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.personal-details ul li>span .head-portrait{width:2.25rem;height:2.25rem;overflow:hidden;float:right;border-radius:50%;border:1px solid #eee}.personal-details ul li>span .grade{width:100%;height:100%;overflow:hidden;display:block;position:relative}.personal-details ul li>span .grade i{width:1.8rem;height:.8rem;overflow:hidden;display:block;position:absolute;right:1rem;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.personal-details ul li>span .grade span{color:#b0b0b0}.personal-details ul li>span .vip-3{background-position:-4.4rem -4.275rem}.personal-details ul li>span .vip-2,.personal-details ul li>span .vip-3{background-image:url(../assets/img/sprite.me.png);background-size:6.5rem 6.2rem}.personal-details ul li>span .vip-2{background-position:-4.7rem -3.05rem}.personal-details ul li>span .vip-1{background-image:url(../assets/img/sprite.me.png);background-position:-2.6rem -4.275rem;background-size:6.5rem 6.2rem}.personal-details ul li>span:first-of-type{color:#444}.personal-details ul li>span:last-of-type{color:#b0b0b0;text-align:right}.personal-details ul li:first-of-type{height:2.5rem;line-height:2.5rem}.personal-details ul li:last-of-type{border-bottom:none}.yoho-coin-page .coin-num{font-size:1.4em;text-align:center}.yoho-coin-page .coin-num em{font-size:4em;color:red}.yoho-coin-page .coin-num span{width:100%;height:auto;overflow:hidden;display:block;color:#b0b0b0;margin-top:-.6rem}.yoho-coin-page .check{width:100%;height:auto;overflow:hidden;text-align:center;margin-top:.6rem;padding-bottom:1rem;border-bottom:1px solid #b0b0b0}.yoho-coin-page .check a{line-height:1.2rem;border:1px solid #444;width:30%;height:100%;font-size:1.2em;display:inline-block;border-radius:.6rem}.yoho-coin-page section p{line-height:1.5em}.yoho-coin-page .title{font-size:.4rem;line-height:.5rem;font-weight:700}.yoho-coin-page .sub-title{display:block;font-size:.35rem;line-height:.7rem;font-weight:700}.yoho-coin-page .path{color:#f60}.yoho-coin-page .remark{color:#666}.yoho-coin-page .remark span{color:#9c3}.yoho-favorite-page{width:100%;height:auto}.yoho-favorite-page .fav-tab{width:100%;height:2.2rem;line-height:2.2rem;border-bottom:1px solid #e0e0e0;color:#b0b0b0;font-size:.65rem}.yoho-favorite-page .fav-tab li{width:50%;height:100%;float:left;text-align:center}.yoho-favorite-page .fav-tab li.active{color:#444}.yoho-favorite-page .fav-tab li:nth-last-of-type(1){float:right;position:relative}.yoho-favorite-page .fav-tab li:nth-last-of-type(1):after{content:'';display:block;width:1px;height:1.1rem;position:absolute;left:0;top:.55rem;background:#b0b0b0}.yoho-favorite-page .fav-content .fav-type{display:none}.yoho-favorite-page .fav-content .show{display:block}.yoho-favorite-page .fav-content .fav-null{font-size:.55rem;color:#444;display:block;margin-top:2.5rem;text-align:center}.yoho-favorite-page .fav-content .fav-null:before{content:'';display:block;width:4.7rem;height:4.275rem;background:url(../assets/img/me/fav/fav-null.png);background-size:100% 100%;margin:0 auto 1.125rem}.yoho-favorite-page .fav-content .go-shopping{width:11.8rem;height:2.2rem;line-height:2.2rem;margin:2rem auto 0;background:#444;text-align:center;color:#fff;display:block;font-size:.65rem;border-radius:.2rem}.yoho-favorite-page .fav-content .fav-product-list{list-style:none;margin-left:.75rem}.yoho-favorite-page .fav-content .fav-product-list li{height:auto;overflow:hidden;margin-top:.5rem}.yoho-favorite-page .fav-content .fav-product-list .fav-img-box{width:2.25rem;height:3rem;float:left;margin-right:.6rem}.yoho-favorite-page .fav-content .fav-product-list .fav-img-box img{display:block;overflow:hidden;width:100%;height:100%}.yoho-favorite-page .fav-content .fav-product-list .fav-info-list{color:#444;font-size:.6rem;border-bottom:1px solid #e0e0e0;padding-bottom:.5rem;height:3rem;overflow:hidden;position:relative}.yoho-favorite-page .fav-content .fav-product-list .fav-info-list h2{width:10.75rem;text-overflow:ellipsis}.yoho-favorite-page .fav-content .fav-product-list .fav-info-list .fav-price .new-price{color:#d1021c}.yoho-favorite-page .fav-content .fav-product-list .fav-info-list .fav-price .price-underline{text-decoration:line-through;margin-left:.375rem;color:#b0b0b0}.yoho-favorite-page .fav-content .fav-product-list .fav-info-list .save-price{position:absolute;bottom:.5rem;left:0;width:100%;min-height:.6rem}.yoho-favorite-page .fav-content .fav-product-list .fav-info-list .save-price span{color:#d1021c}.yoho-favorite-page .fav-content .fav-product-list .fav-info-list .save-price span.sell-out{padding:.125rem .45rem;color:#fffefe;border-radius:.5rem;background:#7f7f7f;font-size:.55rem}.yoho-favorite-page .fav-content .fav-product-list .fav-info-list .save-price span.del-fav{width:2rem;height:1.5rem;line-height:1.5rem;position:absolute;top:50%;margin-top:-.75rem;right:0;color:#999;padding-right:.75rem;text-align:right}.yoho-favorite-page .fav-content .fav-product-list .fav-info-list .save-price.save-price-number{text-indent:1.05rem;color:#b0b0b0;padding-top:.075rem}.yoho-favorite-page .fav-content .fav-product-list .fav-info-list .save-price.save-price-number span{margin-left:.375rem}.yoho-favorite-page .fav-content .fav-product-list .fav-info-list .save-price.save-price-number .del-fav{text-indent:0;margin-left:0}.yoho-favorite-page .fav-content .fav-product-list .fav-info-list .save-price.save-price-number:before{content:'';display:block;background-image:url(../assets/img/sprite.me.png);background-position:-1.05rem -5.15rem;background-size:6.5rem 6.2rem;width:.8rem;height:.8rem;position:absolute;top:50%;left:0;margin-top:-.4rem}.yoho-favorite-page .fav-content .fav-brand-swiper{border-top:1px solid #e0e0e0;border-bottom:.7rem solid #f0f0f0;position:relative}.yoho-favorite-page .fav-content .fav-brand-swiper .swiper-header{height:2.5rem;padding:.5rem .75rem;display:inline-block;position:relative;width:100%;box-sizing:border-box}.yoho-favorite-page .fav-content .fav-brand-swiper .swiper-header .swiper-logo{height:100%;display:inline-block;float:left;margin-right:1.125rem}.yoho-favorite-page .fav-content .fav-brand-swiper .swiper-header .swiper-logo>img{max-height:100%;vertical-align:middle}.yoho-favorite-page .fav-content .fav-brand-swiper .swiper-header .brand-info{float:left}.yoho-favorite-page .fav-content .fav-brand-swiper .swiper-header .brand-info .brand-name{font-size:.7rem}.yoho-favorite-page .fav-content .fav-brand-swiper .swiper-header .brand-info .brand-name b{color:#b0b0b0;font-weight:400}.yoho-favorite-page .fav-content .fav-brand-swiper .swiper-header .brand-info .brand-update{font-size:.55rem}.yoho-favorite-page .fav-content .fav-brand-swiper .swiper-header .brand-info .brand-update b{color:#b0b0b0;font-weight:400}.yoho-favorite-page .fav-content .fav-brand-swiper .swiper-header .brand-info .brand-update .brand-new{color:#86bf4a;margin-right:.6rem}.yoho-favorite-page .fav-content .fav-brand-swiper .swiper-header .brand-info .brand-update .brand-discount{color:#d1021c}.yoho-favorite-page .fav-content .fav-brand-swiper .swiper-header .fav-more{width:2.5rem;height:2.5rem;position:absolute;top:0;right:0}.yoho-favorite-page .fav-content .fav-brand-swiper .swiper-header .fav-more:after{background-image:url(../assets/img/sprite.me.png);background-position:-5.95rem -1.8rem;background-size:6.5rem 6.2rem;width:.45rem;height:.725rem;position:absolute;top:50%;right:.75rem;margin-top:-.375rem;content:''}.yoho-favorite-page .fav-content .fav-brand-swiper .swiper-container{height:9.125rem;margin:0 .75rem}.yoho-favorite-page .fav-content .fav-brand-swiper .swiper-container .swiper-slide{width:5.625rem;height:100%;float:left;padding-right:.75rem}.yoho-favorite-page .fav-content .fav-brand-swiper .swiper-container .swiper-slide img{display:block;width:100%;height:7.5rem;overflow:hidden}.yoho-favorite-page .fav-content .fav-brand-swiper .swiper-container .swiper-slide .brand-product{height:1.625rem;line-height:1.625rem;text-align:center;font-size:.55rem}.yoho-favorite-page .fav-content .fav-brand-swiper .swiper-container .swiper-slide .brand-product .price-discount span{color:#d1021c}.yoho-favorite-page .fav-content .fav-brand-swiper .swiper-container .swiper-slide .brand-product .price-discount b{color:#b0b0b0;text-decoration:line-through;font-weight:400;margin-left:.325rem}.yoho-favorite-page .fav-content .fav-brand-swiper .swiper-container .swiper-slide:nth-last-of-type(1){padding-right:0}.yoho-favorite-page .fav-content .fav-brand-swiper:nth-of-type(1){border-top:0}.yoho-favorite-page .fav-content .fav-brand-swiper:after{content:'';position:absolute;left:0;bottom:-.05rem;border-top:1px solid #e0e0e0;display:block;width:100%;height:1px}.yoho-favorite-page .fav-brand-load-more,.yoho-favorite-page .fav-load-more{width:100%;height:2rem;line-height:2rem;text-align:center;color:#444}.yoho-favorite-page .fav-brand-load-more.load-background,.yoho-favorite-page .fav-content-loading,.yoho-favorite-page .fav-load-more.load-background{background:url(../assets/img/loading.gif) 50% no-repeat;background-size:auto 40%}.yoho-favorite-page .fav-content-loading{width:100%;height:2rem;position:absolute;top:50%;left:0;margin-top:-1rem}.yoho-suggest-page{width:100%;height:auto}.yoho-suggest-page .suggest-header{text-align:center;color:#fff;font-size:.65rem;line-height:1.15rem;overflow:hidden;padding-bottom:.5rem;background-image:-webkit-linear-gradient(#383838,#505050);background-image:linear-gradient(#383838,#505050)}.yoho-suggest-page .suggest-header:before{content:'';display:block;background-image:url(../assets/img/sprite.me.png);background-position:0 -4.275rem;background-size:6.5rem 6.2rem;width:2.6rem;height:.875rem;margin:.25rem auto .375rem}.yoho-suggest-page .suggest-content{border-top:1px solid #e0e0e0}.yoho-suggest-page .suggest-content .suggest-item{width:100%;color:#444;border-top:1px solid #e0e0e0;border-bottom:.75rem solid #f0f0f0;overflow:hidden}.yoho-suggest-page .suggest-content .suggest-item .suggest-item-img{width:100%;overflow:hidden}.yoho-suggest-page .suggest-content .suggest-item .suggest-item-img>img{margin:0 auto;display:block;max-width:100%}.yoho-suggest-page .suggest-content .suggest-item>h2{font-size:.95rem;margin:.75rem 0 .775rem;padding:0 .875rem}.yoho-suggest-page .suggest-content .suggest-item>p{font-size:.65rem;line-height:1.2rem;padding:0 .875rem}.yoho-suggest-page .suggest-content .suggest-item .suggest-type{margin-top:.725rem - .275rem;height:2.2rem;line-height:2.2rem;border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0;color:#b0b0b0;font-size:.65rem;display:none;text-align:center}.yoho-suggest-page .suggest-content .suggest-item .suggest-type>.active{color:#444}.yoho-suggest-page .suggest-content .suggest-item .suggest-type.suggest-active>div{width:50%;height:100%;float:left;text-align:left;padding-left:3.2rem;box-sizing:border-box}.yoho-suggest-page .suggest-content .suggest-item .suggest-type.suggest-active>div:nth-last-of-type(1){padding-left:0;padding-right:3.2rem;text-align:right;float:right}.yoho-suggest-page .suggest-content .suggest-item .suggest-type.suggest-active>div:nth-last-of-type(1)>span{display:inline-block;height:100%;overflow:hidden}.yoho-suggest-page .suggest-content .suggest-item .suggest-type.suggest-active>div:nth-last-of-type(1)>span:nth-of-type(1){-webkit-transform:rotate(180deg);transform:rotate(180deg)}.yoho-suggest-page .suggest-content .suggest-item .suggest-type.show{display:block}.yoho-suggest-page .suggest-content .suggest-item .suggest-type.suggest-bad>div>span{display:inline-block;height:100%;overflow:hidden}.yoho-suggest-page .suggest-content .suggest-item .suggest-type.suggest-bad>div>span:nth-of-type(1){-webkit-transform:rotate(180deg);transform:rotate(180deg)}.yoho-suggest-page .create-new-suggest{display:block;width:100%;height:2.2rem;line-height:2.2rem;text-align:center;font-size:.75rem;border-top:.75rem solid #f0f0f0;border-bottom:.75rem solid #f0f0f0;position:relative}.yoho-suggest-page .create-new-suggest .list-item{padding:0 .875rem}.yoho-suggest-page .create-new-suggest .new-right{float:right;margin-left:1rem;color:#e0e0e0}.yoho-suggest-page .create-new-suggest a{color:#444;display:inline-block}.yoho-suggest-sub-page{width:100%;background:#f0f0f0}.yoho-suggest-sub-page .suggest-sub-form{background:#fff;width:100%}.yoho-suggest-sub-page .suggest-sub-form #suggest-textarea{box-sizing:border-box;width:100%;max-width:100%;min-width:100%;height:6.375rem;max-height:6.375rem;min-height:6.375rem;padding:.75rem;font-size:.65rem;line-height:1.2rem;color:#000;display:block;background:#fff;border:none;outline:none;resize:none}.yoho-suggest-sub-page .suggest-sub-form .img-form{padding:0 .75rem;padding-top:1rem;overflow:hidden}.yoho-suggest-sub-page .suggest-sub-form .img-form .upload-img-list{float:left}.yoho-suggest-sub-page .suggest-sub-form .img-form .upload-img-list>li{display:block;width:3.25rem;height:3.25rem;float:left;margin-right:.75rem;background:url(../assets/img/loading.gif) 50% no-repeat;background-size:50%;position:relative}.yoho-suggest-sub-page .suggest-sub-form .img-form .upload-img-list>li>img{display:block;width:100%;height:100%;overflow:hidden}.yoho-suggest-sub-page .suggest-sub-form .img-form .upload-img-list>li>span{display:block;background-image:url(../assets/img/sprite.me.png);background-position:0 -5.15rem;background-size:6.5rem 6.2rem;width:1.05rem;height:1.05rem;position:absolute;top:-.525rem;right:-.525rem}.yoho-suggest-sub-page .suggest-sub-form .img-form .img-add{display:block;width:3.25rem;height:3.25rem;border:1px dashed #e0e0e0;position:relative;text-indent:-25rem;float:left}.yoho-suggest-sub-page .suggest-sub-form .img-form .img-add input[type=file]{position:absolute;opacity:.2;border:none;outline:none;display:block;width:3.25rem;height:3.25rem;top:0;left:0}.yoho-suggest-sub-page .suggest-sub-form .img-form .img-add:after{content:'';display:block;background-image:url(../assets/img/sprite.me.png);background-position:-4.7rem 0;background-size:6.5rem 6.2rem;width:1.8rem;height:1.8rem;position:absolute;top:50%;left:50%;margin-top:-.9rem;margin-left:-.9rem}.dialog-wrapper{background:rgba(0,0,0,.5);position:fixed;top:0;right:0;bottom:0;left:0;display:none}.dialog-wrapper .dialog-box{width:13.5rem;border-radius:.5rem;background:rgba(255,255,255,.8);position:absolute;left:50%;margin-left:-6.75rem;font-size:.75rem;text-align:center;color:#000}.dialog-wrapper .dialog-content{padding:1.5rem .75rem}.dialog-wrapper .dialog-footer{border-top:1px solid #ccc;height:2.2rem;line-height:2.2rem}.dialog-wrapper .dialog-footer>span{display:block;width:50%;height:100%;float:left;box-sizing:border-box}.dialog-wrapper .dialog-footer>span:nth-last-of-type(1){border-left:1px solid #ccc;color:#e01}.dialog-wrapper .dialog-footer>span:active{background-color:#ccc}.my-address-page{width:100%;background:#f0f0f0}.my-address-page .address-item{display:block;padding:.5rem .75rem;color:#b0b0b0;background:#fff;border-bottom:1px solid #e0e0e0}.my-address-page .address-item .name,.my-address-page .address-item .tel{font-size:.75rem;line-height:1.4rem;color:#444;font-weight:700}.my-address-page .address-item .name{display:inline-block;max-width:9.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.my-address-page .address-item .tel{float:right}.my-address-page .address-item .address-info{font-size:.6rem;line-height:.95rem}.my-address-page .address-item .action{font-size:.8rem;line-height:1.5rem;text-align:right}.my-address-page .address-item .action .del,.my-address-page .address-item .action .edit{display:inline-block;text-align:center;width:1.5rem;height:1.5rem;color:#999}.my-address-page .address-item .action .del:hover,.my-address-page .address-item .action .edit:hover{color:#666}.my-address-page .address-item .action .edit{margin-right:.5rem}.my-address-page .add-address{display:block;margin-top:.75rem;margin-bottom:.75rem;font-size:.8rem;line-height:2.2rem;color:#444;background:#fff;text-align:center;font-weight:700;border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0}.my-address-page .confim-mask{position:fixed;width:100%;height:100%;left:0;top:0;background:rgba(0,0,0,.5);z-index:5}.my-address-page .confim-box{position:absolute;left:50%;top:50%;margin-left:-6.75rem;margin-top:-3.6rem;width:13.5rem;text-align:center;color:#444;background:#fff;font-size:.8rem;font-weight:700;border-radius:.25rem}.my-address-page .confim-box .content{line-height:5rem}.my-address-page .confim-box .action{line-height:2.2rem;border-top:1px solid #e0e0e0}.my-address-page .confim-box .action span{display:inline-block;width:6.5rem}.my-address-page .confim-box .action span:first-child{border-right:1px solid #e0e0e0}.my-address-page .confim-box .confim{color:#d0021b}.my-edit-address-page{width:100%;color:#d0d0d0;background:#f0f0f0}.my-edit-address-page .edit-address{padding:0 .75rem;background:#fff;font-size:.75rem;line-height:2.2rem;border-bottom:1px solid #e0e0e0}.my-edit-address-page .edit-address label{display:block;position:relative}.my-edit-address-page .edit-address label .iconfont{position:absolute;right:0;top:0}.my-edit-address-page .edit-address label:after{content:"";position:absolute;right:-.75rem;bottom:0;width:15.25rem;height:0;border-top:1px solid #e0e0e0}.my-edit-address-page .edit-address label:last-of-type:after{content:none}.my-edit-address-page .edit-address input,.my-edit-address-page .edit-address textarea{-webkit-appearance:none}.my-edit-address-page .edit-address input,.my-edit-address-page .edit-address p,.my-edit-address-page .edit-address textarea{position:absolute;top:0;right:1rem;width:9rem;height:2.2rem;color:#444;padding:0;border:none}.my-edit-address-page .edit-address .address{height:4.4rem}.my-edit-address-page .edit-address textarea{right:0;width:10rem;height:1.45rem * 2;padding:.5rem 0;resize:none}.my-edit-address-page .submit{margin:.75rem auto 0;width:11.75rem;height:2.2rem;color:#fff;background:#444;text-align:center;font-size:.8rem;line-height:2.2rem}.my-edit-address-page .submit.highlight{background:rgba(0,0,0,.6)}.my-address-list-page{position:relative;width:100%;color:#444;background:#fff}.my-address-list-page li{padding:0 .75rem;font-size:.8rem;line-height:2.2rem;border-bottom:1px solid #e0e0e0}.my-address-list-page li .iconfont{float:right;color:#d0d0d0}.my-address-list-page li ul{display:none;position:absolute;top:0;left:0;background:#fff;width:100%}.my-address-list-page li.highlight{background:#eee}.modify-address-page .confim-modify-mask{position:fixed;width:100%;height:100%;left:0;top:0;background:rgba(0,0,0,.5);z-index:5}.modify-address-page .confim-box{position:absolute;left:50%;top:50%;margin-left:-6.75rem;margin-top:-3.6rem;width:13.5rem;text-align:center;color:#444;background:#fff;font-size:.8rem;font-weight:700;border-radius:.25rem}.modify-address-page .confim-box .content{text-align:left;padding:.75rem .5rem;line-height:2rem}.modify-address-page .confim-box .action{line-height:2.2rem;border-top:1px solid #e0e0e0}.modify-address-page .confim-box .action span{display:inline-block;width:6.5rem}.modify-address-page .confim-box .action span:first-child{border-right:1px solid #e0e0e0}.modify-address-page .confim-box .confim{color:#d0021b}.online-service-detail-page .qa-list .answer,.online-service-detail-page .qa-list .question{margin-left:.75rem;padding:0 1rem 0 .25rem;font-size:.75rem;line-height:1.9rem;font-weight:700}.online-service-page{background:#f0f0f0}.online-service-page .question{background:#fff}.online-service-page .question-title{padding:.5rem .75rem;font-size:.7rem;line-height:1;color:#b0b0b0}.online-service-page .question-tab{padding:.25rem .75rem .75rem;font-size:.8rem;line-height:1.45rem;text-align:center;color:#b0b0b0}.online-service-page .question-tab .current{color:#444}.online-service-page .question-tab .line{margin:0 .8rem;border-left:1px solid #b0b0b0}.online-service-page .question-list{display:none;border-top:1px solid #ccc;border-bottom:1px solid #ccc}.online-service-page .question-list li{font-size:.7rem;line-height:2.25rem}.online-service-page .question-list li a{display:block;color:#444;width:15.25rem;margin-left:.75rem;border-bottom:1px solid #ccc}.online-service-page .question-list li .iconfont{float:right;margin-right:.75rem;color:#ccc;font-size:.8rem}.online-service-page .question-list li:last-child a{border-bottom:none}.online-service-page .question-list li.highlight{background:#eee}.online-service-page .question-list.current{display:block}.online-service-page .connect-info{margin-top:.75rem;font-size:.7rem;line-height:1.25rem;background:#fff;border-top:1px solid #ccc;border-bottom:1px solid #ccc}.online-service-page .connect-info p{margin-top:.625rem;margin-left:-1.8rem;line-height:1.5}.online-service-page .connect-info .iconfont{font-size:1.15rem}.online-service-page .connect-info .icon-yoho-enter{color:#ccc;float:right;font-size:.8rem}.online-service-page .connect-info .connect-item{position:relative}.online-service-page .connect-info .connect-item a{display:block;padding:.5rem .75rem .5rem 2.35rem;color:#444}.online-service-page .connect-info .connect-item:after{content:'';position:absolute;right:0;bottom:0;width:13.7rem;height:1px;background:#ccc}.online-service-page .connect-info .connect-item:last-child:after{content:none}.online-service-page .connect-info .connect-item.highlight{background:#eee}.online-service-page .connect-info .icon{display:inline-block;margin-right:.7rem;margin-left:-1.75rem;vertical-align:middle}.online-service-detail-page{background:#f0f0f0}.online-service-detail-page .qa-list .question-item{margin-bottom:.8rem;border-top:1px solid #c8c7cc;border-bottom:1px solid #c8c7cc;color:#444;background:#fff}.online-service-detail-page .qa-list .question-item:last-child{margin-bottom:0}.online-service-detail-page .qa-list .question{position:relative;color:#000}.online-service-detail-page .qa-list .question:after{content:'';position:absolute;left:0;bottom:0;width:100%;border-top:1px solid #c8c7cc}.my-guang-page .null{height:6rem;width:100%;position:absolute;text-align:center;top:50%;margin-top:-3rem}.my-guang-page .null span{color:#b0b0b0;font-size:.6rem;margin-top:.5rem}.my-guang-page .icon-null{width:4.7rem;height:4.275rem;background-image:url(../assets/img/sprite.me.png);background-position:0 0;background-size:6.5rem 6.2rem;margin:0 auto;margin-bottom:.75rem}.iHelp,.iHelp ul{width:100%;height:auto;overflow:hidden}.iHelp ul{display:block;border-top:1px solid #e0e0e0}.iHelp ul li{width:100%;height:2rem;line-height:2.1rem;overflow:hidden;font-size:.7rem;border-bottom:1px solid #e0e0e0;float:right;color:#444}.iHelp ul li a:visited{color:#444}.iHelp ul li span{width:85%;height:100%;overflow:hidden;float:left;padding-left:5%}.iHelp ul li i{color:#e0e0e0}.iHelp ul li:last-of-type{border-bottom:none}.deal_main{margin:.5rem 3%;font-size:1.2em;width:94%;overflow:hidden}.browse-record-good{position:relative;padding:.5rem 0 .5rem .75rem;display:block}.browse-record-good .thumb{float:left;width:3rem;height:4rem}.browse-record-good .sold-out{display:inline}.browse-record-good .deps{margin-left:3.375rem;padding:.5rem 0;border-bottom:1px solid #e0e0e0;margin-bottom:-.75rem}.browse-record-good .name{font-size:.7rem;max-width:100%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.browse-record-good .price{margin:.3rem 0;font-size:.4rem}.browse-record-good .sale-price{color:red}.browse-record-good .sale-price.original-price{color:#000}.browse-record-good .market-price{text-decoration:line-through;color:#b0b0b0}.browse-record-good .sold-out-tag{font-size:.4rem;line-height:.75rem;text-align:center;color:#fff;background:#7f7f7f;padding:.125rem .375rem;border-radius:1rem}.browse-record-good .del-icon{position:absolute;right:.75rem;width:1.5rem;height:1.5rem;line-height:1.5rem;text-align:center;color:#999}.browse-record-page .load-more{width:100%;height:1.75rem;line-height:1.75rem;text-align:center}.browse-record-page .no-record{position:absolute;background:#fff;text-align:center;top:50%;margin-top:-5.5rem;width:100%}.browse-record-page .no-record .icon{width:4.9rem;height:5.175rem;background:url(../assets/img/me/no-record.png) no-repeat;background-size:100%;margin:0 auto}.browse-record-page .no-record span{display:block;color:#b0b0b0;font-size:.6rem;margin:.75rem 0 2.75rem}.browse-record-page .no-record .walk-way{display:block;height:2rem;line-height:2rem;width:70%;margin:0 auto;text-align:center;font-size:.75rem;color:#fff;background:#444;border-radius:5px}.logistic-page{background-color:#f0f0f0}.logistic-page .overview{height:3rem;line-height:3rem;width:100%;margin-bottom:1rem;background-color:#fff;color:#464646;border-bottom:1px solid #e5e5e5}.logistic-page .overview .left{width:19%;float:left;text-align:center;height:100%}.logistic-page .overview .left .icon{width:2.2rem;height:2.2rem;margin:0 auto;background-size:100%;background-repeat:no-repeat;background-position:50%;margin-top:.4rem}.logistic-page .overview .right{width:81%;float:left;padding-top:.5rem;padding-bottom:.5rem;height:2rem}.logistic-page .overview .right div{height:1rem;line-height:1.1rem;color:#595959;font-size:.6rem}.logistic-page .overview .info{padding-right:.1rem}.logistic-page .title{height:2.8rem;line-height:2.8rem;background-color:#fff;padding-left:1rem;font-size:1rem}.logistic-page .detail{background-color:#fff;padding-left:2rem;margin-bottom:1rem}.logistic-page .timeline-box{border-left:1px solid #e5e5e5;position:relative;padding-left:1.3rem}.logistic-page .timeline-node{position:absolute;top:.8rem;left:-.22611rem;display:inline-block;width:.41rem;height:.41rem;background-color:#e5e5e5;border-radius:100%}.logistic-page .timeline-box:first-child .timeline-node{background-color:#989898}.logistic-page .timeline-box:first-child .timeline-info-row{color:#606060}.logistic-page .timeline-info{padding:.5rem 0;border-bottom:1px solid #e5e5e5}.logistic-page .timeline-box:last-child .timeline-info{border:none}.logistic-page .timeline-info-row{min-height:1rem;line-height:1rem;font-size:.7rem;color:#bababa;padding-right:.8rem}.logistic-page .banner{margin-bottom:1rem}.logistic-page .banner a img{width:100%;height:100%}.pay-page{padding:1rem .5rem 0}.pay-page .payapp-list{visibility:hidden}.pay-page .box.bytouch{background-color:#eee}.pay-page .box{border:1px solid #eee;border-radius:.25rem;padding:.3rem .5rem;margin-bottom:.5rem}.pay-page .box,.pay-page .box>div{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.pay-page .box>div{min-height:1rem}.pay-page .box .icon{width:15%;flex-basis:15%}.pay-page .box .icon img{width:1.5rem;margin:0}.pay-page .box .icon>div{width:1.5rem;height:1.5rem;background-image:url(../assets/img/layout/pay-icon.png);background-size:90%;background-position-y:.2rem;background-position-x:center;background-repeat:no-repeat}.pay-page .box .app{width:35%;flex-basis:35%;font-size:.8rem;color:#414141}.pay-page .box .hint{width:45%;flex-basis:45%;font-size:.6rem;color:#4b4b4b}.pay-page .box .iconfont{width:5%;flex-basis:5%;-webkit-box-pack:end;justify-content:flex-end;color:#e0e0e0;font-size:.7rem}.pay-page .loading-toast{position:fixed;z-index:3;width:3.8em;min-height:3.8em;top:38%;left:50%;margin-left:-1.9em;background:rgba(40,40,40,.75);text-align:center;border-radius:.125rem;color:#fff}.pay-page .loading-toast:after{content:'';position:absolute;left:50%;top:50%;margin-left:-.5rem;margin-top:-.5rem;width:1rem;height:1rem;background:url(../assets/img/loading-wechat.png);background-size:1rem;-webkit-animation:b .7s infinite;animation:b .7s infinite;-webkit-animation-timing-function:linear;animation-timing-function:linear}@-webkit-keyframes b{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes b{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.yoho-coin-new-page{background-color:#f0f0f0;margin-top:.75rem}.yoho-coin-new-page .coin{text-align:center;background-color:#fff}.yoho-coin-new-page .coin-num{color:#d0021b;font-size:2rem;font-weight:700;line-height:2.2rem}.yoho-coin-new-page .info{width:auto;color:#b0b0b0;font-size:.6rem;line-height:1rem}.yoho-coin-new-page .info .dollar{display:inline-block;width:.6rem;height:.6rem;background-image:url(../assets/img/sprite.me.png);background-position:-2.425rem -5.15rem;background-size:6.5rem 6.2rem}.yoho-coin-new-page .more{display:inline-block;margin:.5rem 0 .75rem;color:#444;font-size:.7rem;line-height:1.1rem;width:4.2rem;height:1.05rem;text-align:center;border:1px solid #444;border-radius:.55rem}.yoho-coin-new-page .coin-tip{margin-bottom:.75rem;padding:.5rem .75rem;font-size:.6rem;line-height:.8rem;color:#d0021b;border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0}.yoho-coin-new-page .coin-tip .icon{display:inline-block;width:.8rem;height:.8rem;font-weight:700;border:2px solid #d0021b;border-radius:50%}.yoho-coin-new-page .banner{padding-top:.75rem;border-top:1px solid #e0e0e0}.yoho-coin-new-page .banner a img{width:100%}.yoho-coin-detail-page{background:#f0f0f0}.yoho-coin-detail-page .money{width:100%;height:1.75rem;background:#fff;margin-bottom:.5rem;line-height:1.75rem;font-size:.75rem;text-indent:1em}.yoho-coin-detail-page .money span{color:red;font-weight:700}.yoho-coin-detail-page .coin-detail{background:#fff;border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0}.yoho-coin-detail-page .detail-item{position:relative;margin-left:.75rem;border-bottom:1px solid #e0e0e0;color:#444;padding:.375rem 0}.yoho-coin-detail-page .detail-item .title{width:12rem;font-size:.7rem;line-height:1rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.yoho-coin-detail-page .detail-item .time{font-size:.5rem;line-height:.75rem;color:#b0b0b0}.yoho-coin-detail-page .detail-item .count{position:absolute;right:0;top:0;margin-right:.75rem;font-size:.7rem;font-weight:700;line-height:2.5rem}.yoho-coin-detail-page li:last-child .detail-item{border-bottom:none}.massage-page{margin-top:.4rem;padding-bottom:.6rem}.massage-page .massage-list{padding:.3rem 2.5rem .3rem .6rem;border-bottom:1px solid #f8f8f8;position:relative;overflow:hidden}.massage-page .massage-list p{font-size:.7rem;color:#222}.massage-page .massage-list span{font-size:.6rem;color:#999}.massage-page .massage-list i{position:absolute;right:1.2rem;top:.6rem;color:#ccc}.massage-page .massage-list strong{width:.2rem;height:.2rem;position:absolute;left:.4rem;top:1rem;background:red;border-radius:50%}.massage-page .massage-main{border-bottom:1px solid #f8f8f8;padding:.3rem;margin-left:.25rem;margin-bottom:.25rem}.massage-page .massage-main h6{margin-bottom:.2rem}.massage-page .massage-main span{color:#656565}.massage-page .sale-btn{background-color:#ea2622;color:#fff;padding:.125rem .25rem}.massage-page .coupon-item{margin-left:.25rem;padding-bottom:.25rem;border-bottom:1px solid #f8f8f8;margin-top:.25rem}.massage-page .coupon-item .coupon-img{width:3.2rem;height:auto;overflow:hidden;float:left;margin-right:.4rem}.massage-page .coupon-item .coupon-img img{width:100%;height:auto}.massage-page .coupon-item .coupon-info{font-size:.6rem}.massage-page .coupon-item .coupon-info span{color:red}.massage-page .coupon-item .coupon-action{width:2.75rem;font-size:.6rem;letter-spacing:.05rem;margin:.075rem 0 0;height:.875rem;line-height:.875rem;background:#ed0010;text-align:center;margin-left:3.6rem}.massage-page .coupon-item .coupon-action a{display:block;color:#fff;width:100%;height:100%}.newarrival-page{background-color:#fff}.newarrival-page .swiper-container{width:100%;height:7.75rem}.newarrival-page .swiper-container img{height:100%;width:100%}.newarrival-page .swiper-container .swiper-pagination{bottom:0;left:0;width:100%}.newarrival-page .swiper-container .swiper-pagination-bullet-active{background:#fff}.newarrival-page .banner-top-single{width:100%;height:5rem}.newarrival-page .banner-top-single img{display:block;height:100%;width:100%}.newarrival-page .list-nav{border-top:.05rem solid #fff;border-bottom:1px solid #e6e6e6}.newarrival-page .list-nav>li{float:left;width:25%;height:1.65rem;line-height:1.65rem;text-align:center;font-size:.7rem;color:#999}.newarrival-page .list-nav .bytouch{background:#eee}.newarrival-page .list-nav a{display:inline-block;box-sizing:border-box;width:auto;height:100%;color:#999}.newarrival-page .list-nav .active>a{color:#000;box-sizing:border-box}.newarrival-page .list-nav .active>.iconfont,.newarrival-page .list-nav .active>.iconfont.cur{color:#000}.newarrival-page .list-nav .filter .iconfont{font-size:.6rem;-webkit-transition:-webkit-transform .1 ease-in;transition:-webkit-transform .1 ease-in;transition:transform .1 ease-in;transition:transform .1 ease-in,-webkit-transform .1 ease-in}.newarrival-page .list-nav .filter.active .iconfont{-webkit-transform:rotate(-180deg);transform:rotate(-180deg)}.newarrival-page .no-result{text-align:center;vertical-align:middle;color:#ccc;font-size:1.2em;margin-top:8rem}.newarrival-page .goods-container{position:relative;min-height:22rem;padding-left:.375rem;padding-top:.2rem}.discount-page,.shop-index .discount-area,.shop-index .pos-list{background-color:#fff}.discount-page .swiper-container,.shop-index .discount-area .swiper-container,.shop-index .pos-list .swiper-container{width:100%;height:7.75rem}.discount-page .swiper-container img,.shop-index .discount-area .swiper-container img,.shop-index .pos-list .swiper-container img{height:100%;width:100%}.discount-page .swiper-container .swiper-pagination,.shop-index .discount-area .swiper-container .swiper-pagination,.shop-index .pos-list .swiper-container .swiper-pagination{bottom:0;left:0;width:100%}.discount-page .swiper-container .swiper-pagination-bullet-active,.shop-index .discount-area .swiper-container .swiper-pagination-bullet-active,.shop-index .pos-list .swiper-container .swiper-pagination-bullet-active{background:#fff}.discount-page .banner-top-single,.shop-index .discount-area .banner-top-single,.shop-index .pos-list .banner-top-single{width:100%;height:5rem}.discount-page .banner-top-single img,.shop-index .discount-area .banner-top-single img,.shop-index .pos-list .banner-top-single img{display:block;height:100%;width:100%}.discount-page .list-nav,.shop-index .discount-area .list-nav,.shop-index .pos-list .list-nav{border-top:2px solid #fff;border-bottom:1px solid #e6e6e6}.discount-page .list-nav>li,.shop-index .discount-area .list-nav>li,.shop-index .pos-list .list-nav>li{float:left;width:25%;height:33px;line-height:33px;text-align:center;font-size:14px}.discount-page .list-nav .bytouch,.shop-index .discount-area .list-nav .bytouch,.shop-index .pos-list .list-nav .bytouch{background:#eee}.discount-page .list-nav a,.shop-index .discount-area .list-nav a,.shop-index .pos-list .list-nav a{display:block;box-sizing:border-box;width:100%;height:100%;color:#999}.discount-page .list-nav .active>a,.shop-index .discount-area .list-nav .active>a,.shop-index .pos-list .list-nav .active>a{color:#000}.discount-page .list-nav .active>a .spanTest,.shop-index .discount-area .list-nav .active>a .spanTest,.shop-index .pos-list .list-nav .active>a .spanTest{width:auto;height:100%;display:inline-block;box-sizing:border-box}.discount-page .list-nav .active>a .iconfont,.shop-index .discount-area .list-nav .active>a .iconfont,.shop-index .pos-list .list-nav .active>a .iconfont{color:#999}.discount-page .list-nav .active>a .iconfont.cur,.shop-index .discount-area .list-nav .active>a .iconfont.cur,.shop-index .pos-list .list-nav .active>a .iconfont.cur{color:#000}.discount-page .list-nav .new .iconfont,.shop-index .discount-area .list-nav .new .iconfont,.shop-index .pos-list .list-nav .new .iconfont{-webkit-transform:scale(.8);transform:scale(.8);font-weight:700}.discount-page .list-nav .filter .iconfont,.shop-index .discount-area .list-nav .filter .iconfont,.shop-index .pos-list .list-nav .filter .iconfont{font-size:12px;-webkit-transition:-webkit-transform .1 ease-in;transition:-webkit-transform .1 ease-in;transition:transform .1 ease-in;transition:transform .1 ease-in,-webkit-transform .1 ease-in}.discount-page .list-nav .filter.active .iconfont,.shop-index .discount-area .list-nav .filter.active .iconfont,.shop-index .pos-list .list-nav .filter.active .iconfont{-webkit-transform:rotate(-180deg);transform:rotate(-180deg)}.discount-page .list-nav .icon,.shop-index .discount-area .list-nav .icon,.shop-index .pos-list .list-nav .icon{position:relative}.discount-page .list-nav .icon i,.shop-index .discount-area .list-nav .icon i,.shop-index .pos-list .list-nav .icon i{position:absolute;-webkit-transform:scale(.8);transform:scale(.8);font-weight:700}.discount-page .list-nav .icon .up,.shop-index .discount-area .list-nav .icon .up,.shop-index .pos-list .list-nav .icon .up{top:-11px}.discount-page .list-nav .icon .down,.shop-index .discount-area .list-nav .icon .down,.shop-index .pos-list .list-nav .icon .down{top:-4px}.discount-page .no-result,.shop-index .discount-area .no-result,.shop-index .pos-list .no-result{text-align:center;vertical-align:middle;color:#ccc;font-size:1.2em;margin-top:160px}.discount-page .goods-container,.shop-index .discount-area .goods-container,.shop-index .pos-list .goods-container{position:relative;min-height:440px;padding-left:.375rem;padding-top:.2rem}.good-list-page .search-input{position:relative;padding:.35rem .75rem;background:#f8f8f8}.good-list-page .search-input>form{position:relative}.good-list-page .search-input .search-icon{position:absolute;font-size:.6rem;top:.45rem;left:.5rem}.good-list-page .search-input input{box-sizing:border-box;padding-left:1.3rem;padding-right:1.7rem;height:1.5rem;width:85%;border-radius:.75rem;background:#fff;border:none}.good-list-page .search-input .clear-input{position:absolute;top:.25rem;right:2.5rem}.good-list-page .search-input .search{position:absolute;top:.1rem;right:-.2rem;border:none;background:transparent;font-size:.8rem;height:1.5rem;overflow:hidden;line-height:1.5rem;color:#666}.good-list-page .brand-way{padding-bottom:.5rem;background:#f4f4f4}.good-list-page .brand-way>a{display:block;height:2rem;line-height:2rem;padding:0 .5rem;border-bottom:1px solid #e6e6e6;border-top:1px solid #e6e6e6;font-size:.85rem;background:#fff;color:#000}.good-list-page .brand-way .span{width:60%;font-size:.7rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.good-list-page .brand-way .brand-thumb{display:block;float:left;width:3.75rem;height:2rem;margin:0}.good-list-page .brand-way .entry{color:#999;font-size:.7rem;float:right}.good-list-page .brand-header{position:relative;height:3.75rem}.good-list-page .brand-header>img{display:block;height:100%;width:100%}.good-list-page .btn-col,.good-list-page .btn-intro{position:absolute;display:block;width:3.1rem;height:1.2rem;line-height:1.2rem;text-align:center;border:1px solid #fff;color:#fff;top:50%;margin-top:-.6rem}.good-list-page .btn-intro{right:4.5rem}.good-list-page .btn-col{right:.75rem}.good-list-page .btn-col .iconfont{font-size:.6rem}.good-list-page .btn-col .txt:after{content:'收藏'}.good-list-page .btn-col.coled{opacity:.5}.good-list-page .btn-col.coled .txt:after{content:'已收藏'}.good-list-page .brand-intro-box{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.3);padding:2.2rem 0;z-index:1;overflow:auto}.good-list-page .brand-intro-box .brand-intro{position:relative;box-sizing:border-box;width:85%;margin:0 7.5%;background:#fff;padding:.5rem 8%}.good-list-page .brand-intro-box h2{text-align:center;font-size:.85rem;line-height:2rem}.good-list-page .brand-intro-box .con{font-size:.6rem;line-height:.8rem;padding:1rem 0;border-top:1px solid #e6e6e6;border-bottom:1px solid #e6e6e6;overflow-x:hidden}.good-list-page .brand-intro-box .fo{font-size:.9rem;height:2rem;line-height:2rem;text-align:center}.good-list-page .brand-intro-box .fo>span{font-size:1.1rem}.good-list-page .brand-intro-box .close-intro{position:absolute;top:.3rem;right:.3rem}.good-list-page .list-nav{border-top:.05rem solid #fff;border-bottom:1px solid #e6e6e6}.good-list-page .list-nav>li{float:left;width:25%;height:1.65rem;line-height:1.65rem;text-align:center;font-size:.7rem}.good-list-page .list-nav .bytouch{background:#eee}.good-list-page .list-nav a{display:block;box-sizing:border-box;width:100%;height:100%;color:#999}.good-list-page .list-nav .nav-txt{display:inline-block;height:100%;box-sizing:border-box}.good-list-page .list-nav .active>a{color:#000}.good-list-page .list-nav .active>a .iconfont{color:#999}.good-list-page .list-nav .active>a .iconfont.cur{color:#000}.good-list-page .list-nav .new .iconfont{-webkit-transform:scale(.8);transform:scale(.8);font-weight:700}.good-list-page .list-nav .filter .iconfont{font-size:.6rem;-webkit-transition:-webkit-transform .1 ease-in;transition:-webkit-transform .1 ease-in;transition:transform .1 ease-in;transition:transform .1 ease-in,-webkit-transform .1 ease-in}.good-list-page .list-nav .filter.active .iconfont{-webkit-transform:rotate(-180deg);transform:rotate(-180deg)}.good-list-page .list-nav .icon{position:relative}.good-list-page .list-nav .icon i{position:absolute;-webkit-transform:scale(.8);transform:scale(.8);font-weight:700}.good-list-page .list-nav .icon .up{top:-.55rem}.good-list-page .list-nav .icon .down{top:-.2rem}.good-list-page .no-result{text-align:center;vertical-align:middle;color:#ccc;font-size:1.2em;margin-top:11rem}.good-list-page .goods-container{position:relative;min-height:22rem;padding-left:.375rem;padding-top:.2rem}.good-detail-page{overflow:hidden;background-color:#f0f0f0}.good-detail-page .yoho-tip{z-index:4}.good-detail-page .page-block{background-color:#fff;box-sizing:border-box;width:100%;border-bottom:1px solid #e0e0e0;border-top:1px solid #e0e0e0;padding:0 .7rem;margin-bottom:.75rem}.good-detail-page .page-block>.title{line-height:2.2rem;color:#444;font-size:.7rem;border-bottom:1px solid #e0e0e0}.good-detail-page .page-block>.title span{color:#a0a0a0;font-size:.45rem}.good-detail-page .page-block .pro-detail{margin-top:.5rem;margin-bottom:.5rem}.good-detail-page .page-block .detail{margin-top:.5rem;margin-bottom:.5rem;font-size:.6rem;line-height:.9rem}.good-detail-page .page-block .detail b{font-weight:700}.good-detail-page .page-block .detail i{font-style:italic}.good-detail-page .page-block .detail.table{width:100%}.good-detail-page .page-block .detail.table .js-wraper{display:-webkit-box;display:flex;flex-wrap:wrap;-webkit-box-pack:start;justify-content:flex-start}.good-detail-page .page-block .detail.table .column{box-sizing:border-box;padding:.15rem 3%;width:49.9%;border:1px solid #fff;font-size:.6rem;background-color:#eee;word-wrap:break-word;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;flex-basis:49.9%}.good-detail-page .page-block .detail.table .oldbox{padding:.15rem 3%;background-color:#eee;box-sizing:border-box;border:1px solid #fff;width:49.9%;height:100%;float:left;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.good-detail-page .my-swiper-button-next,.good-detail-page .my-swiper-button-prev{position:absolute;top:50%;width:1.2rem;height:1.2rem;margin-top:-1.1rem;cursor:pointer;color:#666;font-size:1.2rem}.good-detail-page .my-swiper-button-next.swiper-button-disabled,.good-detail-page .my-swiper-button-prev.swiper-button-disabled{opacity:.3}.good-detail-page .next-grey{right:.75rem;left:auto}.good-detail-page .prev-grey{left:.75rem;right:auto}.good-detail-page .tag-container{position:absolute;left:2.7rem;top:1rem;height:.875rem;color:#fff;font-size:.5rem;line-height:.875rem;z-index:2}.good-detail-page .tag-container .good-tag{display:inline-block;box-sizing:border-box;margin-left:.5px;font-size:.45rem;text-align:center;padding:1px .125rem}.good-detail-page .tag-container .new-tag,.good-detail-page .tag-container .renew-tag{background-color:#78dc7e;color:#fff}.good-detail-page .tag-container .sale-tag{background-color:#ff575c;color:#fff}.good-detail-page .tag-container .new-festival-tag,.good-detail-page .tag-container .yohood-tag{background-color:#000;color:#fff}.good-detail-page .tag-container .limit-tag{border:1px solid #000;background-color:#fff;color:#000}.good-detail-page .tag-container .soonSoldOut-tag{background-color:#ffac5b;color:#fff}.good-detail-page .banner-container{position:relative;background-color:#fff}.good-detail-page .banner-top-single{margin:0 auto;overflow:hidden}.good-detail-page .banner-top-single img{width:11.2rem;margin-top:.75rem;margin-bottom:.75rem}.good-detail-page .banner-top{min-height:16.5rem;overflow:hidden;position:relative}.good-detail-page .banner-top .swiper-pagination{position:absolute;z-index:2;bottom:1rem}.good-detail-page .banner-top .swiper-pagination .pagination-inner span{background-color:#b0b0b0}.good-detail-page .banner-top .swiper-pagination .pagination-inner .swiper-pagination-bullet{margin-right:2px}.good-detail-page .banner-top .swiper-pagination .pagination-inner .swiper-pagination-bullet-active{background-color:#000}.good-detail-page .banner-swiper{min-height:15rem;min-width:11.2rem;margin:.75rem 2.4rem;overflow:hidden}.good-detail-page .banner-swiper ul{position:relative;height:auto}.good-detail-page .banner-swiper ul li{float:left}.good-detail-page .banner-swiper ul li img{height:auto}.good-detail-page .goodsName{box-sizing:border-box;width:100%;font-size:.7rem;color:#fff;padding:.5rem .7rem;line-height:1.2rem;background-color:#515150}.good-detail-page .goodsSubtitle{height:2.2rem;font-size:.6rem;color:#b0b0b0;padding-left:.7rem;padding-right:.7rem;border-bottom:1px solid #e0e0e0;background-color:#f0f0f0;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.good-detail-page .goodsSubtitle span{display:-webkit-box;line-height:.9rem;margin:0;text-overflow:-o-ellipsis-lastline;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical}.good-detail-page .price-date{position:relative;width:100%;color:#b0b0b0;height:2.2rem;padding-left:.7rem;padding-right:.7rem;background-color:#fff;border-bottom:1px solid #e0e0e0}.good-detail-page .limit-sale{height:1.2rem;position:absolute;right:2.1rem;top:50%;margin-top:-.6rem;color:#d0021b;border:2px solid #d0021b;background-color:#fff;border-radius:1rem;padding:.1rem .5rem;font-size:.6rem;font-weight:700}.good-detail-page .limit-sale:active{background-color:#f0f0f0}.good-detail-page .got-limit-sale{position:absolute;right:2.1rem;top:.6rem;color:#d0021b;border:.05rem solid #d0021b;background-color:#fff;border-radius:1rem;padding:.1rem .5rem;font-size:.6rem;font-weight:700;color:#ccc;border-color:#ccc}.good-detail-page .goodsPrice{float:left;font-size:.86475rem}.good-detail-page .goodsPrice h1{display:inline-block;line-height:2.2rem}.good-detail-page .goodsPrice .currentPrice{color:#d0021b;margin-right:.25rem}.good-detail-page .goodsPrice .previousPrice{text-decoration:line-through}.good-detail-page .periodOfMarket{font-size:.6rem;float:right;color:#d0021b;margin-right:1.4rem}.good-detail-page .periodOfMarket h1{display:inline-block;line-height:2.2rem}.good-detail-page .vip-level{box-sizing:box-border;padding-left:.7rem;padding-right:.7rem;min-height:2.2rem;background-color:#fff;font-size:.55rem;color:#999;border-bottom:1px solid #e0e0e0}.good-detail-page .vip-level .icons-item{float:left;width:33.3%;height:2.2rem;margin:0}.good-detail-page .vip-level .icons-item span{vertical-align:middle;display:inline-block;line-height:2.2rem;padding-left:.2rem}.good-detail-page .vip-level .icons-item .vip-img{width:1.325rem;height:.8rem}.good-detail-page .vip-level .icons-item.current-level .vip-price{color:#d0021b}.good-detail-page .vip-level .icons-item:nth-child(1){text-align:left}.good-detail-page .vip-level .icons-item:nth-child(1) .vip-img{background:url(../assets/img/product/silver.png) no-repeat}.good-detail-page .vip-level .icons-item:nth-child(2) .vip-img{background:url(../assets/img/product/golden.png) no-repeat}.good-detail-page .vip-level .icons-item:nth-child(3){text-align:right}.good-detail-page .vip-level .icons-item:nth-child(3) .vip-img{background:url(../assets/img/product/platinum.png) no-repeat}.good-detail-page .goodsDiscount{display:block;width:100%;height:auto;font-size:.7rem;color:#444;background-color:#fff;border-bottom:1px solid #e0e0e0}.good-detail-page .goodsDiscount h1{position:relative;padding:.75rem 1.5rem .75rem .7rem;line-height:.9rem}.good-detail-page .goodsDiscount .short-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.good-detail-page .goodsDiscount .iconfont{position:absolute;top:.75rem;right:.9rem;width:.875rem;font-size:1.125rem;float:right;color:#e0e0e0}.good-detail-page .goodsDiscount .discount-folder{display:none}.good-detail-page .goodsDiscount .discount-folder .folder-item{border-top:1px solid #e0e0e0}.good-detail-page .enter-store{position:relative;padding:0 4.5rem 0 2.85rem;line-height:2.1rem;background-color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.good-detail-page .enter-store .store-logo{position:absolute;left:0;top:1px;width:1.7rem;height:2.1rem;margin-left:.75rem;font-size:0;text-align:center}.good-detail-page .enter-store .store-logo img{display:inline-block;width:auto;height:1.7rem;vertical-align:middle}.good-detail-page .enter-store .store-name{font-size:.85rem;color:#444}.good-detail-page .enter-store .store-link{position:absolute;right:0;top:1px;padding-right:.75rem;font-size:.7rem;color:#b0b0b0;text-align:right}.good-detail-page .enter-store .store-link span{font-size:inherit}.good-detail-page .cart-bar{position:relative;box-sizing:border-box;width:100%;height:3rem;position:fixed;bottom:0;background-color:#fff;z-index:2;padding:.5rem .7rem;text-align:center;border-top:1px solid #e0e0e0}.good-detail-page .cart-bar a{display:inline-block}.good-detail-page .cart-bar a.num-incart{font-size:1.175rem;color:#444}.good-detail-page .cart-bar a.favorite{font-size:.85rem;color:#ccc}.good-detail-page .cart-bar a.favorite.liked{color:#eb0313}.good-detail-page .cart-bar a.addto-cart,.good-detail-page .cart-bar a.sold-out{height:2rem;width:6.5rem;margin:0 2.5rem 0 2.875rem;color:#fff;background-color:#eb0313;font-size:.8rem;line-height:2rem;text-align:center}.good-detail-page .cart-bar a.sold-out{background-color:#f58189}.good-detail-page .cart-bar .num-tag{display:block;position:absolute;top:0;left:1.2rem;width:1.8rem;height:1.8rem;font-size:1rem;line-height:1.8rem;color:#fff;background:#eb0313;text-align:center;border-radius:50%;-webkit-transform:scale(.5);transform:scale(.5)}.good-detail-page .cart-bar .num-tag.hide{display:none}.good-detail-page .recommend-for-you{border-bottom:none}.good-detail-page .yoho-tip{top:40%}.goods-comments-page .goods-comments .comment-item{border-bottom:1px solid #e0e0e0;padding:0 .7rem}.goods-comments-page .goods-comments .comment-item .user-name{display:inline-block;float:left;max-width:9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.6rem;line-height:1.55rem;color:#444}.goods-comments-page .goods-comments .comment-item .detail-content{font-size:.6rem;line-height:1.55rem;color:#444}.goods-comments-page .goods-comments .comment-item .comment-time,.goods-comments-page .goods-comments .comment-item .goods-spec{font-size:.6rem;line-height:1.55rem}.goods-comments-page .goods-comments .comment-item .detail-content{font-size:.7rem;line-height:.9rem}.goods-comments-page .goods-comments .comment-item .detail-content,.goods-comments-page .goods-comments .comment-item .goods-spec{color:#444}.goods-comments-page .goods-comments .comment-item .comment-time{color:#c1c1c1}.goods-consults-page{background-color:#f0f0f0}.goods-consults-page .goto-consult{position:fixed;top:2.25rem;width:100%;box-sizing:border-box;padding:0 .7rem;height:3rem;background-color:#fff;border-bottom:1px solid #e0e0e0;z-index:7}.goods-consults-page .goto-consult a,.goods-consults-page .goto-consult i,.goods-consults-page .goto-consult span{line-height:3rem;font-size:.7rem;color:#444}.goods-consults-page .goto-consult .consult-logo{padding-right:.375rem}.goods-consults-page .goto-consult .enter-consult-page{float:right;color:#b0b0b0}.goods-consults-page .goods-consults.customer-consults .consult-item:nth-child(1),.goods-consults-page .goods-consults.customer-consults .consult-item:nth-child(2){display:block}.goods-consults-page .goods-consults.customer-consults .consult-item{display:none}.goods-consults-page .goods-consults{margin-top:5.25rem;overflow:hidden;margin-top:.75rem;padding:.5rem .7rem;background-color:#fff;border-bottom:1px solid #e0e0e0;border-top:1px solid #e0e0e0}.goods-consults-page .goods-consults .question{font-size:.6rem;color:#444}.goods-consults-page .goods-consults .question span{display:block;float:left;padding-right:.375rem}.goods-consults-page .goods-consults .question p{overflow:hidden;padding-bottom:.375rem;border-bottom:1px solid #e0e0e0}.goods-consults-page .goods-consults .time{font-size:.55rem;color:#b0b0b0}.goods-consults-page .goods-consults .answer{font-size:.6rem;line-height:.9rem;color:#b0b0b0;margin-top:.35rem}.goods-consults-page .goods-consults .answer span{display:block;float:left;color:#444;padding-right:.375rem}.goods-consults-page .goods-consults .answer p{overflow:hidden}.goods-consults-page .goods-consults .operation{width:120%;height:1.5rem;line-height:2rem;position:relative;right:12%;border-top:1px solid #e0e0e0;margin-top:.5rem}.goods-consults-page .goods-consults .operation li{font-size:.7rem;float:left;width:50%;text-align:center;color:#b0b0b0;position:relative}.goods-consults-page .goods-consults .operation li .iconfont{display:inline-block;padding-right:5px;font-size:inherit}.goods-consults-page .goods-consults .operation li .animate-count{display:none;position:absolute;top:0;font-size:.5rem;z-index:5}.goods-consults-page .goods-consults .operation li i.count{position:absolute}.goods-consults-page .goods-consults .operation li.highlight{color:#eb0313}.goods-consults-page .goods-consults .operation li.fav .animate-count{right:2.5rem}.goods-consults-page .goods-consults .operation li.useful .animate-count{right:2.2rem}.goods-consults-page .readmore{display:block;height:2.2rem;line-height:2.2rem;background-color:#fff;text-align:center;color:#b0b0b0;margin-top:.75rem;border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0;font-size:.7rem}.goods-consults-page .readmore i{font-size:inherit}.goods-consults-page .faq-title{height:2.2rem;line-height:2.2rem;text-align:center;font-size:.8rem}.goods-consults-page .goods-consults .faq-item{margin-top:.75rem;padding:.5rem .7rem;background-color:#fff;border-bottom:1px solid #e0e0e0;border-top:1px solid #e0e0e0;margin-top:0;margin-bottom:.75rem}.goods-consults-page .goods-consults .faq-item .question{font-size:.6rem;color:#444}.goods-consults-page .goods-consults .faq-item .question span{display:block;float:left;padding-right:.375rem}.goods-consults-page .goods-consults .faq-item .question p{overflow:hidden;padding-bottom:.375rem;border-bottom:1px solid #e0e0e0}.goods-consults-page .goods-consults .faq-item .time{font-size:.55rem;color:#b0b0b0}.goods-consults-page .goods-consults .faq-item .answer{font-size:.6rem;line-height:.9rem;color:#b0b0b0;margin-top:.35rem}.goods-consults-page .goods-consults .faq-item .answer span{display:block;float:left;color:#444;padding-right:.375rem}.goods-consults-page .goods-consults .faq-item .answer p{overflow:hidden}.goods-consults-page .goods-consults .faq-item .operation{width:120%;height:1.5rem;line-height:2rem;position:relative;right:12%;border-top:1px solid #e0e0e0;margin-top:.5rem}.goods-consults-page .goods-consults .faq-item .operation li{font-size:.7rem;float:left;width:50%;text-align:center;color:#b0b0b0;position:relative}.goods-consults-page .goods-consults .faq-item .operation li .iconfont{display:inline-block;padding-right:5px;font-size:inherit}.goods-consults-page .goods-consults .faq-item .operation li .animate-count{display:none;position:absolute;top:0;font-size:.5rem;z-index:5}.goods-consults-page .goods-consults .faq-item .operation li i.count{position:absolute}.goods-consults-page .goods-consults .faq-item .operation li.highlight{color:#eb0313}.goods-consults-page .goods-consults .faq-item .operation li.fav .animate-count{right:2.5rem}.goods-consults-page .goods-consults .faq-item .operation li.useful .animate-count{right:2.2rem}.goods-consults-page .goods-consults .faq-item .answer{border-bottom:none}.consult-form-page{padding:.7rem;text-align:center}.consult-form-page textarea{box-sizing:border-box;width:100%;height:10rem;font-size:.7rem;padding:.25rem;color:#444}.consult-form-page a{display:inline-block;height:2rem;width:9rem;color:#fff;background-color:#444;font-size:1rem;line-height:2rem;text-align:center;margin-top:.5rem}.good-detail-page .feedback-list{padding-top:.75rem;margin-bottom:.75rem;background-color:#f0f0f0}.good-detail-page .feedback-list .nav-tab{width:100%;height:1.5rem;padding:.25rem 0;background-color:#fff;border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0}.good-detail-page .feedback-list .comment-nav,.good-detail-page .feedback-list .consult-nav{box-sizing:border-box;float:left;width:50%;height:1.5rem;line-height:1.5rem;font-size:.7rem;text-align:center;color:#b0b0b0}.good-detail-page .feedback-list .comment-nav.focus,.good-detail-page .feedback-list .consult-nav.focus{color:#000}.good-detail-page .feedback-list .comment-nav{border-right:1px solid #ccc}.good-detail-page .feedback-list .content .content-main{background-color:#fff;border-bottom:1px solid #e0e0e0}.good-detail-page .feedback-list .content .content-main.comment-content-main .detail-content,.good-detail-page .feedback-list .content .content-main.comment-content-main .user-name{font-size:.6rem;line-height:1.55rem;color:#444;padding-left:.7rem;padding-right:.45rem}.good-detail-page .feedback-list .content .content-main.comment-content-main .comment-time,.good-detail-page .feedback-list .content .content-main.comment-content-main .goods-spec{font-size:.6rem;line-height:1.55rem}.good-detail-page .feedback-list .content .content-main.comment-content-main .detail-content{font-size:.7rem;line-height:.9rem}.good-detail-page .feedback-list .content .content-main.comment-content-main .detail-content,.good-detail-page .feedback-list .content .content-main.comment-content-main .goods-spec{color:#444}.good-detail-page .feedback-list .content .content-main.comment-content-main .comment-time,.good-detail-page .feedback-list .content .content-main.comment-content-main .detail-content{padding-left:.7rem}.good-detail-page .feedback-list .content .content-main.comment-content-main .detail-content{padding-right:.7rem;padding-left:.7rem}.good-detail-page .feedback-list .content .content-main.comment-content-main .comment-time{color:#c1c1c1}.good-detail-page .feedback-list .content .content-main.consult-content-main{padding:.5rem .7rem}.good-detail-page .feedback-list .content .content-main.consult-content-main .question{font-size:.6rem;color:#444}.good-detail-page .feedback-list .content .content-main.consult-content-main .question span{display:block;float:left;font-size:inherit;padding-right:.375rem}.good-detail-page .feedback-list .content .content-main.consult-content-main .question p{overflow:hidden}.good-detail-page .feedback-list .content .content-main.consult-content-main .time{font-size:.55rem;color:#b0b0b0}.good-detail-page .feedback-list .content .content-main.consult-content-main .answer{font-size:.6rem;line-height:.9rem;color:#b0b0b0;margin-top:.35rem}.good-detail-page .feedback-list .content .content-main.consult-content-main .answer span{display:block;float:left;font-size:inherit;color:#444;padding-right:.375rem}.good-detail-page .feedback-list .content .content-main.consult-content-main .answer p{overflow:hidden}.good-detail-page .feedback-list .content .content-main.no-item{height:5rem;line-height:5rem;color:#e0e0e0;font-size:16px;text-align:center}.good-detail-page .feedback-list .content .content-main.no-item span{display:inline-block;font-size:16px;padding-right:5px}.good-detail-page .feedback-list .comment-content-footer,.good-detail-page .feedback-list .consult-content-footer{display:block;min-height:2.2rem;text-align:center;background-color:#fff;border-bottom:1px solid #e0e0e0;line-height:2.2rem;font-size:.7rem;color:#b0b0b0}.good-detail-page .feedback-list .comment-content-footer .iconfont,.good-detail-page .feedback-list .consult-content-footer .iconfont{font-size:inherit}.good-detail-page .feedback-list .content.hide{display:none}.good-detail-page .feedback-list .nodata{height:2.2rem;font-size:.7rem;line-height:2.2rem;background-color:#fff;padding:0 .7rem;border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0}.good-detail-page .feedback-list .nodata .go-consult{float:right;color:#b0b0b0}.good-detail-page .feedback-list .nodata .go-consult span{font-size:.7rem}.good-detail-page .goods-desc{padding-bottom:.5rem;padding-top:.5rem}.good-detail-page .goods-desc .service{width:12.35rem;height:.7rem;margin-left:1.25rem;background:url(../assets/img/product/service.png) no-repeat;background-size:cover}.good-detail-page .goods-desc .detail{margin-bottom:1px}.good-detail-page .goods-desc .desc-text{font-size:.6rem;padding:.4rem .3rem;color:#444;background-color:#eee}.good-detail-page .tips{color:#b0b0b0;font-size:.45rem;margin-top:.5rem}.good-detail-page .materials{overflow:hidden}.good-detail-page .materials .detail .material-item{margin:.25rem 0;width:100%;height:auto;overflow:hidden;display:block;position:relative}.good-detail-page .materials .detail .material-item img{margin:0}.good-detail-page .materials .detail .material-item .material-image{width:23%;position:absolute;left:0;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.good-detail-page .materials .detail .material-item .material-desc{font-size:.6rem;box-sizing:border-box;text-align:left;padding-left:2%;height:auto;line-height:.95rem;color:#4b4b4b;word-wrap:break-word;width:76.9%;float:right}.good-detail-page .materials .detail .material-item:last-child{border-bottom:none}.good-detail-page .materials.page-block{margin-bottom:0;border-bottom:none}.good-detail-page .materials.page-block .detail{margin-bottom:0}.good-detail-page .wash-tips{padding-top:.5rem}.good-detail-page .wash-tips .tip{display:inline-block;width:16.6%;float:left}.good-detail-page .wash-tips .tip img{width:1.2rem;height:1.2rem;margin-bottom:.25rem}.good-detail-page .wash-tips .tip .caption{display:block;padding:0 .325rem;font-size:.45rem;line-height:.55rem;min-height:1.1rem;text-align:center}.good-detail-page .wash-tips.page-block{padding-left:.375rem;padding-right:.375rem}.good-detail-page .product-detail{margin-top:.75rem;margin-bottom:.75rem}.good-detail-page .product-detail .detail img{margin-top:.5rem;width:14.525rem;height:auto}.good-detail-page .product-detail .detail a{color:#2f91f6;text-decoration:underline}.good-detail-page .detail-swiper .swiper-wrapper .swiper-slide{width:auto}.good-detail-page .detail-swiper .swiper-wrapper .swiper-slide div{text-align:center}.good-detail-page .detail-swiper .swiper-wrapper .swiper-slide div.cell{line-height:1.325rem;font-size:.6rem;background-color:#eee;padding:0 1rem;border:1px solid #fff}.good-detail-page #reference-swiper-container .first-group{width:1.75rem;margin-top:1.375rem}.good-detail-page #reference-swiper-container .first-group div{height:1.375rem}.good-detail-page #reference-swiper-container .first-group div .avatar{display:inline-block;width:1rem;border-radius:50%;margin-top:.175rem}.good-detail-page .measurement-method .detail{width:100%;margin-top:0;margin-bottom:0}.good-detail-page .measurement-method .detail img{width:100%;height:auto}.suspend-cart{position:fixed;width:2.2rem;height:2.2rem;line-height:2.2rem;border-radius:50%;background:rgba(0,0,0,.3);text-align:center;right:.75rem;bottom:3.5rem;z-index:7}.suspend-cart a{display:block;width:100%;height:100%}.suspend-cart .iconfont{color:#fff;font-size:.9rem}.suspend-cart .cart-count{position:absolute;top:-.6rem;right:-.5rem;width:1.8rem;height:1.8rem;font-size:1rem;line-height:1.8rem;color:#fff;background:#f03d35;text-align:center;border-radius:50%;-webkit-transform:scale(.5);transform:scale(.5)}.rank-main{padding:.35rem 0 0 .75rem;background:#fff}.rank-main li{height:5.75rem;overflow:hidden}.rank-main li .item-img{float:left;width:3.75rem;height:5rem;padding:.35rem 0;line-height:5rem;text-align:center}.rank-main li .item-img img{max-width:100%;max-height:100%;vertical-align:middle}.rank-main li .item-content{float:left;width:10.175rem;height:5.325rem;margin:0 0 0 .325rem;padding:.35rem 0 0 .75rem;border-top:1px solid #e0e0e0;overflow:hidden}.rank-main li .item-content .rank-icon{display:block;height:1.125rem;width:1.25rem;line-height:1.25rem;text-align:center;font-size:.55rem;color:#fff;background:url(../assets/img/me/employ/rank.png) no-repeat;background-position:top;background-size:auto 100%}.rank-main li .item-content .rank-icon.top{background:url(../assets/img/me/employ/rank-t.png) no-repeat;background-position:top;background-size:100%;line-height:1.35rem}.rank-main li .item-content h2{margin:.375rem 0 0!important;padding:0!important;width:9.5rem;max-height:1.8rem;overflow:hidden;line-height:.9rem;color:#444;font-size:.7rem}.rank-main li .item-content h2.hasActive{margin:.125rem 0 0!important}.rank-main li .item-content p{margin:0!important;padding:0!important;width:9.5rem;line-height:.9rem;font-size:.6rem;color:#d0021b;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.rank-main li .item-content p b{text-decoration:line-through;color:#b0b0b0;margin-left:.25rem}.rank-main li:first-child .item-content{border:none}.goods-nav{border-bottom:.05rem solid #e6e6e6;height:1.675rem;overflow:hidden}.goods-nav li{float:left;width:auto;height:1.675rem;line-height:1.675rem;width:3.625rem;text-align:center;font-size:.7rem}.goods-nav li a{display:inline-block;padding:0 .125rem;font-size:.7rem;color:#999;height:1.625rem}.goods-nav li:first-child{margin-left:.75rem}.goods-nav li.focus a{border-bottom:.1rem solid #000;color:#000}.s-goods-nav{box-sizing:border-box;overflow:hidden}.s-goods-nav li{margin:0 .25rem;padding:0 .375rem;width:auto;height:100%;color:#999}.s-goods-nav li a{padding:0}.s-goods-nav li.active{color:#000}.s-goods-nav li.bgActive{color:#000;background-color:#e0e0e0}.s-goods-nav li:first-child{margin:0 0 0 .975rem}.recommend-for-you{padding:.75rem 0;border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0;background:#fff}.recommend-for-you .title{font-size:.8rem;line-height:2.2rem;text-align:center;color:#444}.recommend-for-you .swiper-container{padding:.75rem 0 .5rem;width:100%}.recommend-for-you .swiper-container .swiper-slide{padding:0 .25rem;float:left;width:3.9rem}.recommend-for-you .swiper-container .swiper-slide img{width:100%;height:5.2rem}.recommend-for-you .swiper-container .swiper-slide:first-child{padding-left:.75rem}.recommend-for-you .swiper-container .swiper-slide:last-child{padding-right:.75rem}.recommend-for-you .sale-name{overflow:hidden;text-overflow:ellipsis;width:100%;white-space:nowrap;margin-top:.5rem;color:#444}.recommend-for-you .price{position:relative;margin-top:.2rem;font-size:.6rem;line-height:1}.recommend-for-you .price .sale-price{display:block;color:#d9134f;margin-right:.2rem}.recommend-for-you .price .old-price{display:block;color:#b0b0b0;text-decoration:line-through}.recommend-for-you .price .no-price{color:#444}.limit-good-page{background-color:#f4f4f4;color:#444}.limit-good-page .top{font-size:.6rem;height:2rem;line-height:2.2rem;margin-bottom:.1rem;background-color:#fff;padding:.2rem 0 .2rem .5rem}.limit-good-page .top div{width:0;display:inline-block;float:left}.limit-good-page .top div img{width:1.5rem;position:relative;top:.25rem}.limit-good-page .top p{display:inline-block;float:left;width:80%}.limit-good-page .detail{background-color:#fff;padding:.6rem .8rem;border-bottom:1px solid #e6e6e6;margin-bottom:1rem}.limit-good-page .detail .name{font-size:.9rem;margin-bottom:.5rem}.limit-good-page .detail .sale-info{height:1rem;line-height:1rem}.limit-good-page .detail .price{font-size:.8rem;color:#d0021b;float:left}.limit-good-page .detail .date{font-size:.6rem;float:right}.limit-good-page .detail .date .text{position:relative;top:.08rem}.limit-good-page .goodDesc{padding:.5rem;border-top:1px solid #e6e6e6;background-color:#fff}.limit-good-page .goodDesc p{font-size:.6rem;line-height:1rem;text-indent:2em}.limit-good-page .goodDesc img{margin:.3rem 0;max-width:100%}.limit-good-page .bottom{background-color:#fff;padding:.5rem 2rem 2rem;height:3rem;width:12rem;margin:0 auto}.limit-good-page .bottom .logo{width:100;height:2.5rem;background-image:url(../assets/img/logo-bottom.png);background-size:100%;background-repeat:no-repeat;background-position:50%}.limit-good-page .bottom .btn{font-size:.8rem;background-color:#fff;border:1px solid #444;border-radius:.2rem;padding:.3rem .6rem}.limit-good-page .bottom .btn:active{background-color:#ccc}.limit-good-page .bottom .left,.limit-good-page .bottom .right{display:inline-block;float:left}.limit-good-page .bottom .left{width:39%}.limit-good-page .bottom .right{width:60%;font-size:.65rem}.limit-good-page .bottom .right span{display:block;width:95%;margin:0 auto}.limit-help-page{padding:.7rem;color:#444}.limit-help-page h2{font-size:.75rem;font-weight:700}.limit-help-page .method{display:block;width:2rem;height:.875rem;line-height:.875rem;background-color:#444;color:#fff;border-radius:.5rem;text-align:center;margin:.5rem 0}.limit-help-page li{font-size:.6rem}.limit-help-page .intro-img{width:100%;height:5.5rem;background-size:100%;background-repeat:no-repeat;margin:.5rem 0}.limit-help-page .method-1 li:nth-child(1) .intro-img{background-image:url(../assets/img/product/help/1.png)}.limit-help-page .method-1 li:nth-child(2) .intro-img{background-image:url(../assets/img/product/help/2.png)}.limit-help-page .method-1 li:nth-child(3) .intro-img{background-image:url(../assets/img/product/help/3.png)}.limit-help-page .method-2 li:nth-child(1) .intro-img{background-image:url(../assets/img/product/help/4.png)}.limit-help-page .method-2 li:nth-child(2) .intro-img{background-image:url(../assets/img/product/help/5.png)}.limit-help-page .method-2 li:nth-child(3) .intro-img{background-image:url(../assets/img/product/help/6.png)}.limit-help-page .method-2 li:nth-child(4) .intro-img{background-image:url(../assets/img/product/help/7.png)}.limit-help-page .how li:nth-child(1) .intro-img{background-image:url(../assets/img/product/help/8.png)}.limit-help-page .how li:nth-child(2) .intro-img{background-image:url(../assets/img/product/help/9.png);margin-bottom:0}.shop-index{position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.shop-index .branner-top{width:100%;height:5rem;position:relative;overflow:hidden}.shop-index .branner-top .shop-back-img{height:100%}.shop-index .logo{position:absolute;overflow:hidden;left:.75rem;bottom:.75rem;width:2.5rem;height:2.5rem}.shop-index .store-name{color:#fff;font-size:.7rem;position:absolute;overflow:hidden;left:3.7rem;bottom:.5rem}.shop-index .collect{width:3.2rem;height:1.225rem;position:absolute;bottom:.75rem;right:.75rem;border-radius:.25rem;text-align:center;background-size:contain}.shop-index .alreadyCollect{background-position:0 0}.shop-index .alreadyCollect,.shop-index .notCollect{width:3.2rem;height:1.25rem;border-radius:.25rem;background-image:url(../assets/img/sprite.product.png);background-size:3.7rem 2.5rem}.shop-index .notCollect{background-position:0 -1.25rem}.shop-index .nav{width:100%;height:2.2rem;margin:0;padding:0;border:0;font:inherit;vertical-align:baseline;list-style:none;font-size:.7rem;background:#fff;overflow:hidden;border-sizing:border-box;border-bottom:1px solid #e1e1e1}.shop-index .nav li{display:block;height:.7rem;float:left;line-height:.7rem;width:24%;text-align:center;border-left:1px solid #e1e1e1;margin-top:.75rem;border-sizing:border-box;color:#b1b1b1}.shop-index .nav li a{color:#b1b1b1}.shop-index .nav li:first-child{border-left:none}.shop-index .nav .color{color:#000}.shop-index .main{background:#f0f0f0;padding-bottom:1rem;overflow:hidden}.shop-index .banner-area{margin-bottom:.75rem}.shop-index .hide{display:hidden}.shop-index .coupon{width:100%;padding:.75rem 0;overflow:hidden}.shop-index .coupon img{width:6.125rem;height:3rem;vertical-align:top;margin-left:.75rem;float:left}.shop-index .multi-brands{width:100%;height:6.75rem;background:#fff;border:1px solid #e1e1e1;border-top:none;font-size:.5rem;text-align:center;padding-top:.625rem;margin-bottom:.75rem;overflow:hidden}.shop-index .multi-brands p{font-size:.75rem}.shop-index .multi-browse{margin-top:1.25rem}.shop-index .brand-img{margin-left:.75rem;width:30%;height:3.75rem;overflow:hidden;padding-bottom:.5rem;float:left}.shop-index .brand-img p{font-size:.625rem;color:#b1b1b1;padding-top:.25rem;height:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shop-index .brand-img img{height:70%}.shop-index .spring{margin:0;overflow:hidden}.shop-index .spring li{width:50%;float:left;text-align:center;list-style:none;display:list-item}.shop-index .spring li img{width:90%;border-radius:.25rem;vertical-align:top}.shop-index .popularity-title{background:#fff;border-bottom:1px solid #e8e8e8;text-align:center;line-height:2.45rem;font-size:.8rem;margin-top:1rem;position:relative}.shop-index .more{position:absolute;right:.75rem;top:0;bottom:0;color:#b0b0b0;font-size:1.25rem;font-family:iconfont!important;font-style:normal;text-decoration:none}.shop-index .product-list{margin:0;padding:0 0 .75rem .75rem;overflow:hidden;background:#fff;border-bottom:.75rem solid #f0f0f0}.shop-index .product-list li{width:6.875rem;height:9.2rem;margin-top:1.25rem;margin-right:.75rem;float:left;text-align:center;list-style:none}.shop-index .product-list li img{width:100%;vertical-align:top}.shop-index .list-price{height:1.5rem;background:#aaaeac;color:#fff;font-size:.55rem;margin-top:-1.5rem;position:relative;opacity:.9;padding-left:.375rem}.shop-index .list-price p{margin:0;line-height:.8rem;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shop-index .red{color:red}.shop-index .icon{position:relative}.shop-index .icon i{position:absolute}.shop-index .icon .up{top:-.125rem;left:.2rem}.shop-index .icon .down{top:.2rem;left:.2rem}.shop-index .iconfont{color:#b1b1b1}.shop-index .goods-container{position:relative;min-height:11rem;padding-left:.375rem;padding-top:.5rem;border-bottom:1px solid #e0e0e0}.shop-index .discount-area .list-nav li{display:block;height:.7rem;float:left;line-height:.7rem;width:24%;text-align:center;border-left:1px solid #e1e1e1;margin-top:.75rem;margin-bottom:.75rem;border-sizing:border-box}.shop-index .discount-area .list-nav li span{font-size:.7rem}.shop-index .discount-area .list-nav li:first-child{border-left:none}.shop-index .discount-area .active .cur{color:#000}.shop-index .discount-area .list-nav .icon .up{top:-.15rem}.shop-index .discount-area .list-nav .icon .down{top:.2rem}.shop-index .discount-area .goods-container{padding-top:.75rem;padding-bottom:2.5rem}.shop-index .hide{display:none}.shop-index .shop-foot-wrapper{position:absolute;bottom:0;display:table;width:100%;height:2.2rem;line-height:2.2rem;font-size:.7rem;background:#fff;border-top:1px solid #eaeaea}.shop-index .shop-foot-wrapper ul{display:table-row}.shop-index .shop-foot-wrapper li{display:table-cell;text-align:center}.shop-index .shop-foot-wrapper li .wall{width:0;height:.7rem;margin-top:.75rem;float:right;border-right:1px solid #eaeaea;display:inline-block}.shop-index .shop-foot-wrapper .sub-group{position:absolute;background:#fff;border:1px solid #eaeaea;border-radius:.3rem;bottom:2.6rem;width:40%;margin-left:5%}.shop-index .shop-foot-wrapper .sub-group dl{width:80%;margin:0 auto}.shop-index .shop-foot-wrapper .sub-group dd{line-height:2rem;text-align:center;border-top:1px solid #eaeaea;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shop-index .shop-foot-wrapper .sub-group dd:first-child{border-top:0}.shop-index .shop-foot-wrapper .sharp{position:absolute;width:100%;height:.35rem;background:url(../assets/img/product/sharp.png) no-repeat 50%}.shop-index .shop-foot-wrapper .foot-list-3 .sub-group{width:29%;margin-left:2%}.shop-index .bytouch{background:#eee}.shop-index .new-arrival,.shop-index .popularity{padding-top:.75rem;overflow:hidden;padding-left:.375rem;background:#fff;padding-bottom:2.5rem}.shop-index .pos-list li{display:block;height:.7rem;float:left;line-height:.7rem;width:24%;text-align:center;border-left:1px solid #e1e1e1;margin-top:.75rem;margin-bottom:.75rem;border-sizing:border-box}.shop-index .pos-list li span{font-size:.7rem}.shop-index .pos-list li a{display:block;box-sizing:border-box;text-align:center;width:100%;height:100%;color:#999}.shop-index .pos-list li:first-child{border-left:none}.shop-index .pos-list .active .cur,.shop-index .pos-list .active a{color:#000}.shop-index .pos-list .new .iconfont,.shop-index .pos-list .price .iconfont{-webkit-transform:scale(.8);transform:scale(.8);font-weight:700}.shop-index .pos-list .filter .iconfont{font-size:.55rem;-webkit-transition:-webkit-transform .1 ease-in;transition:-webkit-transform .1 ease-in;transition:transform .1 ease-in;transition:transform .1 ease-in,-webkit-transform .1 ease-in}.shop-index .pos-list .filter.active .iconfont{-webkit-transform:rotate(-180deg);transform:rotate(-180deg)}.shop-index .category-list-top-board{border-top:1px solid #e0e0e0}.shop-index .category-list-last-li{border-right:1px solid #e0e0e0}.shop-index .category-list-only-one-row{border-top:none!important}.shop-index .category-list-last-full-row{border-bottom:1px solid #e0e0e0}.shop-introduce-page .banner{margin:.75rem auto;width:auto;height:auto;display:block;background-size:100%}.shop-introduce-page .descripition{margin:1rem .5rem 0;font-size:.55rem;line-height:.9rem;padding:1rem .5rem;border-top:1px solid #e6e6e6;border-bottom:1px solid #e6e6e6;text-indent:2em}.shop-introduce-page .sign-icon{font-size:.8rem;height:2rem;line-height:2rem;text-align:center;font-weight:100}.shop-introduce-page .sign-icon>span{width:auto}.brand-shop-page .brand-list{margin-left:.5rem;font-size:.9rem;border-bottom:1px solid #e6e6e6;text-align:left;height:2.25rem;line-height:2.25rem;vertical-align:middle;display:block;width:100%}.product-category{font-size:.75rem;background-color:#fff}.product-category .allproduct{padding:0 .75rem;display:block;height:2.225rem;line-height:2.225rem}.product-category .allproduct.highlight{background:#dbdbdb}.product-category .margin-under-allproduct{width:100%;height:.75rem;background-color:#f0f0f0}.product-category .category-container{border-top:1px solid #e6e6e6}.product-category .arrow-icon{position:relative;float:right;font-size:.75rem;top:0;color:#e1e1e1;padding:0 .25rem}.product-category .allproductParagaraph{font-size:.45rem;left:.5rem}.product-category .content{background:#fff}.product-category .content.hide{display:none}.product-category .primary-level{float:left;box-sizing:border-box;width:100%;position:absolute}.product-category .primary-level>li{position:relative;height:2.225rem;line-height:2.225rem;box-sizing:border-box;border-bottom:1px solid #e6e6e6;background-color:#fff;margin-left:.75rem}.product-category .primary-level-trilangle{float:right;background-image:url(../assets/img/sprite.product.png);background-position:-3.2rem 0;background-size:3.7rem 2.5rem;margin-top:.55rem;width:.5rem;height:1.15rem}.product-category .trilanglefont{font-family:iconfont!important;font-size:.75rem;font-style:normal;text-decoration:none;-webkit-font-smoothing:antialiased;-webkit-text-stroke-width:.2px;-moz-osx-font-smoothing:grayscale;color:#f4f4f4}.product-category .sub-level-container{float:right;box-sizing:border-box;background:#f4f4f4;width:55%;height:100%;position:relative}.product-category .sub-level{width:100%}.product-category .sub-level>li{box-sizing:border-box;height:2.225rem;line-height:2.225rem;border-bottom:1px solid #e6e6e6;margin-left:.75rem;padding-left:0}.product-category .sub-level>li.highlight{background:#dbdbdb;margin-left:0;padding-left:.75rem}.product-category .sub-level>li:last-child{border-bottom:none}.product-category .sub-level a{display:block;height:100%;width:100%;color:#afafaf}.product-category .sub-level.hide{display:none}.shopping-cart-good{position:relative;padding-left:.4rem}.shopping-cart-good .prevent-img-click{position:absolute;width:.5rem;height:5rem;background-color:transparent;z-index:9}.shopping-cart-good .none{display:none}.shopping-cart-good .checkbox{position:absolute;top:50%;margin-top:-.85rem;margin-left:.2rem;font-size:.7rem}.shopping-cart-good .checkbox.icon-cb-checked{color:#000}.shopping-cart-good .checkbox.disabled{color:#f0f0f0}.shopping-cart-good .few-tag{width:3.75rem;position:absolute;text-align:center;top:72%;color:#fff}.shopping-cart-good .few-tag span{display:inline-block;-webkit-transform:scale(.833);transform:scale(.833)}.shopping-cart-good .gift-tag{background-color:#88be51}.shopping-cart-good .plus-tag{background-color:#fc1264}.shopping-cart-good .few-tag-expire{position:absolute;top:40%;left:.5rem;background-color:#7f7f7f;display:inline-block;color:#fff;border-radius:.3rem;padding:.1rem;font-size:.5rem;width:1.2rem;text-align:center}.shopping-cart-good .info{float:left;margin-left:1.5rem;padding:.4rem 0;padding-right:.5rem}.shopping-cart-good .fixed-height{height:2.7rem}.shopping-cart-good .thumb{float:left;width:3.75rem;background-size:100%;background-repeat:no-repeat}.shopping-cart-good .deps{position:relative;width:9.5rem;margin-left:4.5rem;border-bottom:1px solid #e0e0e0;padding:.5rem 0}.shopping-cart-good .name{display:inline-block;width:80%;color:#5a5a5a;font-size:.6rem;line-height:.7rem}.shopping-cart-good .color-size-row>span{margin-right:.375rem}.shopping-cart-good .color,.shopping-cart-good .size{font-size:.6rem;color:#b6b6b6}.shopping-cart-good .appear-date{float:left;color:#d0253b;display:block;font-size:.5rem}.shopping-cart-good .price{font-size:.6rem;color:#d0253b;display:inline}.shopping-cart-good .price .sale-price{color:#b0b0b0;text-decoration:line-through}.shopping-cart-good .count{font-size:.5rem;color:#999;display:inline-block;width:22%;position:absolute;text-align:center}.shopping-cart-good .low-stocks{display:inline-block;width:2.5rem;height:.75rem;line-height:.75rem;font-size:.55rem;border:none;color:#fff;text-align:center;float:right;margin-right:.4rem;padding:.1rem;border-radius:.5rem;background:#7f7f7f}.shopping-cart-good .vip{display:inline-block;color:#fff;background:#e01;border-radius:.4rem;padding:0 .3rem;margin-left:.2rem;font-size:.5rem}.shopping-cart-good .la-tag{margin-top:.3rem;min-height:1rem}.shopping-cart-good .icon-del,.shopping-cart-good .icon-edit{position:absolute;color:#ccc;font-size:.75rem}.shopping-cart-good .icon-del{right:.5rem}.shopping-cart-good .icon-edit{right:1.8rem}.shopping-cart-good .opt-panel{position:absolute;width:5.5rem;right:0;top:0;bottom:0;color:#fff}.shopping-cart-good .opt-panel>div{float:left;box-sizing:border-box;width:2.75rem;height:100%;text-align:center;padding:1rem .5rem 0;font-size:.375rem}.shopping-cart-good .opt-panel span{display:block}.shopping-cart-good .opt-panel .put-in-favorite{background:#bbb}.shopping-cart-good .opt-panel .del{background:#999}.shopping-cart-good .opt-panel .del .iconfont{margin-bottom:.5rem}.shopping-cart-good .calculate-num{float:right}.shopping-cart-good .calculate-num .calculate{float:right;border:1px solid #b0b0b0;border-radius:.2rem}.shopping-cart-good .calculate-num .calculate p{color:#444}.shopping-cart-good .calculate-num .calculate p i{width:1.8rem;height:1.5rem;float:left;line-height:1.5rem;text-align:center}.shopping-cart-good .calculate-num .calculate p span{width:2.4rem;height:1.5rem;float:left;font-size:1rem;line-height:1.5rem;text-align:center}.shopping-cart-good .calculate-num .calculate p:first-child{height:1.5rem;border-bottom:1px solid #b0b0b0}.shopping-cart-good .calculate-num .calculate p:first-child span{border-left:1px solid #b0b0b0;border-right:1px solid #b0b0b0}.shopping-cart-good .calculate-num .calculate p:last-child span{width:4.2rem;overflow:hidden;font-size:.9rem;text-overflow:ellipsis;white-space:nowrap}.shopping-cart-good .calculate-num .price{line-height:1.5rem;font-size:1.15rem;font-weight:700}.shopping-cart-good .calculate-num .count{position:absolute;right:.5rem;top:.5rem;font-size:1.15rem}.shopping-cart-good:last-child .deps{border:none}.chose-panel{position:fixed;display:none;height:100%;top:0;bottom:0;left:0;right:0;background:rgba(0,0,0,.3);z-index:3}.chose-panel .main{position:absolute;height:15.25rem;bottom:0;left:0;right:0;background:#fff}.chose-panel .infos{height:11.5rem;padding:0 .55rem}.chose-panel .chose-items{height:8.125rem;overflow:auto}.chose-panel .basic-info{overflow:hidden;position:relative;margin-bottom:.75rem;margin-top:.75rem}.chose-panel .thumb{float:left;width:2.5rem;margin-right:.5rem}.chose-panel .text-info{height:auto}.chose-panel .text-info .name{font-size:.7rem;height:1.85rem;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.chose-panel .text-info .price{font-size:.6rem;display:inline}.chose-panel .text-info .sale-price{color:#e10;margin-right:.375rem}.chose-panel .text-info .sale-price.no-price{color:#000}.chose-panel .text-info .market-price{color:#b0b0b0;text-decoration:line-through}.chose-panel .color-list,.chose-panel .num,.chose-panel .size-list{position:relative;font-size:.7rem;padding-left:2rem}.chose-panel .color-list input.disabled,.chose-panel .num input.disabled,.chose-panel .size-list input.disabled{background-color:#fff;color:#000;opacity:1;border-radius:0;-webkit-appearance:none}.chose-panel .color-list>span,.chose-panel .num>span,.chose-panel .size-list>span{position:absolute;left:0;top:.5rem}.chose-panel .color-list>span.left-num,.chose-panel .num>span.left-num,.chose-panel .size-list>span.left-num{position:absolute;left:9.5rem;top:.5rem}.chose-panel .color-list span.disabled,.chose-panel .num span.disabled,.chose-panel .size-list span.disabled{color:#e6e6e6}.chose-panel .size-list li.hide{display:none}.chose-panel .block{float:left;display:block;box-sizing:border-box;padding:0 .5rem;min-width:2rem;height:2rem;border:1px solid #000;margin-right:.75rem;margin-bottom:.75rem;line-height:2rem;text-align:center}.chose-panel .block.chosed{border-color:#e10;background:url(../assets/img/shopping-cart/right.png) no-repeat;background-size:.95rem;background-position:100% 100%;color:#e10}.chose-panel .block.zero-stock{color:#e0e0e0;border-color:#e0e0e0}.chose-panel .block.zero-stock.chosed{border-color:#e0e0e0;background:none;color:#e0e0e0;background-color:silver}.chose-panel .num{margin-bottom:.5rem}.chose-panel .num .btn{float:left;display:block;height:2rem;width:2rem;text-align:center;line-height:2rem;border:1px solid #e6e6e6}.chose-panel .num .btn.disable{color:#e6e6e6}.chose-panel .good-num{float:left;width:2.65rem;height:2rem;line-height:2rem;padding:0;border:1px solid #e6e6e6;text-align:center;margin-left:-1px}.chose-panel .btn-plus{margin-left:-1px}.chose-panel .btn-wrap{position:relative;height:3rem;border-top:1px solid #e6e6e6;padding:.5rem;text-align:center;background:#fff;box-sizing:border-box}.chose-panel .btn-wrap .btn-sure{width:6.5rem;height:2rem;background:#e10;color:#fff;font-size:.8rem;border:none}.gift-advance-page .gift-advance-good{position:relative;padding:.5rem 0;margin-left:.85rem;height:4rem;border-bottom:1px solid #e0e0e0}.gift-advance-page .advance-block:last-child .gift-advance-good:last-child{border-bottom:1px solid #e0e0e0}.gift-advance-page .thumb-wrap{position:relative;float:left;width:3rem;height:4rem}.gift-advance-page .thumb-wrap .thumb{width:100%;height:100%}.gift-advance-page .tag{position:absolute;bottom:0;left:0;right:0;height:.625rem;color:#fff;text-align:center;background:#eb76aa}.gift-advance-page .tag:before{content:'加价购';display:block;font-size:.3rem;line-height:.625rem;-webkit-transform:scale(.833);transform:scale(.833)}.gift-advance-page .deps{margin-left:3.375rem}.gift-advance-page .gift-advance-good .name{margin-bottom:.5rem;width:11rem;font-size:.7rem}.gift-advance-page .row:nth-child(2){font-size:.55rem;height:1.125rem;line-height:1.125rem}.gift-advance-page .row:nth-child(2)>span{margin-right:.375rem}.gift-advance-page .row:nth-child(3){position:relative}.gift-advance-page .color,.gift-advance-page .size{color:#b6b6b6}.gift-advance-page .price{font-size:.6rem;color:#f1545b}.gift-advance-page .price.market-price{color:#999;text-decoration:line-through}.gift-advance-page .count{font-size:.5rem;color:#999;margin-left:.55rem}.gift-advance-page .chose{position:absolute;width:2.2rem;height:1.45rem;background:#f8f8f8;border:1px solid #ccc;right:.5rem;top:1.775rem;font-size:.65rem;line-height:1.45rem;text-align:center}.gift-advance-page .title{width:15rem;height:1.5rem;line-height:1.5rem;padding:0 .5rem;font-size:.6rem;background:#f8f8f8;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.gift-advance-page .gift-block .tag{background:#a1ce4e}.gift-advance-page .gift-block .tag:before{content:'赠品'}.order-ensure-page{background:#f0f0f0}.order-ensure-page .block{background:#fff;margin:.5rem 0;padding:.75rem .5rem;border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0}.order-ensure-page .title{font-size:.8rem;color:#444}.order-ensure-page .price-cost span{color:red}.order-ensure-page .border-none{border-bottom:none!important}.order-ensure-page .boys{background:url(../assets/img/shopping-cart/boys.png) 0 100% repeat-x #fff}.order-ensure-page .girls{background:url(../assets/img/shopping-cart/girls.png) 0 100% repeat-x #fff}.order-ensure-page .kids{background:url(../assets/img/shopping-cart/kids.png) 0 100% repeat-x #fff}.order-ensure-page .life-style{background:url(../assets/img/shopping-cart/lifeStyle.png) 0 100% repeat-x #fff!important}.order-ensure-page .not-address{position:relative}.order-ensure-page .not-address i{position:absolute;left:.4rem;top:0;font-size:1.1rem}.order-ensure-page .not-address .choose{display:block;color:#000;height:1.6rem;overflow:hidden;position:static;padding-left:1rem;font-size:.8rem;line-height:2.05rem}.order-ensure-page .not-address .choose span{position:absolute;right:.5rem;top:.7rem;font-size:.8rem}.order-ensure-page .address{display:block;position:relative;margin-top:0;border-top:none;padding-bottom:.8rem}.order-ensure-page .address .info{width:90%;height:auto;overflow:hidden;padding-left:10%;padding-bottom:.3rem;position:relative}.order-ensure-page .address .info span{display:inline-block}.order-ensure-page .address .info i{position:absolute;left:0;top:0;font-size:1.1rem}.order-ensure-page .address .info-name{width:48%;height:1rem;font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.order-ensure-page .address .info-phone{width:48%;font-size:.6rem;text-align:right}.order-ensure-page .address .info-address{width:100%;font-size:.6rem;line-height:.95rem}.order-ensure-page .address .rest{position:absolute;right:.8rem;bottom:.5rem;color:red;font-size:.6rem}.order-ensure-page .address .rest span{font-size:.6rem}.order-ensure-page .dispatch{padding:0;margin:0}.order-ensure-page .dispatch .sub-block{color:#444}.order-ensure-page .dispatch .sub-block h3{width:95%;height:2rem;overflow:hidden;line-height:2rem;font-size:.8rem;margin-left:5%;border-bottom:1px solid #e0e0e0}.order-ensure-page .dispatch .sub-block h3 .hide{display:none!important}.order-ensure-page .dispatch .sub-block h3 i,.order-ensure-page .dispatch .sub-block h3 p{display:inline-block;height:2rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.order-ensure-page .dispatch .sub-block h3 i{font-size:.9rem;margin-left:.2rem}.order-ensure-page .dispatch .sub-block h3 span{display:inline-block;width:65%;height:2rem;text-align:right;font-size:.7rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.order-ensure-page .dispatch .sub-block ul{width:90%;height:auto;overflow:hidden;line-height:2rem;font-size:.7rem;background:#e0e0e0;padding-left:10%;display:none;padding-bottom:.2rem}.order-ensure-page .dispatch .sub-block ul .right{float:right;margin-right:1rem}.order-ensure-page .dispatch .sub-block ul li{border-bottom:1px solid #fff}.order-ensure-page .dispatch .sub-block:last-child h3,.order-ensure-page .dispatch .sub-block ul li:last-child{border-bottom:none}.order-ensure-page .goods-num{width:100%;height:1.3rem;color:#b0b0b0;background:#fff;padding:.5rem 0;text-align:right;font-size:.7rem;line-height:1.3rem}.order-ensure-page .goods-num span{padding-right:.5rem;color:red}.order-ensure-page .bill{position:fixed;background:#fff;left:0;bottom:0;width:96%;height:2.5rem;overflow:hidden;line-height:2.5rem;font-size:.7rem;padding-left:4%}.order-ensure-page .bill span{color:red}.order-ensure-page .bill a{position:absolute;right:.5rem;top:.25rem;background:#d0021b;display:inline-block;color:#fff;width:25%;height:2rem;overflow:hidden;border-radius:.25rem;line-height:2rem;text-align:center;font-size:.75rem}.order-ensure-page .price-cal{margin-bottom:2.25rem;font-size:.7rem;position:relative}.order-ensure-page .price-cal span{position:absolute;right:.7rem;text-align:right}.order-ensure-page .price-cal li{font-size:.7rem}.order-ensure-page .price-cal li p,.order-ensure-page .price-cal li span{display:inline-block}.order-ensure-page .order-good{position:relative;padding:.5rem 0;margin-left:.85rem;height:4rem;border-bottom:1px solid #e0e0e0;font-size:.65rem}.order-ensure-page .order-good .thumb-wrap{position:relative;float:left;width:3rem;height:4rem}.order-ensure-page .order-good .thumb{width:100%;height:100%}.order-ensure-page .order-good .tag{position:absolute;bottom:0;left:0;right:0;color:#fff;text-align:center;font-size:.3rem}.order-ensure-page .order-good .tag:before{display:block;line-height:1;-webkit-transform:scale(.833);transform:scale(.833)}.order-ensure-page .order-good .gift-tag{height:.625rem;background:#a1ce4e}.order-ensure-page .order-good .gift-tag:before{content:'赠品'}.order-ensure-page .order-good .advance-buy-tag{height:.625rem;background:#eb76aa}.order-ensure-page .order-good .advance-buy-tag:before{content:'加价购'}.order-ensure-page .order-good .deps{margin-left:3.375rem}.order-ensure-page .order-good .name{font-size:.7rem;max-width:70%;text-overflow:-o-ellipsis-lastline;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.order-ensure-page .order-good .row:nth-child(2){height:1.125rem;line-height:1.125rem}.order-ensure-page .order-good .row:nth-child(2)>span{margin-right:.375rem}.order-ensure-page .order-good .color,.order-ensure-page .order-good .size{color:#b6b6b6}.order-ensure-page .order-good .price-wrap{position:absolute;top:.5rem;right:.75rem;text-align:right}.order-ensure-page .order-good .price{color:#e01}.order-ensure-page .order-good .count{display:block;color:#999;text-align:right;line-height:1.125rem}.order-ensure-page .order-good .appear-date{color:red}.order-ensure-page .order-good:last-child{border-bottom:none}.order-ensure-page .sale-invoice{margin-top:-.5rem;font-size:.6rem}.order-ensure-page .sale-invoice li{height:2.25rem;line-height:2.25rem;border-bottom:1px solid #f7f7f7;overflow:hidden}.order-ensure-page .sale-invoice li a{display:block}.order-ensure-page .sale-invoice .coupon-count{padding:.125rem .375rem;background:#d0021b;color:#fff;border-radius:.25rem;margin-left:.5rem}.order-ensure-page .sale-invoice .coupon-use{box-sizing:border-box;position:relative;float:right;padding-right:.75rem;color:#999;text-align:right;width:8rem;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.order-ensure-page .sale-invoice .coupon-use .iconfont{position:absolute;top:0;right:0;color:#999}.order-ensure-page .sale-invoice .checkbox{display:inline-block;width:2rem;text-align:center;margin-right:-.5rem}.order-ensure-page .sale-invoice .coin-check{float:right;color:#999}.order-ensure-page .sale-invoice .coin-check .checkbox{margin-left:.125rem;color:#000}.order-ensure-page .sale-invoice .coin-check.used,.order-ensure-page .sale-invoice .coin-check em{color:red}.order-ensure-page .sale-invoice .checkbox.icon-checkbox{color:#ccc}.order-ensure-page .sale-invoice .invoice .checkbox{float:right}.order-ensure-page .sale-invoice .invoice.focus{height:auto}.order-ensure-page .sale-invoice .desc{color:#999}.order-ensure-page .block input,.order-ensure-page .block textarea{box-sizing:border-box;margin:.5rem 0;padding:0 .3rem;width:100%;height:1.8rem;color:#444;background:#efefef;font-size:.6rem;line-height:1;outline:0;border:0;border-radius:.1rem}.order-ensure-page .block textarea{padding:.3rem;height:auto;resize:none}.order-ensure-page .block .more-jit{height:2.2rem;line-height:2.2rem;position:relative}.order-ensure-page .block .more-jit span{font-size:.85rem;color:#444}.order-ensure-page .block .more-jit .iconfont{position:absolute;right:0}.order-ensure-page .block.mt0{margin-top:0}.order-ensure-page .block.more-jit{padding-top:0;padding-bottom:0;margin-bottom:-.5rem;border-bottom:none}.order-ensure-page #invoice{border-top:1px solid #f7f7f7}.order-ensure-page #invoice label{display:block;border-top:1px solid #f7f7f7}.order-ensure-page #invoice select{position:relative;float:right;width:40%;height:1.25rem;top:.5rem;border:1px solid #f7f7f7}.order-ensure-page #msg{padding-top:.5rem}.order-ensure-page #msg input{margin:0}.order-ensure-page .total{font-size:.55rem;margin-top:.5rem}.order-ensure-page .total span{display:inline-block;width:3.25rem}.order-ensure-page .cost{border-top:1px solid #f7f7f7;line-height:2.5rem;margin-top:.25rem;font-size:.85rem}.order-ensure-page .cost em{color:red}.order-ensure-page .pay-mode{background:#fff;padding:0 .5rem;margin-top:-.55rem}.order-ensure-page .pay-mode li{height:2.2rem;line-height:2.2rem;margin-bottom:.7rem;border-radius:.125rem;font-size:.8rem;color:#fff;text-align:center;background:#000}.order-ensure-page .pay-mode .default{background:#57b038}.order-ensure-page .pay-mode .iconfont{margin-right:.5rem;font-size:.8rem}.select-coupon-page .not-avaliable-coupon-line:after,.select-coupon-page .not-avaliable-coupon-line:before{content:"";position:absolute;top:50%;border-top:1px solid #b0b0b0;width:3rem;height:0}.select-coupon-page{margin-top:.75rem;margin-bottom:.75rem}.select-coupon-page #new-coupon{margin-bottom:.75rem;padding-left:.75rem;padding-right:.75rem;font-size:.6rem}.select-coupon-page #new-coupon input{padding:0 .3rem;width:9.6rem;height:2rem;border:1px solid #b0b0b0;border-radius:.1rem;outline:0}.select-coupon-page #new-coupon .submit{margin-left:.75rem;width:3.25rem;height:2rem;color:#fff;background:#b0b0b0;border-radius:.1rem;border:none;outline:0}.select-coupon-page .coupon-list .employ-main:first-child{margin-top:0}.select-coupon-page .coupon-list .employ-main:last-child{margin-bottom:0}.select-coupon-page .not-use{display:block;width:14rem;margin:.75rem auto 0;text-align:center;font-size:.8rem;line-height:2.5;border:1px solid #444;border-radius:4px}.select-coupon-page .not-avaliable-coupon-line{position:relative;margin-top:.75rem;margin-bottom:.75rem;font-size:.7rem;line-height:2;color:#b0b0b0;text-align:center}.select-coupon-page .not-avaliable-coupon-line:before{left:1.5rem}.select-coupon-page .not-avaliable-coupon-line:after{right:1.5rem}.select-coupon-page .not-avaliable{background-image:url(../assets/img/me/employ/employ-grey.jpg)!important}.select-address-page{padding-bottom:.5rem}.select-address-page .add-address{margin-bottom:0}.icon-checkbox:before{content:"\e61c"}.icon-cb-checked:before{content:"\e61d"}.icon-radio:before{content:"\e647"}.icon-cb-radio:before{content:"\e646"}.shopping-cart-page{margin-bottom:3rem;overflow-x:hidden;background:#f0f0f0;display:none}.shopping-cart-page .yoho-tip{z-index:4}.shopping-cart-page .cart-content>*{background:#fff}.shopping-cart-page .cart-content>:first-child{border-top:none;margin-top:0}.shopping-cart-page .cart-nav{color:#c6c6c6;border-bottom:1px solid #e0e0e0;background:#fff}.shopping-cart-page .cart-nav li{float:left;width:50%;padding:.75rem 0;height:.75rem}.shopping-cart-page .cart-nav li.active{color:#000}.shopping-cart-page .cart-nav span{display:block;box-sizing:border-box;width:100%;height:.75rem;line-height:.75rem;font-size:.75rem;text-align:center}.shopping-cart-page .cart-nav li:first-child span{border-right:1px solid #e0e0e0}.shopping-cart-page .cart-nav li:last-child{position:relative}.shopping-cart-page .cart-nav .presell-tip{position:absolute;z-index:1;left:-2rem;top:1.75rem}.shopping-cart-page .cart-nav .triangle{width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:12px solid #000;margin-left:6rem}.shopping-cart-page .cart-nav .pt-content{position:relative;padding:.25rem;background:#000;color:#fff;font-size:.3rem;border-radius:5px;text-align:center;width:7rem}.shopping-cart-page .login-info{height:1.15rem;padding:.425rem .5rem;color:#24acaa;text-align:center;font-size:.7rem}.shopping-cart-page .login-info .btn{display:inline-block;background:#ed0010;color:#fff;width:2rem;height:1.15rem;line-height:1.15rem}.shopping-cart-page .presell-info{height:1.5rem;padding:.375rem .75rem;font-size:.55rem;background:#f0f0f0;color:#b7b7b7}.shopping-cart-page .presell-info>span{display:block}.shopping-cart-page .presell-info .iconfont{float:left;font-size:1.125rem}.shopping-cart-page .presell-info .txt{height:.75rem;line-height:.75rem;margin-left:2rem}.shopping-cart-page .cart-goods{border-bottom:1px solid #e0e0e0;margin-bottom:.75rem}.shopping-cart-page .cart-goods .shopping-cart-good:last-child .info{border-bottom:none}.shopping-cart-page .invalid-goods{border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0;margin:.75rem 0}.shopping-cart-page .freebie-and-advance-buy{font-size:.6rem;border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0;margin-bottom:.75rem}.shopping-cart-page .freebie-and-advance-buy>li{box-sizing:border-box;height:2rem;line-height:2rem;margin-bottom:.25rem;padding:0 .5rem}.shopping-cart-page .freebie-and-advance-buy>li a{float:right;width:100%}.shopping-cart-page .freebie-and-advance-buy>li .under-line{display:inline-block;height:1px;width:91%;position:absolute;left:9%;background-color:#f1f1f1}.shopping-cart-page .freebie-and-advance-buy>li:last-child{margin-bottom:0}.shopping-cart-page .freebie-and-advance-buy>li:first-child .under-line{display:none}.shopping-cart-page .freebie-and-advance-buy .count{color:#7b7b7b;float:right}.shopping-cart-page .freebie-and-advance-buy .icon-right-arrow{color:#8f8f8f;float:right}.shopping-cart-page .activity-title{border-top:1px solid #e0e0e0;font-size:.8rem;padding:.5rem .5rem 0}.shopping-cart-page .activity{padding:.2rem .5rem .5rem .8rem;font-size:.65rem}.shopping-cart-page .activity li:before{content:"";display:inline-block;margin-right:.25rem;width:.2rem;height:.2rem;background-color:#000;border-radius:50%;position:relative;left:0;top:-.12rem}.shopping-cart-page .price-compute{padding:.5rem;border-top:1px solid #e0e0e0;font-size:.7rem}.shopping-cart-page .price-compute .title{display:inline-block;width:4.375rem}.shopping-cart-page .price-compute .minus{float:right}.shopping-cart-page .balance{position:fixed;box-sizing:border-box;bottom:0;width:100%;padding:.5rem;height:3rem;border-top:1px solid #e0e0e0;background:#fff}.shopping-cart-page .balance .iconfont{position:absolute;top:50%;margin-top:-.35rem;font-size:.7rem}.shopping-cart-page .balance p{float:right;margin-right:.8rem;font-size:.65rem}.shopping-cart-page .balance p span{display:block;height:1rem;line-height:1rem;color:#d0253b;font-weight:700}.shopping-cart-page .balance p .tip{color:#666;font-size:.55rem;text-align:right;font-weight:400}.shopping-cart-page .balance .btn-balance{float:right;width:3.5rem;height:2rem;line-height:2rem;text-align:center;background:#e01;color:#fff;border:none;font-size:.7rem}.shopping-cart-page .cart-zero{width:100%;height:auto;padding-top:2rem;padding-bottom:20%}.shopping-cart-page .cart-zero i{font-size:6em;display:block;margin:0 auto;text-align:center;color:#505050}.shopping-cart-page .cart-zero p{display:block;text-align:center;font-size:1em;color:#444;padding:.6rem 0}.shopping-cart-page .cart-zero a{width:27%;height:1.2rem;overflow:hidden;line-height:1.2rem;border:1px solid #505050;border-radius:.2rem;display:block;margin:0 auto;text-align:center;color:#fff;background:#444} \ No newline at end of file +@charset "utf-8";.yoho-header .nav-back,.yoho-header .nav-btn,.yoho-header .nav-home,.yoho-header .nav-sub-right,a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0;font:inherit;font-size:100%;vertical-align:baseline}html{line-height:1}ol,ul{list-style:none}table{border-collapse:collapse;border-spacing:0}caption,td,th{text-align:left;font-weight:400;vertical-align:middle}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:"";content:none}a img{border:none}.yoho-header .nav-back,.yoho-header .nav-btn,.yoho-header .nav-home,.yoho-header .nav-sub-right,article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}.clearfix:after{content:'';display:table;clear:both}*{-webkit-tap-highlight-color:rgba(0,0,0,0);-moz-tap-highlight-color:transparent;tap-highlight-color:transparent}body,html{font-family:helvetica,Arial,黑体;width:100%;font-size:12px;line-height:1.4}button,input,select,textarea{font-size:100%;margin:0}img{max-width:100%;display:block;border:0;margin:0 auto}a{text-decoration:none;outline:none;color:#000}a:actived,a:hover,a:link,a:visited{color:#111}iframe[height="0"]{display:none}:focus{outline:none}.hide{display:none}.overflow-hidden{overflow:hidden}@font-face{font-family:iconfont;src:url(../assets/font/iconfont.eot?15505c203a4);src:url(../assets/font/iconfont.eot?&15505c203a4#iefix) format('embedded-opentype'),url(../assets/font/iconfont.woff?15505c20d83) format('woff'),url(../assets/font/iconfont.ttf?15505c20cb9) format('truetype'),url(../assets/font/iconfont.svg?15505c203b4#iconfont) format('svg')}.iconfont{font-family:iconfont!important;font-size:16px;font-style:normal;text-decoration:none;-webkit-font-smoothing:antialiased;-webkit-text-stroke-width:.2px;-moz-osx-font-smoothing:grayscale}.yoho-tip{position:fixed;display:none;text-align:center;width:70%;padding:34px 0;top:50%;left:50%;margin-left:-35%;margin-top:-45px;background-color:rgba(0,0,0,.7);color:#fff;font-size:18px;border:none;z-index:4;border-radius:10px}.tap-hightlight.highlight{background:#eee!important}.load-more-info{width:100%;height:1.75rem;line-height:1.75rem;text-align:center;font-size:14px;overflow:hidden}.load-more-info .status.hide{display:none}.yoho-header .nav-back,.yoho-header .nav-btn,.yoho-header .nav-home,.yoho-header .nav-sub-right{display:block;position:absolute;top:0;width:2.25rem;height:2.25rem;font-size:20px;line-height:2.25rem;color:#fff;text-align:center;outline:none}.yoho-header{position:relative;background-color:#000;color:#fff;width:100%;overflow:hidden;height:2.25rem;line-height:2.25rem;z-index:1}.yoho-header a.highlight{background:hsla(0,0%,78%,.1)}.yoho-header .nav-back{left:.25rem}.yoho-header .nav-home{right:.25rem}.yoho-header .nav-btn{right:.25rem;font-size:14px}.yoho-header .nav-sub-right{right:2.5rem}.yoho-header .nav-title{position:absolute;margin-left:2.5rem;margin-right:2.5rem;height:100%;font-size:.9rem;color:#fff;font-weight:700;top:0;right:0;left:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-align:center}.yoho-header.boys{background-image:-webkit-linear-gradient(#323232,#414141);background-image:linear-gradient(#323232,#414141)}.yoho-header.girls{background:#ff88ae}.yoho-header.kids{background:#7ad9f9}.yoho-header.life-style{background:#4f4138}.systemUpdate{width:100%;height:2.25rem;overflow:hidden;line-height:2.25rem;display:none;background-image:-webkit-linear-gradient(#323232,#414141);background-image:linear-gradient(#323232,#414141)}.systemUpdate .systemHeader{width:85%;font-size:1.5rem}.systemUpdate .systemHeader,.systemUpdate span{height:100%;overflow:hidden;color:#fff;float:left;text-align:center}.systemUpdate span{width:14%;font-size:2rem;font-weight:700}.systemMain{width:92%;height:100%;overflow:hidden;background-color:#444;color:#fff;padding:0 4%;position:absolute;top:0;left:0}.systemMain p{font-size:1.3rem;line-height:1.5rem}.systemMain p:first-of-type{padding-top:2.25rem}.homebuttom{width:100%;height:2.25rem;overflow:hidden;border-top:1px solid hsla(0,0%,100%,.5);color:#fff;z-index:2;position:relative}.homebuttom ul{width:100%;height:90%;overflow:hidden;padding-top:.3rem}.homebuttom ul li{width:25%;height:100%;overflow:hidden;float:left;text-align:center}.homebuttom ul li i{width:100%;height:40%;display:block;color:#fff;margin-bottom:.2rem}.homebuttom ul li span{width:100%;height:auto;overflow:hidden;display:block;line-height:1rem;color:#fff}.homebuttom.boys{background-image:-webkit-linear-gradient(#323232,#414141);background-image:linear-gradient(#323232,#414141)}.homebuttom.girls{background:#ff88ae}.homebuttom.kids{background:#7ad9f9}.homebuttom.life-style{background:#4f4138}.yoho-footer{font-size:.6rem;background-color:#fff;position:relative}.yoho-footer .op-row{padding:0 .75rem;height:3rem;line-height:3rem}.yoho-footer .op-row a,.yoho-footer .op-row span{display:inline-block;overflow:hidden}.yoho-footer .op-row .user-name{text-decoration:underline;margin-left:.3em;margin-right:1em;max-width:5rem;text-overflow:ellipsis;white-space:nowrap}.yoho-footer .op-row .back-to-top{position:absolute;right:1rem}.yoho-footer .op-row .sep-line{margin:0 .3em}.yoho-footer .copyright{height:3rem;line-height:3rem;border-top:1px solid #ccc;text-align:center;color:#666;background-color:#eee}.footer-tab,.yoho-footer.bottom{position:fixed;width:100%;bottom:0}.footer-tab{left:0;height:2.5rem;padding-top:.5rem;box-sizing:border-box;background:#fff;border-top:1px solid #b0b0b0;z-index:3}.footer-tab .tab-item{float:left;width:20%;text-align:center;color:#b0b0b0}.footer-tab .tab-item.current{color:#414141}.footer-tab .tab-icon{font-size:1rem;line-height:1}.footer-tab .tab-name{margin-top:.25rem;font-size:.5rem;line-height:1}.boys-wrap .footer-tab .tab-item.current{color:#414141}.girls-wrap .footer-tab .tab-item.current{color:#ff88ae}.kids-wrap .footer-tab .tab-item.current{color:#7ad9f9}.lifestyle-wrap .footer-tab .tab-item.current{color:#4f4138}.good-info{float:left;width:6.9rem;height:12.65rem;margin:.25rem .375rem 1rem}.good-info .tag-container{height:.7rem;width:100%;overflow:hidden}.good-info .tag-container .good-tag{display:block;float:left;height:.7rem;font-size:.45rem;text-align:center;line-height:.7rem;box-sizing:border-box;margin-right:.1rem}.good-info .tag-container .good-tag:last-child{margin-right:0}.good-info .tag-container .new-tag{width:1.5rem;background-color:#78dc7e;color:#fff}.good-info .tag-container .renew-tag{width:2.25rem;background-color:#78dc7e;color:#fff}.good-info .tag-container .sale-tag{width:1.5rem;background-color:#ff575c;color:#fff}.good-info .tag-container .new-festival-tag{width:2.25rem;background-color:#000;color:#fff}.good-info .tag-container .limit-tag{width:2.5rem;border:1px solid #000;color:#000}.good-detail-img{position:relative;height:9.2rem}.good-detail-img .good-islike{position:absolute;width:1.5rem;height:1.5rem;top:0;right:0;line-height:1.5rem;font-size:.75rem;text-align:center;color:#b0b0b0;text-decoration:none}.good-detail-img .good-like{color:#d72928}.good-detail-img img{display:block;width:100%;height:9.2rem}.good-detail-img .few-tag{position:absolute;bottom:0;width:100%;height:.7rem;background:#ffac5b;font-size:.45rem;color:#fff;line-height:.7rem;text-align:center}.good-detail-text .name a{display:block;min-height:1.5rem;font-size:.55rem;color:#444;margin:.5rem 0}.good-detail-text .price{line-height:.55rem;font-size:.55rem}.good-detail-text .price .sale-price{color:#d62927}.good-detail-text .price .sale-price.no-price{color:#000}.good-detail-text .price .market-price{margin:0 0 0 .125rem;color:#b0b0b0;text-decoration:line-through}.order-failure{background-size:100%}.good-failure,.order-failure{background-image:url(../assets/img/lazy-failure/order-good.jpg)}.good-failure{background-size:3.3rem!important;background-position-x:40%}.filter-body,.filter-mask{position:absolute;left:0;right:0;top:0}.filter-mask{height:100%;background:rgba(0,0,0,.1)}.filter-body{background:#fff;color:#000;cursor:pointer;font-size:14px;height:440px}.filter-body .classify{width:50%;height:100%;background:#f8f8f8}.filter-body .classify>li{height:60px;line-height:60px}.filter-body .classify>li>*{box-sizing:border-box}.filter-body .classify>li .shower{padding-left:20px;width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#333}.filter-body .classify>li .shower.highlight{background:#eee}.filter-body .classify>li .default{color:#999}.filter-body .classify>li .title{float:left;color:#000}.filter-body .classify>li.active{background:#fff}.filter-body .sub-classify{position:absolute;display:none;width:50%;height:440px;left:50%;top:0;overflow:auto;-webkit-overflow-scrolling:touch}.filter-body .sub-classify>li{height:60px;line-height:60px;padding-left:15px;border-bottom:1px solid #e6e6e6;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.filter-body .sub-classify>li.highlight{background:#eee}.filter-body .sub-classify .chosed-icon{display:none}.filter-body .sub-classify .chosed .chosed-icon{display:inline}.filter-body .active>.sub-classify{display:block}.loading-mask{position:fixed;background:rgba(0,0,0,.1);top:0;bottom:0;right:0;left:0;@-webkit-keyframes a{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}45%{-webkit-transform:scale(.1);transform:scale(.1);opacity:.7}80%{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes a{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}45%{-webkit-transform:scale(.1);transform:scale(.1);opacity:.7}80%{-webkit-transform:scale(1);transform:scale(1);opacity:1}}}.loading-mask .loading{position:absolute;width:60px;height:20px;top:50%;left:50%;margin-top:-10px;margin-left:-30px}.loading-mask .loading>div{display:inline-block;background:#fff;width:15px;height:15px;border-radius:100%;margin:2px}.loading-mask .loading>div:nth-child(1){-webkit-animation:a .75s .12s infinite cubic-bezier(.2,.68,.18,1.08);animation:a .75s .12s infinite cubic-bezier(.2,.68,.18,1.08)}.loading-mask .loading>div:nth-child(2){-webkit-animation:a .75s (1 + 1) * .12s infinite cubic-bezier(.2,.68,.18,1.08);animation:a .75s (1 + 1) * .12s infinite cubic-bezier(.2,.68,.18,1.08)}.loading-mask .loading>div:nth-child(3){-webkit-animation:a .75s (2 + 1) * .12s infinite cubic-bezier(.2,.68,.18,1.08);animation:a .75s (2 + 1) * .12s infinite cubic-bezier(.2,.68,.18,1.08)}.index-page{width:100%;overflow:hidden;margin:0 auto}.index-page #yohood{background-color:transparent;background-image:url(../assets/img/yohood.png);background-size:40%;background-repeat:no-repeat;background-position-x:26%;background-position-y:36%;border:none;border-bottom:4px solid #fff}.index-page #yohood:active{background-image:url(../assets/img/yohood-tapped.png);background-color:hsla(0,0%,100%,.4);border-bottom-color:#000}.index-page #yohood:active .right-icon{color:#000}.index-page .index-header{box-sizing:border-box;padding:0 .5rem;width:100%;height:2.4rem;line-height:2.4rem}.index-page .index-header .index-logo{float:left;width:7.2rem;height:2.4rem;background:url(../assets/img/yohologo.png) 0 no-repeat;background-size:7rem 1.5rem;opacity:1;-webkit-transition:all .4s;transition:all .4s}.index-page .index-header .index-logo img{display:inline;vertical-align:middle;width:5.175rem;height:1.225rem}.index-page .index-header .index-logo.action{opacity:0;width:0}.index-page .index-header .box{position:relative;overflow:hidden;z-index:1}.index-page .index-header .box.action .clear-text,.index-page .index-header .box.action .no-search{display:block}.index-page .index-header .index-search{height:2.4rem;background:#fff;overflow:hidden;-webkit-transition:width .4s;transition:width .4s}.index-page .index-header .index-search .search-box{position:relative;top:.5rem;height:1.4rem;padding-right:2rem;-webkit-transition:width .4s;transition:width .4s;box-sizing:border-box;border:1px solid #ccc;overflow:hidden;-webkit-transition:margin-left .4s;transition:margin-left .4s}.index-page .index-header .index-search input{float:left;width:96%;font-size:.7rem;padding:.25rem;color:#999;overflow:hidden;border:none;-webkit-appearance:none}.index-page .index-header .index-search .iconfont{position:absolute;top:.2rem;width:1rem;font-size:.7rem;z-index:1;line-height:1rem}.index-page .index-header .index-search .clear-text{display:none;right:1.25rem;color:#ccc}.index-page .index-header .index-search .search-icon{right:.25rem;color:#666}.index-page .index-header .index-search .search-icon.empty{color:#e6e6e6}.index-page .index-header .no-search{display:none;float:left;margin-right:.25rem;color:#999;font-size:.7rem}.index-page .index-container{position:relative;-webkit-transition:-webkit-transform .5s;transition:-webkit-transform .5s;transition:transform .5s;transition:transform .5s,-webkit-transform .5s;background-color:#fff}.index-page .index-container .index_header{height:2rem;line-height:2rem;overflow:hidden;padding:0 .25rem}.index-page .index-container .index-channel{color:#fff;text-align:center;position:relative;background-color:#000;min-height:20rem}.index-page .index-container .index-channel .index-channel-list{margin-top:-7.5rem;width:100%;position:absolute;top:50%}.index-page .index-container .index-channel .index-channel-list .list-item{display:block;position:relative;margin:0 auto 1rem;width:10.8rem;height:2.6rem;text-align:center;font-size:.8rem;line-height:2.6rem;color:#fff;background-color:#000;border:4px solid #fff;font-weight:700}.index-page .index-container .index-channel .index-channel-list .list-item:last-child{margin-bottom:0}.index-page .index-container .index-channel .index-channel-list .lighter{font-weight:lighter}.index-page .index-container .index-channel .index-channel-list .right-icon{position:absolute;right:.25rem;top:0;font-weight:700}.index-page .index-container .index-channel .index-channel-list .homestyle{margin-bottom:1.25rem;width:7.1825rem}.search-page .search-input,.shop-index .search-area .search-input{position:relative;padding:.35rem .55rem;background:#f8f8f8}.search-page .search-input form,.shop-index .search-area .search-input form{width:100%}.search-page .search-input .search-icon,.shop-index .search-area .search-input .search-icon{position:absolute;font-size:.6rem;top:.65rem;left:.9rem;color:#b2b2b2}.search-page .search-input input,.shop-index .search-area .search-input input{height:1.4rem;width:9.45rem;border-radius:.7rem;padding:0 1.3rem;font-size:.6rem;background:#fff;border:none}.search-page .search-input .clear-input,.shop-index .search-area .search-input .clear-input{position:absolute;top:.5rem;right:3.625rem;font-size:.8rem;color:#666}.search-page .search-input .search,.shop-index .search-area .search-input .search{position:absolute;top:.45rem;right:1rem;border:none;background:transparent;color:#666;font-size:.75rem;line-height:1.4rem}.search-page .search-items,.shop-index .search-area .search-items{padding:1rem .5rem}.search-page .search-items h3,.shop-index .search-area .search-items h3{font-size:.6rem;margin-bottom:.5rem}.search-page .search-items li,.shop-index .search-area .search-items li{float:left;margin-right:.5rem;margin-bottom:.5rem;max-width:100%;overflow:hidden}.search-page .search-items a,.shop-index .search-area .search-items a{display:block;height:1.7rem;line-height:1.7rem;padding:0 .5rem;font-size:.7rem;background:#f8f8f8;color:#000;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-page .search-items .clear-history,.shop-index .search-area .search-items .clear-history{height:1.6rem;line-height:1.6rem;border:1px solid #e6e6e6;background:#fff;font-size:.7rem}.search-page .search-items .clear-icon,.shop-index .search-area .search-items .clear-icon{float:right;background:#fff}.search-page .search-items span,.shop-index .search-area .search-items span{margin-right:.125rem}.search-brand-page .search-input{position:relative;padding:.35rem .55rem;background:#f8f8f8}.search-brand-page .search-input form{width:100%}.search-brand-page .search-input .search-icon{position:absolute;font-size:.6rem;top:.65rem;left:.9rem;color:#b2b2b2}.search-brand-page .search-input input{height:1.4rem;width:9.45rem;border-radius:.7rem;padding:0 1.3rem;font-size:.6rem;background:#fff;border:none}.search-brand-page .search-input .clear-input{position:absolute;top:.5rem;right:3.625rem;font-size:.8rem;color:#666}.search-brand-page .search-input .search{position:absolute;top:.45rem;right:1rem;border:none;background:transparent;color:#666;font-size:.75rem;line-height:1.4rem}.search-brand-page .search-items{padding:1rem .5rem}.search-brand-page .search-items h3{font-size:.6rem;margin-bottom:.5rem;color:#b8b8b8}.search-brand-page .search-items li{float:left;margin-right:.5rem;margin-bottom:.5rem;max-width:100%;overflow:hidden}.search-brand-page .search-items a{display:block;height:1.7rem;line-height:1.7rem;padding:0 .5rem;font-size:.7rem;background:#fff;color:#b8b8b8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:1px solid #b8b8b8;border-radius:.2rem}.search-brand-page .search-items .clear-history{font-size:.7rem}.search-brand-page .search-items .clear-icon{float:right;color:#b8b8b8;border:none;background:#fff}.search-brand-page .search-items span{margin-right:.25rem;font-size:.35rem}.search-brand-page .search-items .history-search{border-bottom:1px solid #f3f3f3}.search-brand-page .search-items .hot-search{margin-top:.5rem}.search-brand-page .search-items .clearfix{margin-left:.75rem}.float-layer{height:44px;background:rgba(68,68,68,.95);position:fixed;width:100%;bottom:0;left:0;z-index:9999;padding:10px 0}.float-layer .float-layer-left{padding-left:22px;overflow:hidden;float:left}.float-layer .float-layer-left img{height:44px;float:left;margin-right:10px}.float-layer .float-layer-left p{float:left;font-size:16px;height:44px;line-height:44px;color:#fff}.float-layer .float-layer-left .yoho-icon{float:left;margin-right:10px;font-size:22px;line-height:44px;width:44px;height:44px;text-align:center;color:#fff;border-radius:10px;background-image:-webkit-linear-gradient(#323232,#0f0f0f);background-image:linear-gradient(#323232,#0f0f0f)}#float-layer-close{position:absolute;left:0;top:0;width:50px;height:50px}#float-layer-close .close-icon{position:absolute;left:0;top:0;color:silver;z-index:2}#float-layer-btn{position:absolute;top:50%;right:15px;font-size:16px;padding:0 10px;height:27px;line-height:27px;background:#fff;border-radius:5px;margin-top:-13px;-webkit-tap-highlight-color:rgba(0,0,0,.5)}#float-layer-btn:actived,#float-layer-btn:hover,#float-layer-btn:link,#float-layer-btn:visited{color:#000}.circle-rightbottom{position:absolute;width:25px;height:0;border:0 solid #323232;border-bottom:25px solid #323232;border-radius:0 0 25px 0}.err-page .err-bg{position:fixed;height:5rem;width:5rem;top:50%;left:50%;margin-left:-2.5rem;margin-top:-2.5rem;background:url(../assets/img/404.png) no-repeat;background-size:100% 100%}body.passport-body{background-color:#444;font-family:MicroSoft YaHei,SimSun,sans-serif}body.passport-body *{box-sizing:border-box}.passport-page{text-align:center;padding:0 6%}.passport-page .header{position:relative;height:40px;margin:20px 0 30px}.passport-page .header .go-back{display:block;position:absolute;height:30px;width:30px;top:5px;left:0;background:url(../assets/img/passport/go-back.png) no-repeat;background-size:100% 100%}.passport-page .header .title{font-size:20px;line-height:40px;color:#fff}.passport-page .header .img-header{width:68px;height:40px;background:url(../assets/img/passport/yoho-family.png) no-repeat;background-size:100% 100%;margin:0 auto}.passport-page .input-container,.passport-page .select-container{position:relative;width:100%;height:52px;font-size:20px;background-color:#575757;border:1px solid #606060;border-radius:5px;text-align:left;color:#fff}.passport-page .select-container .select{position:absolute;height:50px;padding-right:40px;right:0;color:#fff;background-color:transparent;border:0;border-radius:5px;-webkit-appearance:none;-moz-appearance:none;appearance:none;direction:rtl}.passport-page .select-container .select:focus{outline:0;border:none}.passport-page .select-container .select:-moz-focusring{color:transparent;text-shadow:0 0 0 #fff}.passport-page .select-container .select-title{line-height:2.5;margin-left:15px}.passport-page .select-container .arrow-right{position:absolute;width:13px;height:20px;right:15px;top:16px;background:url(../assets/img/passport/arrow-right.png) no-repeat;background-size:100% 100%}.passport-page .has-clear,.passport-page .has-eye{padding-right:30px}.passport-page .area-code{position:absolute;left:15px;line-height:2.5}.passport-page .phone-container{padding-left:55px}.passport-page .input{width:100%;line-height:26px;padding:12px 0;padding-left:15px;border-radius:5px;color:#fff;background-color:transparent;border:none}.passport-page .btn{display:block;width:100%;font-size:20px;line-height:2.5;background-color:#36a74c;border-radius:5px;color:#fff}.passport-page .btn.disable{background-color:#a2a2a2}.passport-page .country-select.in-android-uc{width:90px}.passport-page .clear-input{position:absolute;display:none;top:18px;right:10px;width:16px;height:16px;background:url(../assets/img/passport/clear-input.png) no-repeat;background-size:100% 100%}.passport-page .eye{position:absolute;top:20px;right:10px;width:19px;height:12px;background:url(../assets/img/passport/eye.png) no-repeat;background-size:100% 100%}.passport-page .eye.close{background-image:url(../assets/img/passport/eye-close.png)}.passport-page .row{margin-bottom:10px}.reg-page .register-tip{color:#fff;font-size:15px}.login-page .yoho-logo{position:absolute;height:31px;width:26px;background:url(../assets/img/passport/yoho.png);background-size:100% 100%;top:10px;left:15px}.login-page .acc-container{padding-left:45px}.login-page .op-container{position:relative;width:100%;margin:20px 0;text-align:left;font-size:16px}.login-page .op-container .forget-pwd,.login-page .op-container .go-register{text-decoration:underline;color:#858585}.login-page .op-container .forget-pwd{position:absolute;right:0}.login-page .third-party-login{text-align:left}.login-page .third-party-login>span{font-size:16px;color:#858585}.login-page .third-party-login .tp-link{text-align:center;padding:20px 0}.login-page .third-party-login .tp-link>a{display:inline-block;width:44px;height:44px;margin:0 7px;border-radius:50%;background-color:#333;background-repeat:no-repeat;background-size:100% 100%}.login-page .third-party-login .tp-link .alipay{background-image:url(../assets/img/passport/alipay.png)}.login-page .third-party-login .tp-link .weibo{background-image:url(../assets/img/passport/weibo.png)}.login-page .third-party-login .tp-link .weixin{background-image:url(../assets/img/passport/weixin.png)}.login-page .third-party-login .tp-link .qq{background-image:url(../assets/img/passport/qq.png)}.login-page .international{display:block;width:200px;padding:5px 10px;background-color:#333;border:none;border-radius:20px;margin:0 auto;font-size:16px;color:#d8d8d8}.login-page .login-tip{font-size:16px;position:relative;color:#d8d8d8;margin:15px 0}.login-page .login-tip .info-icon{display:inline-block;height:12px;width:12px;background-image:url(../assets/img/passport/info.png);background-size:100% 100%}.login-page .mask{position:fixed;display:none;top:0;bottom:0;right:0;left:0;background-color:rgba(0,0,0,.5)}.login-page .retrive-pwd-ways{position:fixed;display:none;bottom:5px;left:10px;right:10px;font-size:16px}.login-page .retrive-pwd-ways li{background-color:#fff;width:100%;height:40px;line-height:40px;text-align:center}.login-page .retrive-pwd-ways li:nth-child(1){border-top-left-radius:5px;border-top-right-radius:5px;border-bottom:1px solid #9f9f9f}.login-page .retrive-pwd-ways li:nth-child(2){border-bottom-left-radius:5px;border-bottom-right-radius:5px}.login-page .retrive-pwd-ways li:last-child{margin-top:10px;border-radius:5px}.back-email-success-page .tip{font-size:20px;color:#fff;margin-top:30px}.back-email-success-page .resend,.back-email-success-page .sub-tip{color:#939393;font-size:16px}.back-email-success-page .go-email{margin:20px 0 10px}.back-email-success-page .resend{float:right}.back-code-page .captcha-tip,.reg-code-page .captcha-tip{position:absolute;width:148px;text-align:center;right:15px;top:8px;color:#36a74c;padding:5px 0;border:1px solid #36a74c;border-radius:20px;font-size:16px}.back-code-page .captcha-tip.disable,.reg-code-page .captcha-tip.disable{color:#8f8f8f;border-color:#8f8f8f}.back-code-page .input-container,.reg-code-page .input-container{padding-right:190px}.back-code-page .text-container,.reg-code-page .text-container{color:#fff;font-size:16px;margin-bottom:20px}.back-code-page .phone,.reg-code-page .phone{color:#4ecae8}.back-code-page .clear-input,.reg-code-page .clear-input{right:170px}.back-code-page .tip,.reg-code-page .tip{margin-top:30px;color:#fff;font-size:14px;line-height:2}.back-code-page .tip a,.reg-code-page .tip a{color:#fff}.bind-page .bind-tip{color:#fff;font-size:15px}#yohood{background-image:url(../assets/img/yohood.png);background-size:40%;background-repeat:no-repeat;background-color:transparent;background-position-x:10%;background-position-y:40%;border:none;border-bottom:4px solid #fff}.success-page{color:#fefefe}.success-page .success-icon{width:74px;height:74px;margin:60px auto 30px;background:url(../assets/img/passport/success.png);background-size:100%}.success-page .success-tip{padding:10px;font-size:16px;line-height:1.5}.success-page .go{display:block;margin:30px auto;width:270px;height:40px;font-size:14px;line-height:40px;color:#fff;background:hsla(0,0%,100%,.4);border-radius:5px}.time-view-like-share{color:#b0b0b0;line-height:.95rem;height:.95rem;font-size:.6rem}.time-view-like-share .iconfont{vertical-align:9%;margin-right:.1rem;font-size:.6rem}.time-view-like-share .like-share-container{display:inline-block;float:right}.time-view-like-share .like-share-container>*{float:left}.time-view-like-share .like-share-container .iconfont{position:relative;height:1.5rem;line-height:1.5rem;display:inline-block;color:#b0b0b0;width:1.5rem;top:-.35rem;font-size:.85rem;text-align:center;margin-right:0;outline:none}.time-view-like-share .like-share-container .share-btn{margin-left:.5rem}.time-view-like-share .like-share-container .like-btn.like{color:#444}.time-view-like-share .like-share-container .collect-btn{margin-left:.5rem}.time-view-like-share .like-share-container .collect-btn.collected{color:#d62927}.guang-info{margin-bottom:.75rem;padding:0 0 .6rem;border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0;background:#fff}.guang-info .info-author{display:block;width:100%}.guang-info .info-author .avatar{float:left;margin-top:.5rem;width:1.25rem;height:1.25rem;margin-left:.75rem;border-radius:50%}.guang-info .info-author .name{float:left;margin-left:.75rem;padding:.75rem 0;font-size:.7rem;color:#000}.guang-info .info-img{position:relative;width:100%}.guang-info .info-img img{display:block;width:100%}.guang-info .info-match{position:absolute;top:0;left:0;width:3.25rem;height:1.25rem;line-height:1.25rem;font-size:.7rem;color:#fff;background:#000;text-align:center;text-decoration:none;z-index:1}.guang-info .info-tag{position:absolute;top:0;left:2.625rem;height:1.25rem;width:1.25rem}.guang-info .info-tag.collocation{background-position:-1.5rem -6.75rem}.guang-info .info-tag.collocation,.guang-info .info-tag.fashion-good{background-image:url(../assets/img/sprite.guang.png);background-size:8.75rem 8rem}.guang-info .info-tag.fashion-good{background-position:-6.75rem -2.25rem}.guang-info .info-tag.fashion-man{background-image:url(../assets/img/sprite.guang.png);background-position:0 -6.75rem;background-size:8.75rem 8rem}.guang-info .info-tag.special-topic,.guang-info .info-tag.tip{background-image:url(../assets/img/sprite.guang.png);background-position:-6.75rem -5.25rem;background-size:8.75rem 8rem}.guang-info .info-tag.topic{background-image:url(../assets/img/sprite.guang.png);background-position:-6.75rem -3.75rem;background-size:8.75rem 8rem}.guang-info .info-deps{margin:.8rem 0 0;padding:0 1rem 0 .75rem}.guang-info .info-deps .info-title-container{text-decoration:none;color:#000}.guang-info .info-deps .info-title{line-height:1.1rem;color:#000;font-size:1rem;font-weight:700}.guang-info .info-deps .info-text{margin:.4rem 0 0;line-height:1.15rem;font-size:.7rem;color:#444}.guang-info .info-deps .time-view-like-share{margin-top:.4rem}.guang-info:last-child{margin-bottom:0}.ps-list-page{background-color:#f0f0f0}.ps-list-page .nav-tab,.ps-list-page .ps-content{width:100%}.ps-list-page .nav-tab{height:1.5rem;padding:.25rem 0;background-color:#fff}.ps-list-page .plus-nav,.ps-list-page .star-nav{box-sizing:border-box;float:left;width:50%;height:1.5rem;line-height:1.5rem;font-size:16px;text-align:center;color:#ccc}.ps-list-page .plus-nav.focus,.ps-list-page .star-nav.focus{color:#000}.ps-list-page .bytouch{background:#eee}.ps-list-page .star-nav{border-right:1px solid #ccc}.ps-list-page .plus-star-row{margin-bottom:.75rem}.ps-list-page .plus-star-row>a{display:block;height:7.75rem}.ps-list-page .plus-star-row>a>img{width:100%;height:100%}.ps-list-page .plus-star-row:last-child{margin-bottom:0}.ps-list-page .content.hide{display:none}.ps-list-page .swiper-container{height:7.75rem}.ps-list-page .swiper-pagination-bullet-active{background:#fff}.ps-list-page .brand-deps{height:40px;line-height:40px;padding-left:10px;font-size:14px;background:#fff;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ps-detail-page{background-color:#f0f0f0}.ps-detail-page .ps-block{margin-bottom:.75rem;border-bottom:1px solid #e0e0e0;border-top:1px solid #e0e0e0;background-color:#fff}.ps-detail-page .ps-block.header,.ps-detail-page .ps-block.related-infos{border-top:none}.ps-detail-page .ps-block.related-infos{margin-bottom:0;background-color:#f0f0f0}.ps-detail-page .header{position:relative}.ps-detail-page .header .banner{width:100%;height:7.75rem}.ps-detail-page .header .logo{position:absolute;border:1px solid #b5b5b5;height:4.2rem;width:4.2rem;top:5.65rem;left:1.25rem}.ps-detail-page .header .header-content{padding:0 .75rem}.ps-detail-page .header .name-islike-container{padding-left:6.2rem;margin-top:.6rem;font-size:.85rem}.ps-detail-page .header .name{color:#000;height:1.025rem;width:7.375rem}.ps-detail-page .header .brand-islike{position:relative;float:right;color:#b0b0b0;height:1.5rem;width:1.5rem;line-height:1.5rem;text-align:center;top:-.25rem;left:-.25rem}.ps-detail-page .header .brand-islike.like{color:red}.ps-detail-page .intro{margin-top:1.225rem;font-size:.6rem;color:#444;line-height:150%}.ps-detail-page .more-intro{padding:.75rem 0;font-size:.7rem;line-height:104%;color:#bbb;float:right}.ps-detail-page .more-intro .icon{display:inline-block;height:100%;width:1rem;-webkit-transition:-webkit-transform .1s ease-in;transition:-webkit-transform .1s ease-in;transition:transform .1s ease-in;transition:transform .1s ease-in,-webkit-transform .1s ease-in}.ps-detail-page .more-intro.spread .icon{-webkit-transform:rotate(-180deg);transform:rotate(-180deg)}.ps-detail-page .new-arrival{padding-left:0 .75rem}.ps-detail-page .new-arrival .new-arrival-content{padding:0 0 .5rem;width:15.35rem;margin:0 auto}.ps-detail-page .new-arrival .more-goods-container{height:2.25rem;padding:0 .75rem;border-top:1px solid #e0e0e0;color:#000}.ps-detail-page .new-arrival .floor-header-more{border-top:none;line-height:1rem;height:auto}.ps-detail-page .new-arrival .mg-text{height:100%;line-height:2.25rem;color:#000;text-decoration:none;display:block;font-size:.7rem}.ps-detail-page .new-arrival .more-prods{float:right;color:#b0b0b0}.ps-detail-page .new-arrival .new-arrival-header .more-prods{margin-right:.75rem;margin-top:.25rem}.ps-detail-page .new-arrival-header{padding-left:5.55rem;padding-top:.825rem}.ps-detail-page .new-arrival-header .header-text{font-size:.7rem;color:#000;line-height:122%;font-weight:700}.ps-detail-page .related-info-title{margin:0 .725rem;border:1px solid #e0e0e0;border-bottom:none;line-height:1.8rem;font-size:.75rem;color:#b0b0b0;text-align:center;background-color:#fff}.ps-detail-page .related-infos-container .guang-info:first-child{margin-top:0}.guang-list-page .editor-header{margin-bottom:.75rem;padding-top:.9rem;padding-bottom:1rem;background:#fff;border-bottom:1px solid #e0e0e0}.guang-list-page .avatar{float:left;margin-left:.75rem}.guang-list-page .avatar img{width:2.5rem;height:2.5rem;border-radius:50%}.guang-list-page .text{float:left;margin-left:.8rem;width:11.875rem}.guang-list-page .text .name{font-size:.8rem;line-height:1rem}.guang-list-page .text .info{margin-top:.15rem;color:#bdbdbf;font-size:.6rem;line-height:.8rem}.guang-list-page .swiper-container{width:100%;height:7.75rem}.guang-list-page .swiper-container img{height:100%;width:100%}.guang-list-page .swiper-container .swiper-pagination{bottom:0;left:0;width:100%}.guang-list-page .swiper-container .swiper-pagination-bullet-active{background:#fff}.guang-list-page .guang-nav{background-color:#fff;overflow:hidden;height:2rem}.guang-list-page .guang-nav-item{float:left;color:#ccc;font-size:.7rem;padding:0 .55rem;line-height:2rem}.guang-list-page .guang-nav-item.focus{color:#000}.guang-list-page .bytouch{background:#eee}.guang-list-page .info-list-container{overflow-x:hidden;background:#f0f0f0}.guang-list-page .info-list.hide{display:none}.guang-detail-page #wrapper{background:#f0f0f0}.guang-detail-page #wrapper.ios{position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.guang-detail-page #wrapper.ios.has-head,.guang-detail-page #wrapper.ios.has-head+.fixed-top{top:2.25rem}.guang-detail-page .author{border-bottom:1px solid #e0e0e0;background:#fff}.guang-detail-page .author>a{display:block;height:100%}.guang-detail-page .author .avatar{float:left;margin-top:.5rem;margin-left:.75rem;width:1.25rem;height:1.25rem;border-radius:50%}.guang-detail-page .author .name{float:left;font-size:.7rem;color:#000;padding:.75rem 0;margin-left:.75rem}.guang-detail-page .author .intro{float:left;font-size:.7rem;color:#b0b0b0;padding:.75rem 0;margin-left:.75rem}.guang-detail-page .post-title{padding:.4rem 0 .65rem .75rem;background:#fff}.guang-detail-page .post-title .title{line-height:1.5rem;font-size:1rem;color:#000;font-weight:700}.guang-detail-page .text-block{padding:.5rem .75rem;line-height:1.15rem;font-size:.7rem;background:#fff;color:#444}.guang-detail-page .big-img-block{padding-bottom:.125rem;background:#fff}.guang-detail-page .big-img-block img{width:100%;height:16rem}.guang-detail-page .small-img-block{padding-bottom:.2rem;background:#fff}.guang-detail-page .small-img-block img{float:right;width:7.875rem;height:10.5rem}.guang-detail-page .small-img-block img:first-child{float:left}.guang-detail-page .collocation-block{background:#fff}.guang-detail-page .collocation-block .good-list{padding-left:.375rem}.guang-detail-page .thumb-container{padding-top:.75rem;padding-left:.5rem;background:transparent url(../assets/img/guang/thumb-container-bg.png) no-repeat;background-size:200% 100%}.guang-detail-page .thumb-container.fixed-top{position:fixed;left:0;right:0;top:0}.guang-detail-page .thumb-container.fixed-bottom{position:fixed;left:0;right:0;bottom:0;background:hsla(0,0%,100%,.9)}.guang-detail-page .thumb-container.absolute{position:absolute;left:0;right:0}.guang-detail-page .thumb-container.static{position:static}.guang-detail-page .thumb-container.hide{display:none}.guang-detail-page .clothe-type{position:absolute;right:.15rem;bottom:.85rem;width:.5rem;height:.5rem;border-radius:50%}.guang-detail-page .clothe-type.bag{background-position:-4.5rem -2.25rem}.guang-detail-page .clothe-type.bag,.guang-detail-page .clothe-type.cloth{background-image:url(../assets/img/sprite.guang.png);background-size:8.75rem 8rem;background-color:#fff}.guang-detail-page .clothe-type.cloth{background-position:0 -4.5rem}.guang-detail-page .clothe-type.dress{background-position:0 0}.guang-detail-page .clothe-type.dress,.guang-detail-page .clothe-type.headset{background-image:url(../assets/img/sprite.guang.png);background-size:8.75rem 8rem;background-color:#fff}.guang-detail-page .clothe-type.headset{background-position:-4.5rem -4.5rem}.guang-detail-page .clothe-type.lamp{background-position:-6.75rem 0}.guang-detail-page .clothe-type.lamp,.guang-detail-page .clothe-type.pants{background-image:url(../assets/img/sprite.guang.png);background-size:8.75rem 8rem;background-color:#fff}.guang-detail-page .clothe-type.pants{background-position:-2.25rem -4.5rem}.guang-detail-page .clothe-type.shoe{background-position:-4.5rem 0}.guang-detail-page .clothe-type.shoe,.guang-detail-page .clothe-type.swim-suit{background-image:url(../assets/img/sprite.guang.png);background-size:8.75rem 8rem;background-color:#fff}.guang-detail-page .clothe-type.swim-suit{background-position:-2.25rem -2.25rem}.guang-detail-page .clothe-type.under{background-position:0 -2.25rem}.guang-detail-page .clothe-type.under,.guang-detail-page .clothe-type.watch{background-image:url(../assets/img/sprite.guang.png);background-size:8.75rem 8rem;background-color:#fff}.guang-detail-page .clothe-type.watch{background-position:-2.25rem 0}.guang-detail-page .thumb{display:inline-block;position:relative;margin-right:.55rem;padding-bottom:.75rem}.guang-detail-page .thumb:last-child{margin-right:0}.guang-detail-page .thumb.focus .thumb-img{border-color:#000}.guang-detail-page .thumb-img{height:3.35rem;width:2.4rem;border:1px solid transparent}.guang-detail-page .related-reco-block{background:#fff;padding-left:.375rem;border-top:1px solid #e0e0e0}.guang-detail-page .related-reco-block h2{margin-left:-.375rem;line-height:2.6rem;font-size:.75rem;color:#b0b0b0;text-align:center}.guang-detail-page .related-reco-block .one-good{padding-left:.375rem;padding-right:.75rem;margin-bottom:.5rem}.guang-detail-page .related-reco-block .one-good .thumb{float:left;height:3.35rem;width:2.4rem}.guang-detail-page .related-reco-block .one-good .content-container{padding-left:3rem;height:3.35rem;line-height:1;font-size:.6rem}.guang-detail-page .related-reco-block .one-good .content-container>p{height:50%;line-height:2.35rem}.guang-detail-page .related-reco-block .one-good .content-container span{display:inline-block;line-height:.6rem}.guang-detail-page .related-reco-block .one-good .content-container .price{line-height:1.175rem}.guang-detail-page .related-reco-block .one-good .sale-price{color:#d62927;line-height:1.5}.guang-detail-page .related-reco-block .one-good .sale-price.no-price{color:#000}.guang-detail-page .related-reco-block .one-good .market-price{margin-left:.125rem;color:#b0b0b0;text-decoration:line-through;line-height:1.5}.guang-detail-page .related-reco-block .one-good .check-detail{display:inline-block;color:#000;border:1px solid;border-radius:2px;float:right;padding:0 .125rem;line-height:1.5}.guang-detail-page .link-block{display:block;height:2rem;line-height:2rem;padding:0 .75rem;font-size:.4rem;background:#fff;border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0}.guang-detail-page .link-block .iconfont{float:right;color:#ccc}.guang-detail-page .related-brand{margin-top:.75rem}.guang-detail-page .related-brand h2{margin:0 .725rem;background:#fff;border:1px solid #e0e0e0;border-bottom:none;line-height:1.8rem;font-size:.75rem;color:#b0b0b0;text-align:center}.guang-detail-page .related-brand .brand-list{border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0;padding:.75rem 0;background:#fff}.guang-detail-page .related-brand .brand{float:left;width:3.95rem;height:3.2rem;border-right:1px solid #e0e0e0;margin-bottom:.25rem}.guang-detail-page .related-brand .brand a{display:block}.guang-detail-page .related-brand .brand:nth-child(4n){border-right:none}.guang-detail-page .related-brand .brand-logo{display:table-cell;width:3.95rem;height:2.35rem;vertical-align:middle}.guang-detail-page .related-brand .brand-logo img{display:block;max-width:3.95rem;max-height:2.35rem;vertical-align:middle;margin:0 auto}.guang-detail-page .related-brand .brand-name{margin:.25rem 0 0;line-height:.6rem;font-size:.45rem;color:#babac2;text-align:center;text-decoration:none;border-bottom:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.guang-detail-page .related-tag{position:relative;padding-bottom:.75rem;border-bottom:1px solid #e0e0e0;background:#fff}.guang-detail-page .related-tag .tag-bg{position:absolute;height:1rem;width:1rem;background:url(../assets/img/guang/tag.png) no-repeat;background-size:100% 100%;top:.875rem;left:.5rem}.guang-detail-page .related-tag .tag-list{margin-left:1.25rem}.guang-detail-page .related-tag li{float:left;margin-top:.775rem;margin-left:.775rem}.guang-detail-page .related-tag a{height:1.25rem;line-height:1.25rem;font-size:.75rem;color:#000;text-decoration:underline;white-space:nowrap}.guang-detail-page .related-info{margin-top:.75rem}.guang-detail-page .related-info h2{margin:0 .725rem;background:#fff;border:1px solid #e0e0e0;border-bottom:none;line-height:1.8rem;font-size:.75rem;color:#b0b0b0;text-align:center}.guang-detail-page .related-info .info-list{background:#fff;padding-bottom:.75rem;border-top:1px solid #e0e0e0}.guang-detail-page .related-info li{padding-top:.75rem;margin-bottom:.25rem}.guang-detail-page .related-info li a{display:block}.guang-detail-page .related-info li img{float:left;margin-left:.75rem;width:4.55rem;height:2.85rem}.guang-detail-page .related-info li img.square{height:4.55rem}.guang-detail-page .related-info .publish-time,.guang-detail-page .related-info .title{float:left;width:9rem;margin-left:.75rem;line-height:1rem;color:#444;font-size:.7rem}.guang-detail-page .related-info .publish-time{font-size:.45rem;margin-top:0;color:#b0b0b0}.guang-detail-page .related-info .publish-time .iconfont{font-size:.45rem}.yoho-header .nav-title{font-weight:400}.star-class-body{background:#333;width:100%;font:.3rem/1.5 Arial,黑体;float:left}.star-classroom{background:#333}.star-classroom img{max-width:100%;display:block;border:0;margin:0 auto}.star-classroom a{text-decoration:none;outline:none;color:#000}.star-classroom a:actived,.star-classroom a:hover,.star-classroom a:link,.star-classroom a:visited{color:#000}.star-classroom :focus{outline:none}.star-classroom .font-bold{font-weight:700}.star-classroom .classroom-mask{background-color:rgba(0,0,0,.5);position:fixed;left:0;right:0;top:0;bottom:0;z-index:-1;display:none}.star-classroom .head-tab{width:100%;height:2.2rem;background:#000}.star-classroom .head-tab li{width:33.3%;text-align:center;float:left;line-height:2.2rem;font-size:.75rem}.star-classroom .head-tab li a{color:#b0b0b0;display:inline-block}.star-classroom .head-tab li.cur a{color:#fff}.star-classroom .banner-top{width:100%;height:7.75rem;margin-top:.75rem;position:relative}.star-classroom .banner-top .banner-swiper{width:100%;height:7.75rem;overflow:hidden;position:relative}.star-classroom .banner-top .banner-swiper ul{position:relative;height:7.75rem}.star-classroom .banner-top .banner-swiper ul li{float:left;width:100%;height:7.75rem}.star-classroom .banner-top .banner-swiper ul img{width:100%;height:100%}.star-classroom .banner-top .swiper-pagination{position:absolute;left:0;right:0;bottom:.5rem;text-align:center;z-index:1}.star-classroom .banner-top .swiper-pagination .pagination-inner{display:inline-block}.star-classroom .banner-top .swiper-pagination span{display:inline-block;width:.35rem;height:.35rem;background:#fff;opacity:.5;margin:0 .25rem;border-radius:50%}.star-classroom .banner-top .swiper-pagination .swiper-pagination-bullet-active{background:#fff;opacity:1}.star-classroom .home-floor-sign{width:100%;height:5.5rem;margin-top:.75rem;background:#000}.star-classroom .home-floor-sign .nav-left{width:2.55rem;margin:.75rem 0 0 .75rem;text-align:center;float:left}.star-classroom .home-floor-sign .nav-left .user-name{font-size:.6rem;color:#fff;margin-top:.75rem;white-space:nowrap}.star-classroom .home-floor-sign .nav-main{width:6.3rem;height:2.25rem;float:left;background-image:url(../assets/img/guang/star-classroom/user_info_bg.png);background-repeat:no-repeat;background-size:contain;margin:.9rem 0 0 .25rem}.star-classroom .home-floor-sign .nav-main p{color:#fff;line-height:1.15rem;font-size:.6rem;margin-left:.75rem;white-space:nowrap}.star-classroom .home-floor-sign .nav-right{width:4.875rem;text-align:center;float:right}.star-classroom .home-floor-sign .nav-right .wyf-img{width:2.975rem;height:2.7rem;margin-top:.75rem;background-image:url(../assets/img/guang/star-classroom/home-wyf.png);background-repeat:no-repeat;background-size:contain;display:inline-block}.star-classroom .home-floor-sign .nav-right .add-intimacy{width:3.275rem;height:1.3rem;background-image:url(../assets/img/guang/star-classroom/add_intimacy_bg.png);background-repeat:no-repeat;background-size:contain;color:#fff;font-size:.55rem;display:inline-block;white-space:nowrap;line-height:1.65rem;margin-left:.3rem}.star-classroom .home-floor-sign .user-head{width:2.5rem;height:2.5rem;border-radius:50%;border:.05rem solid #e0e0e0;background-image:url(../assets/img/me/index/user-avatar.png);background-repeat:no-repeat;background-size:contain;display:block}.star-classroom .floor-header-more{width:100%;height:2.2rem;background:#000;position:relative;margin-top:.75rem;border-top:1px solid #000}.star-classroom .floor-header-more h2{color:#fff;font-size:.85rem;line-height:2.2rem;text-align:center}.star-classroom .floor-header-more .more-btn{width:1.6rem;height:2.4rem;line-height:2.15rem;position:absolute;right:.5rem;top:0;color:#b0b0b0;font-size:1.25rem}.star-classroom .home-floor-subject .subject-banner{width:100%;height:7.75rem}.star-classroom .subject-video-area{width:100%;height:7.75rem;margin-top:.75rem;background:#000}.star-classroom .subject-video-area #subject-video{width:100%;height:7.75rem}.star-classroom .home-floor-collocation{background:#000;padding-bottom:1.5rem}.star-classroom .home-floor-collocation .collocation-big-img{width:100%;height:6.925rem;padding:0 .35rem;box-sizing:border-box}.star-classroom .home-floor-collocation .collocation-big-img li{width:6.9rem;height:6.925rem;margin:0 .375rem;float:left}.star-classroom .home-floor-collocation .collocation-big-img img{height:100%}.star-classroom .home-floor-collocation .collocation-img{width:100%;height:3.475rem;margin-top:.75rem;position:relative}.star-classroom .home-floor-collocation .collocation-img .collocation-swiper{width:100%;height:3.475rem;overflow:hidden;position:relative}.star-classroom .home-floor-collocation .collocation-img ul{position:relative;height:3.475rem}.star-classroom .home-floor-collocation .collocation-img li{float:left;width:5.725rem;height:3.475rem;margin-left:.75rem}.star-classroom .home-floor-collocation .collocation-img img{width:100%;height:100%}.star-classroom .pop-intimacy{width:14.5rem;height:23rem;background:#fff;border-radius:.25rem;position:fixed;top:.5rem;left:.75rem;z-index:-1;display:none}.star-classroom .pop-intimacy .intimacy-head{text-align:center;color:#444;height:3.5rem;padding-top:.5rem;box-sizing:border-box;position:relative}.star-classroom .pop-intimacy .intimacy-head .pop-close{width:.625rem;height:.625rem;background-image:url(../assets/img/guang/star-classroom/pop-close.png);background-repeat:no-repeat;background-size:contain;position:absolute;right:.5rem;top:.6rem}.star-classroom .pop-intimacy .intimacy-head h1{font-size:1.4rem;font-weight:700;line-height:1rem}.star-classroom .pop-intimacy .intimacy-head h4,.star-classroom .pop-intimacy .my-intimacy{font-size:.6rem}.star-classroom .pop-intimacy .my-intimacy span{min-width:.25rem;height:.75rem;line-height:.75rem;border-radius:.75rem;font-size:.5rem;color:#fff;padding:0 .25rem;margin-left:.35rem;background-color:#444}.star-classroom .pop-intimacy .increased{font-size:.6rem;display:none}.star-classroom .pop-intimacy .increased span{color:red}.star-classroom .pop-intimacy .calendar{width:100%;float:left}.star-classroom .pop-intimacy .week{width:100%;height:.95rem;background:#aeaeae;padding:0 .575rem;box-sizing:border-box}.star-classroom .pop-intimacy .week h3{width:1.9rem;text-align:center;font-size:.6rem;color:#fff;float:left;line-height:.95rem}.star-classroom .pop-intimacy .day-item{float:left;width:100%;padding:.125rem .575rem;box-sizing:border-box}.star-classroom .pop-intimacy .day-item .item{width:1.9rem;color:#444;float:left;text-align:center;cursor:pointer;margin:.125rem 0 0;height:1.4rem;line-height:1.4rem;font-size:.7rem}.star-classroom .pop-intimacy .day-item .last-item{color:#d2d2d2}.star-classroom .pop-intimacy .day-item .sign-item{background-image:url(../assets/img/guang/star-classroom/sign-circle.png);background-position:50%;background-repeat:no-repeat;background-size:contain}.star-classroom .pop-intimacy .fan-charts{width:100%;height:2.2rem;border-top:1px solid #d5d5d5;text-align:center;position:relative;float:left}.star-classroom .pop-intimacy .fan-charts h2{font-size:.7rem;color:#444;line-height:2.2rem}.star-classroom .pop-intimacy .fan-charts .arrow{width:2.2rem;height:2.2rem;position:absolute;top:0;right:0;color:#b0b0b0;line-height:2.2rem}.star-classroom .fan-charts-cont{width:100%;line-height:2.2rem;float:left}.star-classroom .fan-charts-cont li{width:100%;height:2.2rem;border-top:1px solid #d5d5d5;position:relative;padding:0 .625rem;box-sizing:border-box}.star-classroom .fan-charts-cont .rank-ico{width:1.3rem;height:.975rem;border-radius:0;background-image:url(../assets/img/guang/star-classroom/king-ico.png);background-color:#fff;background-repeat:no-repeat;background-size:contain;color:#fff;font-size:.6rem;text-align:center;line-height:1.25rem;font-weight:700;position:relative;top:.625rem}.star-classroom .fan-charts-cont .rank-avatar{width:1.5rem;height:1.5rem;border-radius:50%;position:relative;top:.375rem;margin-left:.5rem;background-image:url(../assets/img/me/index/user-avatar.png);background-repeat:no-repeat;background-size:contain;display:block}.star-classroom .fan-charts-cont .fans-name{margin-left:.6rem;font-size:.6rem;color:#444;width:4.5rem;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;height:2.2rem}.star-classroom .fan-charts-cont .fans-intimacy{width:3.75rem;float:right;font-size:.5rem;color:#444}.star-classroom .fan-charts-cont .fans-intimacy span{font-size:.6rem;color:#d0021b;margin-left:.125rem}.star-classroom .fan-charts-cont li>*{float:left}.star-classroom .things-article{width:100%;float:left}.star-classroom .things-article>li{width:100%;float:left;padding:0 0 .75rem .75rem;box-sizing:border-box;background:#000}.star-classroom .things-article>li .author-info{width:100%;padding-top:.75rem;float:left;border-top:1px solid #b0b0b0}.star-classroom .things-article>li .author-info img{width:1.75rem;height:1.75rem;border-radius:50%;float:left}.star-classroom .things-article>li .author-nav{float:left;margin-left:.5rem;overflow:hidden}.star-classroom .things-article>li .author-nav h2{font-size:.7rem;color:#fff}.star-classroom .things-article>li .article-count{font-size:.6rem;color:#b0b0b0}.star-classroom .things-article>li .article-count span{margin-right:.55rem}.star-classroom .things-article>li .article-count .see-ico{width:.775rem;height:.6rem;padding-left:1rem}.star-classroom .things-article>li .artice-cont{width:100%;margin-top:.75rem;float:left}.star-classroom .things-article>li .artice-cont p{width:100%;height:4.5rem;font-size:.7rem;line-height:1.15rem;padding-right:.75rem;color:#fff;box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical}.star-classroom .things-article>li .artice-imgs{width:100%;margin-top:.75rem;float:left}.star-classroom .things-article>li .artice-imgs>li{float:left;width:4.75rem;height:4.75rem;margin-right:.125rem}.star-classroom .things-article>li .artice-imgs>li img{width:100%;height:100%;border-radius:.1rem}.star-classroom .artice-zan{width:100%;border-top:1px solid #b0b0b0;margin-top:.675rem;float:left;padding-top:.5rem}.star-classroom .artice-zan .iconfont{float:left;width:.85rem;height:.85rem;line-height:.85rem;display:inline-block;color:#b0b0b0;font-size:.85rem;text-align:center;margin:.225rem 1.325rem 0 .35rem;outline:none}.star-classroom .artice-zan .like{color:#d62927}.star-classroom .artice-zan ul{float:left;width:10.5rem;height:1.25rem;overflow:hidden}.star-classroom .artice-zan li{float:left;margin:0 .25rem;width:1.25rem;height:1.25rem}.star-classroom .artice-zan li img{width:100%;height:100%;border-radius:50%}.star-classroom .artice-zan .zan-more{float:left;width:1.25rem;height:1.25rem;border-radius:50%;margin:0 .25rem;background:#f0f0f0;color:#acb1b7;font-size:.6rem;text-align:center;line-height:1.25rem}.star-classroom .subject-list{width:100%;height:auto;overflow:hidden}.star-classroom .subject-list li{width:100%;float:left;background:#000;margin-top:.75rem}.star-classroom .subject-list li img{width:100%}.star-classroom .subject-list li p{width:100%;height:2.2rem;box-sizing:border-box;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding:0 .85rem;font-size:.85rem;line-height:2.2rem}.star-classroom .subject-list li a{color:#fff}.star-classroom .collocation-list{width:100%;float:left}.star-classroom .collocation-list li{float:left;width:100%;margin-top:.75rem;background:#000}.star-classroom .collocation-list li .cont-area{width:100%;box-sizing:border-box;padding:.75rem}.star-classroom .collocation-list li .cont-txt{font-size:.7rem;line-height:1.15rem;color:#b0b0b0;margin-top:.25rem}.star-classroom .collocation-list li img{width:100%}.star-classroom .collocation-list li .title{font-size:1rem;line-height:1.2rem;color:#fff;width:100%}.star-classroom .count-area{position:relative;width:100%;height:.8rem}.star-classroom .count-area span{font-size:.6rem;color:#b0b0b0;height:.8rem;line-height:.8rem}.star-classroom .count-area span i{display:inline-block;margin-right:.125rem;font-size:.6rem}.star-classroom .count-area .time{float:left}.star-classroom .count-area .see{float:left;margin-left:.5rem}.star-classroom .count-area .time-ico{width:.6rem;height:.6rem}.star-classroom .count-area .see-ico{width:.775rem;height:.6rem}.star-classroom .count-area .collection{position:absolute;right:3.05rem}.star-classroom .count-area .collected-ico{width:.85rem;height:.8rem;vertical-align:text-bottom}.star-classroom .count-area .collected{color:#d62927}.star-classroom .count-area .forward{width:1rem;height:.7rem;position:absolute;right:.575rem;margin-left:1.125rem;font-size:.6rem;color:#b0b0b0;height:.8rem;line-height:.8rem}.star-classroom .things-list .things-article>li{margin-top:.75rem}.star-classroom .things-list .things-article>li .author-info{border-top:none}.star-classroom .check-in{background:#f0f0f0}.star-classroom .check-in .check-in-header{width:100%;height:7.075rem;background-image:url(../assets/img/guang/star-classroom/checkIn-bg.jpg);background-repeat:no-repeat;background-size:contain}.star-classroom .check-in .head-cont{text-align:center;padding-top:.75rem;height:4.875rem;box-sizing:border-box}.star-classroom .check-in .head-cont .user-avatar{width:2.5rem;height:2.5rem;border-radius:50%;border:.1rem solid;border-color:hsla(0,0%,100%,.6);background-image:url(../assets/img/me/index/user-avatar.png);background-repeat:no-repeat;background-origin:border-box;background-size:contain;display:inline-block}.star-classroom .check-in .head-cont .user-name{color:#fff;font-size:.6rem;font-weight:700;margin-top:.175rem}.star-classroom .check-in .count-area{width:100%;float:left}.star-classroom .check-in .count-nav{width:7.975rem;float:left;margin-top:.3rem}.star-classroom .check-in .count-nav p{width:100%;text-align:center;color:#fff;line-height:.8rem;font-size:.55rem}.star-classroom .check-in .line{width:.05rem;height:1.15rem;float:left;margin-top:.65rem;box-sizing:border-box;border-left:1px solid #fff}.star-classroom .check-in .ranking-area{width:100%;background:#fff;border-top:1px solid #e0e0e0;margin-top:.75rem;padding-left:.75rem;box-sizing:border-box}.star-classroom .check-in .ranking-area li{width:100%;height:3rem;padding-top:.5rem;box-sizing:border-box;border-bottom:1px solid #e0e0e0}.star-classroom .check-in .ranking-area .rank-avatar{width:2rem;height:2rem;border-radius:50%;background-image:url(../assets/img/me/index/user-avatar.png);background-repeat:no-repeat;background-size:contain;float:left}.star-classroom .check-in .ranking-area .ranking-mid{float:left;margin-left:.5rem}.star-classroom .check-in .ranking-area .rank-ico{min-width:.45rem;height:.95rem;border-radius:.95rem;background:#444;display:inline-block;text-align:center;line-height:1rem;color:#fff;font-size:.6rem;font-weight:700;padding:0 .25rem}.star-classroom .check-in .ranking-area .rank-name{font-size:.6rem;color:#444;margin-top:.125rem;width:6.5rem;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;height:.95rem;line-height:.95rem}.star-classroom .check-in .ranking-area .ranking-rg{font-size:.5rem;color:#444;float:right;margin:.5rem .75rem 0 0}.star-classroom .check-in .ranking-area .intimacy{margin-left:.25rem;font-size:.9rem;color:#b0b0b0}.star-classroom .check-in .high-light .rank-ico{width:1.3rem;height:.975rem;line-height:1.25rem;border-radius:0;background-image:url(../assets/img/guang/star-classroom/king-ico.png);background-color:#fff;background-repeat:no-repeat;background-size:contain;padding:0}.star-classroom .check-in .high-light .intimacy{color:#d0021b}@media screen and (max-height:480px){.star-classroom .pop-intimacy{height:19.9rem}.star-classroom .pop-intimacy .day-item .item{height:1.25rem;line-height:1.25rem;margin-top:0}.star-classroom .pop-intimacy .fan-charts{height:1.9rem}.star-classroom .pop-intimacy .fan-charts h2{line-height:1.9rem}.star-classroom .pop-intimacy .fan-charts .arrow{height:1.9rem;line-height:1.9rem}.star-classroom .pop-intimacy .intimacy-head h1{font-size:1.25rem}.star-classroom .fan-charts-cont{line-height:1.9rem}.star-classroom .fan-charts-cont .rank-ico{top:.425rem}.star-classroom .fan-charts-cont .rank-avatar{top:.175rem}.star-classroom .fan-charts-cont .fans-name,.star-classroom .fan-charts-cont li{height:1.9rem}}.header-download{position:relative;height:5.3rem;padding:1.2rem 0 0;overflow:hidden}.header-download .download-bg{position:absolute;left:0;top:0;width:100%;z-index:-1}.header-download .yoho-logo{height:1.425rem;background:url(../assets/img/app-logo.png) no-repeat 50%;background-size:auto 100%}.header-download p{line-height:1.2rem;font-size:.7rem;color:#fff;text-align:center}.header-download .download-btn{display:block;margin:.45rem auto 0;width:7.35rem;height:1.6rem;line-height:1.6rem;border:solid #fff;font-size:.9rem;text-align:center;color:#fff}.header-download .close-btn{position:absolute;top:.425rem;right:.325rem;width:1.25rem;height:1.25rem;background:url(../assets/img/close-icon.png);background-size:100% 100%}.banner-top,.shop-index .banner-area{position:relative}.banner-top .swiper-pagination,.shop-index .banner-area .swiper-pagination{position:absolute;left:0;right:0;bottom:.5rem;text-align:center;z-index:1}.banner-top .swiper-pagination .pagination-inner,.shop-index .banner-area .swiper-pagination .pagination-inner{display:inline-block}.banner-top .swiper-pagination .pagination-inner span,.shop-index .banner-area .swiper-pagination .pagination-inner span{display:inline-block;width:.35rem;height:.35rem;background:#fff;opacity:.5;margin:0 .225rem;border-radius:50%}.banner-top .swiper-pagination .pagination-inner span.swiper-pagination-bullet-active,.shop-index .banner-area .swiper-pagination .pagination-inner span.swiper-pagination-bullet-active{background:#fff;opacity:1}.banner-swiper{overflow:hidden}.banner-swiper,.banner-swiper ul{position:relative;height:7.75758rem}.banner-swiper ul li{float:left}.banner-swiper ul li,.banner-swiper ul li img{width:100%;height:100%}.banner-center{margin:.75rem 0 0;height:5rem;overflow:hidden}.banner-center img{display:block;width:100%;height:100%}.banner-bottom{margin:.75rem 0 0;height:4rem;overflow:hidden}.banner-bottom img{display:block;width:100%}.side-nav{display:none;background:#fff;position:fixed;top:0;bottom:0;left:0;right:2.5rem;width:13.5rem;background:#f0f0f0;z-index:4;overflow:hidden;overflow-y:auto;-webkit-transition:all .3s;transition:all .3s}.side-nav>ul{margin-bottom:.5rem;background:#fff;border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0}.side-nav li{position:relative;height:1.9rem;line-height:1.9rem;background:#fff}.side-nav li a{display:block;height:100%;padding-left:2.75rem;color:#444}.side-nav li em{font-weight:700;font-size:.65rem}.side-nav li .title{display:inline-block;font-size:.9rem;vertical-align:bottom;padding-left:.5rem;-webkit-transform:scale(.5);transform:scale(.5);-webkit-transform-origin:0 50% 0;transform-origin:0 50% 0}.side-nav li .nav-icon,.side-nav li .nav-img{position:absolute;width:.95rem;height:.95rem;top:50%;margin-top:-.475rem;left:.875rem;background:no-repeat 0;background-size:100% 100%}.side-nav li .enter-subnav{position:absolute;right:.75rem;top:0;bottom:0;font-size:.9rem;color:#b0b0b0;font-weight:lighter}.side-nav li:after{content:'';position:absolute;right:0;bottom:0;width:10.75rem;height:0;border-top:1px solid #e0e0e0}.side-nav li:last-child:after{content:none}.side-nav li.highlight{background:#eee}.side-nav .first li{height:2.2rem;line-height:2.2rem;border-bottom:1px solid #e0e0e0}.side-nav .first li em{font-size:.9rem}.side-nav .first li .nav-icon,.side-nav .first li .nav-img{width:1.2rem;height:1.2rem;margin-top:-.6rem;left:.75rem}.side-nav .first li:last-child{border-bottom:none}.side-nav .first li:after{content:none}.side-nav .first .sub-nav li{border-bottom:1px solid #e0e0e0}.side-nav li.boys i{background:url(../assets/img/side-nav/boys.png) no-repeat 0;background-size:100% 100%}.side-nav li.girls i{background:url(../assets/img/side-nav/girls.png) no-repeat 0;background-size:100% 100%}.side-nav li.kids i{background:url(../assets/img/side-nav/kids.png) no-repeat 0;background-size:100% 100%}.side-nav li.life i{background:url(../assets/img/side-nav/life.png) no-repeat 0;background-size:100% 100%}.side-nav li.guang .nav-icon,.side-nav li.trendfinder .nav-icon{background:url(../assets/img/side-nav/guang.png) no-repeat 0;background-size:100% 100%}.side-nav.on{display:block}.sub-nav{display:none;position:fixed;bottom:0;top:0;left:0;width:13.5rem;background:#fff!important;overflow:hidden;-webkit-transform:translateX(13.5rem);transform:translateX(13.5rem);-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s}.sub-nav li{height:2rem!important;line-height:2rem!important;border:none;border-bottom:1px solid #e0e0e0}.sub-nav li a{position:relative;display:block;margin:0 0 0 .75rem;padding-left:.25rem;font-size:.9rem;z-index:2}.sub-nav li .nav-point{position:absolute;left:0;font-size:.4rem;color:#f0f0f0}.sub-nav li em{font-weight:400;font-size:.75rem!important}.sub-nav li:after{content:none}.sub-nav li.highlight{background:#eee}.sub-nav li.current .nav-point,.sub-nav li:hover .nav-point{color:#3e3e3e}.sub-nav li:first-child{height:2.25rem!important;line-height:2.25rem!important;background:#3e3e3e}.sub-nav li:first-child a{color:#fff;border-bottom:none;padding-left:1.75rem}.sub-nav li:first-child .nav-back{position:absolute;left:0}.sub-nav.show{display:block;z-index:1;-webkit-transform:translateX(0);transform:translateX(0);-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s}.floor-header{margin:.725rem .75rem 0;border:1px solid #e0e0e0;border-bottom:none;height:1.75rem;line-height:1.75rem;font-size:.75rem;color:#b1b1b1}.floor-header,.floor-header-more{background:#fff;text-align:center}.floor-header-more{position:relative;height:2.475rem;line-height:2.475rem;margin:.725rem 0 0;border-top:1px solid #e0e0e0;font-size:.8rem;color:#444}.floor-header-more .more-btn{position:absolute;right:.75rem;top:0;bottom:0;color:#b0b0b0;font-size:1.25rem}.fine-brands{background:#fff;border-top:1px solid #e0e0e0}.fine-brands a{display:block;text-decoration:none}.fine-brands .brand{float:left;width:3.95rem;height:4.35rem;border-right:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0;overflow:hidden}.fine-brands .brand .brand-logo{display:table-cell;width:3.95rem;height:3.25rem;vertical-align:middle}.fine-brands .brand .brand-logo img{display:block;max-width:3.95rem;max-height:3.25rem;vertical-align:middle;margin:0 auto}.fine-brands .brand .brand-name{line-height:1.1rem;font-size:.45rem;color:#babac2;text-align:center;text-decoration:none;border-bottom:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fine-brands .brand:nth-child(4n){border-right:none}.fine-brands .more .brand-logo{display:block;text-align:center;line-height:3.75rem}.fine-brands .more .brand-logo .iconfont{font-size:1.2rem;color:#333}.creative-life{background:#fff}.creative-life .banner{display:block;height:10rem;overflow:hidden}.creative-life .banner img{width:100%;height:100%}.creative-life .classify-list{border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0}.creative-life .classify-list>li{float:left;width:5.3rem;height:4.8rem;border-top:1px solid #e0e0e0;border-right:1px solid #e0e0e0}.creative-life .classify-logo{width:5.3rem;height:4.8rem}.creative-life .classify-logo img{display:block;width:100%;height:100%}.creative-life .classify-name{line-height:1.3rem;font-size:.65rem;color:#000;text-align:center;text-decoration:none;border-bottom:none;overflow:hidden}.creative-life .classify:nth-child(3n){border-right:0}.plus-star img{display:block;width:100%;height:4.95rem;border-top:1px solid #e0e0e0}.maybe-like{position:relative;background:#fff;padding-left:.375rem;border-top:1px solid #ccc;margin-top:.75rem}.maybe-like .title{height:2.6rem;font-size:.95rem;line-height:2.6rem;text-align:center;color:#dadada}.maybe-like .icon{display:inline-block;height:.775rem;width:.775rem;background:url(../assets/img/up-icon.png) no-repeat;background-size:100% 100%}.maybe-like .maybe-like-nav{width:100%;height:1.5rem;padding:.25rem 0;background-color:#fff}.maybe-like .maybe-like-nav:before{content:'';position:absolute;border-top:1px solid #ccc;left:0;top:2rem;width:16rem;height:0}.maybe-like .maybe-like-nav-item{box-sizing:border-box;float:left;width:50%;height:1.5rem;line-height:1.5rem;text-align:center;color:#ccc;border-right:1px solid #ccc}.maybe-like .maybe-like-nav-item.focus{color:#000}.load-more-img{padding-left:0;height:5rem;border-top:1px solid #ccc;overflow:hidden}.load-more-img img{display:block;width:100%;height:100%}.icons-wrapper{box-sizing:border-box;padding:.75rem 0 .4rem;background:#fff;border-bottom:1px solid #e0e0e0}.icons-item-eight{width:25%}.icons-item-eight,.icons-item-ten{float:left;margin-bottom:.25rem;height:3.65rem;text-align:center}.icons-item-ten{width:20%}.imagebar{display:block;margin:0 auto;text-align:center;width:2.45rem;height:2.45rem;line-height:2.45rem;box-sizing:border-box;overflow:hidden}.imagebar img{width:100%;height:100%}.linkbar{display:block;line-height:1.1rem;font-size:.6rem}.linkbar,.linkbar:active,.linkbar:hover,.linkbar:link,.linkbar:visited{color:#444}.trend-coll-wrapper{background:#fff;height:16.125rem;border-bottom:1px solid #e0e0e0}.trend-coll-header{position:relative;widows:100%}.trend-coll-header .trend-coll-title{width:100%;height:2.5rem;line-height:2.5rem;text-align:center;font-size:.85rem;color:#747474}.trend-coll-header .more{position:absolute;right:.6rem;top:.5rem}.trend-coll-content{padding:0 0 0 .375rem}.trend-coll-content .lspan,.trend-coll-content .rspan{float:left;margin:0 .375rem}.lspanimg,.rspanimg{display:block;float:right;width:6.875rem;height:6.875rem}.trend-coll-tail{box-sizing:border-box;width:100%;height:6.675rem;clear:both}.recommend-title{widows:100%;height:2.5rem;line-height:2.5rem;text-align:center;font-size:.85rem}.recommend-swiper{width:100%;height:3.5rem;overflow:hidden}.recommend-list{position:relative;height:100%}.recommend-list .recommend-item{float:left;padding-left:5%;width:21.875%;height:3.5rem}.recommend-list .recommend-item a{display:block;width:100%;height:100%}.recommend-list .recommend-item a img{width:100%;height:100%}.trend-topic-wrapper{background:#fff}.trend-topic-content{position:relative;width:100%;border-bottom:1px solid #e0e0e0}.trend-topic-content .swiper-pagination{position:absolute;left:0;right:0;bottom:.55rem;text-align:center;z-index:0}.trend-topic-content .swiper-pagination .pagination-inner{display:inline-block}.trend-topic-content .swiper-pagination span{float:left;width:.4rem;height:.4rem;margin:0 .2rem;background:#f0f0f0;border-radius:50%;opacity:1}.trend-topic-content .swiper-pagination span.swiper-pagination-bullet-active{background:#b0b0b0}.trend-topic-swiper{height:13.35rem;overflow:hidden}.trend-topic-swiper ul{position:relative}.trend-topic-swiper ul li{float:left;height:13.35rem}.trend-topic-swiper ul li .img-box{margin:0 auto;width:14.5rem;height:9rem;line-height:9rem;text-align:center}.trend-topic-swiper ul li .img-box img{vertical-align:middle;width:100%;height:100%}.trend-topic-swiper ul li .item-content{margin:.5rem .75rem 0}.trend-topic-swiper ul li .item-content .title{line-height:1.3rem;font-size:.75rem;color:#000;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis;white-space:nowrap}.trend-topic-swiper ul li .item-content .time{margin:.4rem 0 0;line-height:.6rem;color:#afafaf;font-size:.45rem}.trend-topic-swiper ul li .item-content .time .time-icon{margin-right:.2rem;font-size:.35rem}.category-swiper{position:relative;height:10rem;overflow:hidden}.category-swiper ul li{float:left;width:100%}.category-swiper ul li a,.category-swiper ul li img{display:block;width:100%;height:100%}.category-swiper .swiper-pagination{position:absolute;left:0;right:0;bottom:.5rem;text-align:center}.category-swiper .swiper-pagination .pagination-inner{display:inline-block}.category-swiper .swiper-pagination .pagination-inner span{display:inline-block;width:.35rem;height:.35rem;background:#fff;opacity:.5;margin:0 (.225rem);border-radius:50%}.category-swiper .swiper-pagination .pagination-inner span.swiper-active-switch{opacity:1}.goods-category{background:#fff}.goods-category .category-list{height:9.55rem;border-bottom:1px solid #e0e0e0;border-top:1px solid #e0e0e0;overflow:hidden}.goods-category .category-list li{float:left;width:4.775rem;height:4.775rem;border-left:1px solid #e0e0e0}.goods-category .category-list li .first-show{display:none}.goods-category .category-list li .img-box{height:100%;line-height:100%;text-align:center}.goods-category .category-list li .img-box img{width:100%;height:100%;vertical-align:middle}.goods-category .category-list li .category-name{line-height:.8rem;font-size:.5rem;color:#444;text-align:center}.goods-category .category-list li:first-child{width:6.325rem;height:9.55rem;border-left:none}.goods-category .category-list li:first-child .img-box{height:100%;line-height:100%}.goods-category .category-list li:first-child .category-name{line-height:1rem;font-size:.55rem}.goods-category .category-list li:nth-child(4),.goods-category .category-list li:nth-child(5){border-top:1px solid #e0e0e0}.hot-brands{border-bottom:1px solid #e0e0e0;background:#fff}.hot-brands .floor-header{background:#f0f0f0;margin:0;padding:.725rem .75rem 0;border:0}.hot-brands .floor-header h2{border:1px solid #e0e0e0;background:#fff;border-bottom:0}.hot-brands a{display:block;text-decoration:none;height:100%}.hot-brands .brand{float:left;width:3.95rem;height:4.35rem;border-right:1px solid #e0e0e0;border-top:1px solid #e0e0e0;overflow:hidden}.hot-brands .brand .brand-logo{display:table-cell;width:3.95rem;height:3.2rem;line-height:3.2rem;text-align:center;font-size:0;vertical-align:middle}.hot-brands .brand .brand-logo img{max-width:100%;max-height:100%}.hot-brands .brand .brand-name{line-height:1.1rem;font-size:.45rem;color:#babac2;text-align:center;text-decoration:none;border-bottom:none;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis;white-space:nowrap}.hot-brands .brand:nth-child(5n){border-right:none}.hot-brands .more{float:left;width:7.925rem;height:4.35rem;border-top:1px solid #e0e0e0;overflow:hidden}.hot-brands .more a{display:block;width:100%;height:100%}.brands-swiper{background:#fff;width:100%;height:4rem;padding-top:.5rem;border-top:1px solid #e0e0e0;overflow:hidden}.brands-swiper .brands-list{position:relative;height:4rem}.brands-swiper .brands-list li{float:left;padding-left:5%;width:21.875%;height:3.5rem}.brands-swiper .brands-list li a{position:relative;display:block;width:100%;height:100%;line-height:3.5rem;font-size:0}.brands-swiper .brands-list li img{display:inline-block;max-width:100%;max-height:100%;vertical-align:middle}.brands-swiper .brands-list li .brands-title{position:absolute;left:.2rem;right:.2rem;bottom:.2rem;height:.7rem;line-height:.7rem;text-align:center;font-size:.45rem;color:#444;background:hsla(0,0%,100%,.5);overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis;white-space:nowrap}.hot-category{margin:.75rem 0 0;border-bottom:1px solid #e0e0e0}.hot-category .category-banner{height:4.95rem}.hot-category .category-banner img{display:block;width:100%;height:4.95rem}.hot-category .category-list{background:#fff}.hot-category .category-list li{float:left;width:3.95rem;height:4.35rem;border-top:1px solid #e0e0e0;border-left:1px solid #e0e0e0;overflow:hidden}.hot-category .category-list li .img-box{width:100%;height:100%;line-height:3.85rem;text-align:center;overflow:hidden;font-size:0}.hot-category .category-list li .img-box img{vertical-align:middle;width:100%;height:100%;max-width:100%;max-height:100%}.hot-category .category-list li .category-title{line-height:.55rem;color:#aaa;font-size:.45rem;text-align:center}.home-header{height:2.25rem;line-height:2.25rem;background-image:-webkit-linear-gradient(#323232,#414141);background-image:linear-gradient(#323232,#414141);position:relative}.home-header .iconfont{color:#fff}.home-header .nav-btn{position:absolute;left:0;top:0;bottom:0;z-index:2;padding:0 .8rem}.home-header .logo{display:block;margin:0 auto;width:5.2rem;height:2.175rem;background:url(../assets/img/yohologo02.png) no-repeat 50%;background-size:100%}.home-header .logo.animate{background:url(../assets/img/yohologo01.png) no-repeat 50%;background-size:100%}.home-header .search-btn{position:absolute;right:0;top:0;width:2.25rem;height:2.25rem;text-align:center}.home-header .search-btn a{display:block;color:#fff;font-size:20px;line-height:2.25rem}.home-header .iconfont.highlight{background:hsla(0,0%,78%,.4)}.girls-wrap .home-header{background:#ff88ae}.kids-wrap .home-header{background:#7ad9f9}.lifestyle-wrap .home-header{background:#4f4138}.kids-wrap .logo{font-style:italic;font-family:helvetica,Arial,榛戜綋;font-weight:700;color:#fff}#thumb-row{background-color:#f0f0f0;text-align:center;padding:.8rem 0 0}#thumb-row .thumb-row-box{display:inline-block;width:6.875rem;height:4rem;border-radius:4px;background-size:100%;background-repeat:no-repeat;background-position:50%;margin:0 .36rem}.notice-wrap .trend{position:relative;box-sizing:border-box;float:left;width:4.25rem;height:1.8rem;background:no-repeat 50%;background-size:90%;background-color:#fff}.notice-wrap .trend:after{content:'';position:absolute;right:0;top:.4rem;width:1px;height:1rem;background:#eee}.notice-wrap .trend-imgae{width:3rem;margin-top:.625rem;margin-bottom:.625rem;vertical-align:middle}.notice-wrap .notice{box-sizing:border-box;float:left;padding:0 .75rem;background:#fff;width:11.75rem;height:1.8rem;overflow:hidden}.notice-wrap .notice .notice-item{display:block;width:100%;font-size:.6rem;line-height:1.8rem;color:#444;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notice-wrap .notice .notice-icon{display:inline-block;margin-right:.25rem;width:.7rem;height:.7rem;background-image:url(../assets/img/sprite.me.png);background-position:-7rem -3.325rem;background-size:8.05rem 6.45rem;vertical-align:middle}.notice-wrap .notice span.notice-icon{background-repeat:no-repeat!important}.fresh-swiper{position:relative;overflow:hidden}.fresh-swiper ul li{float:left;width:100%}.fresh-swiper ul li a,.fresh-swiper ul li img{display:block;width:100%;height:100%}.fresh-swiper .swiper-pagination{position:absolute;left:0;right:0;bottom:.5rem;text-align:center}.fresh-swiper .swiper-pagination .pagination-inner{display:inline-block}.fresh-swiper .swiper-pagination .pagination-inner span{display:inline-block;width:.35rem;height:.35rem;background:#fff;opacity:.5;margin:0 .225rem;border-radius:50%}.fresh-swiper .swiper-pagination .pagination-inner span.swiper-active-switch{opacity:1}.fresh-list-swiper{overflow:hidden;padding-bottom:.375rem;background-color:#fff;height:11.75rem}.fresh-list-swiper ul{box-sizing:border-box}.fresh-list-swiper li{float:left;width:6rem;margin:.5rem .25rem 0;border:none}.fresh-list-swiper li .img-box{width:100%;height:8rem;overflow:hidden;text-align:center;position:relative}.fresh-list-swiper li .img-box img{width:100%;height:8rem;vertical-align:middle;border:none;outline:none}.fresh-list-swiper li .fresh-info .fresh-name a{display:block;overflow:hidden;text-overflow:ellipsis;width:100%;white-space:nowrap;color:#444;line-height:1.2rem;font-size:.55rem}.fresh-list-swiper li .fresh-info .cur-price{color:#d62927;font-size:.55rem}.fresh-list-swiper li .fresh-info .old-price{margin:0 0 0 .25rem;color:#b0b0b0;text-decoration:line-through;font-size:.55rem}.fresh-list-swiper li .fresh-info .fresh-icon{background:#d62927;width:2.5rem;height:.825rem;display:block;margin:.2rem auto 0;color:#fff;text-align:center;border-radius:1rem;line-height:.825rem}.fresh-list-swiper li:first-child{margin-left:.5rem}.fresh-list-swiper li:last-child{margin-right:.5rem}.fresh-list{position:relative;padding:.375rem 0 0 .375rem}.coupon-area-page{max-width:16rem;overflow:hidden}.just-img{margin:0}.coupon-floor,.just-img{width:100%;float:left}.coupon-floor .floor-title{background-color:#fff;text-align:center;height:2.4rem;line-height:2.4rem;font-size:.75rem}.coupon-floor .floor-main{height:4.5rem;width:100%;background-size:100%;background-repeat:no-repeat;padding:.25rem .75rem;box-sizing:border-box;float:left}.coupon-floor .floor-main .main-left{float:left;width:11.675rem;height:4rem}.coupon-floor .floor-main .main-right-go,.coupon-floor .floor-main .main-right-receive,.coupon-floor .floor-main .main-right-use{float:right;width:2.825rem;height:4rem;position:relative}.coupon-floor .floor-main .main-right-go span,.coupon-floor .floor-main .main-right-receive span,.coupon-floor .floor-main .main-right-use span{background-repeat:no-repeat;background-size:contain}.coupon-floor .floor-main .main-right-go span.on-receive,.coupon-floor .floor-main .main-right-receive span.on-receive,.coupon-floor .floor-main .main-right-use span.on-receive{position:absolute;left:50%;top:1.25rem;margin-left:-.65rem;display:inline-block;width:1.3rem;height:1.35rem;background-image:url(../assets/img/coupon/click-txt.png)}.coupon-floor .floor-main .main-right-go span.received,.coupon-floor .floor-main .main-right-receive span.received,.coupon-floor .floor-main .main-right-use span.received{width:2.825rem;height:3.3rem;background-image:url(../assets/img/coupon/received.png);position:absolute;top:0;right:0}.coupon-floor .floor-main .main-right-go span.zero,.coupon-floor .floor-main .main-right-receive span.zero,.coupon-floor .floor-main .main-right-use span.zero{width:2.775rem;height:3.3rem;background-image:url(../assets/img/coupon/zero.png);position:absolute;top:0;right:0}.floor-mask{position:absolute;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);display:none;z-index:9}.floor-message{position:fixed;top:50%;left:50%;width:13.75rem;height:6.25rem;margin-left:-6.875rem;margin-top:-3.125rem;z-index:10;background-color:hsla(0,0%,98%,.92);display:none;border-radius:.25rem}.floor-message .coupon-message-content{border-bottom:1px solid #c5c5c5;height:4rem;text-align:center;line-height:4rem;font-size:.7rem}.floor-message .coupon-message-op{height:2.25rem;text-align:center;line-height:2.25rem;font-size:.8rem;color:#df6270}.floor-tooltip{position:fixed;top:50%;left:50%;width:5.5rem;height:3.5rem;margin-left:-2.75rem;margin-top:-1.75rem;z-index:11;background-color:rgba(60,60,60,.7);display:none;border-radius:.2rem;color:#fff}.floor-tooltip .icon-box{height:2.1rem;line-height:2.1rem;text-align:center}.floor-tooltip .icon-msg{height:1.4rem;text-align:center}.mobile-container{width:100%;overflow:hidden}.mobile-wrap{position:relative;z-index:2;background:#f0f0f0;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s}.mobile-wrap.menu-open{-webkit-transform:translateX(13.5rem);transform:translateX(13.5rem)}.overlay{display:none;position:absolute;top:0;left:0;right:0;bottom:0;background:#000;z-index:4;-webkit-transition:opacity 1s;transition:opacity 1s}.overlay.show{display:block;opacity:.3}.yoho-channel-page .brands-list .brands-title{display:none}.brand-page .re-pos-search{top:4.25rem!important}.brand-page .hide-when-loading{display:none}.brand-page .genderNav{display:block;width:100%;height:2rem;line-height:2rem;overflow:hidden;color:#aeaeae;z-index:3;position:fixed;top:2.25rem;border-bottom:1px solid #e1e1e1;background-color:#fff}.brand-page .genderNav ul{width:100%;height:90%;overflow:hidden}.brand-page .genderNav ul li{width:25%;height:100%;overflow:hidden;float:left;text-align:center;position:relative;font-size:.7rem}.brand-page .genderNav ul li i{width:100%;height:40%;overflow:hidden;display:block}.brand-page .genderNav ul li span:not(.split-border){width:100%;height:auto;overflow:hidden;display:block}.brand-page .genderNav ul li .split-border{display:inline-block;width:.05rem;height:1rem;background-color:#e1e1e1;position:absolute;top:30%;right:0}.brand-page .genderNav ul li:last-child .split-border{display:none}.brand-page .genderNav ul li.active{color:#444}.brand-page .brandNav{display:block;width:100%;height:2rem;line-height:2rem;overflow:hidden;color:#aeaeae;z-index:3;border-top:.75rem solid #f4f4f4;background-color:#fff;border-bottom:1px solid #f4f4f4}.brand-page .brandNav ul{width:100%;height:90%;overflow:hidden}.brand-page .brandNav ul li{width:33%;height:100%;overflow:hidden;float:left;text-align:center;position:relative;font-size:.7rem}.brand-page .brandNav ul li i{width:100%;height:40%;overflow:hidden;display:block}.brand-page .brandNav ul li span:not(.split-border){width:100%;height:auto;overflow:hidden;display:block}.brand-page .brandNav ul li .split-border{display:inline-block;width:.05rem;height:1rem;background-color:#e1e1e1;position:absolute;top:30%;right:0}.brand-page .brandNav ul li:last-child .split-border{display:none}.brand-page .brandNav ul li.active{color:#444}.brand-page .newbrand-search{width:93.75%;height:1.5rem;padding:.35rem 3.125%;background-color:#f8f8f8;left:0;top:2.25rem;position:fixed;z-index:2}.brand-page .newbrand-search .search-box{position:relative;width:12.5rem;height:1.5rem;background-color:#fff;border-radius:.75rem;padding:0 .8rem 0 1.3rem}.brand-page .newbrand-search .search-box a{width:100%;height:1.5rem;border:0;display:block}.brand-page .newbrand-search .search-box a span{line-height:1.5rem;color:#bdbdbd;font-size:1.2em;padding-left:.45rem}.brand-page .newbrand-search .search-box .search-icon{position:absolute;font-size:.6rem;top:0;left:.6rem;line-height:1.5rem;color:#bdbdbd}.brand-page .newbrand-search .search-box .search-input{border:none;width:95%;height:1.5rem;font-size:1.2em;padding:0 .25rem}.brand-page .newbrand-search .search-box .search-action{display:none;position:absolute;top:0;right:-1.85rem;font-size:.8rem;line-height:1.5rem;color:#666}.brand-page .newbrand-search .search-box .cancel-btn{display:inline;font-size:.7rem;vertical-align:middle;color:#666}.brand-page .newbrand-search .search-box .clear-text{margin-right:.5rem}.brand-page .banner-top{padding-top:6.45rem;background-color:#f8f8f8}.brand-page .hot-brands{padding-top:4.45rem;border-top:.75rem solid #f4f4f4}.brand-page .hot-brands .floor-header{padding:0}.brand-page .hot-brands .brands-swiper{border-top:0}.brand-page .hot-brand{margin:.75rem 0 0}.brand-page .hot-brand .hot-brand-list{background:#fff}.brand-page .hot-brand .hot-brand-list li{float:left;width:3.95rem;height:3.95rem}.brand-page .hot-brand .hot-brand-list li .img-box{display:table-cell;vertical-align:middle;text-align:center;width:3.95rem;height:3.95rem}.brand-page .hot-brand .hot-brand-list li img{max-width:3.5rem;max-height:3.5rem}.brand-page .brand-list{width:100%}.brand-page .brand-list .title-bar{width:100%;background:#eee;color:#999;position:relative}.brand-page .brand-list .title-bar h2{padding:0 .5rem;height:1.25rem;line-height:1.25rem;font-size:.85rem;border-top:1px solid #e6e6e6;background-color:#f4f4f4}.brand-page .brand-list p{cursor:pointer;padding:0 .5rem}.brand-page .brand-list p a{display:block;height:1.9rem;line-height:1.9rem;font-size:.7rem;border-bottom:1px solid #f3f3f3;border-top:1px solid #f9f9f9}.brand-page .brand-list p a i{display:inline-block;margin-top:-.1rem;width:2.7rem;height:1.05rem;text-align:center;vertical-align:middle;font-size:.7rem;line-height:1.1rem;color:#fff;border-radius:1.25rem;-webkit-transform:scale(.8);transform:scale(.8)}.brand-page .brand-list p a .icon-hot{background:red}.brand-page .brand-list p a .icon-new{background:#86c048}.brand-page .branding-wall{padding:0;width:98%;margin-left:1%}.brand-page .brand-wall-box{margin-top:.5rem;width:32%;display:inline-block}.brand-page .brand-name{margin-top:.25rem;text-align:center;vertical-align:middle;font-size:.6rem;line-height:1.75rem;height:1.75rem;overflow:hidden;color:#b8b8b8}.brand-page .right-bar{width:1.5rem;height:75%;top:20%;overflow:auto;position:fixed;right:.05rem;border-radius:.3rem;background:rgba(0,0,0,.8);z-index:2;display:none}.brand-page .right-bar b{height:.9rem;line-height:.9rem;text-align:center;display:block;color:#999;font-weight:700}.brand-page .right-bar::-webkit-scrollbar{display:none}.brand-page .con{padding-top:.25rem}.brand-page .search-result{padding-top:4.125rem}.category-page{font-size:.75rem}.category-page .search-input{position:relative;background-color:#f8f8f8;padding:.325rem .5rem}.category-page .search-input p{box-sizing:border-box;width:100%;height:1.5rem;line-height:1.5rem;border:none;padding-left:1.65rem;border-radius:1.5rem;font-size:.65rem;background:#fff;color:#999}.category-page .search-icon{position:absolute;top:0;bottom:0;left:1.075rem;line-height:2.15rem;color:#999}.category-page .category-nav{height:1.75rem;border-bottom:1px solid #e6e6e6}.category-page .category-nav li{display:block;box-sizing:border-box;float:left;height:100%;padding:.5rem 0;width:25%;text-align:center;color:#999}.category-page .category-nav li:last-child{border-right:none}.category-page .category-nav li.focus{color:#000}.category-page .category-nav li.bytouch{background:#eee}.category-page .category-nav span{display:block;width:100%;height:.75rem;line-height:.75rem;font-size:.75rem;border-right:1px solid #e6e6e6}.category-page .category-nav li:last-child span{border-right:0}.category-page .content{background:#f8f8f8}.category-page .content.hide{display:none}.category-page .primary-level{float:left;box-sizing:border-box;width:45%}.category-page .primary-level>li{height:2.225rem;line-height:2.225rem;padding:0 .8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.category-page .primary-level>li.focus{background-color:#fff}.category-page .primary-level>li.highlight{background-color:#eee}.category-page .sub-level-container{float:left;box-sizing:border-box;background:#fff;width:55%;height:100%}.category-page .sub-level{width:100%}.category-page .sub-level>li{box-sizing:border-box;height:2.225rem;line-height:2.225rem;border-bottom:1px solid #e6e6e6;padding-left:.5rem}.category-page .sub-level>li.highlight{background:#eee}.category-page .sub-level>li:last-child{border-bottom:none}.category-page .sub-level a{display:block;height:100%;width:100%;color:#000}.category-page .sub-level.hide{display:none}.my-page{background:#f0f0f0}.my-page,.my-page a{color:#444}.my-page .user-info{display:block;position:relative;padding:0 .75rem;color:#fff;font-size:.85rem;line-height:4.2rem;height:4.2rem;background:url(../assets/img/me/index/header-bg.jpg);background-size:cover}.my-page .user-info .user-avatar{float:left;position:relative;top:.4rem;width:3.15rem;height:3.15rem;border-radius:50%;border:.15rem solid #a7a8a9;background-image:url(../assets/img/me/index/user-avatar.png);background-size:100%}.my-page .user-info .username{float:left;padding:0 .4rem;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:6.5rem}.my-page .user-info .vip-icon{display:inline-block;width:1.8rem;height:.8rem;vertical-align:middle}.my-page .user-info .vip-3{background-position:0 -5.65rem}.my-page .user-info .vip-2,.my-page .user-info .vip-3{background-image:url(../assets/img/sprite.me.png);background-size:8.05rem 6.45rem}.my-page .user-info .vip-2{background-position:-2.85rem -4.525rem}.my-page .user-info .vip-1{background-image:url(../assets/img/sprite.me.png);background-position:-4.9rem -4.525rem;background-size:8.05rem 6.45rem}.my-page .user-info .more-icon{position:absolute;top:1rem;right:.75rem;width:2.2rem;height:2.2rem;line-height:2.2rem;text-align:center}.my-page .user-info .more-icon.highlight{background:hsla(0,0%,78%,.1)!important}.my-page .login-btn{display:block;position:absolute;top:1rem;left:4.85rem;width:6.1rem;height:2.05rem;line-height:2.05rem;color:#fff;border:.1rem solid #fff;text-align:center}.my-page .my-link{padding:.15rem 0;text-align:center;background:rgba(0,0,0,.8);height:1.9rem}.my-page .my-link .link-item{position:relative;float:left;color:#fff;font-size:.7rem;width:5.3rem}.my-page .my-link .link-item p{font-size:.6rem}.my-page .my-link .link-item.highlight{background:hsla(0,0%,78%,.1)!important}.my-page .my-link .link-item:after{content:'';position:absolute;right:0;top:.6rem;width:0;height:1.1rem;border-right:1px solid #fff}.my-page .my-link .link-item:last-of-type:after{content:none}.my-page .my-link.no-login{padding:0;height:2.2rem}.my-page .my-link.no-login .link-item p{font-size:.8rem;line-height:2.2rem}.my-page .notice{margin-bottom:.75rem;padding:0 .75rem;background:#fff;height:1.8rem;overflow:hidden}.my-page .notice .notice-item{display:block;width:100%;font-size:.6rem;line-height:1.8rem;color:#444;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.my-page .notice .notice-icon{display:inline-block;margin-right:.25rem;width:.7rem;height:.7rem;background-image:url(../assets/img/sprite.me.png);background-position:-7rem -3.325rem;background-size:8.05rem 6.45rem;vertical-align:middle}.my-page .my-order{margin-bottom:.75rem;border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0;background:#fff}.my-page .my-order .order-title{display:block;padding:0 .75rem;font-size:16px;line-height:2.2rem}.my-page .my-order .order-title span{color:#e0e0e0;float:right}.my-page .my-order .order-title.highlight{background:#eee}.my-page .my-order .order-type{padding:.5rem .75rem;text-align:center;border-top:1px solid #e0e0e0}.my-page .my-order .order-type .type-item{position:relative;float:left;color:#444;font-size:14px;line-height:1.5;width:4.825rem}.my-page .my-order .order-type .type-item .num{position:absolute;top:-.6rem;right:.9rem;width:1.8rem;height:1.8rem;font-size:1rem;line-height:1.8rem;color:#fff;background:#f03d35;text-align:center;border-radius:50%;-webkit-transform:scale(.5);transform:scale(.5)}.my-page .my-order .order-type .type-item.highlight{background:#eee}.my-page .my-order .order-type .iconfont{font-size:1rem}.my-page .group-list{margin-bottom:.75rem;border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0;background:#fff}.my-page .group-list .list-item{display:block;position:relative;padding:0 .75rem;font-size:16px;line-height:2.2rem}.my-page .group-list .list-item .opinion{width:1.3rem;height:1.3rem;overflow:hidden;display:inline-block;background-image:url(../assets/img/sprite.me.png);background-position:-4.95rem -2.05rem;background-size:8.05rem 6.45rem;position:relative;top:.36rem;margin-right:.3rem}.my-page .group-list .list-item.highlight{background:#eee}.my-page .group-list .list-item:after{content:'';position:absolute;right:0;bottom:0;width:13.5rem;height:0;border-top:1px solid #e0e0e0}.my-page .group-list .list-item:last-child:after{content:none}.my-page .group-list .icon{margin-right:.25rem;font-size:1.25rem;vertical-align:top}.my-page .group-list .num{color:#e0e0e0;float:right}.vip-grade-page{background:#f0f0f0;padding-bottom:.75rem}.vip-grade-page .block{padding:0 .75rem;margin-bottom:.75rem;border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0;background:#fff}.vip-grade-page .basic-info{padding-top:.75rem;padding-bottom:.625rem}.vip-grade-page .basic-info p{width:100%;height:auto;overflow:hidden;display:block}.vip-grade-page .basic-info span{overflow:hidden}.vip-grade-page .basic-info .user-name{float:left;max-width:6rem;text-overflow:ellipsis;white-space:nowrap;font-size:.625rem;margin-right:.5rem}.vip-grade-page .basic-info .vip-icon{float:left;width:1.8rem;height:.8rem;line-height:.9rem}.vip-grade-page .basic-info .vip-3{background-position:0 -5.65rem}.vip-grade-page .basic-info .vip-2,.vip-grade-page .basic-info .vip-3{background-image:url(../assets/img/sprite.me.png);background-size:8.05rem 6.45rem}.vip-grade-page .basic-info .vip-2{background-position:-2.85rem -4.525rem}.vip-grade-page .basic-info .vip-1{background-image:url(../assets/img/sprite.me.png);background-position:-4.9rem -4.525rem;background-size:8.05rem 6.45rem}.vip-grade-page .basic-info .grade-desc{margin-top:.5rem;font-size:.55rem;color:#b0b0b0}.vip-grade-page .basic-info .sum-cost{font-size:.55rem}.vip-grade-page .basic-info .sum-cost>span{font-style:italic;font-size:.7rem;color:#d1021c}.vip-grade-page .basic-info .progresser{position:relative;width:100%;height:.5rem;padding:.5rem 0}.vip-grade-page .basic-info .outer{height:.5rem;background:#e6e6e6;border-radius:.25rem}.vip-grade-page .basic-info .inner{position:absolute;top:.5rem;height:.5rem;background:#d1021c;border-radius:.25rem}.vip-grade-page .basic-info .beacon{position:absolute;margin-top:.125rem;font-style:italic}.vip-grade-page .basic-info .beacon-max{right:0}.vip-grade-page .basic-info .cost-limit{position:absolute;top:-.125rem;right:0;color:#b0b0b0}.vip-grade-page .basic-info .cost-gap{color:#000;margin:0 .2rem}.vip-grade-page .basic-info .sub-desc{display:block}.vip-grade-page .cost{padding:0 0 0 .75rem}.vip-grade-page .cost li{height:2.25rem;line-height:2.25rem;font-size:.75rem;padding-right:0}.vip-grade-page .cost li>span{float:right;padding:0 .75rem 0 0}.vip-grade-page .cost li:first-child{border-bottom:1px solid #e0e0e0}.vip-grade-page .privilege{padding-right:0;padding-bottom:1rem}.vip-grade-page .privilege .title{height:2.25rem;line-height:2.25rem;font-size:.75rem;border-bottom:1px solid #e0e0e0}.vip-grade-page .all-privilege{display:block;height:2.25rem;line-height:2.25rem;font-size:.75rem;margin-bottom:0}.vip-grade-page .all-privilege .iconfont{float:right;color:#e0e0e0}.vip-privilege-page{padding:0 .5rem}.privilege-list{background:#fff}.privilege-list .icon{float:left;display:block;width:1.75rem;height:1.75rem}.privilege-list li{height:1.75rem;padding:.625rem 0}.privilege-list P{font-size:.7rem;margin-left:2.5rem}.privilege-list span{display:block;color:#b0b0b0;font-size:.55rem}.order-page{background:#f0f0f0}.order-page .reason-mask{position:fixed;width:100%;height:100%;left:0;top:0;background:rgba(0,0,0,.5);z-index:5;visibility:hidden}.order-page .reason-mask .reason-box{border-bottom:1px solid #ccc;font:inherit;vertical-align:baseline;position:absolute;left:50%;top:50%;margin-left:-6.75rem;margin-top:-7.25rem;width:13.5rem;height:14.5rem;color:#444;background:#fff;border-radius:.25rem;padding-bottom:.5rem}.order-page .reason-mask .reason-box .box-head{height:1.5rem;line-height:1.5rem;text-align:right;font-size:.9rem;background:#f0f0f0;padding-right:.75rem}.order-page .reason-mask .reason-box .box-main{background:#fff;padding:.5rem;height:12rem}.order-page .reason-mask .reason-box li{text-align:center;background:#fff;color:rgba(0,0,0,.5);font-size:.95rem}.order-page .reason-mask .reason-box .swiper-slide-active{padding-top:0;font-style:normal;border-top:1px solid #dfe0e0;border-bottom:1px solid #dfe0e0;font-size:.95rem;color:#000;height:1.95rem!important;line-height:1.95rem}.order-page .reason-mask .reason-box .swiper-slide{line-height:1.75rem}.order-page .order{position:relative;display:block;background:#fff;margin:.75rem 0;border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0}.order-page .order .footer,.order-page .order .header{height:2.25rem;line-height:2.25rem;font-size:.75rem;padding:0 .75rem}.order-page .order .header{border-bottom:1px solid #e0e0e0}.order-page .order .order-status{float:right}.order-page .order .footer{text-align:right;border-top:1px solid #e0e0e0}.order-page .order .sum-cost{color:#e01;margin-left:.125rem}.order-page .order .order-opt{padding:.75rem 0;padding-right:.75rem;border-top:1px solid #e0e0e0;text-align:right}.order-page .order .order-opt .btn{display:inline-block;box-sizing:border-box;height:1.5rem;line-height:1.5rem;width:3.5rem;font-size:.6rem;text-align:center;border:1px solid #000;border-radius:5px}.order-page .order .order-opt .pay{background:#d0021b;color:#fff;border:none;margin-left:.5rem}.order-page .order .order-opt .count-down{list-style:none;padding:0;display:inline-block;text-align:right;font-size:.6rem;color:#b0b0b0;float:left;margin-left:.75rem;margin-top:.5rem}.order-page .order .order-opt .count-down .count-down-icon{margin-top:-.2rem;font-size:.75rem}.order-page .order .order-opt .count-down li{display:inline-block}.order-page .order .order-opt .count-down li span{font-size:.6rem;line-height:.6rem}.order-page .order .order-opt .count-down.hide{display:none}.order-page .order:last-child{margin-bottom:0}.order-page .no-order{position:absolute;background:#fff;text-align:center;top:50%;margin-top:-5.5rem;width:100%}.order-page .no-order .icon{width:3.825rem;height:4.9rem;background:url(../assets/img/me/no-order.png) no-repeat;background-size:100%;margin:0 auto}.order-page .no-order span{display:block;color:#444;font-size:.6rem;margin:.75rem 0 2rem}.order-page .no-order .walk-way{display:block;height:2rem;line-height:2rem;width:70%;margin:0 auto;text-align:center;font-size:.75rem;color:#fff;background:#444;border-radius:5px}.order-nav{border-bottom:1px solid #e0e0e0;background:#fff}.order-nav a{display:block;height:100%;width:100%;color:#b0b0b0}.order-nav>li{float:left;height:2.25rem;width:25%;line-height:2.25rem;color:#b0b0b0;font-size:.65rem;text-align:center}.order-nav>li.active a{color:#000}.order-good{position:relative;padding:.5rem 0;margin-left:.85rem;height:4rem;border-bottom:1px solid #e0e0e0;font-size:.65rem}.order-good .thumb-wrap{position:relative;float:left;width:3rem;height:4rem}.order-good .thumb{width:100%;height:100%}.order-good .tag{position:absolute;bottom:0;left:0;right:0;color:#fff;text-align:center;font-size:.3rem}.order-good .tag:before{display:block;line-height:1;-webkit-transform:scale(.833);transform:scale(.833)}.order-good .gift-tag{height:.625rem;background:#a1ce4e}.order-good .gift-tag:before{content:'赠品'}.order-good .advance-buy-tag{height:.625rem;background:#eb76aa}.order-good .advance-buy-tag:before{content:'加价购'}.order-good .deps{margin-left:3.375rem}.order-good .name{font-size:.7rem;max-width:70%;text-overflow:-o-ellipsis-lastline;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.order-good .row:nth-child(2){height:1.125rem;line-height:1.125rem}.order-good .row:nth-child(2)>span{margin-right:.375rem}.order-good .color,.order-good .size{color:#b6b6b6}.order-good .price-wrap{position:absolute;top:.5rem;right:.75rem;text-align:right}.order-good .price{color:#e01}.order-good .count{display:block;color:#999;text-align:right;line-height:1.125rem}.order-good .appear-date{color:red}.order-good:last-child{border-bottom:none}.order-detail-page{background:#f0f0f0}.order-detail-page .block{position:relative;background:#fff;padding:.5rem .75rem}.order-detail-page .block .iconfont{position:absolute;left:.75rem;top:50%;font-size:1rem;margin-top:-.75rem}.order-detail-page .sub{position:relative}.order-detail-page .sub .iconfont{left:0}.order-detail-page .logistics{display:block}.order-detail-page .logistics .icon-right{right:.625rem;left:auto;color:#b0b0b0}.order-detail-page .logistics .sub-content{border-top:1px solid #e0e0e0;margin-top:.5rem;padding-top:.5rem}.order-detail-page .owner-info{border-bottom:1px solid #e0e0e0;line-height:1.5}.order-detail-page .range{background-image:url(../assets/img/me/rang.png);background-size:cover;width:16rem;height:.5rem;background-color:#fff}.order-detail-page .beside-icon{margin-left:1.5rem}.order-detail-page .name-phone{font-size:.75rem}.order-detail-page .name-phone span{float:right}.order-detail-page .address{font-size:.6rem;margin-top:.25rem}.order-detail-page .rest{display:none;position:relative;width:100%;text-align:right;color:red;font-size:.6rem}.order-detail-page .rest .iconAddress{position:static;font-size:.6rem}.order-detail-page .order-status{margin:.5rem 0;border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0;padding-right:0}.order-detail-page .sub-content span{display:block;color:#b0b0b0;font-size:.6rem}.order-detail-page .sub-content .sub-title{display:block;color:#000;font-size:.7rem}.order-detail-page .goods{padding:0;margin-top:.5rem;border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0}.order-detail-page .cost li{font-size:.7rem}.order-detail-page .cost li span{float:right}.order-detail-page .cost li:last-child span{color:red}.order-detail-page .dollar{background:#fff;padding:.5rem .75rem;height:1.5rem;line-height:1.5rem;font-size:.7rem}.order-detail-page .dollar .bg-dollar{display:inline-block;width:.6rem;height:.6rem;background-image:url(../assets/img/sprite.me.png);background-position:-7rem -4.125rem;background-size:8.05rem 6.45rem;vertical-align:middle}.order-detail-page .opt{text-align:right;border-top:1px solid #e0e0e0}.order-detail-page .btn{display:inline-block;box-sizing:border-box;width:3.5rem;height:1.5rem;line-height:1.5rem;border-radius:5px;font-size:.65rem;text-align:center;border:1px solid #000}.order-detail-page .btn-pay{color:#fff;border:none;background:#d0021b;margin-left:.25rem;font-size:.6rem}.order-detail-page .count-down{list-style:none;padding:0;display:inline-block;text-align:right;font-size:.6rem;color:#b0b0b0;float:left;margin-left:.75rem;margin-top:.5rem}.order-detail-page .count-down .count-down-icon{margin-top:-.2rem;font-size:.75rem}.order-detail-page .count-down li{display:inline-block}.order-detail-page .count-down li span{font-size:.6rem;line-height:.6rem}.order-detail-page .count-down.hide{display:none}.order-detail-page .reason-mask{position:fixed;width:100%;height:100%;left:0;top:0;background:rgba(0,0,0,.5);z-index:5;visibility:hidden}.order-detail-page .reason-mask .reason-box{border-bottom:1px solid #ccc;font:inherit;vertical-align:baseline;position:absolute;left:50%;top:50%;margin-left:-6.75rem;margin-top:-7.25rem;width:13.5rem;height:14.5rem;color:#444;background:#fff;border-radius:.25rem;padding-bottom:.5rem}.order-detail-page .reason-mask .reason-box .box-head{height:1.5rem;line-height:1.5rem;text-align:right;font-size:.9rem;background:#f0f0f0;padding-right:.75rem}.order-detail-page .reason-mask .reason-box .box-main{background:#fff;padding:.5rem;height:12rem}.order-detail-page .reason-mask .reason-box li{text-align:center;background:#fff;color:rgba(0,0,0,.5);font-size:.95rem}.order-detail-page .reason-mask .reason-box .swiper-slide-active{padding-top:0;font-style:normal;border-top:1px solid #dfe0e0;border-bottom:1px solid #dfe0e0;font-size:.95rem;color:#000;height:1.95rem!important;line-height:1.95rem}.order-detail-page .reason-mask .reason-box .swiper-slide{line-height:1.75rem}.my-coupon-page .employ{width:100%;height:2.25rem;border-bottom:1px solid #e0e0e0;position:relative}.my-coupon-page .employ span{width:49%;height:1.2rem;line-height:1.2rem;overflow:hidden;border-right:2px solid #e0e0e0;margin:.525rem 0;float:left;text-align:center;font-size:.8rem;color:#b0b0b0}.my-coupon-page .employ span:last-of-type{border:none}.my-coupon-page .employ span.active{color:#444}.my-coupon-page .coupon-list{width:100%;height:auto;overflow:hidden}.my-coupon-page .coupon-list .employ-main{display:block;width:90.625%;height:4.5rem;overflow:hidden;margin:.75rem auto;background-image:url(../assets/img/me/employ/employ.jpg);background-position:top;background-repeat:no-repeat;background-size:100% 100%;color:#fff;position:relative}.my-coupon-page .coupon-list .employ-main span{width:34.482759%;height:100%;float:left;text-align:center;line-height:4.5rem;font-size:2.15rem}.my-coupon-page .coupon-list .employ-main p{width:59.517241%;height:auto;margin:0 .3rem;float:left}.my-coupon-page .coupon-list .employ-main p:first-of-type{margin-top:.75rem;font-size:.685rem;height:auto;min-height:2rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.my-coupon-page .coupon-list .employ-main i{width:100%;height:100%;overflow:hidden;display:block;position:absolute;top:0;left:0;background:url(../assets/img/me/employ/employsy.png) 100% 0 no-repeat;background-size:auto 100%}.my-coupon-page .coupon-list .employ-main.focus{background-image:url(../assets/img/me/employ/employ-red.jpg)}.my-coupon-page .coupon-list .null{width:100%;height:auto;overflow:hidden;position:absolute;left:0;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.my-coupon-page .coupon-list .null i{width:100%;height:3rem;overflow:hidden;display:block;background:url(../assets/img/me/employ/not.png) top no-repeat;background-size:auto 100%}.my-coupon-page .coupon-list .null p{width:100%;height:auto;overflow:hidden;padding:.5rem 0 0;font-size:.8rem;text-align:center;color:#444}.my-coupon-page .coupon-list .null a{width:73.75%;height:2rem;overflow:hidden;font-size:.9rem;line-height:2rem;display:block;background:#444;color:#fff;text-align:center;margin:1.5rem auto 0;border-radius:.2rem}.my-coupon-page .none{display:none}.personal-details{width:100%;height:auto;overflow:hidden;margin-top:.5rem;background-color:#fff;border-bottom:1px solid #e0e0e0}.personal-details ul{width:95%;height:auto;overflow:hidden;float:right}.personal-details ul li{height:2rem;border-bottom:1px solid #e0e0e0}.personal-details ul li .user-avatar{width:100%;height:100%;background-image:url(../assets/img/me/index/user-avatar.png);background-size:100%}.personal-details ul li>span{width:42%;height:100%;line-height:2rem;font-size:.8rem;margin-right:8%;float:left;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.personal-details ul li>span .head-portrait{width:2.25rem;height:2.25rem;overflow:hidden;float:right;border-radius:50%;border:1px solid #eee}.personal-details ul li>span .grade{width:100%;height:100%;overflow:hidden;display:block;position:relative}.personal-details ul li>span .grade i{width:1.8rem;height:.8rem;overflow:hidden;display:block;position:absolute;right:1rem;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.personal-details ul li>span .grade span{color:#b0b0b0}.personal-details ul li>span .vip-3{background-position:0 -5.65rem}.personal-details ul li>span .vip-2,.personal-details ul li>span .vip-3{background-image:url(../assets/img/sprite.me.png);background-size:8.05rem 6.45rem}.personal-details ul li>span .vip-2{background-position:-2.85rem -4.525rem}.personal-details ul li>span .vip-1{background-image:url(../assets/img/sprite.me.png);background-position:-4.9rem -4.525rem;background-size:8.05rem 6.45rem}.personal-details ul li>span:first-of-type{color:#444}.personal-details ul li>span:last-of-type{color:#b0b0b0;text-align:right}.personal-details ul li:first-of-type{height:2.5rem;line-height:2.5rem}.personal-details ul li:last-of-type{border-bottom:none}.yoho-coin-page .coin-num{font-size:1.4em;text-align:center}.yoho-coin-page .coin-num em{font-size:4em;color:red}.yoho-coin-page .coin-num span{width:100%;height:auto;overflow:hidden;display:block;color:#b0b0b0;margin-top:-.6rem}.yoho-coin-page .check{width:100%;height:auto;overflow:hidden;text-align:center;margin-top:.6rem;padding-bottom:1rem;border-bottom:1px solid #b0b0b0}.yoho-coin-page .check a{line-height:1.2rem;border:1px solid #444;width:30%;height:100%;font-size:1.2em;display:inline-block;border-radius:.6rem}.yoho-coin-page section p{line-height:1.5em}.yoho-coin-page .title{font-size:.4rem;line-height:.5rem;font-weight:700}.yoho-coin-page .sub-title{display:block;font-size:.35rem;line-height:.7rem;font-weight:700}.yoho-coin-page .path{color:#f60}.yoho-coin-page .remark{color:#666}.yoho-coin-page .remark span{color:#9c3}.yoho-favorite-page{width:100%;height:auto}.yoho-favorite-page .fav-tab{width:100%;height:2.2rem;line-height:2.2rem;border-bottom:1px solid #e0e0e0;color:#b0b0b0;font-size:.65rem}.yoho-favorite-page .fav-tab li{width:50%;height:100%;float:left;text-align:center}.yoho-favorite-page .fav-tab li.active{color:#444}.yoho-favorite-page .fav-tab li:nth-last-of-type(1){float:right;position:relative}.yoho-favorite-page .fav-tab li:nth-last-of-type(1):after{content:'';display:block;width:1px;height:1.1rem;position:absolute;left:0;top:.55rem;background:#b0b0b0}.yoho-favorite-page .fav-content .fav-type{display:none}.yoho-favorite-page .fav-content .show{display:block}.yoho-favorite-page .fav-content .fav-null{font-size:.55rem;color:#444;display:block;margin-top:2.5rem;text-align:center}.yoho-favorite-page .fav-content .fav-null:before{content:'';display:block;width:4.7rem;height:4.275rem;background:url(../assets/img/me/fav/fav-null.png);background-size:100% 100%;margin:0 auto 1.125rem}.yoho-favorite-page .fav-content .go-shopping{width:11.8rem;height:2.2rem;line-height:2.2rem;margin:2rem auto 0;background:#444;text-align:center;color:#fff;display:block;font-size:.65rem;border-radius:.2rem}.yoho-favorite-page .fav-content .fav-product-list{list-style:none;margin-left:.75rem}.yoho-favorite-page .fav-content .fav-product-list li{height:auto;overflow:hidden;margin-top:.5rem}.yoho-favorite-page .fav-content .fav-product-list .fav-img-box{width:2.25rem;height:3rem;float:left;margin-right:.6rem}.yoho-favorite-page .fav-content .fav-product-list .fav-img-box img{display:block;overflow:hidden;width:100%;height:100%}.yoho-favorite-page .fav-content .fav-product-list .fav-info-list{color:#444;font-size:.6rem;border-bottom:1px solid #e0e0e0;padding-bottom:.5rem;height:3rem;overflow:hidden;position:relative}.yoho-favorite-page .fav-content .fav-product-list .fav-info-list h2{width:10.75rem;text-overflow:ellipsis}.yoho-favorite-page .fav-content .fav-product-list .fav-info-list .fav-price .new-price{color:#d1021c}.yoho-favorite-page .fav-content .fav-product-list .fav-info-list .fav-price .price-underline{text-decoration:line-through;margin-left:.375rem;color:#b0b0b0}.yoho-favorite-page .fav-content .fav-product-list .fav-info-list .save-price{position:absolute;bottom:.5rem;left:0;width:100%;min-height:.6rem}.yoho-favorite-page .fav-content .fav-product-list .fav-info-list .save-price span{color:#d1021c}.yoho-favorite-page .fav-content .fav-product-list .fav-info-list .save-price span.sell-out{padding:.125rem .45rem;color:#fffefe;border-radius:.5rem;background:#7f7f7f;font-size:.55rem}.yoho-favorite-page .fav-content .fav-product-list .fav-info-list .save-price span.del-fav{width:2rem;height:1.5rem;line-height:1.5rem;position:absolute;top:50%;margin-top:-.75rem;right:0;color:#999;padding-right:.75rem;text-align:right}.yoho-favorite-page .fav-content .fav-product-list .fav-info-list .save-price.save-price-number{text-indent:1.05rem;color:#b0b0b0;padding-top:.075rem}.yoho-favorite-page .fav-content .fav-product-list .fav-info-list .save-price.save-price-number span{margin-left:.375rem}.yoho-favorite-page .fav-content .fav-product-list .fav-info-list .save-price.save-price-number .del-fav{text-indent:0;margin-left:0}.yoho-favorite-page .fav-content .fav-product-list .fav-info-list .save-price.save-price-number:before{content:'';display:block;background-image:url(../assets/img/sprite.me.png);background-position:-7rem -1.3rem;background-size:8.05rem 6.45rem;width:.8rem;height:.8rem;position:absolute;top:50%;left:0;margin-top:-.4rem}.yoho-favorite-page .fav-content .fav-brand-swiper{border-top:1px solid #e0e0e0;border-bottom:.7rem solid #f0f0f0;position:relative}.yoho-favorite-page .fav-content .fav-brand-swiper .swiper-header{height:2.5rem;padding:.5rem .75rem;display:inline-block;position:relative;width:100%;box-sizing:border-box}.yoho-favorite-page .fav-content .fav-brand-swiper .swiper-header .swiper-logo{height:100%;display:inline-block;float:left;margin-right:1.125rem}.yoho-favorite-page .fav-content .fav-brand-swiper .swiper-header .swiper-logo>img{max-height:100%;vertical-align:middle}.yoho-favorite-page .fav-content .fav-brand-swiper .swiper-header .brand-info{float:left}.yoho-favorite-page .fav-content .fav-brand-swiper .swiper-header .brand-info .brand-name{font-size:.7rem}.yoho-favorite-page .fav-content .fav-brand-swiper .swiper-header .brand-info .brand-name b{color:#b0b0b0;font-weight:400}.yoho-favorite-page .fav-content .fav-brand-swiper .swiper-header .brand-info .brand-update{font-size:.55rem}.yoho-favorite-page .fav-content .fav-brand-swiper .swiper-header .brand-info .brand-update b{color:#b0b0b0;font-weight:400}.yoho-favorite-page .fav-content .fav-brand-swiper .swiper-header .brand-info .brand-update .brand-new{color:#86bf4a;margin-right:.6rem}.yoho-favorite-page .fav-content .fav-brand-swiper .swiper-header .brand-info .brand-update .brand-discount{color:#d1021c}.yoho-favorite-page .fav-content .fav-brand-swiper .swiper-header .fav-more{width:2.5rem;height:2.5rem;position:absolute;top:0;right:0}.yoho-favorite-page .fav-content .fav-brand-swiper .swiper-header .fav-more:after{background-image:url(../assets/img/sprite.me.png);background-position:-7rem -2.35rem;background-size:8.05rem 6.45rem;width:.45rem;height:.725rem;position:absolute;top:50%;right:.75rem;margin-top:-.375rem;content:''}.yoho-favorite-page .fav-content .fav-brand-swiper .swiper-container{height:9.125rem;margin:0 .75rem}.yoho-favorite-page .fav-content .fav-brand-swiper .swiper-container .swiper-slide{width:5.625rem;height:100%;float:left;padding-right:.75rem}.yoho-favorite-page .fav-content .fav-brand-swiper .swiper-container .swiper-slide img{display:block;width:100%;height:7.5rem;overflow:hidden}.yoho-favorite-page .fav-content .fav-brand-swiper .swiper-container .swiper-slide .brand-product{height:1.625rem;line-height:1.625rem;text-align:center;font-size:.55rem}.yoho-favorite-page .fav-content .fav-brand-swiper .swiper-container .swiper-slide .brand-product .price-discount span{color:#d1021c}.yoho-favorite-page .fav-content .fav-brand-swiper .swiper-container .swiper-slide .brand-product .price-discount b{color:#b0b0b0;text-decoration:line-through;font-weight:400;margin-left:.325rem}.yoho-favorite-page .fav-content .fav-brand-swiper .swiper-container .swiper-slide:nth-last-of-type(1){padding-right:0}.yoho-favorite-page .fav-content .fav-brand-swiper:nth-of-type(1){border-top:0}.yoho-favorite-page .fav-content .fav-brand-swiper:after{content:'';position:absolute;left:0;bottom:-.05rem;border-top:1px solid #e0e0e0;display:block;width:100%;height:1px}.yoho-favorite-page .fav-brand-load-more,.yoho-favorite-page .fav-load-more{width:100%;height:2rem;line-height:2rem;text-align:center;color:#444}.yoho-favorite-page .fav-brand-load-more.load-background,.yoho-favorite-page .fav-content-loading,.yoho-favorite-page .fav-load-more.load-background{background:url(../assets/img/loading.gif) 50% no-repeat;background-size:auto 40%}.yoho-favorite-page .fav-content-loading{width:100%;height:2rem;position:absolute;top:50%;left:0;margin-top:-1rem}.yoho-suggest-page{width:100%;height:auto}.yoho-suggest-page .suggest-header{text-align:center;color:#fff;font-size:.65rem;line-height:1.15rem;overflow:hidden;padding-bottom:.5rem;background-image:-webkit-linear-gradient(#383838,#505050);background-image:linear-gradient(#383838,#505050)}.yoho-suggest-page .suggest-header:before{content:'';display:block;background-image:url(../assets/img/sprite.me.png);background-position:0 -4.525rem;background-size:8.05rem 6.45rem;width:2.6rem;height:.875rem;margin:.25rem auto .375rem}.yoho-suggest-page .suggest-content{border-top:1px solid #e0e0e0}.yoho-suggest-page .suggest-content .suggest-item{width:100%;color:#444;border-top:1px solid #e0e0e0;border-bottom:.75rem solid #f0f0f0;overflow:hidden}.yoho-suggest-page .suggest-content .suggest-item .suggest-item-img{width:100%;overflow:hidden}.yoho-suggest-page .suggest-content .suggest-item .suggest-item-img>img{margin:0 auto;display:block;max-width:100%}.yoho-suggest-page .suggest-content .suggest-item>h2{font-size:.95rem;margin:.75rem 0 .775rem;padding:0 .875rem}.yoho-suggest-page .suggest-content .suggest-item>p{font-size:.65rem;line-height:1.2rem;padding:0 .875rem}.yoho-suggest-page .suggest-content .suggest-item .suggest-type{margin-top:.725rem - .275rem;height:2.2rem;line-height:2.2rem;border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0;color:#b0b0b0;font-size:.65rem;display:none;text-align:center}.yoho-suggest-page .suggest-content .suggest-item .suggest-type>.active{color:#444}.yoho-suggest-page .suggest-content .suggest-item .suggest-type.suggest-active>div{width:50%;height:100%;float:left;text-align:left;padding-left:3.2rem;box-sizing:border-box}.yoho-suggest-page .suggest-content .suggest-item .suggest-type.suggest-active>div:nth-last-of-type(1){padding-left:0;padding-right:3.2rem;text-align:right;float:right}.yoho-suggest-page .suggest-content .suggest-item .suggest-type.suggest-active>div:nth-last-of-type(1)>span{display:inline-block;height:100%;overflow:hidden}.yoho-suggest-page .suggest-content .suggest-item .suggest-type.suggest-active>div:nth-last-of-type(1)>span:nth-of-type(1){-webkit-transform:rotate(180deg);transform:rotate(180deg)}.yoho-suggest-page .suggest-content .suggest-item .suggest-type.show{display:block}.yoho-suggest-page .suggest-content .suggest-item .suggest-type.suggest-bad>div>span{display:inline-block;height:100%;overflow:hidden}.yoho-suggest-page .suggest-content .suggest-item .suggest-type.suggest-bad>div>span:nth-of-type(1){-webkit-transform:rotate(180deg);transform:rotate(180deg)}.yoho-suggest-page .create-new-suggest{display:block;width:100%;height:2.2rem;line-height:2.2rem;text-align:center;font-size:.75rem;border-top:.75rem solid #f0f0f0;border-bottom:.75rem solid #f0f0f0;position:relative}.yoho-suggest-page .create-new-suggest .list-item{padding:0 .875rem}.yoho-suggest-page .create-new-suggest .new-right{float:right;margin-left:1rem;color:#e0e0e0}.yoho-suggest-page .create-new-suggest a{color:#444;display:inline-block}.yoho-suggest-sub-page{width:100%;background:#f0f0f0}.yoho-suggest-sub-page .suggest-sub-form{background:#fff;width:100%}.yoho-suggest-sub-page .suggest-sub-form #suggest-textarea{box-sizing:border-box;width:100%;max-width:100%;min-width:100%;height:6.375rem;max-height:6.375rem;min-height:6.375rem;padding:.75rem;font-size:.65rem;line-height:1.2rem;color:#000;display:block;background:#fff;border:none;outline:none;resize:none}.yoho-suggest-sub-page .suggest-sub-form .img-form{padding:0 .75rem;padding-top:1rem;overflow:hidden}.yoho-suggest-sub-page .suggest-sub-form .img-form .upload-img-list{float:left}.yoho-suggest-sub-page .suggest-sub-form .img-form .upload-img-list>li{display:block;width:3.25rem;height:3.25rem;float:left;margin-right:.75rem;background:url(../assets/img/loading.gif) 50% no-repeat;background-size:50%;position:relative}.yoho-suggest-sub-page .suggest-sub-form .img-form .upload-img-list>li>img{display:block;width:100%;height:100%;overflow:hidden}.yoho-suggest-sub-page .suggest-sub-form .img-form .upload-img-list>li>span{display:block;background-image:url(../assets/img/sprite.me.png);background-position:-7rem 0;background-size:8.05rem 6.45rem;width:1.05rem;height:1.05rem;position:absolute;top:-.525rem;right:-.525rem}.yoho-suggest-sub-page .suggest-sub-form .img-form .img-add{display:block;width:3.25rem;height:3.25rem;border:1px dashed #e0e0e0;position:relative;text-indent:-25rem;float:left}.yoho-suggest-sub-page .suggest-sub-form .img-form .img-add input[type=file]{position:absolute;opacity:.2;border:none;outline:none;display:block;width:3.25rem;height:3.25rem;top:0;left:0}.yoho-suggest-sub-page .suggest-sub-form .img-form .img-add:after{content:'';display:block;background-image:url(../assets/img/sprite.me.png);background-position:-4.95rem 0;background-size:8.05rem 6.45rem;width:1.8rem;height:1.8rem;position:absolute;top:50%;left:50%;margin-top:-.9rem;margin-left:-.9rem}.dialog-wrapper{background:rgba(0,0,0,.5);position:fixed;top:0;right:0;bottom:0;left:0;display:none}.dialog-wrapper .dialog-box{width:13.5rem;border-radius:.5rem;background:rgba(255,255,255,.8);position:absolute;left:50%;margin-left:-6.75rem;font-size:.75rem;text-align:center;color:#000}.dialog-wrapper .dialog-content{padding:1.5rem .75rem}.dialog-wrapper .dialog-footer{border-top:1px solid #ccc;height:2.2rem;line-height:2.2rem}.dialog-wrapper .dialog-footer>span{display:block;width:50%;height:100%;float:left;box-sizing:border-box}.dialog-wrapper .dialog-footer>span:nth-last-of-type(1){border-left:1px solid #ccc;color:#e01}.dialog-wrapper .dialog-footer>span:active{background-color:#ccc}.my-address-page{width:100%;background:#f0f0f0}.my-address-page .address-item{display:block;padding:.5rem .75rem;color:#b0b0b0;background:#fff;border-bottom:1px solid #e0e0e0}.my-address-page .address-item .name,.my-address-page .address-item .tel{font-size:.75rem;line-height:1.4rem;color:#444;font-weight:700}.my-address-page .address-item .name{display:inline-block;max-width:9.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.my-address-page .address-item .tel{float:right}.my-address-page .address-item .address-info{font-size:.6rem;line-height:.95rem}.my-address-page .address-item .action{font-size:.8rem;line-height:1.5rem;text-align:right}.my-address-page .address-item .action .del,.my-address-page .address-item .action .edit{display:inline-block;text-align:center;width:1.5rem;height:1.5rem;color:#999}.my-address-page .address-item .action .del:hover,.my-address-page .address-item .action .edit:hover{color:#666}.my-address-page .address-item .action .edit{margin-right:.5rem}.my-address-page .add-address{display:block;margin-top:.75rem;margin-bottom:.75rem;font-size:.8rem;line-height:2.2rem;color:#444;background:#fff;text-align:center;font-weight:700;border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0}.my-address-page .confim-mask{position:fixed;width:100%;height:100%;left:0;top:0;background:rgba(0,0,0,.5);z-index:5}.my-address-page .confim-box{position:absolute;left:50%;top:50%;margin-left:-6.75rem;margin-top:-3.6rem;width:13.5rem;text-align:center;color:#444;background:#fff;font-size:.8rem;font-weight:700;border-radius:.25rem}.my-address-page .confim-box .content{line-height:5rem}.my-address-page .confim-box .action{line-height:2.2rem;border-top:1px solid #e0e0e0}.my-address-page .confim-box .action span{display:inline-block;width:6.5rem}.my-address-page .confim-box .action span:first-child{border-right:1px solid #e0e0e0}.my-address-page .confim-box .confim{color:#d0021b}.my-edit-address-page{width:100%;color:#d0d0d0;background:#f0f0f0}.my-edit-address-page .edit-address{padding:0 .75rem;background:#fff;font-size:.75rem;line-height:2.2rem;border-bottom:1px solid #e0e0e0}.my-edit-address-page .edit-address label{display:block;position:relative}.my-edit-address-page .edit-address label .iconfont{position:absolute;right:0;top:0}.my-edit-address-page .edit-address label:after{content:"";position:absolute;right:-.75rem;bottom:0;width:15.25rem;height:0;border-top:1px solid #e0e0e0}.my-edit-address-page .edit-address label:last-of-type:after{content:none}.my-edit-address-page .edit-address input,.my-edit-address-page .edit-address textarea{-webkit-appearance:none}.my-edit-address-page .edit-address input,.my-edit-address-page .edit-address p,.my-edit-address-page .edit-address textarea{position:absolute;top:0;right:1rem;width:9rem;height:2.2rem;color:#444;padding:0;border:none}.my-edit-address-page .edit-address .address{height:4.4rem}.my-edit-address-page .edit-address textarea{right:0;width:10rem;height:1.45rem * 2;padding:.5rem 0;resize:none}.my-edit-address-page .submit{margin:.75rem auto 0;width:11.75rem;height:2.2rem;color:#fff;background:#444;text-align:center;font-size:.8rem;line-height:2.2rem}.my-edit-address-page .submit.highlight{background:rgba(0,0,0,.6)}.my-address-list-page{position:relative;width:100%;color:#444;background:#fff}.my-address-list-page li{padding:0 .75rem;font-size:.8rem;line-height:2.2rem;border-bottom:1px solid #e0e0e0}.my-address-list-page li .iconfont{float:right;color:#d0d0d0}.my-address-list-page li ul{display:none;position:absolute;top:0;left:0;background:#fff;width:100%}.my-address-list-page li.highlight{background:#eee}.modify-address-page .confim-modify-mask{position:fixed;width:100%;height:100%;left:0;top:0;background:rgba(0,0,0,.5);z-index:5}.modify-address-page .confim-box{position:absolute;left:50%;top:50%;margin-left:-6.75rem;margin-top:-3.6rem;width:13.5rem;text-align:center;color:#444;background:#fff;font-size:.8rem;font-weight:700;border-radius:.25rem}.modify-address-page .confim-box .content{text-align:left;padding:.75rem .5rem;line-height:2rem}.modify-address-page .confim-box .action{line-height:2.2rem;border-top:1px solid #e0e0e0}.modify-address-page .confim-box .action span{display:inline-block;width:6.5rem}.modify-address-page .confim-box .action span:first-child{border-right:1px solid #e0e0e0}.modify-address-page .confim-box .confim{color:#d0021b}.online-service-detail-page .qa-list .answer,.online-service-detail-page .qa-list .question{margin-left:.75rem;padding:0 1rem 0 .25rem;font-size:.75rem;line-height:1.9rem;font-weight:700}.online-service-page{background:#f0f0f0}.online-service-page .question{background:#fff}.online-service-page .question-title{padding:.5rem .75rem;font-size:.7rem;line-height:1;color:#b0b0b0}.online-service-page .question-tab{padding:.25rem .75rem .75rem;font-size:.8rem;line-height:1.45rem;text-align:center;color:#b0b0b0}.online-service-page .question-tab .current{color:#444}.online-service-page .question-tab .line{margin:0 .8rem;border-left:1px solid #b0b0b0}.online-service-page .question-list{display:none;border-top:1px solid #ccc;border-bottom:1px solid #ccc}.online-service-page .question-list li{font-size:.7rem;line-height:2.25rem}.online-service-page .question-list li a{display:block;color:#444;width:15.25rem;margin-left:.75rem;border-bottom:1px solid #ccc}.online-service-page .question-list li .iconfont{float:right;margin-right:.75rem;color:#ccc;font-size:.8rem}.online-service-page .question-list li:last-child a{border-bottom:none}.online-service-page .question-list li.highlight{background:#eee}.online-service-page .question-list.current{display:block}.online-service-page .connect-info{margin-top:.75rem;font-size:.7rem;line-height:1.25rem;background:#fff;border-top:1px solid #ccc;border-bottom:1px solid #ccc}.online-service-page .connect-info p{margin-top:.625rem;margin-left:-1.8rem;line-height:1.5}.online-service-page .connect-info .iconfont{font-size:1.15rem}.online-service-page .connect-info .icon-yoho-enter{color:#ccc;float:right;font-size:.8rem}.online-service-page .connect-info .connect-item{position:relative}.online-service-page .connect-info .connect-item a{display:block;padding:.5rem .75rem .5rem 2.35rem;color:#444}.online-service-page .connect-info .connect-item:after{content:'';position:absolute;right:0;bottom:0;width:13.7rem;height:1px;background:#ccc}.online-service-page .connect-info .connect-item:last-child:after{content:none}.online-service-page .connect-info .connect-item.highlight{background:#eee}.online-service-page .connect-info .icon{display:inline-block;margin-right:.7rem;margin-left:-1.75rem;vertical-align:middle}.online-service-detail-page{background:#f0f0f0}.online-service-detail-page .qa-list .question-item{margin-bottom:.8rem;border-top:1px solid #c8c7cc;border-bottom:1px solid #c8c7cc;color:#444;background:#fff}.online-service-detail-page .qa-list .question-item:last-child{margin-bottom:0}.online-service-detail-page .qa-list .question{position:relative;color:#000}.online-service-detail-page .qa-list .question:after{content:'';position:absolute;left:0;bottom:0;width:100%;border-top:1px solid #c8c7cc}.my-guang-page .null{height:6rem;width:100%;position:absolute;text-align:center;top:50%;margin-top:-3rem}.my-guang-page .null span{color:#b0b0b0;font-size:.6rem;margin-top:.5rem}.my-guang-page .icon-null{width:4.7rem;height:4.275rem;background-image:url(../assets/img/sprite.me.png);background-position:0 0;background-size:8.05rem 6.45rem;margin:0 auto;margin-bottom:.75rem}.iHelp,.iHelp ul{width:100%;height:auto;overflow:hidden}.iHelp ul{display:block;border-top:1px solid #e0e0e0}.iHelp ul li{width:100%;height:2rem;line-height:2.1rem;overflow:hidden;font-size:.7rem;border-bottom:1px solid #e0e0e0;float:right;color:#444}.iHelp ul li a:visited{color:#444}.iHelp ul li span{width:85%;height:100%;overflow:hidden;float:left;padding-left:5%}.iHelp ul li i{color:#e0e0e0}.iHelp ul li:last-of-type{border-bottom:none}.deal_main{margin:.5rem 3%;font-size:1.2em;width:94%;overflow:hidden}.browse-record-good{position:relative;padding:.5rem 0 .5rem .75rem;display:block}.browse-record-good .thumb{float:left;width:3rem;height:4rem}.browse-record-good .sold-out{display:inline}.browse-record-good .deps{margin-left:3.375rem;padding:.5rem 0;border-bottom:1px solid #e0e0e0;margin-bottom:-.75rem}.browse-record-good .name{font-size:.7rem;max-width:100%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.browse-record-good .price{margin:.3rem 0;font-size:.4rem}.browse-record-good .sale-price{color:red}.browse-record-good .sale-price.original-price{color:#000}.browse-record-good .market-price{text-decoration:line-through;color:#b0b0b0}.browse-record-good .sold-out-tag{font-size:.4rem;line-height:.75rem;text-align:center;color:#fff;background:#7f7f7f;padding:.125rem .375rem;border-radius:1rem}.browse-record-good .del-icon{position:absolute;right:.75rem;width:1.5rem;height:1.5rem;line-height:1.5rem;text-align:center;color:#999}.browse-record-page .load-more{width:100%;height:1.75rem;line-height:1.75rem;text-align:center}.browse-record-page .no-record{position:absolute;background:#fff;text-align:center;top:50%;margin-top:-5.5rem;width:100%}.browse-record-page .no-record .icon{width:4.9rem;height:5.175rem;background:url(../assets/img/me/no-record.png) no-repeat;background-size:100%;margin:0 auto}.browse-record-page .no-record span{display:block;color:#b0b0b0;font-size:.6rem;margin:.75rem 0 2.75rem}.browse-record-page .no-record .walk-way{display:block;height:2rem;line-height:2rem;width:70%;margin:0 auto;text-align:center;font-size:.75rem;color:#fff;background:#444;border-radius:5px}.logistic-page{background-color:#f0f0f0}.logistic-page .overview{height:3rem;line-height:3rem;width:100%;margin-bottom:1rem;background-color:#fff;color:#464646;border-bottom:1px solid #e5e5e5}.logistic-page .overview .left{width:19%;float:left;text-align:center;height:100%}.logistic-page .overview .left .icon{width:2.2rem;height:2.2rem;margin:0 auto;background-size:100%;background-repeat:no-repeat;background-position:50%;margin-top:.4rem}.logistic-page .overview .right{width:81%;float:left;padding-top:.5rem;padding-bottom:.5rem;height:2rem}.logistic-page .overview .right div{height:1rem;line-height:1.1rem;color:#595959;font-size:.6rem}.logistic-page .overview .info{padding-right:.1rem}.logistic-page .title{height:2.8rem;line-height:2.8rem;background-color:#fff;padding-left:1rem;font-size:1rem}.logistic-page .detail{background-color:#fff;padding-left:2rem;margin-bottom:1rem}.logistic-page .timeline-box{border-left:1px solid #e5e5e5;position:relative;padding-left:1.3rem}.logistic-page .timeline-node{position:absolute;top:.8rem;left:-.22611rem;display:inline-block;width:.41rem;height:.41rem;background-color:#e5e5e5;border-radius:100%}.logistic-page .timeline-box:first-child .timeline-node{background-color:#989898}.logistic-page .timeline-box:first-child .timeline-info-row{color:#606060}.logistic-page .timeline-info{padding:.5rem 0;border-bottom:1px solid #e5e5e5}.logistic-page .timeline-box:last-child .timeline-info{border:none}.logistic-page .timeline-info-row{min-height:1rem;line-height:1rem;font-size:.7rem;color:#bababa;padding-right:.8rem}.logistic-page .banner{margin-bottom:1rem}.logistic-page .banner a img{width:100%;height:100%}.pay-page{padding:1rem .5rem 0}.pay-page .payapp-list{visibility:hidden}.pay-page .box.bytouch{background-color:#eee}.pay-page .box{border:1px solid #eee;border-radius:.25rem;padding:.3rem .5rem;margin-bottom:.5rem}.pay-page .box,.pay-page .box>div{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.pay-page .box>div{min-height:1rem}.pay-page .box .icon{width:15%;flex-basis:15%}.pay-page .box .icon img{width:1.5rem;margin:0}.pay-page .box .icon>div{width:1.5rem;height:1.5rem;background-image:url(../assets/img/layout/pay-icon.png);background-size:90%;background-position-y:.2rem;background-position-x:center;background-repeat:no-repeat}.pay-page .box .app{width:35%;flex-basis:35%;font-size:.8rem;color:#414141}.pay-page .box .hint{width:45%;flex-basis:45%;font-size:.6rem;color:#4b4b4b}.pay-page .box .iconfont{width:5%;flex-basis:5%;-webkit-box-pack:end;justify-content:flex-end;color:#e0e0e0;font-size:.7rem}.pay-page .loading-toast{position:fixed;z-index:3;width:3.8em;min-height:3.8em;top:38%;left:50%;margin-left:-1.9em;background:rgba(40,40,40,.75);text-align:center;border-radius:.125rem;color:#fff}.pay-page .loading-toast:after{content:'';position:absolute;left:50%;top:50%;margin-left:-.5rem;margin-top:-.5rem;width:1rem;height:1rem;background:url(../assets/img/loading-wechat.png);background-size:1rem;-webkit-animation:b .7s infinite;animation:b .7s infinite;-webkit-animation-timing-function:linear;animation-timing-function:linear}@-webkit-keyframes b{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes b{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.yoho-coin-new-page{background-color:#f0f0f0;margin-top:.75rem}.yoho-coin-new-page .coin{text-align:center;background-color:#fff}.yoho-coin-new-page .coin-num{color:#d0021b;font-size:2rem;font-weight:700;line-height:2.2rem}.yoho-coin-new-page .info{width:auto;color:#b0b0b0;font-size:.6rem;line-height:1rem}.yoho-coin-new-page .info .dollar{display:inline-block;width:.6rem;height:.6rem;background-image:url(../assets/img/sprite.me.png);background-position:-7rem -4.125rem;background-size:8.05rem 6.45rem}.yoho-coin-new-page .more{display:inline-block;margin:.5rem 0 .75rem;color:#444;font-size:.7rem;line-height:1.1rem;width:4.2rem;height:1.05rem;text-align:center;border:1px solid #444;border-radius:.55rem}.yoho-coin-new-page .coin-tip{margin-bottom:.75rem;padding:.5rem .75rem;font-size:.6rem;line-height:.8rem;color:#d0021b;border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0}.yoho-coin-new-page .coin-tip .icon{display:inline-block;width:.8rem;height:.8rem;font-weight:700;border:2px solid #d0021b;border-radius:50%}.yoho-coin-new-page .banner{padding-top:.75rem;border-top:1px solid #e0e0e0}.yoho-coin-new-page .banner a img{width:100%}.yoho-coin-detail-page{background:#f0f0f0}.yoho-coin-detail-page .money{width:100%;height:1.75rem;background:#fff;margin-bottom:.5rem;line-height:1.75rem;font-size:.75rem;text-indent:1em}.yoho-coin-detail-page .money span{color:red;font-weight:700}.yoho-coin-detail-page .coin-detail{background:#fff;border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0}.yoho-coin-detail-page .detail-item{position:relative;margin-left:.75rem;border-bottom:1px solid #e0e0e0;color:#444;padding:.375rem 0}.yoho-coin-detail-page .detail-item .title{width:12rem;font-size:.7rem;line-height:1rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.yoho-coin-detail-page .detail-item .time{font-size:.5rem;line-height:.75rem;color:#b0b0b0}.yoho-coin-detail-page .detail-item .count{position:absolute;right:0;top:0;margin-right:.75rem;font-size:.7rem;font-weight:700;line-height:2.5rem}.yoho-coin-detail-page li:last-child .detail-item{border-bottom:none}.massage-page{margin-top:.4rem;padding-bottom:.6rem}.massage-page .massage-list{padding:.3rem 2.5rem .3rem .6rem;border-bottom:1px solid #f8f8f8;position:relative;overflow:hidden}.massage-page .massage-list p{font-size:.7rem;color:#222}.massage-page .massage-list span{font-size:.6rem;color:#999}.massage-page .massage-list i{position:absolute;right:1.2rem;top:.6rem;color:#ccc}.massage-page .massage-list strong{width:.2rem;height:.2rem;position:absolute;left:.4rem;top:1rem;background:red;border-radius:50%}.massage-page .massage-main{border-bottom:1px solid #f8f8f8;padding:.3rem;margin-left:.25rem;margin-bottom:.25rem}.massage-page .massage-main h6{margin-bottom:.2rem}.massage-page .massage-main span{color:#656565}.massage-page .sale-btn{background-color:#ea2622;color:#fff;padding:.125rem .25rem}.massage-page .coupon-item{margin-left:.25rem;padding-bottom:.25rem;border-bottom:1px solid #f8f8f8;margin-top:.25rem}.massage-page .coupon-item .coupon-img{width:3.2rem;height:auto;overflow:hidden;float:left;margin-right:.4rem}.massage-page .coupon-item .coupon-img img{width:100%;height:auto}.massage-page .coupon-item .coupon-info{font-size:.6rem}.massage-page .coupon-item .coupon-info span{color:red}.massage-page .coupon-item .coupon-action{width:2.75rem;font-size:.6rem;letter-spacing:.05rem;margin:.075rem 0 0;height:.875rem;line-height:.875rem;background:#ed0010;text-align:center;margin-left:3.6rem}.massage-page .coupon-item .coupon-action a{display:block;color:#fff;width:100%;height:100%}.newarrival-page{background-color:#fff}.newarrival-page .swiper-container{width:100%;height:7.75rem}.newarrival-page .swiper-container img{height:100%;width:100%}.newarrival-page .swiper-container .swiper-pagination{bottom:0;left:0;width:100%}.newarrival-page .swiper-container .swiper-pagination-bullet-active{background:#fff}.newarrival-page .banner-top-single{width:100%;height:5rem}.newarrival-page .banner-top-single img{display:block;height:100%;width:100%}.newarrival-page .list-nav{border-top:.05rem solid #fff;border-bottom:1px solid #e6e6e6}.newarrival-page .list-nav>li{float:left;width:25%;height:1.65rem;line-height:1.65rem;text-align:center;font-size:.7rem;color:#999}.newarrival-page .list-nav .bytouch{background:#eee}.newarrival-page .list-nav a{display:inline-block;box-sizing:border-box;width:auto;height:100%;color:#999}.newarrival-page .list-nav .active>a{color:#000;box-sizing:border-box}.newarrival-page .list-nav .active>.iconfont,.newarrival-page .list-nav .active>.iconfont.cur{color:#000}.newarrival-page .list-nav .filter .iconfont{font-size:.6rem;-webkit-transition:-webkit-transform .1 ease-in;transition:-webkit-transform .1 ease-in;transition:transform .1 ease-in;transition:transform .1 ease-in,-webkit-transform .1 ease-in}.newarrival-page .list-nav .filter.active .iconfont{-webkit-transform:rotate(-180deg);transform:rotate(-180deg)}.newarrival-page .no-result{text-align:center;vertical-align:middle;color:#ccc;font-size:1.2em;margin-top:8rem}.newarrival-page .goods-container{position:relative;min-height:22rem;padding-left:.375rem;padding-top:.2rem}.discount-page,.shop-index .discount-area,.shop-index .pos-list{background-color:#fff}.discount-page .swiper-container,.shop-index .discount-area .swiper-container,.shop-index .pos-list .swiper-container{width:100%;height:7.75rem}.discount-page .swiper-container img,.shop-index .discount-area .swiper-container img,.shop-index .pos-list .swiper-container img{height:100%;width:100%}.discount-page .swiper-container .swiper-pagination,.shop-index .discount-area .swiper-container .swiper-pagination,.shop-index .pos-list .swiper-container .swiper-pagination{bottom:0;left:0;width:100%}.discount-page .swiper-container .swiper-pagination-bullet-active,.shop-index .discount-area .swiper-container .swiper-pagination-bullet-active,.shop-index .pos-list .swiper-container .swiper-pagination-bullet-active{background:#fff}.discount-page .banner-top-single,.shop-index .discount-area .banner-top-single,.shop-index .pos-list .banner-top-single{width:100%;height:5rem}.discount-page .banner-top-single img,.shop-index .discount-area .banner-top-single img,.shop-index .pos-list .banner-top-single img{display:block;height:100%;width:100%}.discount-page .list-nav,.shop-index .discount-area .list-nav,.shop-index .pos-list .list-nav{border-top:2px solid #fff;border-bottom:1px solid #e6e6e6}.discount-page .list-nav>li,.shop-index .discount-area .list-nav>li,.shop-index .pos-list .list-nav>li{float:left;width:25%;height:33px;line-height:33px;text-align:center;font-size:14px}.discount-page .list-nav .bytouch,.shop-index .discount-area .list-nav .bytouch,.shop-index .pos-list .list-nav .bytouch{background:#eee}.discount-page .list-nav a,.shop-index .discount-area .list-nav a,.shop-index .pos-list .list-nav a{display:block;box-sizing:border-box;width:100%;height:100%;color:#999}.discount-page .list-nav .active>a,.shop-index .discount-area .list-nav .active>a,.shop-index .pos-list .list-nav .active>a{color:#000}.discount-page .list-nav .active>a .spanTest,.shop-index .discount-area .list-nav .active>a .spanTest,.shop-index .pos-list .list-nav .active>a .spanTest{width:auto;height:100%;display:inline-block;box-sizing:border-box}.discount-page .list-nav .active>a .iconfont,.shop-index .discount-area .list-nav .active>a .iconfont,.shop-index .pos-list .list-nav .active>a .iconfont{color:#999}.discount-page .list-nav .active>a .iconfont.cur,.shop-index .discount-area .list-nav .active>a .iconfont.cur,.shop-index .pos-list .list-nav .active>a .iconfont.cur{color:#000}.discount-page .list-nav .new .iconfont,.shop-index .discount-area .list-nav .new .iconfont,.shop-index .pos-list .list-nav .new .iconfont{-webkit-transform:scale(.8);transform:scale(.8);font-weight:700}.discount-page .list-nav .filter .iconfont,.shop-index .discount-area .list-nav .filter .iconfont,.shop-index .pos-list .list-nav .filter .iconfont{font-size:12px;-webkit-transition:-webkit-transform .1 ease-in;transition:-webkit-transform .1 ease-in;transition:transform .1 ease-in;transition:transform .1 ease-in,-webkit-transform .1 ease-in}.discount-page .list-nav .filter.active .iconfont,.shop-index .discount-area .list-nav .filter.active .iconfont,.shop-index .pos-list .list-nav .filter.active .iconfont{-webkit-transform:rotate(-180deg);transform:rotate(-180deg)}.discount-page .list-nav .icon,.shop-index .discount-area .list-nav .icon,.shop-index .pos-list .list-nav .icon{position:relative}.discount-page .list-nav .icon i,.shop-index .discount-area .list-nav .icon i,.shop-index .pos-list .list-nav .icon i{position:absolute;-webkit-transform:scale(.8);transform:scale(.8);font-weight:700}.discount-page .list-nav .icon .up,.shop-index .discount-area .list-nav .icon .up,.shop-index .pos-list .list-nav .icon .up{top:-11px}.discount-page .list-nav .icon .down,.shop-index .discount-area .list-nav .icon .down,.shop-index .pos-list .list-nav .icon .down{top:-4px}.discount-page .no-result,.shop-index .discount-area .no-result,.shop-index .pos-list .no-result{text-align:center;vertical-align:middle;color:#ccc;font-size:1.2em;margin-top:160px}.discount-page .goods-container,.shop-index .discount-area .goods-container,.shop-index .pos-list .goods-container{position:relative;min-height:440px;padding-left:.375rem;padding-top:.2rem}.good-list-page .search-input{position:relative;padding:.35rem .75rem;background:#f8f8f8}.good-list-page .search-input>form{position:relative}.good-list-page .search-input .search-icon{position:absolute;font-size:.6rem;top:.45rem;left:.5rem}.good-list-page .search-input input{box-sizing:border-box;padding-left:1.3rem;padding-right:1.7rem;height:1.5rem;width:85%;border-radius:.75rem;background:#fff;border:none}.good-list-page .search-input .clear-input{position:absolute;top:.25rem;right:2.5rem}.good-list-page .search-input .search{position:absolute;top:.1rem;right:-.2rem;border:none;background:transparent;font-size:.8rem;height:1.5rem;overflow:hidden;line-height:1.5rem;color:#666}.good-list-page .brand-way{padding-bottom:.5rem;background:#f4f4f4}.good-list-page .brand-way>a{display:block;height:2rem;line-height:2rem;padding:0 .5rem;border-bottom:1px solid #e6e6e6;border-top:1px solid #e6e6e6;font-size:.85rem;background:#fff;color:#000}.good-list-page .brand-way .span{width:60%;font-size:.7rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.good-list-page .brand-way .brand-thumb{display:block;float:left;width:3.75rem;height:2rem;margin:0}.good-list-page .brand-way .entry{color:#999;font-size:.7rem;float:right}.good-list-page .brand-header{position:relative;height:3.75rem}.good-list-page .brand-header>img{display:block;height:100%;width:100%}.good-list-page .btn-col,.good-list-page .btn-intro{position:absolute;display:block;width:3.1rem;height:1.2rem;line-height:1.2rem;text-align:center;border:1px solid #fff;color:#fff;top:50%;margin-top:-.6rem}.good-list-page .btn-intro{right:4.5rem}.good-list-page .btn-col{right:.75rem}.good-list-page .btn-col .iconfont{font-size:.6rem}.good-list-page .btn-col .txt:after{content:'收藏'}.good-list-page .btn-col.coled{opacity:.5}.good-list-page .btn-col.coled .txt:after{content:'已收藏'}.good-list-page .brand-intro-box{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.3);padding:2.2rem 0;z-index:1;overflow:auto}.good-list-page .brand-intro-box .brand-intro{position:relative;box-sizing:border-box;width:85%;margin:0 7.5%;background:#fff;padding:.5rem 8%}.good-list-page .brand-intro-box h2{text-align:center;font-size:.85rem;line-height:2rem}.good-list-page .brand-intro-box .con{font-size:.6rem;line-height:.8rem;padding:1rem 0;border-top:1px solid #e6e6e6;border-bottom:1px solid #e6e6e6;overflow-x:hidden}.good-list-page .brand-intro-box .fo{font-size:.9rem;height:2rem;line-height:2rem;text-align:center}.good-list-page .brand-intro-box .fo>span{font-size:1.1rem}.good-list-page .brand-intro-box .close-intro{position:absolute;top:.3rem;right:.3rem}.good-list-page .list-nav{border-top:.05rem solid #fff;border-bottom:1px solid #e6e6e6}.good-list-page .list-nav>li{float:left;width:25%;height:1.65rem;line-height:1.65rem;text-align:center;font-size:.7rem}.good-list-page .list-nav .bytouch{background:#eee}.good-list-page .list-nav a{display:block;box-sizing:border-box;width:100%;height:100%;color:#999}.good-list-page .list-nav .nav-txt{display:inline-block;height:100%;box-sizing:border-box}.good-list-page .list-nav .active>a{color:#000}.good-list-page .list-nav .active>a .iconfont{color:#999}.good-list-page .list-nav .active>a .iconfont.cur{color:#000}.good-list-page .list-nav .new .iconfont{-webkit-transform:scale(.8);transform:scale(.8);font-weight:700}.good-list-page .list-nav .filter .iconfont{font-size:.6rem;-webkit-transition:-webkit-transform .1 ease-in;transition:-webkit-transform .1 ease-in;transition:transform .1 ease-in;transition:transform .1 ease-in,-webkit-transform .1 ease-in}.good-list-page .list-nav .filter.active .iconfont{-webkit-transform:rotate(-180deg);transform:rotate(-180deg)}.good-list-page .list-nav .icon{position:relative}.good-list-page .list-nav .icon i{position:absolute;-webkit-transform:scale(.8);transform:scale(.8);font-weight:700}.good-list-page .list-nav .icon .up{top:-.55rem}.good-list-page .list-nav .icon .down{top:-.2rem}.good-list-page .no-result{text-align:center;vertical-align:middle;color:#ccc;font-size:1.2em;margin-top:11rem}.good-list-page .goods-container{position:relative;min-height:22rem;padding-left:.375rem;padding-top:.2rem}.good-detail-page{overflow:hidden;background-color:#f0f0f0}.good-detail-page .yoho-tip{z-index:4}.good-detail-page .page-block{background-color:#fff;box-sizing:border-box;width:100%;border-bottom:1px solid #e0e0e0;border-top:1px solid #e0e0e0;padding:0 .7rem;margin-bottom:.75rem}.good-detail-page .page-block>.title{line-height:2.2rem;color:#444;font-size:.7rem;border-bottom:1px solid #e0e0e0}.good-detail-page .page-block>.title span{color:#a0a0a0;font-size:.45rem}.good-detail-page .page-block .pro-detail{margin-top:.5rem;margin-bottom:.5rem}.good-detail-page .page-block .detail{margin-top:.5rem;margin-bottom:.5rem;font-size:.6rem;line-height:.9rem}.good-detail-page .page-block .detail b{font-weight:700}.good-detail-page .page-block .detail i{font-style:italic}.good-detail-page .page-block .detail.table{width:100%}.good-detail-page .page-block .detail.table .js-wraper{display:-webkit-box;display:flex;flex-wrap:wrap;-webkit-box-pack:start;justify-content:flex-start}.good-detail-page .page-block .detail.table .column{box-sizing:border-box;padding:.15rem 3%;width:49.9%;border:1px solid #fff;font-size:.6rem;background-color:#eee;word-wrap:break-word;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;flex-basis:49.9%}.good-detail-page .page-block .detail.table .oldbox{padding:.15rem 3%;background-color:#eee;box-sizing:border-box;border:1px solid #fff;width:49.9%;height:100%;float:left;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.good-detail-page .my-swiper-button-next,.good-detail-page .my-swiper-button-prev{position:absolute;top:50%;width:1.2rem;height:1.2rem;margin-top:-1.1rem;cursor:pointer;color:#666;font-size:1.2rem}.good-detail-page .my-swiper-button-next.swiper-button-disabled,.good-detail-page .my-swiper-button-prev.swiper-button-disabled{opacity:.3}.good-detail-page .next-grey{right:.75rem;left:auto}.good-detail-page .prev-grey{left:.75rem;right:auto}.good-detail-page .tag-container{position:absolute;left:2.7rem;top:1rem;height:.875rem;color:#fff;font-size:.5rem;line-height:.875rem;z-index:2}.good-detail-page .tag-container .good-tag{display:inline-block;box-sizing:border-box;margin-left:.5px;font-size:.45rem;text-align:center;padding:1px .125rem}.good-detail-page .tag-container .new-tag,.good-detail-page .tag-container .renew-tag{background-color:#78dc7e;color:#fff}.good-detail-page .tag-container .sale-tag{background-color:#ff575c;color:#fff}.good-detail-page .tag-container .new-festival-tag,.good-detail-page .tag-container .yohood-tag{background-color:#000;color:#fff}.good-detail-page .tag-container .limit-tag{border:1px solid #000;background-color:#fff;color:#000}.good-detail-page .tag-container .soonSoldOut-tag{background-color:#ffac5b;color:#fff}.good-detail-page .banner-container{position:relative;background-color:#fff}.good-detail-page .banner-top-single{margin:0 auto;overflow:hidden}.good-detail-page .banner-top-single img{width:11.2rem;margin-top:.75rem;margin-bottom:.75rem}.good-detail-page .banner-top{min-height:16.5rem;overflow:hidden;position:relative}.good-detail-page .banner-top .swiper-pagination{position:absolute;z-index:2;bottom:1rem}.good-detail-page .banner-top .swiper-pagination .pagination-inner span{background-color:#b0b0b0}.good-detail-page .banner-top .swiper-pagination .pagination-inner .swiper-pagination-bullet{margin-right:2px}.good-detail-page .banner-top .swiper-pagination .pagination-inner .swiper-pagination-bullet-active{background-color:#000}.good-detail-page .banner-swiper{min-height:15rem;min-width:11.2rem;margin:.75rem 2.4rem;overflow:hidden}.good-detail-page .banner-swiper ul{position:relative;height:auto}.good-detail-page .banner-swiper ul li{float:left}.good-detail-page .banner-swiper ul li img{height:auto}.good-detail-page .goodsName{box-sizing:border-box;width:100%;font-size:.7rem;color:#fff;padding:.5rem .7rem;line-height:1.2rem;background-color:#515150}.good-detail-page .goodsSubtitle{height:2.2rem;font-size:.6rem;color:#b0b0b0;padding-left:.7rem;padding-right:.7rem;border-bottom:1px solid #e0e0e0;background-color:#f0f0f0;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.good-detail-page .goodsSubtitle span{display:-webkit-box;line-height:.9rem;margin:0;text-overflow:-o-ellipsis-lastline;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical}.good-detail-page .price-date{position:relative;width:100%;color:#b0b0b0;height:2.2rem;padding-left:.7rem;padding-right:.7rem;background-color:#fff;border-bottom:1px solid #e0e0e0}.good-detail-page .limit-sale{height:1.2rem;position:absolute;right:2.1rem;top:50%;margin-top:-.6rem;color:#d0021b;border:2px solid #d0021b;background-color:#fff;border-radius:1rem;padding:.1rem .5rem;font-size:.6rem;font-weight:700}.good-detail-page .limit-sale:active{background-color:#f0f0f0}.good-detail-page .got-limit-sale{position:absolute;right:2.1rem;top:.6rem;color:#d0021b;border:.05rem solid #d0021b;background-color:#fff;border-radius:1rem;padding:.1rem .5rem;font-size:.6rem;font-weight:700;color:#ccc;border-color:#ccc}.good-detail-page .goodsPrice{float:left;font-size:.86475rem}.good-detail-page .goodsPrice h1{display:inline-block;line-height:2.2rem}.good-detail-page .goodsPrice .currentPrice{color:#d0021b;margin-right:.25rem}.good-detail-page .goodsPrice .previousPrice{text-decoration:line-through}.good-detail-page .periodOfMarket{font-size:.6rem;float:right;color:#d0021b;margin-right:1.4rem}.good-detail-page .periodOfMarket h1{display:inline-block;line-height:2.2rem}.good-detail-page .vip-level{box-sizing:box-border;padding-left:.7rem;padding-right:.7rem;min-height:2.2rem;background-color:#fff;font-size:.55rem;color:#999;border-bottom:1px solid #e0e0e0}.good-detail-page .vip-level .icons-item{float:left;width:33.3%;height:2.2rem;margin:0}.good-detail-page .vip-level .icons-item span{vertical-align:middle;display:inline-block;line-height:2.2rem;padding-left:.2rem}.good-detail-page .vip-level .icons-item .vip-img{width:1.325rem;height:.8rem}.good-detail-page .vip-level .icons-item.current-level .vip-price{color:#d0021b}.good-detail-page .vip-level .icons-item:nth-child(1){text-align:left}.good-detail-page .vip-level .icons-item:nth-child(1) .vip-img{background:url(../assets/img/product/silver.png) no-repeat}.good-detail-page .vip-level .icons-item:nth-child(2) .vip-img{background:url(../assets/img/product/golden.png) no-repeat}.good-detail-page .vip-level .icons-item:nth-child(3){text-align:right}.good-detail-page .vip-level .icons-item:nth-child(3) .vip-img{background:url(../assets/img/product/platinum.png) no-repeat}.good-detail-page .goodsDiscount{display:block;width:100%;height:auto;font-size:.7rem;color:#444;background-color:#fff;border-bottom:1px solid #e0e0e0}.good-detail-page .goodsDiscount h1{position:relative;padding:.75rem 1.5rem .75rem .7rem;line-height:.9rem}.good-detail-page .goodsDiscount .short-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.good-detail-page .goodsDiscount .iconfont{position:absolute;top:.75rem;right:.9rem;width:.875rem;font-size:1.125rem;float:right;color:#e0e0e0}.good-detail-page .goodsDiscount .discount-folder{display:none}.good-detail-page .goodsDiscount .discount-folder .folder-item{border-top:1px solid #e0e0e0}.good-detail-page .enter-store{position:relative;padding:0 4.5rem 0 2.85rem;line-height:2.1rem;background-color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.good-detail-page .enter-store .store-logo{position:absolute;left:0;top:1px;width:1.7rem;height:2.1rem;margin-left:.75rem;font-size:0;text-align:center}.good-detail-page .enter-store .store-logo img{display:inline-block;width:auto;height:1.7rem;vertical-align:middle}.good-detail-page .enter-store .store-name{font-size:.85rem;color:#444}.good-detail-page .enter-store .store-link{position:absolute;right:0;top:1px;padding-right:.75rem;font-size:.7rem;color:#b0b0b0;text-align:right}.good-detail-page .enter-store .store-link span{font-size:inherit}.good-detail-page .cart-bar{position:relative;box-sizing:border-box;width:100%;height:3rem;position:fixed;bottom:0;background-color:#fff;z-index:2;padding:.5rem .7rem;text-align:center;border-top:1px solid #e0e0e0}.good-detail-page .cart-bar a{display:inline-block}.good-detail-page .cart-bar a.num-incart{font-size:1.175rem;color:#444}.good-detail-page .cart-bar a.favorite{font-size:.85rem;color:#ccc}.good-detail-page .cart-bar a.favorite.liked{color:#eb0313}.good-detail-page .cart-bar a.addto-cart,.good-detail-page .cart-bar a.sold-out{height:2rem;width:6.5rem;margin:0 2.5rem 0 2.875rem;color:#fff;background-color:#eb0313;font-size:.8rem;line-height:2rem;text-align:center}.good-detail-page .cart-bar a.sold-out{background-color:#f58189}.good-detail-page .cart-bar .num-tag{display:block;position:absolute;top:0;left:1.2rem;width:1.8rem;height:1.8rem;font-size:1rem;line-height:1.8rem;color:#fff;background:#eb0313;text-align:center;border-radius:50%;-webkit-transform:scale(.5);transform:scale(.5)}.good-detail-page .cart-bar .num-tag.hide{display:none}.good-detail-page .recommend-for-you{border-bottom:none}.good-detail-page .yoho-tip{top:40%}.goods-comments-page .goods-comments .comment-item{border-bottom:1px solid #e0e0e0;padding:0 .7rem}.goods-comments-page .goods-comments .comment-item .user-name{display:inline-block;float:left;max-width:9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.6rem;line-height:1.55rem;color:#444}.goods-comments-page .goods-comments .comment-item .detail-content{font-size:.6rem;line-height:1.55rem;color:#444}.goods-comments-page .goods-comments .comment-item .comment-time,.goods-comments-page .goods-comments .comment-item .goods-spec{font-size:.6rem;line-height:1.55rem}.goods-comments-page .goods-comments .comment-item .detail-content{font-size:.7rem;line-height:.9rem}.goods-comments-page .goods-comments .comment-item .detail-content,.goods-comments-page .goods-comments .comment-item .goods-spec{color:#444}.goods-comments-page .goods-comments .comment-item .comment-time{color:#c1c1c1}.goods-consults-page{background-color:#f0f0f0}.goods-consults-page .goto-consult{position:fixed;top:2.25rem;width:100%;box-sizing:border-box;padding:0 .7rem;height:3rem;background-color:#fff;border-bottom:1px solid #e0e0e0;z-index:10}.goods-consults-page .goto-consult a,.goods-consults-page .goto-consult i,.goods-consults-page .goto-consult span{line-height:3rem;font-size:.7rem;color:#444}.goods-consults-page .goto-consult .consult-logo{padding-right:.375rem}.goods-consults-page .goto-consult .enter-consult-page{float:right;color:#b0b0b0}.goods-consults-page .goods-consults.customer-consults .consult-item:nth-child(1),.goods-consults-page .goods-consults.customer-consults .consult-item:nth-child(2){display:block}.goods-consults-page .goods-consults.customer-consults .consult-item{display:none}.goods-consults-page .goods-consults{margin-top:5.25rem;overflow:hidden;margin-top:.75rem;padding:.5rem .7rem;background-color:#fff;border-bottom:1px solid #e0e0e0;border-top:1px solid #e0e0e0}.goods-consults-page .goods-consults .question{font-size:.6rem;color:#444}.goods-consults-page .goods-consults .question span{display:block;float:left;padding-right:.375rem}.goods-consults-page .goods-consults .question p{overflow:hidden;padding-bottom:.375rem;border-bottom:1px solid #e0e0e0}.goods-consults-page .goods-consults .time{font-size:.55rem;color:#b0b0b0}.goods-consults-page .goods-consults .answer{font-size:.6rem;line-height:.9rem;color:#b0b0b0;margin-top:.35rem}.goods-consults-page .goods-consults .answer span{display:block;float:left;color:#444;padding-right:.375rem}.goods-consults-page .goods-consults .answer p{overflow:hidden}.goods-consults-page .goods-consults .operation{width:120%;height:1.5rem;line-height:2rem;position:relative;right:12%;border-top:1px solid #e0e0e0;margin-top:.5rem}.goods-consults-page .goods-consults .operation li{font-size:.7rem;float:left;width:50%;text-align:center;color:#b0b0b0;position:relative}.goods-consults-page .goods-consults .operation li .iconfont{display:inline-block;padding-right:5px;font-size:inherit}.goods-consults-page .goods-consults .operation li .animate-count{display:none;position:absolute;top:0;font-size:.5rem;z-index:5}.goods-consults-page .goods-consults .operation li i.count{position:absolute}.goods-consults-page .goods-consults .operation li.highlight{color:#eb0313}.goods-consults-page .goods-consults .operation li.fav .animate-count{right:2.5rem}.goods-consults-page .goods-consults .operation li.useful .animate-count{right:2.2rem}.goods-consults-page .readmore{display:block;height:2.2rem;line-height:2.2rem;background-color:#fff;text-align:center;color:#b0b0b0;margin-top:.75rem;border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0;font-size:.7rem}.goods-consults-page .readmore i{font-size:inherit}.goods-consults-page .faq-title{height:2.2rem;line-height:2.2rem;text-align:center;font-size:.8rem}.goods-consults-page .goods-consults .faq-item{margin-top:.75rem;padding:.5rem .7rem;background-color:#fff;border-bottom:1px solid #e0e0e0;border-top:1px solid #e0e0e0;margin-top:0;margin-bottom:.75rem}.goods-consults-page .goods-consults .faq-item .question{font-size:.6rem;color:#444}.goods-consults-page .goods-consults .faq-item .question span{display:block;float:left;padding-right:.375rem}.goods-consults-page .goods-consults .faq-item .question p{overflow:hidden;padding-bottom:.375rem;border-bottom:1px solid #e0e0e0}.goods-consults-page .goods-consults .faq-item .time{font-size:.55rem;color:#b0b0b0}.goods-consults-page .goods-consults .faq-item .answer{font-size:.6rem;line-height:.9rem;color:#b0b0b0;margin-top:.35rem}.goods-consults-page .goods-consults .faq-item .answer span{display:block;float:left;color:#444;padding-right:.375rem}.goods-consults-page .goods-consults .faq-item .answer p{overflow:hidden}.goods-consults-page .goods-consults .faq-item .operation{width:120%;height:1.5rem;line-height:2rem;position:relative;right:12%;border-top:1px solid #e0e0e0;margin-top:.5rem}.goods-consults-page .goods-consults .faq-item .operation li{font-size:.7rem;float:left;width:50%;text-align:center;color:#b0b0b0;position:relative}.goods-consults-page .goods-consults .faq-item .operation li .iconfont{display:inline-block;padding-right:5px;font-size:inherit}.goods-consults-page .goods-consults .faq-item .operation li .animate-count{display:none;position:absolute;top:0;font-size:.5rem;z-index:5}.goods-consults-page .goods-consults .faq-item .operation li i.count{position:absolute}.goods-consults-page .goods-consults .faq-item .operation li.highlight{color:#eb0313}.goods-consults-page .goods-consults .faq-item .operation li.fav .animate-count{right:2.5rem}.goods-consults-page .goods-consults .faq-item .operation li.useful .animate-count{right:2.2rem}.goods-consults-page .goods-consults .faq-item .answer{border-bottom:none}.consult-form-page{padding:.7rem;text-align:center}.consult-form-page textarea{box-sizing:border-box;width:100%;height:10rem;font-size:.7rem;padding:.25rem;color:#444}.consult-form-page a{display:inline-block;height:2rem;width:9rem;color:#fff;background-color:#444;font-size:1rem;line-height:2rem;text-align:center;margin-top:.5rem}.good-detail-page .feedback-list{padding-top:.75rem;margin-bottom:.75rem;background-color:#f0f0f0}.good-detail-page .feedback-list .nav-tab{width:100%;height:1.5rem;padding:.25rem 0;background-color:#fff;border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0}.good-detail-page .feedback-list .comment-nav,.good-detail-page .feedback-list .consult-nav{box-sizing:border-box;float:left;width:50%;height:1.5rem;line-height:1.5rem;font-size:.7rem;text-align:center;color:#b0b0b0}.good-detail-page .feedback-list .comment-nav.focus,.good-detail-page .feedback-list .consult-nav.focus{color:#000}.good-detail-page .feedback-list .comment-nav{border-right:1px solid #ccc}.good-detail-page .feedback-list .content .content-main{background-color:#fff;border-bottom:1px solid #e0e0e0}.good-detail-page .feedback-list .content .content-main.comment-content-main .detail-content,.good-detail-page .feedback-list .content .content-main.comment-content-main .user-name{font-size:.6rem;line-height:1.55rem;color:#444;padding-left:.7rem;padding-right:.45rem}.good-detail-page .feedback-list .content .content-main.comment-content-main .comment-time,.good-detail-page .feedback-list .content .content-main.comment-content-main .goods-spec{font-size:.6rem;line-height:1.55rem}.good-detail-page .feedback-list .content .content-main.comment-content-main .detail-content{font-size:.7rem;line-height:.9rem}.good-detail-page .feedback-list .content .content-main.comment-content-main .detail-content,.good-detail-page .feedback-list .content .content-main.comment-content-main .goods-spec{color:#444}.good-detail-page .feedback-list .content .content-main.comment-content-main .comment-time,.good-detail-page .feedback-list .content .content-main.comment-content-main .detail-content{padding-left:.7rem}.good-detail-page .feedback-list .content .content-main.comment-content-main .detail-content{padding-right:.7rem;padding-left:.7rem}.good-detail-page .feedback-list .content .content-main.comment-content-main .comment-time{color:#c1c1c1}.good-detail-page .feedback-list .content .content-main.consult-content-main{padding:.5rem .7rem}.good-detail-page .feedback-list .content .content-main.consult-content-main .question{font-size:.6rem;color:#444}.good-detail-page .feedback-list .content .content-main.consult-content-main .question span{display:block;float:left;font-size:inherit;padding-right:.375rem}.good-detail-page .feedback-list .content .content-main.consult-content-main .question p{overflow:hidden}.good-detail-page .feedback-list .content .content-main.consult-content-main .time{font-size:.55rem;color:#b0b0b0}.good-detail-page .feedback-list .content .content-main.consult-content-main .answer{font-size:.6rem;line-height:.9rem;color:#b0b0b0;margin-top:.35rem}.good-detail-page .feedback-list .content .content-main.consult-content-main .answer span{display:block;float:left;font-size:inherit;color:#444;padding-right:.375rem}.good-detail-page .feedback-list .content .content-main.consult-content-main .answer p{overflow:hidden}.good-detail-page .feedback-list .content .content-main.no-item{height:5rem;line-height:5rem;color:#e0e0e0;font-size:16px;text-align:center}.good-detail-page .feedback-list .content .content-main.no-item span{display:inline-block;font-size:16px;padding-right:5px}.good-detail-page .feedback-list .comment-content-footer,.good-detail-page .feedback-list .consult-content-footer{display:block;min-height:2.2rem;text-align:center;background-color:#fff;border-bottom:1px solid #e0e0e0;line-height:2.2rem;font-size:.7rem;color:#b0b0b0}.good-detail-page .feedback-list .comment-content-footer .iconfont,.good-detail-page .feedback-list .consult-content-footer .iconfont{font-size:inherit}.good-detail-page .feedback-list .content.hide{display:none}.good-detail-page .feedback-list .nodata{height:2.2rem;font-size:.7rem;line-height:2.2rem;background-color:#fff;padding:0 .7rem;border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0}.good-detail-page .feedback-list .nodata .go-consult{float:right;color:#b0b0b0}.good-detail-page .feedback-list .nodata .go-consult span{font-size:.7rem}.good-detail-page .goods-desc{padding-bottom:.5rem;padding-top:.5rem}.good-detail-page .goods-desc .service{width:12.35rem;height:.7rem;margin-left:1.25rem;background:url(../assets/img/product/service.png) no-repeat;background-size:cover}.good-detail-page .goods-desc .detail{margin-bottom:1px}.good-detail-page .goods-desc .desc-text{font-size:.6rem;padding:.4rem .3rem;color:#444;background-color:#eee}.good-detail-page .tips{color:#b0b0b0;font-size:.45rem;margin-top:.5rem}.good-detail-page .materials{overflow:hidden}.good-detail-page .materials .detail .material-item{margin:.25rem 0;width:100%;height:auto;overflow:hidden;display:block;position:relative}.good-detail-page .materials .detail .material-item img{margin:0}.good-detail-page .materials .detail .material-item .material-image{width:23%;position:absolute;left:0;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.good-detail-page .materials .detail .material-item .material-desc{font-size:.6rem;box-sizing:border-box;text-align:left;padding-left:2%;height:auto;line-height:.95rem;color:#4b4b4b;word-wrap:break-word;width:76.9%;float:right}.good-detail-page .materials .detail .material-item:last-child{border-bottom:none}.good-detail-page .materials.page-block{margin-bottom:0;border-bottom:none}.good-detail-page .materials.page-block .detail{margin-bottom:0}.good-detail-page .wash-tips{padding-top:.5rem}.good-detail-page .wash-tips .tip{display:inline-block;width:16.6%;float:left}.good-detail-page .wash-tips .tip img{width:1.2rem;height:1.2rem;margin-bottom:.25rem}.good-detail-page .wash-tips .tip .caption{display:block;padding:0 .325rem;font-size:.45rem;line-height:.55rem;min-height:1.1rem;text-align:center}.good-detail-page .wash-tips.page-block{padding-left:.375rem;padding-right:.375rem}.good-detail-page .product-detail{margin-top:.75rem;margin-bottom:.75rem}.good-detail-page .product-detail .detail img{margin-top:.5rem;width:14.525rem;height:auto}.good-detail-page .product-detail .detail a{color:#2f91f6;text-decoration:underline}.good-detail-page .detail-swiper .swiper-wrapper .swiper-slide{width:auto}.good-detail-page .detail-swiper .swiper-wrapper .swiper-slide div{text-align:center}.good-detail-page .detail-swiper .swiper-wrapper .swiper-slide div.cell{line-height:1.325rem;font-size:.6rem;background-color:#eee;padding:0 1rem;border:1px solid #fff}.good-detail-page #reference-swiper-container .first-group{width:1.75rem;margin-top:1.375rem}.good-detail-page #reference-swiper-container .first-group div{height:1.375rem}.good-detail-page #reference-swiper-container .first-group div .avatar{display:inline-block;width:1rem;border-radius:50%;margin-top:.175rem}.good-detail-page .measurement-method .detail{width:100%;margin-top:0;margin-bottom:0}.good-detail-page .measurement-method .detail img{width:100%;height:auto}.suspend-cart{position:fixed;width:2.2rem;height:2.2rem;line-height:2.2rem;border-radius:50%;background:rgba(0,0,0,.3);text-align:center;right:.75rem;bottom:3.5rem;z-index:10}.suspend-cart a{display:block;width:100%;height:100%}.suspend-cart .iconfont{color:#fff;font-size:.9rem}.suspend-cart .cart-count{position:absolute;top:-.6rem;right:-.5rem;width:1.8rem;height:1.8rem;font-size:1rem;line-height:1.8rem;color:#fff;background:#f03d35;text-align:center;border-radius:50%;-webkit-transform:scale(.5);transform:scale(.5)}.rank-main{padding:.35rem 0 0 .75rem;background:#fff}.rank-main li{height:5.75rem;overflow:hidden}.rank-main li .item-img{float:left;width:3.75rem;height:5rem;padding:.35rem 0;line-height:5rem;text-align:center}.rank-main li .item-img img{max-width:100%;max-height:100%;vertical-align:middle}.rank-main li .item-content{float:left;width:10.175rem;height:5.325rem;margin:0 0 0 .325rem;padding:.35rem 0 0 .75rem;border-top:1px solid #e0e0e0;overflow:hidden}.rank-main li .item-content .rank-icon{display:block;height:1.125rem;width:1.25rem;line-height:1.25rem;text-align:center;font-size:.55rem;color:#fff;background:url(../assets/img/me/employ/rank.png) no-repeat;background-position:top;background-size:auto 100%}.rank-main li .item-content .rank-icon.top{background:url(../assets/img/me/employ/rank-t.png) no-repeat;background-position:top;background-size:100%;line-height:1.35rem}.rank-main li .item-content h2{margin:.375rem 0 0!important;padding:0!important;width:9.5rem;max-height:1.8rem;overflow:hidden;line-height:.9rem;color:#444;font-size:.7rem}.rank-main li .item-content h2.hasActive{margin:.125rem 0 0!important}.rank-main li .item-content p{margin:0!important;padding:0!important;width:9.5rem;line-height:.9rem;font-size:.6rem;color:#d0021b;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.rank-main li .item-content p b{text-decoration:line-through;color:#b0b0b0;margin-left:.25rem}.rank-main li:first-child .item-content{border:none}.goods-nav{border-bottom:.05rem solid #e6e6e6;height:1.675rem;overflow:hidden}.goods-nav li{float:left;width:auto;height:1.675rem;line-height:1.675rem;width:3.625rem;text-align:center;font-size:.7rem}.goods-nav li a{display:inline-block;padding:0 .125rem;font-size:.7rem;color:#999;height:1.625rem}.goods-nav li:first-child{margin-left:.75rem}.goods-nav li.focus a{border-bottom:.1rem solid #000;color:#000}.s-goods-nav{box-sizing:border-box;overflow:hidden}.s-goods-nav li{margin:0 .25rem;padding:0 .375rem;width:auto;height:100%;color:#999}.s-goods-nav li a{padding:0}.s-goods-nav li.active{color:#000}.s-goods-nav li.bgActive{color:#000;background-color:#e0e0e0}.s-goods-nav li:first-child{margin:0 0 0 .975rem}.recommend-for-you{padding:.75rem 0;border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0;background:#fff}.recommend-for-you .title{font-size:.8rem;line-height:2.2rem;text-align:center;color:#444}.recommend-for-you .swiper-container{padding:.75rem 0 .5rem;width:100%}.recommend-for-you .swiper-container .swiper-slide{padding:0 .25rem;float:left;width:3.9rem}.recommend-for-you .swiper-container .swiper-slide img{width:100%;height:5.2rem}.recommend-for-you .swiper-container .swiper-slide:first-child{padding-left:.75rem}.recommend-for-you .swiper-container .swiper-slide:last-child{padding-right:.75rem}.recommend-for-you .sale-name{overflow:hidden;text-overflow:ellipsis;width:100%;white-space:nowrap;margin-top:.5rem;color:#444}.recommend-for-you .price{position:relative;margin-top:.2rem;font-size:.6rem;line-height:1}.recommend-for-you .price .sale-price{display:block;color:#d9134f;margin-right:.2rem}.recommend-for-you .price .old-price{display:block;color:#b0b0b0;text-decoration:line-through}.recommend-for-you .price .no-price{color:#444}.limit-good-page{background-color:#f4f4f4;color:#444}.limit-good-page .top{font-size:.6rem;height:2rem;line-height:2.2rem;margin-bottom:.1rem;background-color:#fff;padding:.2rem 0 .2rem .5rem}.limit-good-page .top div{width:0;display:inline-block;float:left}.limit-good-page .top div img{width:1.5rem;position:relative;top:.25rem}.limit-good-page .top p{display:inline-block;float:left;width:80%}.limit-good-page .detail{background-color:#fff;padding:.6rem .8rem;border-bottom:1px solid #e6e6e6;margin-bottom:1rem}.limit-good-page .detail .name{font-size:.9rem;margin-bottom:.5rem}.limit-good-page .detail .sale-info{height:1rem;line-height:1rem}.limit-good-page .detail .price{font-size:.8rem;color:#d0021b;float:left}.limit-good-page .detail .date{font-size:.6rem;float:right}.limit-good-page .detail .date .text{position:relative;top:.08rem}.limit-good-page .goodDesc{padding:.5rem;border-top:1px solid #e6e6e6;background-color:#fff}.limit-good-page .goodDesc p{font-size:.6rem;line-height:1rem;text-indent:2em}.limit-good-page .goodDesc img{margin:.3rem 0;max-width:100%}.limit-good-page .bottom{background-color:#fff;padding:.5rem 2rem 2rem;height:3rem;width:12rem;margin:0 auto}.limit-good-page .bottom .logo{width:100;height:2.5rem;background-image:url(../assets/img/logo-bottom.png);background-size:100%;background-repeat:no-repeat;background-position:50%}.limit-good-page .bottom .btn{font-size:.8rem;background-color:#fff;border:1px solid #444;border-radius:.2rem;padding:.3rem .6rem}.limit-good-page .bottom .btn:active{background-color:#ccc}.limit-good-page .bottom .left,.limit-good-page .bottom .right{display:inline-block;float:left}.limit-good-page .bottom .left{width:39%}.limit-good-page .bottom .right{width:60%;font-size:.65rem}.limit-good-page .bottom .right span{display:block;width:95%;margin:0 auto}.limit-help-page{padding:.7rem;color:#444}.limit-help-page h2{font-size:.75rem;font-weight:700}.limit-help-page .method{display:block;width:2rem;height:.875rem;line-height:.875rem;background-color:#444;color:#fff;border-radius:.5rem;text-align:center;margin:.5rem 0}.limit-help-page li{font-size:.6rem}.limit-help-page .intro-img{width:100%;height:5.5rem;background-size:100%;background-repeat:no-repeat;margin:.5rem 0}.limit-help-page .method-1 li:nth-child(1) .intro-img{background-image:url(../assets/img/product/help/1.png)}.limit-help-page .method-1 li:nth-child(2) .intro-img{background-image:url(../assets/img/product/help/2.png)}.limit-help-page .method-1 li:nth-child(3) .intro-img{background-image:url(../assets/img/product/help/3.png)}.limit-help-page .method-2 li:nth-child(1) .intro-img{background-image:url(../assets/img/product/help/4.png)}.limit-help-page .method-2 li:nth-child(2) .intro-img{background-image:url(../assets/img/product/help/5.png)}.limit-help-page .method-2 li:nth-child(3) .intro-img{background-image:url(../assets/img/product/help/6.png)}.limit-help-page .method-2 li:nth-child(4) .intro-img{background-image:url(../assets/img/product/help/7.png)}.limit-help-page .how li:nth-child(1) .intro-img{background-image:url(../assets/img/product/help/8.png)}.limit-help-page .how li:nth-child(2) .intro-img{background-image:url(../assets/img/product/help/9.png);margin-bottom:0}.shop-index{position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.shop-index .branner-top{width:100%;height:5rem;position:relative;overflow:hidden}.shop-index .branner-top .shop-back-img{height:100%}.shop-index .logo{position:absolute;overflow:hidden;left:.75rem;bottom:.75rem;width:2.5rem;height:2.5rem}.shop-index .store-name{color:#fff;font-size:.7rem;position:absolute;overflow:hidden;left:3.7rem;bottom:.5rem}.shop-index .collect{width:3.2rem;height:1.225rem;position:absolute;bottom:.75rem;right:.75rem;border-radius:.25rem;text-align:center;background-size:contain}.shop-index .alreadyCollect{background-position:0 0}.shop-index .alreadyCollect,.shop-index .notCollect{width:3.2rem;height:1.25rem;border-radius:.25rem;background-image:url(../assets/img/sprite.product.png);background-size:3.95rem 2.75rem}.shop-index .notCollect{background-position:0 -1.5rem}.shop-index .nav{width:100%;height:2.2rem;margin:0;padding:0;border:0;font:inherit;vertical-align:baseline;list-style:none;font-size:.7rem;background:#fff;overflow:hidden;border-sizing:border-box;border-bottom:1px solid #e1e1e1}.shop-index .nav li{display:block;height:.7rem;float:left;line-height:.7rem;width:24%;text-align:center;border-left:1px solid #e1e1e1;margin-top:.75rem;border-sizing:border-box;color:#b1b1b1}.shop-index .nav li a{color:#b1b1b1}.shop-index .nav li:first-child{border-left:none}.shop-index .nav .color{color:#000}.shop-index .main{background:#f0f0f0;padding-bottom:1rem;overflow:hidden}.shop-index .banner-area{margin-bottom:.75rem}.shop-index .hide{display:hidden}.shop-index .coupon{width:100%;padding:.75rem 0;overflow:hidden}.shop-index .coupon img{width:6.125rem;height:3rem;vertical-align:top;margin-left:.75rem;float:left}.shop-index .multi-brands{width:100%;height:6.75rem;background:#fff;border:1px solid #e1e1e1;border-top:none;font-size:.5rem;text-align:center;padding-top:.625rem;margin-bottom:.75rem;overflow:hidden}.shop-index .multi-brands p{font-size:.75rem}.shop-index .multi-browse{margin-top:1.25rem}.shop-index .brand-img{margin-left:.75rem;width:30%;height:3.75rem;overflow:hidden;padding-bottom:.5rem;float:left}.shop-index .brand-img p{font-size:.625rem;color:#b1b1b1;padding-top:.25rem;height:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shop-index .brand-img img{height:70%}.shop-index .spring{margin:0;overflow:hidden}.shop-index .spring li{width:50%;float:left;text-align:center;list-style:none;display:list-item}.shop-index .spring li img{width:90%;border-radius:.25rem;vertical-align:top}.shop-index .popularity-title{background:#fff;border-bottom:1px solid #e8e8e8;text-align:center;line-height:2.45rem;font-size:.8rem;margin-top:1rem;position:relative}.shop-index .more{position:absolute;right:.75rem;top:0;bottom:0;color:#b0b0b0;font-size:1.25rem;font-family:iconfont!important;font-style:normal;text-decoration:none}.shop-index .product-list{margin:0;padding:0 0 .75rem .75rem;overflow:hidden;background:#fff;border-bottom:.75rem solid #f0f0f0}.shop-index .product-list li{width:6.875rem;height:9.2rem;margin-top:1.25rem;margin-right:.75rem;float:left;text-align:center;list-style:none}.shop-index .product-list li img{width:100%;vertical-align:top}.shop-index .list-price{height:1.5rem;background:#aaaeac;color:#fff;font-size:.55rem;margin-top:-1.5rem;position:relative;opacity:.9;padding-left:.375rem}.shop-index .list-price p{margin:0;line-height:.8rem;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shop-index .red{color:red}.shop-index .icon{position:relative}.shop-index .icon i{position:absolute}.shop-index .icon .up{top:-.125rem;left:.2rem}.shop-index .icon .down{top:.2rem;left:.2rem}.shop-index .iconfont{color:#b1b1b1}.shop-index .goods-container{position:relative;min-height:11rem;padding-left:.375rem;padding-top:.5rem;border-bottom:1px solid #e0e0e0}.shop-index .discount-area .list-nav li{display:block;height:.7rem;float:left;line-height:.7rem;width:24%;text-align:center;border-left:1px solid #e1e1e1;margin-top:.75rem;margin-bottom:.75rem;border-sizing:border-box}.shop-index .discount-area .list-nav li span{font-size:.7rem}.shop-index .discount-area .list-nav li:first-child{border-left:none}.shop-index .discount-area .active .cur{color:#000}.shop-index .discount-area .list-nav .icon .up{top:-.15rem}.shop-index .discount-area .list-nav .icon .down{top:.2rem}.shop-index .discount-area .goods-container{padding-top:.75rem;padding-bottom:2.5rem}.shop-index .hide{display:none}.shop-index .shop-foot-wrapper{position:absolute;bottom:0;display:table;width:100%;height:2.2rem;line-height:2.2rem;font-size:.7rem;background:#fff;border-top:1px solid #eaeaea}.shop-index .shop-foot-wrapper ul{display:table-row}.shop-index .shop-foot-wrapper li{display:table-cell;text-align:center}.shop-index .shop-foot-wrapper li .wall{width:0;height:.7rem;margin-top:.75rem;float:right;border-right:1px solid #eaeaea;display:inline-block}.shop-index .shop-foot-wrapper .sub-group{position:absolute;background:#fff;border:1px solid #eaeaea;border-radius:.3rem;bottom:2.6rem;width:40%;margin-left:5%}.shop-index .shop-foot-wrapper .sub-group dl{width:80%;margin:0 auto}.shop-index .shop-foot-wrapper .sub-group dd{line-height:2rem;text-align:center;border-top:1px solid #eaeaea;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shop-index .shop-foot-wrapper .sub-group dd:first-child{border-top:0}.shop-index .shop-foot-wrapper .sharp{position:absolute;width:100%;height:.35rem;background:url(../assets/img/product/sharp.png) no-repeat 50%}.shop-index .shop-foot-wrapper .foot-list-3 .sub-group{width:29%;margin-left:2%}.shop-index .bytouch{background:#eee}.shop-index .new-arrival,.shop-index .popularity{padding-top:.75rem;overflow:hidden;padding-left:.375rem;background:#fff;padding-bottom:2.5rem}.shop-index .pos-list li{display:block;height:.7rem;float:left;line-height:.7rem;width:24%;text-align:center;border-left:1px solid #e1e1e1;margin-top:.75rem;margin-bottom:.75rem;border-sizing:border-box}.shop-index .pos-list li span{font-size:.7rem}.shop-index .pos-list li a{display:block;box-sizing:border-box;text-align:center;width:100%;height:100%;color:#999}.shop-index .pos-list li:first-child{border-left:none}.shop-index .pos-list .active .cur,.shop-index .pos-list .active a{color:#000}.shop-index .pos-list .new .iconfont,.shop-index .pos-list .price .iconfont{-webkit-transform:scale(.8);transform:scale(.8);font-weight:700}.shop-index .pos-list .filter .iconfont{font-size:.55rem;-webkit-transition:-webkit-transform .1 ease-in;transition:-webkit-transform .1 ease-in;transition:transform .1 ease-in;transition:transform .1 ease-in,-webkit-transform .1 ease-in}.shop-index .pos-list .filter.active .iconfont{-webkit-transform:rotate(-180deg);transform:rotate(-180deg)}.shop-index .category-list-top-board{border-top:1px solid #e0e0e0}.shop-index .category-list-last-li{border-right:1px solid #e0e0e0}.shop-index .category-list-only-one-row{border-top:none!important}.shop-index .category-list-last-full-row{border-bottom:1px solid #e0e0e0}.shop-introduce-page .banner{margin:.75rem auto;width:auto;height:auto;display:block;background-size:100%}.shop-introduce-page .descripition{margin:1rem .5rem 0;font-size:.55rem;line-height:.9rem;padding:1rem .5rem;border-top:1px solid #e6e6e6;border-bottom:1px solid #e6e6e6;text-indent:2em}.shop-introduce-page .sign-icon{font-size:.8rem;height:2rem;line-height:2rem;text-align:center;font-weight:100}.shop-introduce-page .sign-icon>span{width:auto}.brand-shop-page .brand-list{margin-left:.5rem;font-size:.9rem;border-bottom:1px solid #e6e6e6;text-align:left;height:2.25rem;line-height:2.25rem;vertical-align:middle;display:block;width:100%}.product-category{font-size:.75rem;background-color:#fff}.product-category .allproduct{padding:0 .75rem;display:block;height:2.225rem;line-height:2.225rem}.product-category .allproduct.highlight{background:#dbdbdb}.product-category .margin-under-allproduct{width:100%;height:.75rem;background-color:#f0f0f0}.product-category .category-container{border-top:1px solid #e6e6e6}.product-category .arrow-icon{position:relative;float:right;font-size:.75rem;top:0;color:#e1e1e1;padding:0 .25rem}.product-category .allproductParagaraph{font-size:.45rem;left:.5rem}.product-category .content{background:#fff}.product-category .content.hide{display:none}.product-category .primary-level{float:left;box-sizing:border-box;width:100%;position:absolute}.product-category .primary-level>li{position:relative;height:2.225rem;line-height:2.225rem;box-sizing:border-box;border-bottom:1px solid #e6e6e6;background-color:#fff;margin-left:.75rem}.product-category .primary-level-trilangle{float:right;background-image:url(../assets/img/sprite.product.png);background-position:-3.45rem 0;background-size:3.95rem 2.75rem;margin-top:.55rem;width:.5rem;height:1.15rem}.product-category .trilanglefont{font-family:iconfont!important;font-size:.75rem;font-style:normal;text-decoration:none;-webkit-font-smoothing:antialiased;-webkit-text-stroke-width:.2px;-moz-osx-font-smoothing:grayscale;color:#f4f4f4}.product-category .sub-level-container{float:right;box-sizing:border-box;background:#f4f4f4;width:55%;height:100%;position:relative}.product-category .sub-level{width:100%}.product-category .sub-level>li{box-sizing:border-box;height:2.225rem;line-height:2.225rem;border-bottom:1px solid #e6e6e6;margin-left:.75rem;padding-left:0}.product-category .sub-level>li.highlight{background:#dbdbdb;margin-left:0;padding-left:.75rem}.product-category .sub-level>li:last-child{border-bottom:none}.product-category .sub-level a{display:block;height:100%;width:100%;color:#afafaf}.product-category .sub-level.hide{display:none}.shopping-cart-good{position:relative;padding-left:.4rem}.shopping-cart-good .prevent-img-click{position:absolute;width:.5rem;height:5rem;background-color:transparent;z-index:99}.shopping-cart-good .none{display:none}.shopping-cart-good .checkbox{position:absolute;top:50%;margin-top:-.85rem;margin-left:.2rem;font-size:.7rem}.shopping-cart-good .checkbox.icon-cb-checked{color:#000}.shopping-cart-good .checkbox.disabled{color:#f0f0f0}.shopping-cart-good .few-tag{width:3.75rem;position:absolute;text-align:center;top:72%;color:#fff}.shopping-cart-good .few-tag span{display:inline-block;-webkit-transform:scale(.833);transform:scale(.833)}.shopping-cart-good .gift-tag{background-color:#88be51}.shopping-cart-good .plus-tag{background-color:#fc1264}.shopping-cart-good .few-tag-expire{position:absolute;top:40%;left:.5rem;background-color:#7f7f7f;display:inline-block;color:#fff;border-radius:.3rem;padding:.1rem;font-size:.5rem;width:1.2rem;text-align:center}.shopping-cart-good .info{float:left;margin-left:1.5rem;padding:.4rem 0;padding-right:.5rem}.shopping-cart-good .fixed-height{height:2.7rem}.shopping-cart-good .thumb{float:left;width:3.75rem;background-size:100%;background-repeat:no-repeat}.shopping-cart-good .deps{position:relative;width:9.5rem;margin-left:4.5rem;border-bottom:1px solid #e0e0e0;padding:.5rem 0}.shopping-cart-good .name{display:inline-block;width:80%;color:#5a5a5a;font-size:.6rem;line-height:.7rem}.shopping-cart-good .color-size-row>span{margin-right:.375rem}.shopping-cart-good .color,.shopping-cart-good .size{font-size:.6rem;color:#b6b6b6}.shopping-cart-good .appear-date{float:left;color:#d0253b;display:block;font-size:.5rem}.shopping-cart-good .price{font-size:.6rem;color:#d0253b;display:inline}.shopping-cart-good .price .sale-price{color:#b0b0b0;text-decoration:line-through}.shopping-cart-good .count{font-size:.5rem;color:#999;display:inline-block;width:22%;position:absolute;text-align:center}.shopping-cart-good .low-stocks{display:inline-block;width:2.5rem;height:.75rem;line-height:.75rem;font-size:.55rem;border:none;color:#fff;text-align:center;float:right;margin-right:.4rem;padding:.1rem;border-radius:.5rem;background:#7f7f7f}.shopping-cart-good .vip{display:inline-block;color:#fff;background:#e01;border-radius:.4rem;padding:0 .3rem;margin-left:.2rem;font-size:.5rem}.shopping-cart-good .la-tag{margin-top:.3rem;min-height:1rem}.shopping-cart-good .icon-del,.shopping-cart-good .icon-edit{position:absolute;color:#ccc;font-size:.75rem}.shopping-cart-good .icon-del{right:.5rem}.shopping-cart-good .icon-edit{right:1.8rem}.shopping-cart-good .opt-panel{position:absolute;width:5.5rem;right:0;top:0;bottom:0;color:#fff}.shopping-cart-good .opt-panel>div{float:left;box-sizing:border-box;width:2.75rem;height:100%;text-align:center;padding:1rem .5rem 0;font-size:.375rem}.shopping-cart-good .opt-panel span{display:block}.shopping-cart-good .opt-panel .put-in-favorite{background:#bbb}.shopping-cart-good .opt-panel .del{background:#999}.shopping-cart-good .opt-panel .del .iconfont{margin-bottom:.5rem}.shopping-cart-good .calculate-num{float:right}.shopping-cart-good .calculate-num .calculate{float:right;border:1px solid #b0b0b0;border-radius:.2rem}.shopping-cart-good .calculate-num .calculate p{color:#444}.shopping-cart-good .calculate-num .calculate p i{width:1.8rem;height:1.5rem;float:left;line-height:1.5rem;text-align:center}.shopping-cart-good .calculate-num .calculate p span{width:2.4rem;height:1.5rem;float:left;font-size:1rem;line-height:1.5rem;text-align:center}.shopping-cart-good .calculate-num .calculate p:first-child{height:1.5rem;border-bottom:1px solid #b0b0b0}.shopping-cart-good .calculate-num .calculate p:first-child span{border-left:1px solid #b0b0b0;border-right:1px solid #b0b0b0}.shopping-cart-good .calculate-num .calculate p:last-child span{width:4.2rem;overflow:hidden;font-size:.9rem;text-overflow:ellipsis;white-space:nowrap}.shopping-cart-good .calculate-num .price{line-height:1.5rem;font-size:1.15rem;font-weight:700}.shopping-cart-good .calculate-num .count{position:absolute;right:.5rem;top:.5rem;font-size:1.15rem}.shopping-cart-good:last-child .deps{border:none}.chose-panel{position:fixed;display:none;height:100%;top:0;bottom:0;left:0;right:0;background:rgba(0,0,0,.3);z-index:3}.chose-panel .main{position:absolute;height:15.25rem;bottom:0;left:0;right:0;background:#fff}.chose-panel .infos{height:11.5rem;padding:0 .55rem}.chose-panel .chose-items{height:8.125rem;overflow:auto}.chose-panel .basic-info{overflow:hidden;position:relative;margin-bottom:.75rem;margin-top:.75rem}.chose-panel .thumb{float:left;width:2.5rem;margin-right:.5rem}.chose-panel .text-info{height:auto}.chose-panel .text-info .name{font-size:.7rem;height:1.85rem;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.chose-panel .text-info .price{font-size:.6rem;display:inline}.chose-panel .text-info .sale-price{color:#e10;margin-right:.375rem}.chose-panel .text-info .sale-price.no-price{color:#000}.chose-panel .text-info .market-price{color:#b0b0b0;text-decoration:line-through}.chose-panel .color-list,.chose-panel .num,.chose-panel .size-list{position:relative;font-size:.7rem;padding-left:2rem}.chose-panel .color-list input.disabled,.chose-panel .num input.disabled,.chose-panel .size-list input.disabled{background-color:#fff;color:#000;opacity:1;border-radius:0;-webkit-appearance:none}.chose-panel .color-list>span,.chose-panel .num>span,.chose-panel .size-list>span{position:absolute;left:0;top:.5rem}.chose-panel .color-list>span.left-num,.chose-panel .num>span.left-num,.chose-panel .size-list>span.left-num{position:absolute;left:9.5rem;top:.5rem}.chose-panel .color-list span.disabled,.chose-panel .num span.disabled,.chose-panel .size-list span.disabled{color:#e6e6e6}.chose-panel .size-list li.hide{display:none}.chose-panel .block{float:left;display:block;box-sizing:border-box;padding:0 .5rem;min-width:2rem;height:2rem;border:1px solid #000;margin-right:.75rem;margin-bottom:.75rem;line-height:2rem;text-align:center}.chose-panel .block.chosed{border-color:#e10;background:url(../assets/img/shopping-cart/right.png) no-repeat;background-size:.95rem;background-position:100% 100%;color:#e10}.chose-panel .block.zero-stock{color:#e0e0e0;border-color:#e0e0e0}.chose-panel .block.zero-stock.chosed{border-color:#e0e0e0;background:none;color:#e0e0e0;background-color:silver}.chose-panel .num{margin-bottom:.5rem}.chose-panel .num .btn{float:left;display:block;height:2rem;width:2rem;text-align:center;line-height:2rem;border:1px solid #e6e6e6}.chose-panel .num .btn.disable{color:#e6e6e6}.chose-panel .good-num{float:left;width:2.65rem;height:2rem;line-height:2rem;padding:0;border:1px solid #e6e6e6;text-align:center;margin-left:-1px}.chose-panel .btn-plus{margin-left:-1px}.chose-panel .btn-wrap{position:relative;height:3rem;border-top:1px solid #e6e6e6;padding:.5rem;text-align:center;background:#fff;box-sizing:border-box}.chose-panel .btn-wrap .btn-sure{width:6.5rem;height:2rem;background:#e10;color:#fff;font-size:.8rem;border:none}.gift-advance-page .gift-advance-good{position:relative;padding:.5rem 0;margin-left:.85rem;height:4rem;border-bottom:1px solid #e0e0e0}.gift-advance-page .advance-block:last-child .gift-advance-good:last-child{border-bottom:1px solid #e0e0e0}.gift-advance-page .thumb-wrap{position:relative;float:left;width:3rem;height:4rem}.gift-advance-page .thumb-wrap .thumb{width:100%;height:100%}.gift-advance-page .tag{position:absolute;bottom:0;left:0;right:0;height:.625rem;color:#fff;text-align:center;background:#eb76aa}.gift-advance-page .tag:before{content:'加价购';display:block;font-size:.3rem;line-height:.625rem;-webkit-transform:scale(.833);transform:scale(.833)}.gift-advance-page .deps{margin-left:3.375rem}.gift-advance-page .gift-advance-good .name{margin-bottom:.5rem;width:11rem;font-size:.7rem}.gift-advance-page .row:nth-child(2){font-size:.55rem;height:1.125rem;line-height:1.125rem}.gift-advance-page .row:nth-child(2)>span{margin-right:.375rem}.gift-advance-page .row:nth-child(3){position:relative}.gift-advance-page .color,.gift-advance-page .size{color:#b6b6b6}.gift-advance-page .price{font-size:.6rem;color:#f1545b}.gift-advance-page .price.market-price{color:#999;text-decoration:line-through}.gift-advance-page .count{font-size:.5rem;color:#999;margin-left:.55rem}.gift-advance-page .chose{position:absolute;width:2.2rem;height:1.45rem;background:#f8f8f8;border:1px solid #ccc;right:.5rem;top:1.775rem;font-size:.65rem;line-height:1.45rem;text-align:center}.gift-advance-page .title{width:15rem;height:1.5rem;line-height:1.5rem;padding:0 .5rem;font-size:.6rem;background:#f8f8f8;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.gift-advance-page .gift-block .tag{background:#a1ce4e}.gift-advance-page .gift-block .tag:before{content:'赠品'}.order-ensure-page{background:#f0f0f0}.order-ensure-page .block{background:#fff;margin:.5rem 0;padding:.75rem .5rem;border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0}.order-ensure-page .title{font-size:.8rem;color:#444}.order-ensure-page .price-cost span{color:red}.order-ensure-page .border-none{border-bottom:none!important}.order-ensure-page .boys{background:url(../assets/img/shopping-cart/boys.png) 0 100% repeat-x #fff}.order-ensure-page .girls{background:url(../assets/img/shopping-cart/girls.png) 0 100% repeat-x #fff}.order-ensure-page .kids{background:url(../assets/img/shopping-cart/kids.png) 0 100% repeat-x #fff}.order-ensure-page .life-style{background:url(../assets/img/shopping-cart/lifeStyle.png) 0 100% repeat-x #fff!important}.order-ensure-page .not-address{position:relative}.order-ensure-page .not-address i{position:absolute;left:.4rem;top:0;font-size:1.1rem}.order-ensure-page .not-address .choose{display:block;color:#000;height:1.6rem;overflow:hidden;position:static;padding-left:1rem;font-size:.8rem;line-height:2.05rem}.order-ensure-page .not-address .choose span{position:absolute;right:.5rem;top:.7rem;font-size:.8rem}.order-ensure-page .address{display:block;position:relative;margin-top:0;border-top:none;padding-bottom:.8rem}.order-ensure-page .address .info{width:90%;height:auto;overflow:hidden;padding-left:10%;padding-bottom:.3rem;position:relative}.order-ensure-page .address .info span{display:inline-block}.order-ensure-page .address .info i{position:absolute;left:0;top:0;font-size:1.1rem}.order-ensure-page .address .info-name{width:48%;height:1rem;font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.order-ensure-page .address .info-phone{width:48%;font-size:.6rem;text-align:right}.order-ensure-page .address .info-address{width:100%;font-size:.6rem;line-height:.95rem}.order-ensure-page .address .rest{position:absolute;right:.8rem;bottom:.5rem;color:red;font-size:.6rem}.order-ensure-page .address .rest span{font-size:.6rem}.order-ensure-page .dispatch{padding:0;margin:0}.order-ensure-page .dispatch .sub-block{color:#444}.order-ensure-page .dispatch .sub-block h3{width:95%;height:2rem;overflow:hidden;line-height:2rem;font-size:.8rem;margin-left:5%;border-bottom:1px solid #e0e0e0}.order-ensure-page .dispatch .sub-block h3 .hide{display:none!important}.order-ensure-page .dispatch .sub-block h3 i,.order-ensure-page .dispatch .sub-block h3 p{display:inline-block;height:2rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.order-ensure-page .dispatch .sub-block h3 i{font-size:.9rem;margin-left:.2rem}.order-ensure-page .dispatch .sub-block h3 span{display:inline-block;width:65%;height:2rem;text-align:right;font-size:.7rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.order-ensure-page .dispatch .sub-block ul{width:90%;height:auto;overflow:hidden;line-height:2rem;font-size:.7rem;background:#e0e0e0;padding-left:10%;display:none;padding-bottom:.2rem}.order-ensure-page .dispatch .sub-block ul .right{float:right;margin-right:1rem}.order-ensure-page .dispatch .sub-block ul li{border-bottom:1px solid #fff}.order-ensure-page .dispatch .sub-block:last-child h3,.order-ensure-page .dispatch .sub-block ul li:last-child{border-bottom:none}.order-ensure-page .goods-num{width:100%;height:1.3rem;color:#b0b0b0;background:#fff;padding:.5rem 0;text-align:right;font-size:.7rem;line-height:1.3rem}.order-ensure-page .goods-num span{padding-right:.5rem;color:red}.order-ensure-page .bill{position:fixed;background:#fff;left:0;bottom:0;width:96%;height:2.5rem;overflow:hidden;line-height:2.5rem;font-size:.7rem;padding-left:4%}.order-ensure-page .bill span{color:red}.order-ensure-page .bill a{position:absolute;right:.5rem;top:.25rem;background:#d0021b;display:inline-block;color:#fff;width:25%;height:2rem;overflow:hidden;border-radius:.25rem;line-height:2rem;text-align:center;font-size:.75rem}.order-ensure-page .price-cal{margin-bottom:2.25rem;font-size:.7rem;position:relative}.order-ensure-page .price-cal span{position:absolute;right:.7rem;text-align:right}.order-ensure-page .price-cal li{font-size:.7rem}.order-ensure-page .price-cal li p,.order-ensure-page .price-cal li span{display:inline-block}.order-ensure-page .order-good{position:relative;padding:.5rem 0;margin-left:.85rem;height:4rem;border-bottom:1px solid #e0e0e0;font-size:.65rem}.order-ensure-page .order-good .thumb-wrap{position:relative;float:left;width:3rem;height:4rem}.order-ensure-page .order-good .thumb{width:100%;height:100%}.order-ensure-page .order-good .tag{position:absolute;bottom:0;left:0;right:0;color:#fff;text-align:center;font-size:.3rem}.order-ensure-page .order-good .tag:before{display:block;line-height:1;-webkit-transform:scale(.833);transform:scale(.833)}.order-ensure-page .order-good .gift-tag{height:.625rem;background:#a1ce4e}.order-ensure-page .order-good .gift-tag:before{content:'赠品'}.order-ensure-page .order-good .advance-buy-tag{height:.625rem;background:#eb76aa}.order-ensure-page .order-good .advance-buy-tag:before{content:'加价购'}.order-ensure-page .order-good .deps{margin-left:3.375rem}.order-ensure-page .order-good .name{font-size:.7rem;max-width:70%;text-overflow:-o-ellipsis-lastline;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.order-ensure-page .order-good .row:nth-child(2){height:1.125rem;line-height:1.125rem}.order-ensure-page .order-good .row:nth-child(2)>span{margin-right:.375rem}.order-ensure-page .order-good .color,.order-ensure-page .order-good .size{color:#b6b6b6}.order-ensure-page .order-good .price-wrap{position:absolute;top:.5rem;right:.75rem;text-align:right}.order-ensure-page .order-good .price{color:#e01}.order-ensure-page .order-good .count{display:block;color:#999;text-align:right;line-height:1.125rem}.order-ensure-page .order-good .appear-date{color:red}.order-ensure-page .order-good:last-child{border-bottom:none}.order-ensure-page .sale-invoice{margin-top:-.5rem;font-size:.6rem}.order-ensure-page .sale-invoice li{height:2.25rem;line-height:2.25rem;border-bottom:1px solid #f7f7f7;overflow:hidden}.order-ensure-page .sale-invoice li a{display:block}.order-ensure-page .sale-invoice .coupon-count{padding:.125rem .375rem;background:#d0021b;color:#fff;border-radius:.25rem;margin-left:.5rem}.order-ensure-page .sale-invoice .coupon-use{box-sizing:border-box;position:relative;float:right;padding-right:.75rem;color:#999;text-align:right;width:8rem;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.order-ensure-page .sale-invoice .coupon-use .iconfont{position:absolute;top:0;right:0;color:#999}.order-ensure-page .sale-invoice .checkbox{display:inline-block;width:2rem;text-align:center;margin-right:-.5rem}.order-ensure-page .sale-invoice .coin-check{float:right;color:#999}.order-ensure-page .sale-invoice .coin-check .checkbox{margin-left:.125rem;color:#000}.order-ensure-page .sale-invoice .coin-check.used,.order-ensure-page .sale-invoice .coin-check em{color:red}.order-ensure-page .sale-invoice .checkbox.icon-checkbox{color:#ccc}.order-ensure-page .sale-invoice .invoice .checkbox{float:right}.order-ensure-page .sale-invoice .invoice.focus{height:auto}.order-ensure-page .sale-invoice .desc{color:#999}.order-ensure-page .block input,.order-ensure-page .block textarea{box-sizing:border-box;margin:.5rem 0;padding:0 .3rem;width:100%;height:1.8rem;color:#444;background:#efefef;font-size:.6rem;line-height:1;outline:0;border:0;border-radius:.1rem}.order-ensure-page .block textarea{padding:.3rem;height:auto;resize:none}.order-ensure-page .block .more-jit{height:2.2rem;line-height:2.2rem;position:relative}.order-ensure-page .block .more-jit span{font-size:.85rem;color:#444}.order-ensure-page .block .more-jit .iconfont{position:absolute;right:0}.order-ensure-page .block.mt0{margin-top:0}.order-ensure-page .block.more-jit{padding-top:0;padding-bottom:0;margin-bottom:-.5rem;border-bottom:none}.order-ensure-page #invoice{border-top:1px solid #f7f7f7}.order-ensure-page #invoice label{display:block;border-top:1px solid #f7f7f7}.order-ensure-page #invoice select{position:relative;float:right;width:40%;height:1.25rem;top:.5rem;border:1px solid #f7f7f7}.order-ensure-page #msg{padding-top:.5rem}.order-ensure-page #msg input{margin:0}.order-ensure-page .total{font-size:.55rem;margin-top:.5rem}.order-ensure-page .total span{display:inline-block;width:3.25rem}.order-ensure-page .cost{border-top:1px solid #f7f7f7;line-height:2.5rem;margin-top:.25rem;font-size:.85rem}.order-ensure-page .cost em{color:red}.order-ensure-page .pay-mode{background:#fff;padding:0 .5rem;margin-top:-.55rem}.order-ensure-page .pay-mode li{height:2.2rem;line-height:2.2rem;margin-bottom:.7rem;border-radius:.125rem;font-size:.8rem;color:#fff;text-align:center;background:#000}.order-ensure-page .pay-mode .default{background:#57b038}.order-ensure-page .pay-mode .iconfont{margin-right:.5rem;font-size:.8rem}.select-coupon-page .not-avaliable-coupon-line:after,.select-coupon-page .not-avaliable-coupon-line:before{content:"";position:absolute;top:50%;border-top:1px solid #b0b0b0;width:3rem;height:0}.select-coupon-page{margin-top:.75rem;margin-bottom:.75rem}.select-coupon-page #new-coupon{margin-bottom:.75rem;padding-left:.75rem;padding-right:.75rem;font-size:.6rem}.select-coupon-page #new-coupon input{padding:0 .3rem;width:9.6rem;height:2rem;border:1px solid #b0b0b0;border-radius:.1rem;outline:0}.select-coupon-page #new-coupon .submit{margin-left:.75rem;width:3.25rem;height:2rem;color:#fff;background:#b0b0b0;border-radius:.1rem;border:none;outline:0}.select-coupon-page .coupon-list .employ-main:first-child{margin-top:0}.select-coupon-page .coupon-list .employ-main:last-child{margin-bottom:0}.select-coupon-page .not-use{display:block;width:14rem;margin:.75rem auto 0;text-align:center;font-size:.8rem;line-height:2.5;border:1px solid #444;border-radius:4px}.select-coupon-page .not-avaliable-coupon-line{position:relative;margin-top:.75rem;margin-bottom:.75rem;font-size:.7rem;line-height:2;color:#b0b0b0;text-align:center}.select-coupon-page .not-avaliable-coupon-line:before{left:1.5rem}.select-coupon-page .not-avaliable-coupon-line:after{right:1.5rem}.select-coupon-page .not-avaliable{background-image:url(../assets/img/me/employ/employ-grey.jpg)!important}.select-address-page{padding-bottom:.5rem}.select-address-page .add-address{margin-bottom:0}.icon-checkbox:before{content:"\e61c"}.icon-cb-checked:before{content:"\e61d"}.icon-radio:before{content:"\e647"}.icon-cb-radio:before{content:"\e646"}.shopping-cart-page{margin-bottom:3rem;overflow-x:hidden;background:#f0f0f0;display:none}.shopping-cart-page .yoho-tip{z-index:4}.shopping-cart-page .cart-content>*{background:#fff}.shopping-cart-page .cart-content>:first-child{border-top:none;margin-top:0}.shopping-cart-page .cart-nav{color:#c6c6c6;border-bottom:1px solid #e0e0e0;background:#fff}.shopping-cart-page .cart-nav li{float:left;width:50%;padding:.75rem 0;height:.75rem}.shopping-cart-page .cart-nav li.active{color:#000}.shopping-cart-page .cart-nav span{display:block;box-sizing:border-box;width:100%;height:.75rem;line-height:.75rem;font-size:.75rem;text-align:center}.shopping-cart-page .cart-nav li:first-child span{border-right:1px solid #e0e0e0}.shopping-cart-page .cart-nav li:last-child{position:relative}.shopping-cart-page .cart-nav .presell-tip{position:absolute;z-index:1;left:-2rem;top:1.75rem}.shopping-cart-page .cart-nav .triangle{width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:12px solid #000;margin-left:6rem}.shopping-cart-page .cart-nav .pt-content{position:relative;padding:.25rem;background:#000;color:#fff;font-size:.3rem;border-radius:5px;text-align:center;width:7rem}.shopping-cart-page .login-info{height:1.15rem;padding:.425rem .5rem;color:#24acaa;text-align:center;font-size:.7rem}.shopping-cart-page .login-info .btn{display:inline-block;background:#ed0010;color:#fff;width:2rem;height:1.15rem;line-height:1.15rem}.shopping-cart-page .presell-info{height:1.5rem;padding:.375rem .75rem;font-size:.55rem;background:#f0f0f0;color:#b7b7b7}.shopping-cart-page .presell-info>span{display:block}.shopping-cart-page .presell-info .iconfont{float:left;font-size:1.125rem}.shopping-cart-page .presell-info .txt{height:.75rem;line-height:.75rem;margin-left:2rem}.shopping-cart-page .cart-goods{border-bottom:1px solid #e0e0e0;margin-bottom:.75rem}.shopping-cart-page .cart-goods .shopping-cart-good:last-child .info{border-bottom:none}.shopping-cart-page .invalid-goods{border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0;margin:.75rem 0}.shopping-cart-page .freebie-and-advance-buy{font-size:.6rem;border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0;margin-bottom:.75rem}.shopping-cart-page .freebie-and-advance-buy>li{box-sizing:border-box;height:2rem;line-height:2rem;margin-bottom:.25rem;padding:0 .5rem}.shopping-cart-page .freebie-and-advance-buy>li a{float:right;width:100%}.shopping-cart-page .freebie-and-advance-buy>li .under-line{display:inline-block;height:1px;width:91%;position:absolute;left:9%;background-color:#f1f1f1}.shopping-cart-page .freebie-and-advance-buy>li:last-child{margin-bottom:0}.shopping-cart-page .freebie-and-advance-buy>li:first-child .under-line{display:none}.shopping-cart-page .freebie-and-advance-buy .count{color:#7b7b7b;float:right}.shopping-cart-page .freebie-and-advance-buy .icon-right-arrow{color:#8f8f8f;float:right}.shopping-cart-page .activity-title{border-top:1px solid #e0e0e0;font-size:.8rem;padding:.5rem .5rem 0}.shopping-cart-page .activity{padding:.2rem .5rem .5rem .8rem;font-size:.65rem}.shopping-cart-page .activity li:before{content:"";display:inline-block;margin-right:.25rem;width:.2rem;height:.2rem;background-color:#000;border-radius:50%;position:relative;left:0;top:-.12rem}.shopping-cart-page .price-compute{padding:.5rem;border-top:1px solid #e0e0e0;font-size:.7rem}.shopping-cart-page .price-compute .title{display:inline-block;width:4.375rem}.shopping-cart-page .price-compute .minus{float:right}.shopping-cart-page .balance{position:fixed;box-sizing:border-box;bottom:0;width:100%;padding:.5rem;height:3rem;border-top:1px solid #e0e0e0;background:#fff}.shopping-cart-page .balance .iconfont{position:absolute;top:50%;margin-top:-.35rem;font-size:.7rem}.shopping-cart-page .balance p{float:right;margin-right:.8rem;font-size:.65rem}.shopping-cart-page .balance p span{display:block;height:1rem;line-height:1rem;color:#d0253b;font-weight:700}.shopping-cart-page .balance p .tip{color:#666;font-size:.55rem;text-align:right;font-weight:400}.shopping-cart-page .balance .btn-balance{float:right;width:3.5rem;height:2rem;line-height:2rem;text-align:center;background:#e01;color:#fff;border:none;font-size:.7rem}.shopping-cart-page .cart-zero{width:100%;height:auto;padding-top:2rem;padding-bottom:20%}.shopping-cart-page .cart-zero i{font-size:6em;display:block;margin:0 auto;text-align:center;color:#505050}.shopping-cart-page .cart-zero p{display:block;text-align:center;font-size:1em;color:#444;padding:.6rem 0}.shopping-cart-page .cart-zero a{width:27%;height:1.2rem;overflow:hidden;line-height:1.2rem;border:1px solid #505050;border-radius:.2rem;display:block;margin:0 auto;text-align:center;color:#fff;background:#444} \ No newline at end of file diff --git a/static/dist/myohobuy/1.3.25/index.js b/static/dist/myohobuy/1.3.25/index.js index fcc147c..0dbaa54 100644 --- a/static/dist/myohobuy/1.3.25/index.js +++ b/static/dist/myohobuy/1.3.25/index.js @@ -1,6 +1,6 @@ -define("index",["jquery","hammer","swiper","lazyload","mlellipsis","iscroll-probe","handlebars","source-map","index"],function(e,t,o){var n;e("js/common"),e("js/category/entry"),e("js/guang/entry"),e("js/home/entry"),e("js/index/entry"),e("js/passport/entry"),e("js/product/entry"),e("js/me/entry"),e("js/cart/entry"),o.exports=n}),define("js/common",["jquery","hammer"],function(e,t,o){function n(e){var t,o,n=document.cookie;return document.cookie&&""!==document.cookie&&(o=n.indexOf(e+"="),o>-1&&(o+=e.length+1,t=decodeURIComponent(h.trim(n.substring(o,n.indexOf(";",o)))))),t}function a(e,t,o){var n,a,i,s,r="";"undefined"!=typeof t&&(o=o||{},null===t&&(t="",o.expires=-1),o.expires&&("number"==typeof o.expires||o.expires.toUTCString)&&("number"==typeof o.expires?(s=new Date,s.setTime(s.getTime()+24*o.expires*60*60*1e3)):s=o.expires,r="; expires="+s.toUTCString()),n=o.path?"; path="+o.path:"",a=o.domain?"; domain="+o.domain:"",i=o.secure?"; secure":"",document.cookie=[e,"=",encodeURIComponent(t),r,n,a,i].join(""))}function i(){var e=navigator.cookieEnabled?!0:!1;return"undefined"!=typeof navigator.cookieEnabled||e||(document.cookie="testcookie",e=-1!==document.cookie.indexOf("testcookie")?!0:!1),e}function s(){var e,t=n("_UID");return"undefined"==typeof t?0:(e=t.split("::"),"undefined"==typeof e||e.length<4?0:e)}function r(){var e=s();return 0===e?0:e[1]}function l(){var e=n("_g");return"undefined"==typeof e?"":JSON.parse(e).k}function d(){var e;0!==f.length&&(e=Math.min(h(window).height(),window.screen.availHeight),h("body").height()<=e-parseInt(f.css("height"),0)?f.addClass("bottom"):f.removeClass("bottom"))}function c(e){var t=h(e).outerHeight();e&&f.css("margin-bottom",t+"px")}function u(e){return e.replace(/(\d{3})\d{4}(\d{4})/,"$1****$2")}var h=e("jquery"),p=e("hammer"),f=h("#yoho-footer"),m=h(".yoho-page"),g=h(".yoho-header");!function(){var e,t=f.children(".op-row"),o=h(".back-to-top"),n=s();d(),0===n?t.prepend('<a href="//m.yohobuy.com/signin.html?refer='+location.href+'">登录</a><span class="sep-line">|</span><a href="//m.yohobuy.com/reg.html">注册</a>'):t.prepend('<span>Hi,</span><a class="user-name" href="//m.yohobuy.com/home?tmp='+Math.random()+'">'+n[0]+'</a><a href="//m.yohobuy.com/passport/signout/index?token='+n[3]+'">退出</a>'),o.length>0&&(e=new p(o[0]),e.on("tap",function(e){return h(window).scrollTop(0),e.srcEvent.preventDefault(),!1})),f.removeClass("hide")}(),function(e,t,o,n,a){var i=t.createElement(o),s=t.getElementsByTagName(o)[0];e.YohoAcquisitionObject=a,e[a]=function(){e[a].p=arguments},i.async=1,i.src=n,s.parentNode.insertBefore(i,s)}(window,document,"script",("https:"===document.location.protocol?"https":"http")+"://cdn.yoho.cn/yas-jssdk/1.0.15/yas-debug.js","_yas"),function(){var e=r();e=0===e?"":e,window._ozuid=e,window._yas&&(window._yas(1*new Date,"1.0.15","yohobuy_m",e,"",""),h(".buriedpoint").click(function(e){var t=h(this).attr("data-bp-id").split("_"),o={page:t[0],floor:t[1],data:t[2]};console.log(o),console.log(Boolean(parseInt(t[3]))),window._yas.sendCustomInfo(o,Boolean(parseInt(t[3])))}))}(),g.on("touchstart","a",function(){g.find("a").removeClass("highlight"),h(this).addClass("highlight")}).on("touchend touchcancel","a",function(){h(this).removeClass("highlight")}),m.on("touchstart",".tap-hightlight",function(){h(this).siblings(".tap-hightlight").removeClass("highlight"),h(this).addClass("highlight")}).on("touchend touchcancel",".tap-hightlight",function(){h(this).removeClass("highlight")}),h(".nav-home").on("touchstart",function(){h(".homebuttom").toggleClass("hide")}),function(){var e,t,o=0,n="webkit moz ms o".split(" "),a=window.requestAnimationFrame,i=window.cancelAnimationFrame;for(t=0;t<n.length&&(!a||!i);t++)e=n[t],a=a||window[e+"RequestAnimationFrame"],i=i||window[e+"CancelAnimationFrame"]||window[e+"CancelRequestAnimationFrame"];a&&i||(a=function(e,t){var n=(new Date).getTime(),a=Math.max(0,16-(n-o)),i=window.setTimeout(function(){e(n+a)},a);return o=n+a,i},i=function(e){window.clearTimeout(e)}),window.requestAnimationFrame=a,window.cancelAnimationFrame=i}(),h.extend({queryString:function(){var e,t,o=[],n=window.location.search.slice(1).split("&");for(t=0;t<n.length;t++)e=n[t].split("="),o.push(e[0]),o[e[0]]=e[1];return o}}),11===f.find(".user-name").text().length&&f.find(".user-name").html(u(f.find(".user-name").text())),window.cookie=n,window.setCookie=a,window.isCookiesEnabled=i,window.getUser=s,window.getUid=r,window.getShoppingKey=l,window.rePosFooter=d,window.reMarginFooter=c}),define("js/category/entry",["jquery","hammer","swiper","lazyload","index"],function(e,t,o){e("js/category/index"),e("js/category/brand")}),define("js/category/index",["jquery"],function(e,t,o){var n=e("jquery"),a=n(".category-nav"),i=n(".category-container"),s=i.children(".content"),r=i.find(".sub-level li"),l=i.find(".primary-level li"),d=s.not(".hide");!function(){var e=n(".yoho-header"),t=n("#search-input"),o=n(window).height()-e.outerHeight()-t.outerHeight()-a.outerHeight();i.css("min-height",o),s.height(o)}(),n("#search-input").focus(function(){n(this).blur()}),a.bind("contextmenu",function(e){return!1}),n(".category-container").bind("contextmenu",function(e){return!1}),a.on("touchend touchcancel",function(e){var t=n(e.target).closest("li"),o=t.index();t.hasClass("focus")||(a.find("li.focus").removeClass("focus"),t.addClass("focus"),d.addClass("hide"),d=s.eq(o).removeClass("hide"))}),i.on("touchend",function(e){var t,o,a,i=n(e.target);if(o=i.closest(".p-level-item"),o.length>0){if(a=o.index(),t=i.closest(".content").find(".sub-level"),i.hasClass("focus"))return;i.closest(".primary-level").children(".focus").removeClass("focus"),i.addClass("focus"),t.not(".hide").addClass("hide"),t.eq(a).removeClass("hide")}}),i.find(".primary-level").on("touchstart touchend touchcancel","li",function(){l.removeClass("highlight"),n(this).addClass("highlight")}).on("touchend touchcancel","li",function(){n(this).removeClass("highlight")}),i.find(".sub-level").on("touchstart","li",function(){r.removeClass("highlight"),n(this).addClass("highlight")}).on("touchend touchcancel","li",function(){n(this).removeClass("highlight")}),a.on("touchstart","li",function(){a.find("li").removeClass("bytouch"),n(this).addClass("bytouch")}).on("touchend touchcancel","li",function(){a.find("li").removeClass("bytouch")})}),define("js/category/brand",["jquery","hammer","swiper","lazyload","index"],function(e,t,o){function n(){var e=w(window).scrollTop();T.eq(0).offset().top<p&&u.hide(),T.each(function(){var t=w(this).offset().top-N;e>=t&&u.css({display:"block"}).find("h2").html(w(this).find(".title-bar").text())})}function a(){var e=w(".brand-list").find("p");e.on("touchstart",function(){e.css("background","#fff"),w(this).css("background","#eee")}).on("touchend touchcancel",function(){w(this).css("background","#fff")})}function i(){var e=(m.val()+"").toLowerCase(),t={},o=0,n="";""!==e&&(w.each(f,function(o,n){w.isArray(n)&&w.each(n,function(n,a){a.searchName.toLowerCase().indexOf(e)>-1&&(t[o]=t[o]||[],t[o].push(a))})}),w.each(t,function(e,t){var a=['<div class="brand-list bar-',o,'">'];o++,a.push('<div class="title-bar"><h2>'),a.push(e),a.push("</h2></div>"),w.each(t,function(e,t){a.push('<p><a href="'+t.url+'" brandName = "'+t.name+'" brandId = "'+t.brandId+'" brandDomain = "'+t.brandDomain+'">'+t.name),t.isNew&&a.push('<i class="icon-new">NEW</i>'),t.isHot&&a.push('<i class="icon-hot">HOT</i>'),a.push("</a></p>")}),a.push("</div>"),n+=a.join("")})),e.length>0?w(".search-brand-page").addClass("hide"):w(".search-brand-page").removeClass("hide"),w(".search-result").html(n),a(),d(w(".brand-list"))}function s(){m.val().length?(q.css("color","#444"),D.show().find(".clear-text").show()):(q.css("color","#b2b2b2"),D.find(".clear-text").hide()),i()}function r(){w.ajax({type:"GET",url:"/brands/delBrandHistory",data:"",success:function(e){},error:function(){}})}function l(e,t,o){w.ajax({type:"GET",url:"/brands/addBrandSearch",data:"brandName="+e+"&brandId="+t+"&brandDomain="+o,success:function(e){},error:function(){}})}function d(e){e.on("click","p , li",function(e){m=w("#keyword");var t,o,n,a,i,r=w(this).find("a"),d=r.attr("brandName")+k+r.attr("href");if(t=r.attr("brandName"),o=r.attr("brandId"),n=r.attr("brandDomain"),a=r.attr("href"),e.preventDefault(),w(".net-history").length>0)return l(t,o,n),m.val(t),void s();if(localStorage){if(i=localStorage.getItem("historys-brand"),i=i?i:"",i.indexOf(x+d+x)>-1)return m.val(t),void s();""===i&&(d=x+d),i+=d+x,localStorage.setItem("historys-brand",i)}m.val(t),s()})}var c,u,h,p,f,m,g,v,w=e("jquery"),y=e("hammer"),b=e("swiper"),C=e("js/plugin/loading"),j=e("lazyload"),x=" ??++ ",k=" ???+++ ",T=w(".brand-list"),q=w(".search-icon"),E=w(".genderNav li"),I=w(".brandNav li"),S=w(".new-brand-wall"),L=w(".recommand-brand-wall"),D=w(".search-action"),z=w(".homebuttom"),_=w(".genderNav"),M=w(".newbrand-search"),P=w(".nav-home"),F=w(".newbrand-search").outerHeight(),O=w(".yoho-header").outerHeight(),N=parseInt(F)+parseInt(O)-1,B=w(".history"),A=w(".search-brand-page"),H=w(".history-search"),R=w(".hot-search"),U=w("#clear-history");C.showLoadingMask(),j(w("img.lazy")),w(".yoho-header").css({"z-index":2,position:"fixed",top:0}),z.css("top","51px"),z.css("position","fixed"),P.on("touchstart",function(){z.hasClass("hide")?(_.css("top","54px"),M.css("margin-top","0px"),A.css("margin-top","0px"),w(".banner-top").css("margin-top","0px")):(_.css("top","104px"),M.css("margin-top","50px"),A.css("margin-top","50px"),w(".banner-top").css("margin-top","50px"))}),function(){w(".banner-top").length>0&&w(".hot-brands").css("padding-top","0"),w(".hide-when-loading").show(),C.hideLoadingMask(),c=new b(".swiper-container",{lazyLoading:!0,loop:!0,autoplay:3e3,pagination:".swiper-pagination .pagination-inner"}),h=new b(".brands-swiper",{grabCursor:!0,slidesPerView:"auto",wrapperClass:"brands-list",slideElement:"li"})}(),u=w('<div class="title-bar fixed-title-bar"><h2></h2></div>'),u.css({position:"fixed",top:N}).hide(),p=N+w(".hot-brands").outerHeight()+w(".banner-top").outerHeight(),T.last().append(u),w(window).scroll(function(){window.requestAnimationFrame(n)}),a(),w(".history-search").length>0&&d(w(".history-search")),w(".hot-search").length>0&&d(w(".hot-search")),w(".brand-search-page").length>0&&(f=w.parseJSON(w("#brands-data").html()),m=w("#keyword"),m.on("input",function(){s()}).focus(),q.css("color","#444"),m.closest(".search-box").css("width","11.25rem"),D.show().find(".clear-text").hide(),g=new y(w(".clear-text")[0]),g.on("tap",function(e){w(".search-result").html(""),w("#keyword").val("").trigger("input"),e.preventDefault(),e.srcEvent.stopPropagation()}),w("form.search-box").on("submit",function(){return!1})),E.length>0&&E.on("touchstart",function(){function e(){window.location.search="channel="+t}var t=w(this).data("id")+1;w(".genderNav ul .active").removeClass("active"),w(this).addClass("active"),w(".hide-when-loading").hide(),C.showLoadingMask(),setTimeout(e.bind(this),100)}),I.length>0&&I.on("click",function(){var e=w(this).data("id");w(".brandNav ul .active").removeClass("active"),w(this).addClass("active"),0===e?(L.not(".hide").addClass("hide"),S.not(".hide").addClass("hide"),T.removeClass("hide")):1===e?(S.removeClass("hide"),T.not(".hide").addClass("hide"),L.not(".hide").addClass("hide")):(L.removeClass("hide"),T.not(".hide").addClass("hide"),S.not(".hide").addClass("hide"))}),w(".brand-search-page").length>0&&(v=new y(U[0]),v.on("tap",function(){localStorage.removeItem("historys-brand"),B.html(""),H.hide(),U.hide(),w(".net-search").length>0&&r(),window.rePosFooter()}),function(){var e,t,o,n,a,i,s="";if(localStorage&&(t=localStorage.getItem("historys-brand"),t&&t.length>0)){for(t=t.split(x),o=t.length>=10?10:t.length;o>0;o--)e=t[o-1],""!==e&&(n=e.split(k),a=n[0],i=n[1],s+='<li><a href="'+i+'" brandName = "'+a+'">'+a+"</li>",H.removeClass("hide"));B.html(s),U.removeClass("hide"),R.removeClass("hide"),window.rePosFooter()}}())}),define("js/plugin/loading",["jquery"],function(e,t,o){function n(e){var t='<div class="loading-mask hide"><div class="loading"><div></div><div></div><div></div></div></div>';d=!0,void 0===e&&(e=l),e.append(t),s=e.children(".loading-mask")}function a(){d||(n(),d=!0),s.removeClass("hide")}function i(){s.addClass("hide")}var s,r=e("jquery"),l=r(".yoho-page"),d=!1;t.init=n,t.showLoadingMask=a,t.hideLoadingMask=i}),define("js/guang/entry",["jquery","lazyload","swiper","hammer","mlellipsis","iscroll-probe","index"],function(e,t,o){e("js/guang/plus-star/list"),e("js/guang/plus-star/detail"),e("js/guang/home"),e("js/guang/list"),e("js/guang/detail"),e("js/guang/star-classroom"),e("js/guang/calendar"),e("js/guang/collocation-list"),e("js/guang/check-top")}),define("js/guang/plus-star/list",["jquery","lazyload","swiper","index"],function(e,t,o){var n,a=e("jquery"),i=e("lazyload"),s=e("swiper"),r=a("#nav-tab > li"),l=a("#ps-content > .content");i(a("img.lazy")),a(".star-content li").each(function(e,t){a(t).find(".swiper-container").addClass("swiper-"+e),n=new s(".swiper-"+e,{lazyLoading:!0,pagination:".swiper-"+e+" .pagination-inner"})}),a("#nav-tab").bind("contextmenu",function(e){return!1}),a("#nav-tab").on("touchend touchcancel",function(e){var t=a(e.target).closest("li");t.hasClass("focus")||(r.toggleClass("focus"),l.toggleClass("hide"),a(document).trigger("scroll"))}),a("#nav-tab").on("touchstart",function(e){var t=e.target||e.srcElement;t.className="bytouch "+t.className}).on("touchend touchcancel",function(){r.removeClass("bytouch")})}),define("js/guang/plus-star/detail",["jquery","hammer","mlellipsis","lazyload","swiper","index"],function(e,t,o){var n,a,i,s,r,l,d=e("jquery"),c=e("hammer"),u=e("mlellipsis"),h=e("lazyload"),p=d("#intro"),f=d("#intro-more-txt"),m=d("#related-infos-container"),g=e("js/guang/info"),v=e("js/plugin/tip"),w=d("#brand-info").data("id"),y=d("#jump-to-app").val();e("js/plugin/wx-share"),u.init(),h(d("img.lazy")),d(".good-detail-text .name").length>0&&d(".good-detail-text .name").each(function(){r=d(this),l=r.find("a"),l[0].mlellipsis(2)}),p[0].mlellipsis(3),setTimeout(function(){n=p.text(),a=p.attr("title")}),g.initInfosEvt(m),i=new c(document.getElementById("more-intro")),i.on("tap",function(e){var t=d(e.target).closest("#more-intro");t.toggleClass("spread"),t.hasClass("spread")?(p.text(a),f.text("收起")):(p.text(n),f.text("more"),d(window).scrollTop(0,400)),e.preventDefault()}),s=new c(document.getElementById("brand-like")),s.on("tap",function(e){var t="ok",o=d(e.target);"1"!==y&&(e.preventDefault(),o.hasClass("like")&&(t="cancel"),d.ajax({type:"POST",url:"/guang/opt/favoriteBrand",data:{id:w,opt:t},success:function(e){200===e.code?(o.toggleClass("like"),v.show(e.message)):400===e.code||412===e.code?location.href=e.data:v.show(e.message)},error:function(){v.show("网络断开连接了~")}}))})}),define("js/guang/info",["jquery","hammer","mlellipsis","lazyload","swiper","index"],function(e,t,o){function n(e){void 0!==typeof e&&(y[e]=new u(".swiper-cont-"+e,{lazyLoading:!0,wrapperClass:"swiper-wrap-"+e,pagination:".swiper-pagi-"+e,autoplay:3e3}))}function a(e){c(e.find("img.lazy")),e.each(function(){var e=r(this),t=e.find(".info-title"),o=e.find(".info-text");t[0].mlellipsis(2),o[0].mlellipsis(2)})}function i(e){var t;"undefined"!=typeof e&&(t=new l(e[0]),t.on("tap",function(e){var t,o,n=r(e.target),a="ok";return t=n.closest(".like-btn"),t.length>0&&!b?(e.preventDefault(),t.hasClass("like")&&(a="cancel"),o=n.closest(".guang-info"),b=!0,void r.ajax({type:"POST",url:"/guang/opt/praiseArticle",data:{id:o.data("id"),opt:a},success:function(e){var o=e.code;200===o&&(t.next(".like-count").text(e.data),t.toggleClass("like"))},error:function(){h.show("网络断开连接了~")},complete:function(){b=!1}})):(t=n.closest(".collect-btn"),void(t.length>0&&(e.preventDefault(),t.hasClass("collected")&&(a="cancel"),o=n.closest(".guang-info"),r.ajax({type:"POST",url:"/guang/opt/collectArticle",data:{id:o.data("id"),opt:a},success:function(e){e.code&&200===e.code&&t.toggleClass("collected")},error:function(){h.show("网络断开连接了~")}}))))}),a(e.find(".guang-info")))}function s(e,t,o){var i;w||t.end||(1===t.page&&p.showLoadingMask(),i=e.find(".guang-info").length,w=!0,r.ajax({type:"GET",url:o?o:"/guang/index/page",data:t,success:function(o){var s;return" "===o?(t.end=!0,w=!1,m.addClass("hide"),void g.removeClass("hide")):(e.append(o),v=e.find(".swiper-container"),v.length&&(v.addClass("swiper-cont-"+t.type),v.children(".swiper-wrapper").addClass("swiper-wrap-"+t.type),v.children(".swiper-pagination").addClass("swiper-pagi-"+t.type),n(t.type)),s=i>0?e.find(".guang-info:gt("+(i-1)+")"):e.find(".guang-info"),a(s),1===t.page&&(p.hideLoadingMask(),m.removeClass("hide"),window.rePosFooter()),t.page++,w=!1,void delete t.isTab)},error:function(){h.show("网络断开连接了~"),w=!1,delete t.isTab}}))}var r=e("jquery"),l=e("hammer"),d=e("mlellipsis"),c=e("lazyload"),u=e("swiper"),h=e("js/plugin/tip"),p=e("js/plugin/loading"),f=r("#load-more-info"),m=r(""),g=r(""),v=r(""),w=!1,y={},b=!1;d.init(),f.length>0&&(m=f.children(".loading"),g=f.children(".no-more")),t.mySwiper=y,t.initSwiper=n,t.initInfosEvt=i,t.setLazyLoadAndMellipsis=a,t.loadMore=s}),define("js/plugin/tip",["jquery"],function(e,t,o){function n(e,t){var o,n;"undefined"!=typeof e&&(o=e.toString(),n=t&&t>0?t:2e3,a.text(o).show(),i=setTimeout(function(){"block"===a.css("display")&&a.hide()},n))}var a,i,s=e("jquery");!function(){var e='<div id="yoho-tip" class="yoho-tip"></div>';s(".yoho-page").append(e),a=s("#yoho-tip"),a.on("touchend",function(){a.hide(),clearTimeout(i)})}(),t.show=n}),define("js/plugin/wx-share",["jquery"],function(e,t,o){var n=e("jquery");o.exports=function(){var e="http://www.yohoshow.com/api/wechat/getSignPackage";n.getJSON(e+"?pageurl="+encodeURIComponent(location.href.split("#")[0])+"&callback=?",function(e){var t,o,n,a;void 0!==e&&""!==e&&(t=e.appId.toString(),o=e.timestamp,n=e.nonceStr.toString(),a=e.signature.toString(),wx.config({debug:!1,appId:t,timestamp:o,nonceStr:n,signature:a,jsApiList:["checkJsApi","onMenuShareTimeline","onMenuShareAppMessage","onMenuShareQQ","onMenuShareWeibo","hideMenuItems","showMenuItems","hideAllNonBaseMenuItem","showAllNonBaseMenuItem","translateVoice","startRecord","stopRecord","onRecordEnd","playVoice","pauseVoice","stopVoice","uploadVoice","downloadVoice","chooseImage","previewImage","uploadImage","downloadImage","getNetworkType","openLocation","getLocation","hideOptionMenu","showOptionMenu","closeWindow","scanQRCode","chooseWXPay","openProductSpecificView","addCard","chooseCard","openCard"]}))}),wx.ready(function(){var e=n("#shareTitle").val(),t=n("#shareImg").val(),o=n("#shareDesc").val(),a=n("#shareLink").val(),i={title:e,desc:o,imgUrl:t,link:a};wx.onMenuShareAppMessage(i),wx.onMenuShareTimeline(i),wx.onMenuShareQQ(i),wx.onMenuShareWeibo(i)})}}),define("js/guang/home",["jquery","hammer","mlellipsis","lazyload","swiper","index"],function(e,t,o){function n(){var e=h.not(".hide");a(window).scrollTop()+c>=a(document).height()-.25*e.height()&&s(e,g[m])}var a=e("jquery"),i=e("js/guang/info"),s=i.loadMore,r=a("#load-more-info"),l=a(""),d=a(""),c=a(window).height(),u=a("#info-list"),h=u.children(".info-list"),p=a("#guang-nav"),f=p.children(".focus"),m=f.data("type"),g={};r.length>0&&(l=r.children(".loading"),d=r.children(".no-more")),i.initSwiper(m),i.initInfosEvt(u),function(){var e=a("#gender").val();p.children(".guang-nav-item").each(function(){var t=a(this).data("type"),o=a(this).hasClass("focus");g[t]={page:o?2:1,gender:e,type:t,end:!1}})}(),p.bind("contextmenu",function(e){return!1}),p.on("touchend touchcancel",function(e){var t,o,n=a(e.target).closest(".guang-nav-item");n.hasClass("focus")||(o=n.index(),n.addClass("focus"),f.removeClass("focus"),t=h.eq(o),f=n,m=n.data("type"),1===g[m].page?(l.addClass("hide"),d.addClass("hide"),g[m].isTab=!0,s(t,g[m])):g[m].end?(l.addClass("hide"),d.removeClass("hide")):(l.removeClass("hide"),d.addClass("hide")),h.not(".hide").addClass("hide"),t.removeClass("hide"),1===g[m].page&&window.rePosFooter())}),a(document).scroll(function(){window.requestAnimationFrame(n)}),p.on("touchstart",function(e){var t=e.target||e.srcElement;t.className="bytouch "+t.className}).on("touchend touchcancel",function(){p.find("li").removeClass("bytouch")})}),define("js/guang/list",["jquery","hammer","mlellipsis","lazyload","swiper","index"],function(e,t,o){function n(){a(window).scrollTop()+r>=a(document).height()-.25*p.height()&&s(p,h)}var a=e("jquery"),i=e("js/guang/info"),s=i.loadMore,r=a(window).height(),l=a("#author-infos"),d=a("#tag"),c=a("#gender"),u=a("#isApp"),h={page:2,end:!1},p=a("#info-list");i.initInfosEvt(p),l.length>0&&a.extend(h,{authorId:l.data("id"),isApp:u.val()}),d.length>0&&a.extend(h,{tag:d.val(),gender:c.val(),isApp:u.val()}),a(window).scroll(function(){window.requestAnimationFrame(n)})}),define("js/guang/detail",["jquery","mlellipsis","lazyload","iscroll-probe"],function(e,t,o){function n(e){var t=e.offset().left,o=-C+t+y/2+"px";r.css({backgroundPosition:o+" bottom"}),v&&b.css({backgroundPosition:o+" bottom"})}function a(e){var t,o,a,i=h(e.currentTarget),p=i.index();i.hasClass("focus")||(l.filter(".focus").removeClass("focus"),v&&(t=i.closest(".fixed-thumb-container").length>0?r:b,o=t.find(".thumb").eq(p),b.find(".thumb.focus").removeClass("focus"),o.addClass("focus")),i.addClass("focus"),n(i),d.not(".hide").addClass("hide"),a=d.eq(p),a.removeClass("hide"),f(a.find(".lazy")),v?u&&u.scrollToElement(c,400):h("body").animate({scrollTop:s.offset().top},400),u&&u.refresh())}function i(){var e,t,o,n,a,i=h("#scroller"),l=h(".yoho-header"),d=0;return l.length>0&&(d=l.outerHeight()),u=new m("#wrapper",{probeType:3,mouseWheel:!0,click:!0}),document.addEventListener("touchmove",function(e){e.preventDefault()},!1),w?(e=h(window).height()-d,a=b[0],t=r.outerHeight(),o=s.outerHeight(),n=s.offset().top-d,void u.on("scroll",function(){var s=-this.y,r=a.className;n-e+t>=s?-1===r.indexOf("fixed-bottom")&&b.addClass("fixed-bottom").removeClass("hide"):n>=s?-1===r.indexOf("hide")&&b.addClass("hide").removeClass("fixed-bottom fixed-top"):n+o-t>=s?-1===r.indexOf("fixed-top")&&b.addClass("fixed-top").removeClass("hide absolute").css("top",""):n+o>=s?(-1===r.indexOf("absolute")&&b.addClass("absolute").removeClass("fixed-top hide"),a.style.top=n+d+o-t-s+"px"):s>n+o&&-1===r.indexOf("hide")&&b.addClass("hide").removeClass("absolute"),i.trigger("scroll")})):void u.on("scroll",function(){i.trigger("scroll")})}var s,r,l,d,c,u,h=e("jquery"),p=e("mlellipsis"),f=e("lazyload"),m=e("iscroll-probe"),g=h(".author .intro"),v=!1,w=h(".collocation-block").length>0?!0:!1,y=0,b=h(""),c=document.querySelector("#wrapper .collocation-block"),C=h(window).width();e("js/plugin/wx-share")(),window.onload=function(){u&&u.refresh()},t.i=function(e){var t,o,c=navigator.userAgent.indexOf("iPhone")>0?!0:!1;v=c&&e,p.init(),h(".good-detail-text .name").length>0&&h(".good-detail-text .name").each(function(){t=h(this),o=t.find("a"),o[0].mlellipsis(2)}),f(h(".lazy")),h(".info-list .title, .one-good .reco-name").each(function(){this.mlellipsis(2)}),g.offset()&&parseInt(g.offset().left,10)===parseInt(g.css("margin-left"),10)&&g.css("padding-top",0),v&&(h(".yoho-header").length>0?h("#wrapper").addClass("ios has-head"):h("#wrapper").addClass("ios")),w&&(s=h(".collocation-block"),r=s.children(".thumb-container"),l=r.find("li"),d=s.find(".prod"),y=l.width(),v&&(b=h("#wrapper").after(r.clone().addClass("fixed-thumb-container fixed-bottom")).next(".thumb-container"),f(b.find(".lazy"),{event:"sporty"})),n(l.filter(".focus")),r.delegate(".thumb","touchend",a),v&&b.delegate(".thumb","touchend",a)),v&&i()}}),define("js/guang/star-classroom",["jquery","swiper","lazyload","index"],function(e,t,o){function n(e){var t,o=new Image;t=e.data("avatar"),o.src=t,o.onload=function(){e.css("background-image","url("+t+")")}}function a(e){var t,o,a=d(".fan-charts-cont"),i=d(".my-intimacy"),s=d(".increased"),r=e.signDay.split(","),l="",c="",h=new Date,p=h.getFullYear(),f=h.getMonth(),m=u.calculateMonthDays(f,p);if(r.length>0)for(t=0;m>t;t++)for(o=0;o<r.length;o++)t===parseInt(r[o])&&d(".now-days").eq(t-1).addClass("sign-item");for(t=0;t<e.fanCharts.length;t++)c=0===t?"font-bold":"",l+='<li><i class="rank-ico">'+e.fanCharts[t].num+'</i><span data-avatar="'+e.fanCharts[t].img+'" class="rank-avatar"></span><span class="fans-name">'+e.fanCharts[t].name+'</span><div class="fans-intimacy">亲密度<span class="'+c+'">'+e.fanCharts[t].intimacyNum+"</span></div></li>";a.html(l),d(".fan-charts-cont .rank-avatar").each(function(e,t){""!==d(t).attr("data-avatar")&&n(d(t))}),i.find("span").html(e.todayIntimacy),s.find("span").html(e.todayIntimacy),0===e.intimacyNum?(d(".my-intimacy").hide(),d(".increased").show()):(d(".my-intimacy").show(),d(".increased").hide()),d(".pop-intimacy").css({zIndex:"10"}).show(),d(".classroom-mask").css({zIndex:"9"}).show(),d("body").css({overflow:"hidden"})}function i(e,t){return t+=/^[\u0000-\u00ff]$/.test(e)?1:2}function s(){var e,t,o=d(".home-floor-sign").find(".user-name"),n=o.html(),a=n.length,s=0,r="";for(e=0;a>e;e++)t=n.charAt(e),s=i(t,s),5>s&&(r+=t);s>8?r+=".."+n.charAt(a-1):r=n,o.html(r)}var r,l,d=e("jquery"),c=e("swiper"),u=e("js/guang/calendar"),h=e("lazyload"),p=e("js/plugin/tip");h(d("img.lazy")),d("body").addClass("star-class-body"),d(".banner-swiper").find("li").length>1&&(r=new c(".banner-swiper",{lazyLoading:!0,lazyLoadingInPrevNext:!0,loop:!0,autoplay:3e3,autoplayDisableOnInteraction:!1,paginationClickable:!0,slideElement:"li",pagination:".banner-top .pagination-inner"})),d(".collocation-swiper").find("li").length>1&&(l=new c(".collocation-swiper",{lazyLoading:!0,lazyLoadingInPrevNext:!0,lazyLoadingOnTransitionStart:!0,grabCursor:!0,slidesPerView:"auto",slideElement:"li",watchSlidesVisibility:!0})),d(".artice-zan").find("li").length>0&&d(".zan-more").show(),d(".home-floor-sign").length>0&&s(),d(document).on("touchstart",".like-ico",function(e){var t=d(this),o="";e.stopPropagation(),d.ajax({type:"POST",url:"/guang/starclass/setPraise",data:{articleId:t.parents("li").attr("articleId")},success:function(e){var n=e.code;200===n&&(t.hasClass("like")?t.removeClass("like"):t.addClass("like"),o=e.num>99?"+":"",t.parent().find(".zan-more").html(e.num+o))},error:function(){p.show("网络断开连接了~")}})}),d(".add-intimacy").on("touchstart",function(e){e.stopPropagation(),e.preventDefault(),d.ajax({type:"GET",url:"/guang/starclass/sign",success:function(e){var t=e.code;200===t&&a(e.data),201===t&&(d("#intimacy-link").length<=0&&d("body").append("<a href='"+e.data+'\' style="display:none;" id="intimacy-link"><span class="intimacy-link"></span></a>'),d(".intimacy-link").click())},error:function(){p.show("网络断开连接了~")}})}),d(".pop-intimacy .pop-close, .classroom-mask").on("click",function(){history.go(0)}),""!==d(".user-head").attr("data-avatar")&&n(d(".user-head"))}),define("js/guang/calendar",["jquery"],function(e,t,o){var n=e("jquery"),a={currentYear:0,currentMonth:0,initialize:function(){var e;e=this.createCalendar(0,0),n("#Container").append(e)},isRuiYear:function(e){return 0===e%4&&(e%100!==0||e%400===0)},calculateWeek:function(e,t,o){var n,a,i;return n="7123456".split(""),a=parseInt(o,10),i=n[new Date(e,t-1,a).getDay()]},calculateMonthDays:function(e,t){var o,n=0;return 0===e||1===e||3===e||5===e||7===e||8===e||10===e||12===e?n=31:2===e?(o=this.isRuiYear(t),n=o===!0?29:28):n=30,n},createCalendar:function(e,t){var o,a,i,s,r,l,d,c,u,h=["January","February","March","April","May","June","July","August","September","October","November","December"];if(o=n('<div class="day-item"></div>'),a=new Date,i=0===e?a.getFullYear():e,this.currentYear=i,s=0===t?a.getMonth()+1:t,this.currentMonth=s,r=this.calculateMonthDays(s,i),window.nowDaysNub=r,n(".cur-year").html(i),n(".cur-month").html(h[s-1]),l=parseInt(this.calculateWeek(i,s,1)),d=this.calculateMonthDays(s-1,i),0!==l)for(c=d-l;d>c;c++)o.append('<div class="item last-item">'+(c+1)+"</div>");for(c=1;r>=c;c++)o.append('<div class="item now-days">'+c+"</div>");if(u=l+r,41>u)for(c=0;41-u>=c;c++)o.append('<div class="item last-item">'+(c+1)+"</div>");return o}};n(document).ready(function(){a.initialize()}),t.calculateMonthDays=a.calculateMonthDays}),define("js/guang/collocation-list",["jquery","lazyload","mlellipsis"],function(e,t,o){function n(e){var t,o,n;r.showLoadingMask(),i.ajax({type:"GET",url:"/guang/starclass/ajaxCollocation",data:{page:e},dataType:"html",success:function(e){c=!1," "===e&&(c=!0,s.show("没有更多内容了")),i(".collocation-list").append(e),i(".cont-area").each(function(){t=i(this),o=t.find(".title"),n=t.find(".cont-txt"),o[0].mlellipsis(2),n[0].mlellipsis(2)}),r.hideLoadingMask(),l(i("img.lazy"))},error:function(){s.show("网络断开连接了~")}})}function a(){!c&&i(window).scrollTop()+i(window).height()>i("body").height()-100&&(c=!0,u++,n(u))}var i=e("jquery"),s=e("js/plugin/tip"),r=e("js/plugin/loading"),l=e("lazyload"),d=e("mlellipsis"),c=!1,u=1;d.init(),i("body").addClass("star-class-body"),window.successShare=function(){i.ajax({type:"POST",url:"/guang/starclass/forward",success:function(e){var t=e.code;200===t&&e.data>0&&s.show("分享成功,亲密度+10")},error:function(){s.show("网络断开连接了~")}})},i(window).scroll(function(){a()}),0===i(".collocation-list").find("li").length&&n(1),i(document).on("touchstart",".collection",function(e){var t,o=i(this),n=o.find(".collected-ico");e.stopPropagation(),t=n.hasClass("collected")?"del":"fav",i.ajax({type:"POST",url:"/guang/starclass/setFavorite",data:{articleId:o.parents("li").attr("articleId"),type:t},success:function(e){var t=e.code;200===t&&(n.hasClass("collected")?n.removeClass("collected"):n.addClass("collected")),201===t&&(i("#collocation-link").length<=0&&i("body").append("<a href='"+e.data+'\' style="display:none;" id="collocation-link"><span class="collocation-link"></span></a>'),i(".collocation-link").click())},error:function(){s.show("网络断开连接了~")}})})}),define("js/guang/check-top",["jquery"],function(e,t,o){function n(e){var t,o=new Image;t=e.data("avatar"),o.src=t,o.onload=function(){e.css("background-image","url("+t+")")}}var a=e("jquery");a("body").addClass("star-class-body"),a(".ranking-area li").length>0&&a.each(a(".ranking-area li"),function(e,t){n(a(t).find(".rank-avatar"))}),""!==a(".user-avatar").attr("data-avatar")&&n(a(".user-avatar"))}),define("js/home/entry",["jquery","swiper","lazyload","hammer","mlellipsis","index"],function(e,t,o){e("js/home/home"),e("js/home/maybe-like")}),define("js/home/home",["jquery","swiper","lazyload","hammer","mlellipsis","index"],function(e,t,o){function n(){x=!1,v.hasClass("menu-open")&&(v.removeClass("menu-open"),w.hide(),p(".sub-nav").removeClass("show"),y.removeClass("on"))}function a(e){e.find("li").on("touchstart",function(){e.find(".highlight").removeClass("highlight"),p(this).addClass("highlight")}).on("touchend touchcancel",function(){p(this).removeClass("highlight")})}function i(){C+=10,j.css({transform:"rotateX("+C+"deg)","-webkit-transform":"rotateX("+C+"deg)","-moz-transform":"rotateX("+C+"deg)"}),C/90%2===1&&(k?(j.addClass("animate"),k=!1):(j.removeClass("animate"),k=!0)),C/90%2===0&&C%360!==0?window.setTimeout(i,3e3):C%360===0?window.setTimeout(i,6e4):window.requestAnimationFrame(i)}var s,r,l,d,c,u,h,p=e("jquery"),f=e("swiper"),m=e("lazyload"),g=e("js/plugin/notice-scroll"),v=p(".mobile-wrap"),w=p(".overlay"),y=p(".side-nav"),b=p(".sub-nav"),C=0,j=p(".home-header .logo"),x=!1,k=!0,T=e("js/home/fastclick");T(document.body),m(p("img.lazy")),g(".notice",1e3*p(".notice").data("time")),p(".nav-btn").on("touchstart",function(){return y.css("pointer-events","none"),v.addClass("menu-open"),w.show().css("opacity",.3),y.addClass("on"),x=!0,setTimeout(function(){y.css("pointer-events","auto")},400),!1}),w.on("touchstart",function(){return n(),!1}),y.on("touchmove scroll",function(){return!1}),y.on("touchend","li",function(e){return p(this).find(".sub-nav").size()>0&&(p(".sub-nav").removeClass("show"),p(this).find(".sub-nav").addClass("show"),p(this).find(".highlight").removeClass("highlight")),e.target.pathname===location.pathname?(n(), -!1):void 0}),b.each(function(){p(this).find("li").eq(0).on("click",function(){return p(".sub-nav").removeClass("show"),!1})}).on("touchstart",function(e){e.currentTarget!==e.target&&b.find("li").removeClass("current")}),a(y),a(b),p(".banner-swiper").find("li").size()>1&&(s=new f(".banner-swiper",{lazyLoading:!0,lazyLoadingInPrevNext:!0,loop:!0,autoplay:3e3,autoplayDisableOnInteraction:!1,paginationClickable:!0,slideElement:"li",pagination:".banner-top .pagination-inner"})),l=new f(".brands-swiper",{grabCursor:!0,slidesPerView:"auto",wrapperClass:"brands-list",slideElement:"li"}),r=new f(".recommend-swiper",{grabCursor:!0,slidesPerView:"auto",wrapperClass:"recommend-list",slideElement:"li"}),p(".trend-topic-swiper").find("li").size()>1&&(d=new f(".trend-topic-swiper",{loop:!0,autoplay:3e3,autoplayDisableOnInteraction:!1,paginationClickable:!0,slideElement:"li",pagination:".trend-topic-content .pagination-inner"})),p(".fresh-list-swiper").find("li").size()>1&&(u=new f(".fresh-list-swiper",{lazyLoading:!0,lazyLoadingInPrevNext:!0,grabCursor:!0,slidesPerView:"auto",slideElement:"li",watchSlidesVisibility:!0})),p(".category-swiper").each(function(e,t){h="category-swiper"+e,p(this).addClass(h),p("."+h).find(".swiper-slide").size()>1&&(c=new f("."+h,{loop:!0,autoplay:3e3,autoplayDisableOnInteraction:!1,paginationClickable:!0,slideElement:"li",pagination:"."+h+" .pagination-inner"}))}),setTimeout(i,3e3),p(".home-header .iconfont").on("touchstart",function(){p(this).addClass("highlight")}).on("touchend touchcancel",function(){p(this).removeClass("highlight")}),window.reMarginFooter(".footer-tab"),t.set=function(e){window.setCookie("_Channel",e,{expires:365,domain:".m.yohobuy.com"})},e("js/home/maybe-like")()}),define("js/plugin/notice-scroll",["jquery"],function(e,t,o){function n(e,t){var o=a(e),n=o.find(".notice-item"),i=n.length,s=1;e=e||".notice",t=t||3e3,i>1&&setInterval(function(){s>=i&&(s=0),n.fadeOut(),o.find(".item-"+s).fadeIn(),s++},t)}var a=e("jquery");o.exports=n}),define("js/home/fastclick",[],function(e,t,o){!function(){"use strict";function e(t,o){function a(e,t){return function(){return e.apply(t,arguments)}}var i;if(o=o||{},this.trackingClick=!1,this.trackingClickStart=0,this.targetElement=null,this.touchStartX=0,this.touchStartY=0,this.lastTouchIdentifier=0,this.touchBoundary=o.touchBoundary||10,this.layer=t,this.tapDelay=o.tapDelay||200,this.tapTimeout=o.tapTimeout||700,!e.notNeeded(t)){for(var s=["onMouse","onClick","onTouchStart","onTouchMove","onTouchEnd","onTouchCancel"],r=this,l=0,d=s.length;d>l;l++)r[s[l]]=a(r[s[l]],r);n&&(t.addEventListener("mouseover",this.onMouse,!0),t.addEventListener("mousedown",this.onMouse,!0),t.addEventListener("mouseup",this.onMouse,!0)),t.addEventListener("click",this.onClick,!0),t.addEventListener("touchstart",this.onTouchStart,!1),t.addEventListener("touchmove",this.onTouchMove,!1),t.addEventListener("touchend",this.onTouchEnd,!1),t.addEventListener("touchcancel",this.onTouchCancel,!1),Event.prototype.stopImmediatePropagation||(t.removeEventListener=function(e,o,n){var a=Node.prototype.removeEventListener;"click"===e?a.call(t,e,o.hijacked||o,n):a.call(t,e,o,n)},t.addEventListener=function(e,o,n){var a=Node.prototype.addEventListener;"click"===e?a.call(t,e,o.hijacked||(o.hijacked=function(e){e.propagationStopped||o(e)}),n):a.call(t,e,o,n)}),"function"==typeof t.onclick&&(i=t.onclick,t.addEventListener("click",function(e){i(e)},!1),t.onclick=null)}}var t=navigator.userAgent.indexOf("Windows Phone")>=0,n=navigator.userAgent.indexOf("Android")>0&&!t,a=/iP(ad|hone|od)/.test(navigator.userAgent)&&!t,i=a&&/OS 4_\d(_\d)?/.test(navigator.userAgent),s=a&&/OS [6-7]_\d/.test(navigator.userAgent),r=navigator.userAgent.indexOf("BB10")>0;e.prototype.needsClick=function(e){switch(e.nodeName.toLowerCase()){case"button":case"select":case"textarea":if(e.disabled)return!0;break;case"input":if(a&&"file"===e.type||e.disabled)return!0;break;case"label":case"iframe":case"video":return!0}return/\bneedsclick\b/.test(e.className)},e.prototype.needsFocus=function(e){switch(e.nodeName.toLowerCase()){case"textarea":return!0;case"select":return!n;case"input":switch(e.type){case"button":case"checkbox":case"file":case"image":case"radio":case"submit":return!1}return!e.disabled&&!e.readOnly;default:return/\bneedsfocus\b/.test(e.className)}},e.prototype.sendClick=function(e,t){var o,n;document.activeElement&&document.activeElement!==e&&document.activeElement.blur(),n=t.changedTouches[0],o=document.createEvent("MouseEvents"),o.initMouseEvent(this.determineEventType(e),!0,!0,window,1,n.screenX,n.screenY,n.clientX,n.clientY,!1,!1,!1,!1,0,null),o.forwardedTouchEvent=!0,e.dispatchEvent(o)},e.prototype.determineEventType=function(e){return n&&"select"===e.tagName.toLowerCase()?"mousedown":"click"},e.prototype.focus=function(e){var t;a&&e.setSelectionRange&&0!==e.type.indexOf("date")&&"time"!==e.type&&"month"!==e.type?(t=e.value.length,e.setSelectionRange(t,t)):e.focus()},e.prototype.updateScrollParent=function(e){var t,o;if(t=e.fastClickScrollParent,!t||!t.contains(e)){o=e;do{if(o.scrollHeight>o.offsetHeight){t=o,e.fastClickScrollParent=o;break}o=o.parentElement}while(o)}t&&(t.fastClickLastScrollTop=t.scrollTop)},e.prototype.getTargetElementFromEventTarget=function(e){return e.nodeType===Node.TEXT_NODE?e.parentNode:e},e.prototype.onTouchStart=function(e){var t,o,n;if(e.targetTouches.length>1)return!0;if(t=this.getTargetElementFromEventTarget(e.target),o=e.targetTouches[0],a){if(n=window.getSelection(),n.rangeCount&&!n.isCollapsed)return!0;if(!i){if(o.identifier&&o.identifier===this.lastTouchIdentifier)return e.preventDefault(),!1;this.lastTouchIdentifier=o.identifier,this.updateScrollParent(t)}}return this.trackingClick=!0,this.trackingClickStart=e.timeStamp,this.targetElement=t,this.touchStartX=o.pageX,this.touchStartY=o.pageY,e.timeStamp-this.lastClickTime<this.tapDelay&&e.preventDefault(),!0},e.prototype.touchHasMoved=function(e){var t=e.changedTouches[0],o=this.touchBoundary;return Math.abs(t.pageX-this.touchStartX)>o||Math.abs(t.pageY-this.touchStartY)>o?!0:!1},e.prototype.onTouchMove=function(e){return this.trackingClick?((this.targetElement!==this.getTargetElementFromEventTarget(e.target)||this.touchHasMoved(e))&&(this.trackingClick=!1,this.targetElement=null),!0):!0},e.prototype.findControl=function(e){return void 0!==e.control?e.control:e.htmlFor?document.getElementById(e.htmlFor):e.querySelector("button, input:not([type=hidden]), keygen, meter, output, progress, select, textarea")},e.prototype.onTouchEnd=function(e){var t,o,r,l,d,c=this.targetElement;if(!this.trackingClick)return!0;if(e.timeStamp-this.lastClickTime<this.tapDelay)return this.cancelNextClick=!0,!0;if(e.timeStamp-this.trackingClickStart>this.tapTimeout)return!0;if(this.cancelNextClick=!1,this.lastClickTime=e.timeStamp,o=this.trackingClickStart,this.trackingClick=!1,this.trackingClickStart=0,s&&(d=e.changedTouches[0],c=document.elementFromPoint(d.pageX-window.pageXOffset,d.pageY-window.pageYOffset)||c,c.fastClickScrollParent=this.targetElement.fastClickScrollParent),r=c.tagName.toLowerCase(),"label"===r){if(t=this.findControl(c)){if(this.focus(c),n)return!1;c=t}}else if(this.needsFocus(c))return e.timeStamp-o>100||a&&window.top!==window&&"input"===r?(this.targetElement=null,!1):(this.focus(c),this.sendClick(c,e),a&&"select"===r||(this.targetElement=null,e.preventDefault()),!1);return a&&!i&&(l=c.fastClickScrollParent,l&&l.fastClickLastScrollTop!==l.scrollTop)?!0:(this.needsClick(c)||(e.preventDefault(),this.sendClick(c,e)),!1)},e.prototype.onTouchCancel=function(){this.trackingClick=!1,this.targetElement=null},e.prototype.onMouse=function(e){return this.targetElement?e.forwardedTouchEvent?!0:e.cancelable&&(!this.needsClick(this.targetElement)||this.cancelNextClick)?(e.stopImmediatePropagation?e.stopImmediatePropagation():e.propagationStopped=!0,e.stopPropagation(),e.preventDefault(),!1):!0:!0},e.prototype.onClick=function(e){var t;return this.trackingClick?(this.targetElement=null,this.trackingClick=!1,!0):"submit"===e.target.type&&0===e.detail?!0:(t=this.onMouse(e),t||(this.targetElement=null),t)},e.prototype.destroy=function(){var e=this.layer;n&&(e.removeEventListener("mouseover",this.onMouse,!0),e.removeEventListener("mousedown",this.onMouse,!0),e.removeEventListener("mouseup",this.onMouse,!0)),e.removeEventListener("click",this.onClick,!0),e.removeEventListener("touchstart",this.onTouchStart,!1),e.removeEventListener("touchmove",this.onTouchMove,!1),e.removeEventListener("touchend",this.onTouchEnd,!1),e.removeEventListener("touchcancel",this.onTouchCancel,!1)},e.notNeeded=function(e){var t,o,a,i;if("undefined"==typeof window.ontouchstart)return!0;if(o=+(/Chrome\/([0-9]+)/.exec(navigator.userAgent)||[,0])[1]){if(!n)return!0;if(t=document.querySelector("meta[name=viewport]")){if(-1!==t.content.indexOf("user-scalable=no"))return!0;if(o>31&&document.documentElement.scrollWidth<=window.outerWidth)return!0}}if(r&&(a=navigator.userAgent.match(/Version\/([0-9]*)\.([0-9]*)/),a[1]>=10&&a[2]>=3&&(t=document.querySelector("meta[name=viewport]")))){if(-1!==t.content.indexOf("user-scalable=no"))return!0;if(document.documentElement.scrollWidth<=window.outerWidth)return!0}return"none"===e.style.msTouchAction||"manipulation"===e.style.touchAction?!0:(i=+(/Firefox\/([0-9]+)/.exec(navigator.userAgent)||[,0])[1],i>=27&&(t=document.querySelector("meta[name=viewport]"),t&&(-1!==t.content.indexOf("user-scalable=no")||document.documentElement.scrollWidth<=window.outerWidth))?!0:"none"===e.style.touchAction||"manipulation"===e.style.touchAction?!0:!1)},e.attach=function(t,o){return new e(t,o)},"function"==typeof define&&"object"==typeof define.amd&&define.amd?define(function(){return e}):"undefined"!=typeof o&&o.exports?(o.exports=e.attach,o.exports.FastClick=e):window.FastClick=e}()}),define("js/home/maybe-like",["jquery","hammer","mlellipsis","lazyload"],function(e,t,o){o.exports=function(t){function o(){w||(w=!0,p.showLoadingMask(),c.ajax({type:"GET",url:s,data:{page:y+1},success:function(e){return" "===e?(w=!1,p.hideLoadingMask(),void(b&&!t&&(s="1,3"===b?"/boys/bottomBanner":"/girls/bottomBanner",c.ajax({type:"GET",url:s,success:function(e){e&&e.img&&(c("#load-more-img").show(),c("#load-more-img a").attr("href",e.url),c("#load-more-img a > img").attr("src",e.img))},error:function(){}})))):(e.length>1&&(d?null:d=c("#yoho-footer"),d.hasClass("bottom")?d.removeClass("bottom"):null),i=v.find(".good-info").length,v.append(e),m(0===i?v.find(".good-info").find("img.lazy"):v.find(".good-info:gt("+(i-1)+")").find("img.lazy")),w=!1,p.hideLoadingMask(),y++,void c(".good-detail-text .name").each(function(){var e=c(this),t=e.find("a");t[0].mlellipsis(2)}))},error:function(){h.show("网络断开连接了~"),w=!1,p.hideLoadingMask()}}))}function n(){c(window).scrollTop()+g>=c(document).height()-200&&o()}var a,i,s,r,l,d,c=e("jquery"),u=e("hammer"),h=e("js/plugin/tip"),p=e("js/plugin/loading"),f=e("mlellipsis"),m=e("lazyload"),g=c(window).height(),v=c("#goods-list"),w=!1,y=0,b=null,C="kids"===t||c(".mobile-wrap").hasClass("kids-wrap")?!0:!1,j="lifestyle"===t||c(".mobile-wrap").hasClass("lifestyle-wrap")?!0:!1,x=c("#maybe-like-nav");f.init(),C?s="/product/recom/maylikekids":j?s="lifestyle"===t?"/product/recom/maylike?gender=1,3":"/product/recom/maylikelife":(b="boys"===t||c(".mobile-wrap").hasClass("boys-wrap")?"1,3":"2,3",s="/product/recom/maylike?gender="+b),r=x.children(".focus"),j&&(a=x[0]?new u(x[0]):void 0,a&&a.on("tap",function(e){var t,o=c(e.target).closest("li"),n=c(".goods-list");e.preventDefault(),o.hasClass("focus")||(l=o.index(),o.addClass("focus"),r.removeClass("focus"),n.not(".hide").addClass("hide"),t=n.eq(l),t.removeClass("hide"),r=o,c(document).trigger("scroll"),e.srcEvent.stopPropagation())})),p.init(c(".maybe-like")),c(".maybe-like p").on("touchstart",function(e){o()}),t&&o(),c(window).scroll(function(){window.requestAnimationFrame(n)})}}),define("js/index/entry",["jquery","hammer","swiper","index"],function(e,t,o){e("js/index/search"),e("js/index/footer"),e("js/index/channel"),e("js/index/coupon")}),define("js/index/search",["jquery","hammer"],function(e,t,o){var n,a,i=e("jquery"),s=e("js/plugin/security"),r=e("hammer"),l=i("#search-input input"),d=i("#search-input .clear-input"),c=i(".search-icon"),u=i("#search-form"),h=i(".history"),p=i(".history-search"),f=i("#clear-history"),m=e("js/index/write-search"),g=m.getRanToken();n=new r(f[0]),n.on("tap",function(){localStorage.removeItem("historys"),h.html(""),p.hide(),f.hide(),window.rePosFooter()}),l.on("input",function(){""===l.val()?(c.css("color","#b2b2b2"),d.addClass("hide")):(c.css("color","#666"),d.removeClass("hide"))}),a=new r(d[0]),a.on("tap",function(){l.val("").trigger("input")}),i("#search").on("touchend",function(){return s.hasDangerInput()?!1:(i(this).closest("form").submit(),!1)}),function(){var e,t,o,n="";if(localStorage&&(t=localStorage.getItem("historys"),t&&t.length>0)){for(t=t.split(g),o=t.length;o>0;o--)e=t[o-1],""!==e&&(n+='<li><a href="/?query='+e+'">'+e+"</li>");h.html(n),f.removeClass("hide"),p.removeClass("hide"),window.rePosFooter()}}(),m.bindWirteLocal(u)}),define("js/plugin/security",["jquery"],function(e,t,o){function n(e){var t,o,n,s=a("input[type!=hidden], textarea"),r=/['"<>&\|]|--/g,l=s.length,d=void 0===e||"boolean"!=typeof e?!0:e;for(o=0;l>o;o++)if(t=s.eq(o).val(),r.test(t))return d?s.eq(o).val(t.replace(r," ")):(n=t.match(r).join(" "),i.show("不可以输入 "+n+" 哦!")),!d&&!0;return!1}var a=e("jquery"),i=e("js/plugin/tip");t.hasDangerInput=n}),define("js/index/write-search",[],function(e,t,o){function n(){return i}function a(e){e.on("submit",function(){var e,t=this.query.value;if(localStorage){if(e=localStorage.getItem("historys"),e=e?e:"",e.indexOf(i+t+i)>-1)return;""===e&&(t=i+t),e+=t+i,localStorage.setItem("historys",e)}})}var i=" ??++ ";t.getRanToken=n,t.bindWirteLocal=a}),define("js/index/footer",["jquery","hammer"],function(e,t,o){function n(){var e="http://a.app.qq.com/o/simple.jsp?pkgname=com.yoho&g_f=995445",t=new Date;setTimeout(function(){new Date-t<2e3&&(window.location=e)},500)}var a,i=e("jquery"),s=e("hammer");e("js/common"),i("#float-layer-close").on("touchend",function(e){return i("#float-layer-app").hide(),window.setCookie("_float-layer-app","id490655927",{domain:".yohobuy.com"}),window.setCookie("_float-layer-app-close",1,{domain:".yohobuy.com",expires:1}),!1}),i("#float-layer-btn")&&i("#float-layer-btn")[0]&&(a=new s(i("#float-layer-btn")[0]),a.on("tap",function(e){n("bottom"),e.srcEvent.stopPropagation()}),"function"!=typeof window.cookie||window.cookie("_float-layer-app")?i("#float-layer-app").hide():i("#float-layer-app").show())}),define("js/index/channel",["jquery","hammer"],function(e,t,o){var n=e("jquery"),a=e("js/plugin/security"),i=n(".search-box"),s=n(".box"),r=n(".index-search"),l=n(".index-logo"),d=n(".index-channel a:not(#yohood)"),c=i.children('input[type="text"]'),u=s.children(".no-search"),h=i.children(".search-icon");e("js/common"),c.on("focus",function(){s.addClass("action"),l.addClass("action")}).on("input",function(){""===c.val()?h.addClass("empty"):h.removeClass("empty")}),u.on("touchend",function(){return s.removeClass("action"),l.removeClass("action"),c.blur(),!1}),i.children(".clear-text").on("touchstart",function(){c.val("").focus().trigger("input")}),i.children(".search-icon").on("touchstart",function(){return a.hasDangerInput()?!1:void r.submit()}),i.keyup(function(e){if(13===e.keyCode){if(a.hasDangerInput())return!1;r.submit()}}),n(".index-channel img").on("load error",function(){window.rePosFooter&&window.rePosFooter()}),d.on("touchstart",function(){d.css({background:"#000",color:"#fff",borderColor:"#fff"}),n(this).css({background:"rgba(255, 255, 255, 0.5)",color:"#000",borderColor:"#000"})}).on("touchend touchcancel",function(){n(this).css({background:"#000",color:"#fff",borderColor:"#fff"})})}),define("js/index/coupon",["jquery","swiper","index"],function(e,t,o){function n(e){var t=new RegExp("(^|&)"+e+"=([^&]*)(&|$)"),o=window.location.search.substr(1).match(t);return null!=o?o[2]:null}var a,i=e("jquery"),s=e("swiper"),r=i(".main-right-receive"),l=i(".floor-mask"),d=i(".floor-message"),c=i(".floor-tooltip"),u=e("js/plugin/tip");r.on("click",function(){var e=i(this),t="";n("app_version")&&(t+="&app_version="+n("app_version")),n("uid")&&(t+="&uid="+n("uid")),i.ajax({url:"/coupon/receiveCoupon?code="+n("code")+t,data:{couponID:e.parents(".coupon-floor").attr("coupon-id")},dataType:"json",success:function(t){var o=t.msg,a=t.status,s=t.url+"?code="+n("code");t.isApp===!0&&(s=t.url),t.noLogin===!0?(i("#intimacy-link").length<=0&&i("body").append("<a href='"+s+'\' style="display:none;" id="intimacy-link"><span class="intimacy-link"></span></a>'),i(".intimacy-link").click()):a?(e.hide(),e.next().show(),c.show(),setTimeout(function(){c.hide()},3e3)):(d.find(".coupon-message-content").text(o),l.show(),d.show())},error:function(){u.show("网络异常!")}})}),i(".coupon-floor a, .banner-top a").on("click",function(){return i(this).attr("href").length<=0||"#"===i(this).attr("href")?!1:void 0}),i(".banner-swiper").find("li").length>1&&(a=new s(".banner-swiper",{lazyLoading:!0,lazyLoadingInPrevNext:!0,loop:!0,autoplay:3e3,autoplayDisableOnInteraction:!1,paginationClickable:!0,slideElement:"li",pagination:".banner-top .pagination-inner"})),i(".coupon-message-op-rel").on("click",function(){location.reload()}),i("#noData").length>0&&location.href.indexOf("?openby:yohobuy=")<=0&&u.show("网络异常!"),l.on("click",function(){l.hide(),d.hide()})}),define("js/passport/entry",["jquery","handlebars","source-map","hammer"],function(e,t,o){e("js/passport/register/register"),e("js/passport/register/code"),e("js/passport/register/password"),e("js/passport/login/login"),e("js/passport/login/international"),e("js/passport/back/mobile"),e("js/passport/back/code"),e("js/passport/back/email"),e("js/passport/back/email-success"),e("js/passport/back/new-password"),e("js/passport/bind/bind"),e("js/passport/bind/code"),e("js/passport/bind/password"),e("js/passport/bind/relate")}),define("js/passport/register/register",["jquery"],function(e,t,o){var n=e("jquery"),a=n("#phone-num"),i=n("#country-select"),s=n("#area-code"),r=n("#btn-next"),l=e("js/passport/api"),d=e("js/plugin/tip"),c=n.trim,u=d.show,h=!1;l.selectCssHack(n("#country-select")),l.bindClearEvt(),a.bind("input",function(){""===c(a.val())?r.addClass("disable"):r.removeClass("disable")}),i.change(function(){s.text(i.val())}),r.on("touchstart",function(){var e=c(a.val()),t=i.val();if(!r.hasClass("disable"))return h?!1:void(l.phoneRegx[t].test(e)?(h=!0,n.ajax({url:"/passport/reg/verifymobile",type:"POST",data:{areaCode:t.replace("+",""),phoneNum:e},success:function(e){200===e.code?location.href=e.data:(u(e.message),h=!1)},error:function(e){u("出错了,请重试"),h=!1}})):u("手机号格式不正确,请重新输入"))})}),define("js/passport/api",["jquery"],function(e,t,o){function n(e){var t,o=r(".has-eye");e&&"open"===e.status?o.append('<div class="eye"></div>'):o.append('<div class="eye close"></div>'),t=o.children(".eye"),t.on("touchstart",function(e){var t=r(this),o=t.siblings(".pwd");e.preventDefault(),t.toggleClass("close"),t.hasClass("close")?o.attr("type","password"):o.attr("type","text"),o.focus()})}function a(){var e,t=r(".has-clear");t.append('<div class="clear-input"></div>'),e=t.children(".clear-input"),e.on("touchstart",function(t){var o=e.siblings(".input");o.val("").trigger("input").focus(),t.preventDefault()}),t.children(".input").bind("input",function(){var e=r(this),t=e.siblings(".clear-input"),o=l(e.val());""===o?t.hide():t.show()})}function i(e){return e.length>=6&&e.length<=20?!0:!1}function s(e){function t(){var t=e.find("option:selected").text().length;switch(t){case 2:e.outerWidth(90);break;case 3:e.outerWidth(110);break;default:e.outerWidth(130)}}var o=navigator.userAgent;o.match(/uc/i)&&o.match(/android/i)?e.change(function(){t()}):e.removeClass("in-android-uc")}var r=e("jquery"),l=r.trim,d=/^([a-zA-Z0-9]+[_|\_|\.|-]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.|-]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/,c={"+86":/^1[35847]{1}[0-9]{9}$/,"+852":/^[965]{1}[0-9]{7}$/,"+853":/^[0-9]{8}$/,"+886":/^[0-9]{10}$/,"+65":/^[98]{1}[0-9]{7}$/,"+60":/^1[1234679]{1}[0-9]{8}$/,"+1":/^[0-9]{10}$/,"+82":/^01[0-9]{9}$/,"+44":/^7[789][0-9]{8}$/,"+81":/^0[9|8|7][0-9]{9}$/,"+61":/^[0-9]{11}$/};o.exports={emailRegx:d,phoneRegx:c,bindEyesEvt:n,bindClearEvt:a,pwdValidate:i,selectCssHack:s}}),define("js/passport/register/code",["jquery"],function(e,t,o){e("js/passport/code")(!0)}),define("js/passport/code",["jquery"],function(e,t,o){var n=e("jquery");o.exports=function(t,o,a){function i(){n.ajax({url:o?"/passport/bind/bindMobile":"/passport/bind/relateMobile",type:"post",data:{areaCode:m.replace("+",""),phoneNum:f,openId:p,sourceType:h,nickname:u,password:"",code:w(l.val())},success:function(e){200===e.code?(v.show("登录成功"),setTimeout(function(){location.href=e.data.refer},2e3)):v.show(e.message)},error:function(e){v.show("登录失败,请重试!")}})}function s(){n.ajax({type:"POST",url:"/passport/"+b+"/verifycode",data:{phoneNum:f,areaCode:m,code:w(l.val()),token:n("#token").val()},success:function(e){200===e.code?location.href=e.data:y(e.message)}})}function r(){var e,t=59;e=setInterval(function(){0===t?(c.text("重发验证码").removeClass("disable"),clearInterval(e)):c.text("重发验证码 ("+t--+"秒)")},1e3)}var l=n("#captcha"),d=n("#btn-next"),c=n("#captcha-tip"),u=n("#nickname").val(),h=n("#sourceType").val(),p=n("#openId").val(),f=n("#phone-num").val(),m=n("#area-code").val().replace("+",""),g=e("js/passport/api"),v=e("js/plugin/tip"),w=n.trim,y=v.show,b=t?"reg":"back",C=parseInt(n("#isReg").val());g.bindClearEvt(),l.bind("input",function(){""!==w(l.val())?d.removeClass("disable"):d.addClass("disable")}),c.on("touchstart",function(){c.hasClass("disable")||n.ajax({type:"POST",url:o||a?"/passport/bind/sendBindMsg":"/passport/"+b+"/sendcode",data:{phoneNum:f,areaCode:m},success:function(e){200===e.code?(c.text("重发验证码 (60秒)").addClass("disable"),r()):y(e.message)}})}),d.on("touchstart",function(){d.hasClass("disable")||(o||a?C?i():location.href="/passport/bind/password?phoneNum="+f+"&areaCode="+m+"&openId="+p+"&sourceType="+h+"&nickname="+u+"&code="+w(l.val()):s())}),r()}}),define("js/passport/register/password",["jquery"],function(e,t,o){var n=e("jquery"),a=n("#pwd"),i=n("#btn-sure"),s=e("js/passport/api"),r=e("js/plugin/tip"),l=n.trim,d=r.show;s.bindEyesEvt({status:"open"}),a.bind("input",function(){""===l(a.val())?i.addClass("disable"):i.removeClass("disable")}),i.on("touchstart",function(){var e=l(a.val());i.hasClass("disable")||(s.pwdValidate(e)===!1?d("密码6-20位,请重新输入"):n.ajax({type:"POST",url:"/passport/reg/setpassword",data:{password:e,phoneNum:n("#phone-num").val(),areaCode:n("#area-code").val(),token:n("#token").val()},success:function(e){var t;200===e.code?(t=e.data,d("注册成功"),n.ajax({url:t.session,dataType:"jsonp"}),setTimeout(function(){location.href=t.href},1e3)):d(e.message)}}))})}),define("js/passport/login/login",["jquery"],function(e,t,o){function n(){h&&p?d.removeClass("disable"):d.addClass("disable")}function a(){c.show(),u.show()}function i(){c.hide(),u.hide()}var s=e("jquery"),r=s("#account"),l=s("#pwd"),d=s("#btn-login"),c=s("#retrive-pwd-mask"),u=s("#retrive-pwd-ways"),h=!1,p=!1,f=e("js/passport/api"),m=e("js/plugin/tip"),g=s.trim,v=m.show;f.bindEyesEvt(),f.bindClearEvt(),r.bind("input",function(){h=""!==g(r.val())?!0:!1,n()}),l.bind("input",function(){p=""===g(l.val())?!1:!0,n()}),d.on("touchstart",function(){var e=g(r.val()),t=g(l.val());d.hasClass("disable")||(d.text("正在登录...").addClass("disable"),(/^[0-9]+$/.test(e)||f.emailRegx.test(e))&&f.pwdValidate(t)?s.ajax({type:"POST",url:"/passport/login/auth",data:{account:e,password:t},success:function(e){var t;200===e.code?(t=e.data,v("登录成功"),location.href=t.href):v(e.message)},error:function(){v("网络断开连接啦~")},complete:function(){d.text("登录").removeClass("disable")}}):(v("账号或密码有错误,请重新输入"),d.text("登录").removeClass("disable")))}),s("#forget-pwd").on("touchstart",function(){a()}),c.on("touchstart",function(){i()}),s("#cancel-retrive").on("touchstart",function(e){e.preventDefault(),i()}),r.trigger("input"),l.trigger("input")}),define("js/passport/login/international",["jquery"],function(e,t,o){function n(){c&&u?d.removeClass("disable"):d.addClass("disable")}var a=e("jquery"),i=a("#phone-num"),s=a("#country-select"),r=a("#area-code"),l=a("#pwd"),d=a("#btn-login"),c=!1,u=!1,h=e("js/passport/api"),p=e("js/plugin/tip"),f=a.trim,m=p.show;h.selectCssHack(s),h.bindEyesEvt(),h.bindClearEvt(),i.bind("input",function(){c=""===f(i.val())?!1:!0,n()}),l.bind("input",function(){var e=f(l.val());u=""===e?!1:!0,n()}),s.change(function(){r.text(s.val())}),d.on("touchstart",function(){var e=f(i.val()),t=s.val(),o=f(l.val());d.hasClass("disable")||(d.text("正在登录...").addClass("disable"),h.phoneRegx[t].test(e)&&h.pwdValidate(o)?a.ajax({type:"POST",url:"/passport/login/auth",data:{areaCode:t.replace("+",""),account:e,password:o},success:function(e){var t,o;200===e.code?(t=e.data,m("登录成功"),a.ajax({url:t.session,dataType:"jsonp",success:function(){clearTimeout(o),setTimeout(function(){location.href=t.href},1e3)}}),o=setTimeout(function(){location.href=t.href},3e3),m("登录成功")):m(e.message)},error:function(){m("网络断开连接啦~")},complete:function(){d.text("登录").removeClass("disable")}}):(m("账号或密码有错误,请重新输入"),d.text("登录").removeClass("disable")))}),i.trigger("input"),l.trigger("input")}),define("js/passport/back/mobile",["jquery"],function(e,t,o){var n=e("jquery"),a=n("#phone-num"),i=n("#country-select"),s=n("#area-code"),r=n("#btn-next"),l=e("js/passport/api"),d=e("js/plugin/tip"),c=n.trim,u=d.show;l.selectCssHack(n("#country-select")),l.bindClearEvt(),a.bind("input",function(){""===c(a.val())?r.addClass("disable"):r.removeClass("disable")}),i.change(function(){s.text(i.val())}),r.on("touchstart",function(){var e=c(a.val()),t=i.val();r.hasClass("disable")||(l.phoneRegx[t].test(e)?n.ajax({url:"/passport/back/sendcode",type:"POST",data:{areaCode:t.replace("+",""),phoneNum:e},success:function(e){200===e.code?location.href=e.data:u(e.message)}}):u("手机号格式不正确,请重新输入"))})}),define("js/passport/back/code",["jquery"],function(e,t,o){e("js/passport/code")(!1)}),define("js/passport/back/email",["jquery"],function(e,t,o){var n=e("jquery"),a=n("#email"),i=n("#btn-sure"),s=e("js/passport/api"),r=e("js/plugin/tip"),l=n.trim,d=r.show;s.bindClearEvt(),a.bind("input",function(){""===l(a.val())?i.addClass("disable"):i.removeClass("disable")}),i.on("touchstart",function(){var e=l(a.val());i.hasClass("disable")||(s.emailRegx.test(e)?n.ajax({url:"/passport/back/sendemail",type:"POST",data:{email:e},success:function(e){200===e.code?location.href=e.data:d(e.message)}}):d("邮箱格式不正确,请重新输入"))})}),define("js/passport/back/email-success",["jquery"],function(e,t,o){var n=e("jquery"),a=n("#resend"),i=e("js/plugin/tip"),s=i.show;a.on("touchstart",function(e){e.preventDefault(),n.ajax({url:a.data("url"),type:"GET",success:function(e){s(e.message)}})})}),define("js/passport/back/new-password",["jquery"],function(e,t,o){var n=e("jquery"),a=n("#pwd"),i=n("#btn-ok"),s=e("js/passport/api"),r=e("js/plugin/tip"),l=n.trim,d=r.show,c=n("#phone-num");s.bindEyesEvt({status:"open"}),a.bind("input",function(){""===l(a.val())?i.addClass("disable"):i.removeClass("disable")}),i.on("touchstart",function(){var e,t,o=l(a.val()),r=!0;i.hasClass("disable")||(e={password:o},0===c.length&&(r=!1),r?(n.extend(e,{phoneNum:c.val(),areaCode:n("#areaCode").val(),token:n("#token").val()}),t="/passport/back/passwordByMobile"):(n.extend(e,{code:n("#email-code").val()}),t="/passport/back/passwordByEmail"),s.pwdValidate(o)?n.ajax({type:"POST",url:t,data:e,success:function(e){200===e.code?(d("密码修改成功"),setTimeout(function(){location.href=e.data},1e3)):d(e.message)}}):d("密码6-20位,请重新输入"))})}),define("js/passport/bind/bind",["jquery","handlebars","source-map","hammer"],function(e,t,o){function n(e,t,o){return v?!1:(v=!0,u.addClass("disable").html("绑定中..."),void a.ajax({type:"POST",url:"/passport/bind/sendBindMsg",data:{phoneNum:t,areaCode:o.replace("+","")},success:function(t){200===t.code?location.href=e:p.show(t.message)},error:function(){p.show("出错了,请重试!"),u.removeClass("disable").html("下一步"),v=!1}}))}var a=e("jquery"),i=a("#phone-num"),s=a("#country-select"),r=a("#area-code"),l=a("#openId"),d=a("#nickname"),c=a("#sourceType"),u=a("#btn-next"),h=e("js/passport/api"),p=e("js/plugin/tip"),f=e("js/me/dialog"),m=a.trim,g=p.show,v=!1;h.selectCssHack(a("#country-select")),h.bindClearEvt(),i.bind("input",function(){""===m(i.val())?u.addClass("disable"):u.removeClass("disable")}),s.change(function(){r.text(s.val())}),u.on("touchstart",function(){var e=m(i.val()),t=m(l.val()),o=m(d.val()),r=m(c.val()),p=s.val();u.hasClass("disable")||(h.phoneRegx[p].test(e)?a.ajax({url:"/passport/bind/bindCheck",type:"POST",data:{areaCode:p.replace("+",""),phoneNum:e,openId:t,sourceType:r,nickname:o},success:function(t){200===t.code?1===t.data.isReg?f.showDialog({dialogText:"该手机号已注册过有货\n"+e+",确定绑定吗?",hasFooter:{leftBtnText:"更换号码",rightBtnText:"继续绑定"}},function(){n(t.data.next,e,p)}):3===t.data.isReg?f.showDialog({dialogText:"该手机号已注册过有货\n"+e+",是否进行关联?",hasFooter:{leftBtnText:"更换号码",rightBtnText:"确定"}},function(){n(t.data.next,e,p)}):n(t.data.next,e,p):g(t.message)}}):g("手机号格式不正确,请重新输入"))})}),define("js/me/dialog",["jquery","handlebars","source-map","hammer"],function(e,t,o){function n(){return void 0===i&&(i='<div id="dialog-wrapper" class="dialog-wrapper"><div class="dialog-box">{{# hasHeader}}{{/ hasHeader}}<div class="dialog-content">{{dialogText}}</div>{{# hasFooter}}<div class="dialog-footer">{{# leftBtnText}}<span class="dialog-left-btn tap-hightlight">{{.}}</span>{{/ leftBtnText}}{{# rightBtnText}}<span class="dialog-right-btn tap-hightlight">{{.}}</span>{{/ rightBtnText}}</div>{{/ hasFooter}}</div></div>',s=l.compile(i)),s}var a,i,s,r=e("jquery"),l=e("handlebars"),d=e("hammer");t.showDialog=function(e,t,o,i){var s,l,c,u=n(),h=u(e);r(".dialog-wrapper").remove(),r("body").append(r(h)),s=r(".dialog-box"),a=r(".dialog-wrapper"),c=new d(document.getElementById("dialog-wrapper")),e.fast?a.css({display:"block"}):a.fadeIn(),i&&(r(".dialog-wrapper .dialog-footer > span").css("width","100%"),r(".dialog-wrapper .dialog-content").css({"padding-left":"1.85rem","padding-right":"1.85rem"}),a.css("z-index","10")),s.css({top:"50%",marginTop:-(s.height()/2)}),e.autoHide&&(l=1e3,e.autoHide>1&&(l=e.autoHide),setTimeout(function(){a.fadeOut()},l)),a.on("touchmove",function(){return!1}),c.on("tap",function(e){r(e.target).hasClass("dialog-left-btn")?("function"==typeof o&&o(),a.fadeOut()):r(e.target).hasClass("dialog-right-btn")&&t(),e.preventDefault(),e.srcEvent.stopPropagation()})},t.hideDialog=function(){r(".dialog-wrapper").remove()}}),define("js/passport/bind/code",["jquery"],function(e,t,o){e("js/passport/code")(!0,!0)}),define("js/passport/bind/password",["jquery"],function(e,t,o){function n(e){a.ajax({url:"/passport/bind/bindMobile",type:"post",data:{areaCode:m.replace("+",""),phoneNum:f,openId:p,sourceType:h,nickname:u,password:e,code:g},success:function(e){200===e.code?(l.show("登录成功"),setTimeout(function(){location.href=e.data.refer},2e3)):l.show(e.message)},error:function(e){l.show("登录失败,请重试!")}})}var a=e("jquery"),i=a("#pwd"),s=a("#btn-sure"),r=e("js/passport/api"),l=e("js/plugin/tip"),d=a.trim,c=l.show,u=a("#nickname").val(),h=a("#sourceType").val(),p=a("#openId").val(),f=a("#phone-num").val(),m=a("#area-code").val().replace("+",""),g=a("#code").val();r.bindEyesEvt({status:"open"}),i.bind("input",function(){""===d(i.val())?s.addClass("disable"):s.removeClass("disable")}),s.on("touchstart",function(){var e=d(i.val());s.hasClass("disable")||(r.pwdValidate(e)===!1?c("密码6-20位,请重新输入"):n(e))})}),define("js/passport/bind/relate",["jquery"],function(e,t,o){e("js/passport/code")(!0,!1,!0)}),define("js/product/entry",["jquery","swiper","mlellipsis","lazyload","hammer","handlebars","source-map","iscroll-probe","index"],function(e,t,o){e("js/product/newsale/newarrival"), -e("js/product/newsale/discount"),e("js/product/list"),e("js/product/detail/detail"),e("js/product/detail/consultform"),e("js/product/newsale/hot-rank"),e("js/product/product-category"),e("js/product/shop")}),define("js/product/newsale/newarrival",["jquery","swiper","mlellipsis","lazyload","hammer","index"],function(e,t,o){function n(e){var t,o,n,a,i,u,h={};if(!d){if(e){for(o in E)E.hasOwnProperty(o)&&(E[o].reload=!0);switch(q.children(".active").removeClass("active"),I.addClass("active"),e.type){case"gender":t={gender:e.id};break;case"brand":t={brand:e.id};break;case"sort":t={sort:e.id};break;case"color":t={color:e.id};break;case"size":t={size:e.id};break;case"price":t={price:e.id};break;case"discount":t={discount:e.id};break;case"limit":t={limit:e.id};break;case"channel":t={channel:e.id};break;case"p_d":t={p_d:e.id}}c.extend(C,t)}if(I.hasClass("today")?(a="today",i=1):I.hasClass("week")?(a="week",i=2):I.hasClass("sale")&&(a="sale",i=3),n=E[a],u=n.page+1,n.reload)u=1;else if(n.end)return;c.extend(h,C,{dayLimit:i,page:u}),d=!0,g.showLoadingMask(),c.ajax({type:"GET",url:"/product/newsale/selectNewSale",data:h,success:function(e){var t,o;switch(a){case"today":t=s;break;case"week":t=r;break;case"sale":t=l}" "===e?(n.end=!0,n.reload&&t.html(b)):n.reload?(t.html(e),p(t.find(".lazy"))):(o=t.find(".good-info").length,t.append(e),p(t.find(".good-info:gt("+(o-1)+") .lazy"))),n.reload=!1,n.page=u,d=!1,g.hideLoadingMask(),window.rePosFooter(),c(".good-detail-text .name").each(function(){var e=c(this),t=e.find("a");t[0].mlellipsis(2)})},error:function(){f.show("网络断开连接了~"),d=!1,g.hideLoadingMask()}})}}function a(){c(window).scrollTop()+y>c(document).height()-.25*v.height()-50&&void 0!==I&&n()}var i,s,r,l,d,c=e("jquery"),u=e("swiper"),h=e("mlellipsis"),p=e("lazyload"),f=e("js/plugin/tip"),m=e("js/plugin/filter"),g=e("js/plugin/loading"),v=c("#goods-container"),w=v.children(),s=c(w.get(0)),r=c(w.get(1)).addClass("hide"),l=c(w.get(2)).addClass("hide"),y=c(window).height(),b='<p class="no-result">未找到相关搜索结果</p>',C=e("js/product/query-param"),j=c.extend({},C),x=new Date,k=x.getMonth()+1,T=x.getDate(),q=c("#list-nav"),E={today:{reload:!0,page:0,end:!1},week:{reload:!0,page:0,end:!1},sale:{reload:!0,page:0,end:!1}},I=q.find(".active");e("js/product/suspend-cart"),h.init(),c("#today a").text(k+"月"+T+"号"),c(".swiper-container .swiper-slide").length>1&&(i=new u(".swiper-container",{lazyLoading:!0,lazyLoadingInPrevNext:!0,loop:!0,autoplay:3e3,autoplayDisableOnInteraction:!0,paginationClickable:!0,pagination:".banner-top .pagination-inner"})),c.ajax({type:"GET",url:"/product/newsale/filter",data:C,success:function(e){v.append(e),m.initFilter({fCbFn:n,hCbFn:function(){I.addClass("active"),I.siblings(".filter").removeClass("active")}})}}),p(c(".lazy")),q.bind("contextmenu",function(e){return!1}),q.on("touchend touchcancel",function(e){var t,o,a,i=c(e.target).closest("li");if(e.preventDefault(),i.hasClass("filter"))i.hasClass("active")?(m.hideFilter(),I.addClass("active"),i.removeClass("active")):(I=i.siblings(".active"),I.removeClass("active"),i.addClass("active"),m.showFilter());else{if(i.hasClass("today")?o="today":i.hasClass("week")?o="week":i.hasClass("sale")&&(o="sale"),t=E[o],!i.hasClass("active")){if(a=i.siblings(".active"),I=i,a.hasClass("filter"))m.hideFilter();else{switch(v.children(".container:not(.hide)").addClass("hide"),o){case"today":s.removeClass("hide");break;case"week":r.removeClass("hide");break;case"sale":l.removeClass("hide")}m.resetFilter(),C=c.extend({},j)}a.removeClass("active"),i.addClass("active")}t.reload&&n()}e.stopPropagation()}),c(window).scroll(function(){window.requestAnimationFrame(a)}),n(),q.on("touchstart","li",function(e){c(this).addClass("bytouch")}).on("touchend touchcancel",function(){q.find("li").removeClass("bytouch")})}),define("js/plugin/filter",["jquery","hammer"],function(e,t,o){function n(){h.addClass("hide")}function a(){h.removeClass("hide")}function i(){var e=g(".filter-body .classify");e.on("touchstart",".shower",function(){e.removeClass("highlight"),g(this).addClass("highlight")}).on("touchend touchcancel",".shower",function(){g(this).removeClass("highlight")})}function s(){var e=g(".filter-body .sub-item");e.on("touchstart",function(){e.removeClass("highlight"),g(this).addClass("highlight")}).on("touchend touchcancel",function(){g(this).removeClass("highlight")})}function r(e){e.hasClass("active")||(e.siblings(".active").removeClass("active"),e.addClass("active"))}function l(e){var t,o,n=e.closest(".sub-classify"),a=n.siblings(".shower");return e.hasClass("chosed")?n:(n.children(".chosed").removeClass("chosed"),e.addClass("chosed"),t=g.trim(e.html()),o=g.trim(a.html()),a.html(o.substring(0,o.indexOf("</span>")+7)+t.substring(0,t.indexOf("<i"))),0===e.index()?a.addClass("default"):a.removeClass("default"),n)}function d(e){var t,o=e.data("id");t=l(e),p&&p({type:t.data("type"),id:o}),n()}function c(e){var t;p=e.fCbFn,f=e.hCbFn,m=e.missStatus,i(),s(),h=g(".filter-mask"),t=new v(h[0]),t.on("tap",function(e){var t,o=g(e.target);e.preventDefault(),o.closest(".filter-body").length>0?(t=o.closest(".sub-item"),t.length>0?(t=o.closest("li"),d(t)):(t=o.closest(".classify-item"),e.srcEvent.stopPropagation(),r(t))):(n(),f&&f())})}function u(){"undefined"!=typeof h&&(g(".sub-classify").each(function(){l(g(this).children(":first-child"))}),r(g(".classify > :first-child")))}var h,p,f,m,g=e("jquery"),v=e("hammer");t.initFilter=c,t.showFilter=a,t.hideFilter=n,t.resetFilter=u}),define("js/product/query-param",["jquery"],function(e,t,o){var n=e("jquery"),a={};n(".query-param").each(function(){var e=n(this);a[e.data("attr")]=e.val()}),o.exports=a}),define("js/product/suspend-cart",["jquery"],function(e,t,o){var n=e("jquery"),a=n("#suspend-cart");n.ajax({type:"GET",url:"/cart/index/count",success:function(e){var t;200===e.code&&(t=e.data.cart_goods_count,t>99&&(t="99+"),0===t&&n(".cart-count").remove(),a.find(".cart-count").html(t).removeClass("hide"))}})}),define("js/product/newsale/discount",["jquery","swiper","mlellipsis","lazyload","hammer","index"],function(e,t,o){function n(e){var t,o,n,a,i,l={};if(!s){if(e){for(o in x)x.hasOwnProperty(o)&&(x[o].reload=!0);switch(j.children(".active").removeClass("active"),k.addClass("active"),e.type){case"gender":t={gender:e.id};break;case"brand":t={brand:e.id};break;case"sort":t={sort:e.id};break;case"color":t={color:e.id};break;case"size":t={size:e.id};break;case"price":t={price:e.id};break;case"discount":t={discount:e.id}}r.extend(C,t)}if(k.hasClass("new")?a="newest":k.hasClass("price")?a="price":k.hasClass("discount")&&(a="discount"),n=x[a],i=n.page+1,n.reload)i=1;else if(n.end)return;r.extend(l,C,{type:a,order:n.order,page:i}),s=!0,p.showLoadingMask(),r.ajax({type:"GET",url:"/product/newsale/selectNewSale",data:l,success:function(e){var t,o;switch(a){case"newest":t=g;break;case"price":t=v;break;case"discount":t=w}" "===e?(n.end=!0,n.reload&&t.html(b)):n.reload?(t.html(e),c(t.find(".lazy"))):(o=t.find(".good-info").length,t.append(e),c(t.find(".good-info:gt("+(o-1)+") .lazy"))),n.reload=!1,n.page=i,s=!1,p.hideLoadingMask(),window.rePosFooter(),r(".good-detail-text .name").each(function(){var e=r(this),t=e.find("a");t[0].mlellipsis(2)})},error:function(){u.show("网络断开连接了~"),s=!1,p.hideLoadingMask()}})}}function a(){r(window).scrollTop()+y>r(document).height()-.25*f.height()-50&&void 0!==k&&n()}var i,s,r=e("jquery"),l=e("swiper"),d=e("mlellipsis"),c=e("lazyload"),u=e("js/plugin/tip"),h=e("js/plugin/filter"),p=e("js/plugin/loading"),f=r("#goods-container"),m=f.children(),g=r(m.get(0)),v=r(m.get(1)),w=r(m.get(2)),y=r(window).height(),b='<p class="no-result">未找到相关搜索结果</p>',C=e("js/product/query-param"),j=r("#list-nav"),x={newest:{order:1,reload:!0,page:0,end:!1},price:{order:1,reload:!0,page:0,end:!1},discount:{order:1,reload:!0,page:0,end:!1}},k=j.find(".active");e("js/product/suspend-cart"),d.init(),r(".swiper-container .swiper-slide").length>1&&(i=new l(".swiper-container",{lazyLoading:!0,lazyLoadingInPrevNext:!0,loop:!0,autoplay:3e3,autoplayDisableOnInteraction:!0,paginationClickable:!0,pagination:".banner-top .pagination-inner"})),r.ajax({type:"GET",url:"/product/newsale/filter",data:C,success:function(e){f.append(e),h.initFilter({fCbFn:n,hCbFn:function(){k.addClass("active"),k.siblings(".filter").removeClass("active")},missStatus:!0})}}),c(r(".lazy")),j.bind("contextmenu",function(e){return!1}),j.on("touchend touchcancel",function(e){var t,o,a,i=r(e.target).closest("li");if(e.preventDefault(),"undefined"!=typeof i&&0!==i.length){if(i.hasClass("filter"))i.hasClass("active")?(h.hideFilter(),k.addClass("active"),i.removeClass("active")):(k=i.siblings(".active"),k.removeClass("active"),i.addClass("active"),h.showFilter());else{if(i.hasClass("new")?o="newest":i.hasClass("price")?o="price":i.hasClass("discount")&&(o="discount"),t=x[o],i.hasClass("active")){if(i.hasClass("new"))return;(i.hasClass("price")||i.hasClass("discount"))&&(i.find(".icon > .iconfont").toggleClass("cur"),k=i,t.reload=!0,t.order=0===t.order?1:0)}else{if(a=i.siblings(".active"),k=i,a.hasClass("filter"))h.hideFilter();else switch(f.children(".container:not(.hide)").addClass("hide"),o){case"newest":g.removeClass("hide");break;case"price":v.removeClass("hide");break;case"discount":w.removeClass("hide")}a.removeClass("active"),i.addClass("active")}t.reload&&n()}e.stopPropagation()}}),r(window).scroll(function(){window.requestAnimationFrame(a)}),n(),j.on("touchstart","li",function(e){r(this).addClass("bytouch")}).on("touchend touchcancel",function(){j.find("li").removeClass("bytouch")})}),define("js/product/list",["jquery","hammer","mlellipsis","lazyload"],function(e,t,o){function n(e){var t=new RegExp("(^|&)"+e+"=([^&]*)(&|$)","i"),o=window.location.search.substr(1).match(t);return null!=o?window.unescape(o[2]):null}function a(e){var t,o,n,a,i,c,u,h,f={};if(!d){if(e){for(o in _)_.hasOwnProperty(o)&&(_[o].reload=!0);switch(z.children(".active").removeClass("active"),M.addClass("active"),e.type){case"shop_id":t={shop_id:e.id};break;case"gender":t={gender:e.id};break;case"brand":t={brand:e.id};break;case"sort":t={sort:e.id};break;case"color":t={color:e.id};break;case"size":t={size:e.id};break;case"price":t={price:e.id};break;case"discount":t={discount:e.id}}p.extend(D,t)}if(M.hasClass("new")?a="newest":M.hasClass("price")?a="price":M.hasClass("discount")&&(a="discount"),n=_[a],i=n.page+1,n.reload)i=1;else if(n.end)return;h={type:a,order:n.order,page:i},s&&(h.shop_id=s),r&&(h.sort=r),l&&(h.brand=l),p.extend(f,D,h),d=!0,j.showLoadingMask(),p.ajax({type:"GET",url:"/index/search/search",data:f,success:function(e){var t,o,s='<p class="no-result">未找到相关搜索结果</p>';switch(a){case"newest":o=k;break;case"price":o=T;break;case"discount":o=q}if(" "===e?(n.end=!0,n.reload&&o.html(s)):n.reload?(o.html(e),g(o.find(".lazy"))):(t=o.find(".good-info").length,o.append(e),g(o.find(".good-info:gt("+(t-1)+") .lazy"))),n.reload=!1,n.page=i,d=!1,j.hideLoadingMask(),window.rePosFooter(),p(".good-detail-text .name").each(function(){c=p(this),u=c.find("a"),u[0].mlellipsis(2)}),window._yas)switch(a){case"newest":window._yas(1*new Date,"1.0.15","yohobuy_m",window._ozuid,"",p(".new-goods .good-info .good-detail-img .good-thumb"));break;case"price":window._yas(1*new Date,"1.0.15","yohobuy_m",window._ozuid,"",p(".price-goods .good-info .good-detail-img .good-thumb"));break;case"discount":window._yas(1*new Date,"1.0.15","yohobuy_m",window._ozuid,"",p(".discount-goods .good-info .good-detail-img .good-thumb"))}}})}}function i(){p(window).scrollTop()+E>p(document).height()-.25*x.height()&&a()}var s,r,l,d,c,u,h,p=e("jquery"),f=e("hammer"),m=e("mlellipsis"),g=e("lazyload"),v=p("#brand-header"),w=p("#intro-box"),y=e("js/plugin/filter"),b=e("js/index/write-search"),C=e("js/plugin/tip"),j=e("js/plugin/loading"),x=p("#goods-container"),k=x.children(".new-goods"),T=x.children(".price-goods"),q=x.children(".discount-goods"),E=p(window).height(),I=p("#search-input input"),S=p(".search-icon"),L=p("#search-input .clear-input"),D=e("js/product/query-param"),z=p("#list-nav"),_={newest:{order:1,reload:!0,page:0,end:!1},price:{order:1,reload:!0,page:0,end:!1},discount:{order:1,reload:!0,page:0,end:!1}},M=z.find(".active");m.init(),I.on("input",function(){""===I.val()?(S.css("color","#b2b2b2"),L.addClass("hide")):(S.css("color","#666"),L.removeClass("hide"))}),L.on("touchend",function(){I.val("").trigger("input")}),p("#search").on("touchend",function(){return p(this).closest("form").submit(),!1}),s=n("shop_id"),r=n("sort"),e("js/product/suspend-cart"),p.ajax({type:"GET",url:"/search/filter",data:D,success:function(e){x.append(e),y.initFilter({fCbFn:a,hCbFn:function(){M.addClass("active"),M.siblings(".filter").removeClass("active")}})}}),g(p(".lazy")),b.bindWirteLocal(p("#search-form")),z.bind("contextmenu",function(e){return!1}),z.on("touchend touchcancel",function(e){var t,o,n,i=p(e.target).closest("li");if(i.hasClass("filter"))i.hasClass("active")?(y.hideFilter(),M.addClass("active"),i.removeClass("active")):(M=i.siblings(".active"),M.removeClass("active"),i.addClass("active"),y.showFilter());else{if(i.hasClass("new")?o="newest":i.hasClass("price")?o="price":i.hasClass("discount")&&(o="discount"),t=_[o],i.hasClass("active")){if(i.hasClass("new"))return;(i.hasClass("price")||i.hasClass("discount"))&&(i.find(".icon > .iconfont").toggleClass("cur"),M=i,t.reload=!0,t.order=0===t.order?1:0)}else{if(n=i.siblings(".active"),M=i,n.hasClass("filter"))y.hideFilter();else switch(x.children(".container:not(.hide)").addClass("hide"),o){case"newest":k.removeClass("hide");break;case"price":T.removeClass("hide");break;case"discount":q.removeClass("hide")}n.removeClass("active"),i.addClass("active")}t.reload&&a()}}),p(window).scroll(function(){window.requestAnimationFrame(i)}),v.length>0&&(c=new f(v.children(".btn-intro")[0]),c.on("tap",function(){w.removeClass("hide"),p("body").addClass("overflow-hidden")}),u=new f(document.getElementById("intro-box")),u.on("tap",function(e){var t=p(e.target);e.srcEvent.preventDefault(),(0===t.closest("#brand-intro").length||t.hasClass("close-intro"))&&(w.addClass("hide"),p("body").removeClass("overflow-hidden"))}),h=new f(v.children(".btn-col")[0]),h.on("tap",function(e){var t,o=p(e.target).closest(".btn-col"),n=v.data("id");t=o.hasClass("coled")?"cancel":"ok",p.ajax({type:"POST",url:"/product/opt/favoriteBrand",data:{id:n,opt:t},success:function(e){200===e.code?(o.toggleClass("coled"),"ok"===t?C.show("添加收藏成功"):C.show("取消收藏成功")):400===e.code?location.href=e.data:C.show(e.message)},error:function(){C.show("网络断开连接了~")}})})),a(),z.on("touchstart","li",function(){z.find("li").removeClass("bytouch"),p(this).addClass("bytouch")}).on("touchend touchcancel","li",function(){z.find("li").removeClass("bytouch")})}),define("js/product/detail/detail",["jquery","swiper","hammer","lazyload","handlebars","source-map","index"],function(e,t,o){function n(){var e=i(".cart-bar"),t=setInterval(function(){e?(window.reMarginFooter(".cart-bar"),clearInterval(t)):e=i(".cart-bar")},200)}var a,i=e("jquery"),s=e("swiper"),r=e("hammer"),l=e("lazyload"),d=i(".goodsDiscount .discount-folder"),c=i(".goodsDiscount .first-item span"),u=document.getElementById("goodsDiscount"),h=u&&new r(u),p=i(u).find(".first-item"),f=i(".cart-bar"),m=i('input[name="limitCodeUrl"]').val(),g=e("js/me/dialog");n(),e("js/product/detail/like"),l(i("img.lazy")),i("#goodsDiscount h1").length<1&&i(".dropdown").remove(),a=new s(".banner-swiper",{lazyLoading:!0,lazyLoadingInPrevNext:!0,paginationClickable:!0,pagination:".banner-top .pagination-inner",nextButton:".my-swiper-button-next",prevButton:".my-swiper-button-prev",spaceBetween:3}),0===d.children().length&&(d.css("display","none"),c.html("")),h&&d.children().length>0&&h.on("tap",function(e){d.is(":hidden")?(p.removeClass("short-text"),c.removeClass("icon-down").addClass("icon-up").html(""),d.slideDown()):(p.addClass("short-text"),c.removeClass("icon-up").addClass("icon-down").html(""),d.slideUp())}),i("#limit-sale").on("touchend",function(e){var t,o,n=i("#loginUrl").val();e.stopPropagation(),n?window.location=n:(g.showDialog({dialogText:"进入有货APP,获取限购码",hasFooter:{rightBtnText:"打开Yoho!Buy有货APP"}},function(){o=document.createElement("iframe"),o.src=m,o.style.display="none",document.body.appendChild(o),window.location.href=m,t=Date.now(),window.setTimeout(function(){document.body.removeChild(o),Date.now()-t<3200&&(window.location.href="http://a.app.qq.com/o/simple.jsp?pkgname=com.yoho")},3e3)},void 0,!0),i(".dialog-wrapper").off("touchstart").on("touchstart",function(e){e.stopPropagation(),i(e.target).hasClass("dialog-wrapper")&&g.hideDialog()}))}),e("js/product/detail/desc"),e("js/product/detail/comments-consults"),e("js/product/recommend-for-you-product-desc"),i.ajax({type:"GET",url:"/cart/index/count",success:function(e){var t;if(200===e.code){if(t=e.data.cart_goods_count||0,0===t)return!1;t>99&&(t="99+"),f.find(".num-tag").html(t).removeClass("hide")}}}),i(".good-detail-page").length>0&&i("#yoho-footer").css("border-top","1px solid #e0e0e0")}),define("js/product/detail/like",["jquery"],function(e,t,o){var n=e("jquery"),a=e("js/plugin/tip"),i=e("js/cart/chose-panel"),s=n("#productId").val(),r=n("#productSkn").val(),l=n("#limitProductCode").val();n("#likeBtn").on("touchstart",function(){var e,t,o=n(this);return o.hasClass("liked")?(e="cancel",t=0):(e="ok",t=1),n.ajax({type:"POST",url:"/product/opt/favoriteProduct",data:{id:s,opt:e},success:function(t){200===t.code?(o.toggleClass("liked"),"cancel"===e?a.show("取消收藏成功"):"ok"===e&&a.show("收藏成功")):400===t.code?location.href=t.data:a.show(t.message)},error:function(){a.show("网络断开连接了~")}}),window._yas&&window._yas.sendCustomInfo({pd:s,fa:t},!0),!1}),n("#addtoCart").on("touchstart",function(){return n(".cart-bar").hide(),l&&i.setLimitGoodModeWithSknId(l,r),i.show(),window._yas&&window._yas.sendCustomInfo({pd:s,by:1},!0),!1})}),define("js/cart/chose-panel",["jquery"],function(e,t,o){function n(){var e=B(".chose-panel").find(".num .btn>.iconfont");e.hasClass("disabled")?null:e.addClass("disabled"),V.off("touchstart",".btn-minus"),V.off("touchstart",".btn-plus")}function a(){x=!1,k=!1,T=null,D=B.queryString(),v=B(".chose-panel").find(".thumb"),z=B(".chose-panel .main .chose-items"),L=B(".chose-items"),q=B(".size-list ul"),I=B(".color-list ul"),w=B("#left-num"),_=B(".cart-bar"),C=0,j=0,M=0}function i(e,t){B("#chose-btn-sure").html("确认"),M=1,F=e,P=t}function s(e,t){n(),B("#chose-btn-sure").html("立即购买"),O=e,N=t}function r(){var e=B(".chose-panel"),t=B("#promotionId");e&&e.remove(),t&&t.remove()}function l(){return x||k?x?k?!0:(A.show("请选择尺码~"),!1):(A.show("请选择颜色~"),!1):(A.show("请选择颜色和尺码~"),!1)}function d(e,t){e&&(U.html(e),""!==B("#promotionId").val()&&n(),a()),B(".chose-panel").show(),m=B("#good-num"),S=t,R.disableScroll(z)}function c(){B(".chose-panel").hide(),R.enableScroll(z),_.length>0&&_.show()}function u(){g=L.find(".chosed"),2===g.closest(".zero-stock").length?B("#chose-btn-sure").css("background-color","#c0c0c0").html("已售罄"):O?B("#chose-btn-sure").css("background-color","#eb0313").html("立即购买"):B("#chose-btn-sure").css("background-color","#eb0313").html(M?"确认":"加入购物车")}function h(e){e>0?(W.length>0?L.find(".num .left-num").html("即将售罄"):L.find(".num .left-num").html("剩余"+e+"件"),w.val(e)):(L.find(".num .left-num").html(""),w.val(0))}function p(e){var t,o,n;if(C&&T&&T.length>0){for(T.removeClass("chosed"),t=q.eq(e).children(),n=0;n<t.length;n++)if(B(t[n]).data("id")===T.data("id"))return T=B(t[n]),o="#"+T.data("id"),C=B(o).data("index"),T.addClass("chosed"),T.data("num");return T=null,k=!1,I.eq(C).addClass("hide"),I.eq(0).removeClass("hide"),C=0,-1}return 0}function f(e){return j&&E&&E.length>0?(E.removeClass("chosed"),E=B(I.eq(e).children().get(j-1)),E.addClass("chosed"),E.data("num")):0}var m,g,v,w,y,b,C,j,x,k,T,q,E,I,S,L,D,z,_,M,P,F,O,N,B=e("jquery"),A=e("js/plugin/tip"),H=e("js/plugin/loading"),R=e("js/plugin/inner-scroll"),U=B("#chose-panel"),W=B(".soonSoldOut-tag"),V=B(".yoho-page");a(),V.on("touchstart",".chose-panel",function(e){var t=B(e.target);if(!(t.closest(".main").length>0))return c(),!1}),V.on("touchstart",".color-list .block",function(){var e,t=B(this),o=t.index();t.hasClass("chosed")?(L.find(".num .left-num").html(""),w.val(0),x=!1,q.eq(j).addClass("hide"),q.eq(0).removeClass("hide"),j=0,p(0)):(x=!0,q.eq(j).addClass("hide"),e=p(o+1),h(e),q.eq(o+1).removeClass("hide"),j=o+1,E=t,v.addClass("hide").eq(o).removeClass("hide")),t.siblings(".chosed").removeClass("chosed"),-1===e?(E=B(I.eq(0).children().get(o)),E.addClass("chosed")):t.toggleClass("chosed"),B("#good-num").val(1),u()}).on("touchstart",".size-list .block",function(){var e,t,o=B(this);o.hasClass("chosed")?(L.find(".num .left-num").html(""),w.val(0),k=!1,I.eq(C).addClass("hide"),I.eq(0).removeClass("hide"),C=0,f(0)):(k=!0,e=B("#"+o.data("id")).data("index")-1,I.eq(C).addClass("hide"),t=f(e+1),h(t),I.eq(e+1).removeClass("hide"),C=e+1,T=o),o.siblings(".chosed").removeClass("chosed"),o.toggleClass("chosed"),B("#good-num").val(1),u()}),V.on("touchstart",".btn-minus",function(){var e=parseInt(m.val(),10);return y=B("#left-num").val(),l()?1===e||0===y-0?void A.show("您选择的数量不能为零~"):0>e?void A.show("您选择的数量不能为负数~"):void m.val(e-1):void 0}).on("touchstart",".btn-plus",function(){var e=parseInt(m.val(),10);return y=B("#left-num").val(),l()&&e-0!==y&&0!==y?e>y-1?void A.show("您选择的数量超过了最大库存量~"):void m.val(e+1):void 0}).on("touchstart","#chose-btn-sure",function(){var e,t,o,n,a=B("#good-num").val()-0,i=parseInt(m.val(),10);if(l()&&"已售罄"!==B("#chose-btn-sure").html()){if(y=B("#left-num").val()-0,i>y)return void A.show("您选择的数量超过了最大库存量~");if(0>i)return void A.show("您选择的数量小于一件~");if(g=B(".block-list>ul>li.chosed"),2===g.length&&0===g.closest(".zero-stock").length){if(e=T.data("skuid"),t=B("#promotionId").val(),b)return!1;if(b=!0,H.showLoadingMask(),M)o={new_product_sku:e,old_product_sku:F,buy_number:a,selected:P},n="/cart/index/modify";else{if(O)return B(this).css("background-color","#ccc").removeAttr("id"),n=B("#limitProductPay").val()+"?limitproductcode="+O+"&sku="+e+"&skn="+N+"&buy_number="+a,r(),H.showLoadingMask(),B.ajax({url:n}).then(function(e){e.error?(A.show(e.message),setTimeout(function(){location.reload()},2e3)):location.href=n}).fail(function(){A.show("网络异常!"),setTimeout(function(){location.reload()},2e3)}),!1;o={productSku:e,buyNumber:a,promotionId:t,isEdit:M,cartType:D.cartType},n="/cart/index/add"}B.ajax({method:"POST",url:n,data:o}).done(function(e){var t;H.hideLoadingMask(),200!==e.code||M||(t=e.data.goods_count,t>99&&(t="99+"),B(".num-tag").html(t).removeClass("hide"),b=!1,S&&S()),e.message&&!M&&A.show(e.message),c(),M&&(H.showLoadingMask(),setTimeout(function(){window.location.href="/cart/index/index?cartType="+B("#cartType").val()},1))}).fail(function(){A.show("网络出了点问题~")}).always(function(){b=!1})}}}),t.init=a,t.show=d,t.remove=r,t.setEditModeWithSknId=i,t.disableNumEdit=n,t.setLimitGoodModeWithSknId=s}),define("js/plugin/inner-scroll",["jquery"],function(e,t,o){function n(e){e=e||window.event,e.preventDefault&&e.preventDefault(),e.returnValue=!1}function a(e){e=e||window.event,e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!1}function i(e){var t=e.wheelDelta||e.originalEvent.wheelDelta||e.detail||0,o=l(this).get(0);return a(e),l(o).height()+o.scrollTop>=o.scrollHeight&&0>t?(n(e),!1):0===o.scrollTop&&t>0?(n(e),!1):void 0}function s(e){var t,o;e.on("mousewheel",i),e.on("touchstart",function(e){t=e.originalEvent.changedTouches[0].pageX,o=e.originalEvent.changedTouches[0].pageY}),e.on("touchmove",function(e){var n=e.originalEvent.changedTouches[0].pageX-t,a=e.originalEvent.changedTouches[0].pageY-o,i=l(this).get(0);return e.stopPropagation(),Math.abs(a)<Math.abs(n)?(e.preventDefault(),!1):l(i).height()+i.scrollTop>=i.scrollHeight&&0>a?(e.preventDefault(),!1):0===i.scrollTop&&a>0?(e.preventDefault(),!1):void 0}),l(document).on("mousewheel",n),l(document).on("touchmove",n)}function r(e){e.off("touchstart"),e.off("touchmove"),e.off("mousewheel"),l(document).off("mousewheel",n),l(document).off("touchmove",n)}var l=e("jquery");t.enableScroll=r,t.disableScroll=s}),define("js/product/detail/desc",["jquery","lazyload","swiper","index"],function(e,t,o){function n(e){var t,o;e.length>0&&(t=e[0].getBoundingClientRect().right,o=e.find(".swiper-slide:last-child")[0].getBoundingClientRect().right,0>o-t?e.next(".tips").css("display","none"):e.next(".tips").css("display","block"))}function a(e,t){var o=null;c(e).each(function(n,a){o=c(e).slice(n,n+t),o.length===t&&n%t===0&&c(o).wrapAll(c('<div class="js-wraper"></div>'))})}function i(){v||w||(v=!0,p.showLoadingMask(),c.ajax({type:"GET",url:m,success:function(e){r=c("#productDesc"),r.append(e),window.rePosFooter(),u(r.find("img.lazy")),l=new h("#size-swiper-container",{slidesPerView:"auto"}),d=new h("#reference-swiper-container",{slidesPerView:"auto"}),n(c("#size-swiper-container")),n(c("#reference-swiper-container")),a(".detail .column",2),v=!1,w=!0,p.hideLoadingMask()},error:function(){f.show("网络断开连接了~"),v=!1,p.hideLoadingMask()}}))}function s(){(!w||c(window).scrollTop()+g>=c(document).height()-200)&&i()}var r,l,d,c=e("jquery"),u=e("lazyload"),h=e("swiper"),p=e("js/plugin/loading"),f=e("js/plugin/tip"),m=c("#introUrl").val(),g=c(window).height(),v=!1,w=!1;c(window).scroll(function(){window.requestAnimationFrame(s)})}),define("js/product/detail/comments-consults",["jquery","hammer"],function(e,t,o){var n,a,i=e("jquery"),s=e("js/plugin/tip"),r=e("hammer"),l=document.getElementById("nav-tab"),d=l&&new r(l),c=document.getElementById("goto-consult"),u=c&&new r(c),h=document.getElementById("readmore"),p=h&&new r(h);!function(){a=i("#nav-tab .consults-num").html()-0,n=i("#nav-tab .comments-num").html()-0,i("#nav-tab li").each(function(){i(this).removeClass("focus")}),i("#feedback-content .content").each(function(){i(this).addClass("hide")}),0!==n?(i("#nav-tab .comment-nav").addClass("focus"),i("#feedback-content .comment-content").removeClass("hide")):0!==a&&(i("#nav-tab .consult-nav").addClass("focus"),i("#feedback-content .consult-content").removeClass("hide"))}(),d&&d.on("tap",function(e){var t=i(e.target).closest("li"),o=t.index();t.hasClass("comment-nav")&&0===n?s.show("暂无商品评价"):t.hasClass("focus")||(i("#nav-tab li").each(function(){i(this).removeClass("focus")}),i("#feedback-content .content").each(function(){i(this).addClass("hide")}),t.addClass("focus"),i("#feedback-content .content:eq("+o+")").removeClass("hide"))}),u&&u.on("tap",function(){location.href=i(c).find("a").attr("href")}),i(".goods-consults-page").length>0&&i("#yoho-header").css("position","fixed").css("top","0"),i(".goods-consults-page").length>0&&i("#yoho-footer").css("border-top","1px solid #e0e0e0"),p&&p.on("tap",function(){return i(".readmore").hide(),i(".goods-consults.customer-consults").removeClass("customer-consults"),!1}),e("js/product/detail/fav")}),define("js/product/detail/fav",["jquery","hammer"],function(e,t,o){function n(e){var t=e.find(".animate-count");t.css("display","inline"),t.animate({opacity:.25,fontSize:"0.7rem",right:"-=5"},300,function(){t.css("display","none")})}var a,i,s=e("jquery"),r=e("hammer"),l=e("js/plugin/tip"),d=s("#goods-consults")[0],c=d&&new r(d);!function(){var e=window.location.search.substring(1);a=e.split("&")[0].split("=")[1],i=e.split("&")[1]?e.split("&")[1].split("=")[1]:void 0}(),c&&c.on("tap",function(e){var t,o=s(e.target).closest("li"),r=o.closest(".consult-item").data("id"),d=o.find(".count").html()-0;o.hasClass("highlight")||(o.hasClass("fav")?t="/product/detail/consultupvote":o.hasClass("useful")&&(t="/product/detail/consultuseful"),s.ajax({method:"post",url:t,data:{id:r,productId:a,total:i}}).done(function(e){200===e.code?(n(o),o.addClass("highlight"),o.find(".count").html(d+1)):401===e.code&&(location.href=e.data)}).fail(function(e){l.show("网络断开连接了~")}))})}),define("js/product/recommend-for-you-product-desc",["swiper","jquery","index"],function(e,t,o){function n(){h||u||(h=!0,d&&r.get(d).then(function(e){e.length<5?l.css("display","none"):(l.html(e).show(),r("#swiper-recommend").length&&(i=new s("#swiper-recommend",{slidesPerView:"auto",grabCursor:!0,slideElement:"a",lazyLoading:!0,watchSlidesVisibility:!0}))),h=!1,u=!0,window.rePosFooter()}).fail(function(){l.hide()}))}function a(){(!u||r(window).scrollTop()+c>=r(document).height()-200)&&n()}var i,s=e("swiper"),r=e("jquery"),l=r(".recommend-for-you"),d=r("#preferenceUrl").val(),c=r(window).height(),u=!1,h=!1;r(window).scroll(function(){window.requestAnimationFrame(a)})}),define("js/product/detail/consultform",["jquery"],function(e,t,o){var n,a=e("jquery"),i=e("js/plugin/tip"),s=e("js/plugin/loading"),r=a(".consult-form"),l=a("#submit"),d=a("#content"),c=a("#product_id").val();l.on("touchend",function(){return d.blur(),r.submit(),!1}).on("touchstart",function(){a(this).addClass("highlight")}).on("touchend touchcancel",function(){a(this).removeClass("highlight")}),d.on("focus",function(){"请输入咨询内容"===d.val()&&d.val("")}).on("blur",function(){""===d.val()&&d.val("请输入咨询内容")}),r.on("submit",function(){var e;return n?!1:(e=d.val(),e&&"请输入咨询内容"!==e?(n=!0,s.showLoadingMask(),a.ajax({method:"POST",url:"/product/detail/consultsubmit",data:{product_id:c,content:e}}).then(function(e){"object"!==a.type(e)&&(e={}),200!==e.code?(i.show(e.message||"网络出了点问题~"),n=!1,s.hideLoadingMask()):(i.show("提交成功~"),setTimeout(function(){window.history.go(-1)},3e3))}).fail(function(){i.show("网络出了点问题~"),n=!1}),!1):(i.show("咨询内容不能为空"),!1))})}),define("js/product/newsale/hot-rank",["jquery","swiper","lazyload","index"],function(e,t,o){function n(e,t,o,n){h.showLoadingMask(),d.ajax({type:"GET",url:"/product/newsale/selectHotrank?"+t,dataType:"html",data:{page:e,tab_id:o,notab:n},success:function(t){" "===t?d(".rank-main").length<1&&d(".goods-nav").length<1?d("#hotRank").html(v):1===e&&(l=d(".goods-nav").prop("outerHTML"),d("#hotRank").html(l+v)):(d(".no-result").remove(),1===e&&d(".rank-main").remove(),d("#hotRank").append(t)),u(d("img.lazy")),d(".rank-main ul li:gt(9)").find(".item-content i").removeClass("top"),i=d(window).height(),0!==d(".rank-main").length?(d("#yoho-footer").css("position","static"),s=d(".rank-main").find("ul").offset().top):d("#yoho-footer").css("position","fixed"),r=new c(".s-goods-nav",{grabCursor:!0,slidesPerView:"auto",slideElement:"li"}),h.hideLoadingMask()}})}function a(){2!==p&&(d(window).scrollTop()+i<s+d("#hotRank").height()-100||(p=2,f=1,n(p,m,g,f)))}var i,s,r,l,d=e("jquery"),c=e("swiper"),u=e("lazyload"),h=e("js/plugin/loading"),p=1,f=0,m="",g="",v='<p class="no-result">未找到相关搜索结果</p>';e("js/product/suspend-cart"),d(window).scroll(function(){window.requestAnimationFrame(a)}),n(p,m,g,f),d("#hotRank").on("touchend touchcancel",function(e){var t=t||window.event,o=t.target||t.srcElement;"span"===o.nodeName.toLowerCase()&&(d(".s-goods-nav .nav-item").removeClass("active"),o.parentNode.className="active "+o.parentNode.className,g=o.getAttribute("data-id")?o.getAttribute("data-id"):"",m=o.getAttribute("data-sort")?o.getAttribute("data-sort"):"",p=1,f=1,n(p,m,g,f))}),d("#hotRank").bind("contextmenu",function(e){return!1}),d("#hotRank").on("touchstart",function(e){var t=t||window.event,o=t.target||t.srcElement;"span"===o.nodeName.toLowerCase()&&(o.parentNode.className="bgActive "+o.parentNode.className)}).on("touchend touchcancel",function(){d(".s-goods-nav .nav-item").removeClass("bgActive")})}),define("js/product/product-category",["jquery"],function(e,t,o){var n=e("jquery"),a=n(".allproduct"),i=n(".category-container"),s=i.children(".content"),r=i.find(".sub-level li"),l=i.find(".primary-level-trilangle");!function(){var e=n(".yoho-header"),t=n(window).height()-e.outerHeight()-a.outerHeight(),o=.55*n(window).width();i.css("min-height",t),l.css("margin-right",o),s.height(t)}(),i.on("touchend",function(e){var t,o,a,i,s,r=n(e.target);if(o=r.closest(".p-level-item"),i=r.closest(".content").find(".sub-level-container"),i.removeClass("hide"),o.length>0){if(a=o.index(),t=r.closest(".content").find(".sub-level"), -s=r.closest(".content").find(".primary-level-trilangle"),r.hasClass("focus"))return;t.not(".hide").addClass("hide"),t.eq(a).removeClass("hide"),s.not(".hide").addClass("hide"),s.eq(a).removeClass("hide")}}),i.find(".sub-level").on("touchstart","li",function(){r.removeClass("highlight"),n(this).addClass("highlight")}).on("touchend touchcancel","li",function(){n(this).removeClass("highlight")}),a.on("touchstart",function(){n(this).addClass("highlight")}).on("touchend touchcancel",function(){n(this).removeClass("highlight")})}),define("js/product/shop",["jquery","iscroll-probe","lazyload","swiper","hammer","index"],function(e,t,o){function n(e){var t,o;q||(o=e.data.type,t=Z[o],t.end||(q=!0,I.ajax({type:"GET",url:e.url,data:e.data,success:function(o){" "===o&&(t.end=!0),e.callBack(o)},error:function(){alert("网络断开连接了~"),q=!1}})))}function a(e){V&&(e.data.brand=V),U&&(e.data.shop_id=U)}function i(e){var t={};t.url="/index/search/search",t.data={type:"newest",order:"1",page:Z["new"].page,tagNew:"1"},a(t),t.callBack=function(t){I("#new-arrival").append(t),Z["new"].page++,v.refresh(),L(I("#new-arrival .lazy")),k=I("#scroller").outerHeight(),q=!1,e&&I.isFunction(e)&&e()},n(t)}function s(e){var t={};t.url="/index/search/search",t.data={type:"hot",order:"1",page:Z.hot.page,showTag:"1"},a(t),t.callBack=function(t){I("#popularity").append(t),Z.hot.page++,v.refresh(),L(I("#popularity .lazy")),k=I("#scroller").outerHeight(),q=!1,e&&I.isFunction(e)&&e()},n(t)}function r(e,t){var o=e.eq(t);e.removeClass("active"),o.addClass("active"),e.removeClass("color"),o.addClass("color")}function l(e){var t,o,n,a,i,s={};if(!q){if(e.url||(e.url="/index/search/search"),!e.nextPage){for(o in Z)Z.hasOwnProperty(o)&&(Z[o].reload=!0);if(e.id){switch(e.type){case"shop_id":t={shop_id:e.id};break;case"gender":t={gender:e.id};break;case"brand":t={brand:e.id};break;case"sort":t={sort:e.id};break;case"color":t={color:e.id};break;case"size":t={size:e.id};break;case"price":t={price:e.id};break;case"discount":t={discount:e.id}}I.extend(Q,t)}}if(K.hasClass("new")?a="newest":K.hasClass("price")?a="price":K.hasClass("discount")&&(a="discount"),n=Z[a],i=n.page+1,n.reload)i=1;else if(n.end)return;I.extend(s,Q,{type:a,order:n.order,page:i}),V&&(s.brand=V),U&&(s.shop_id=U),q=!0,F.showLoadingMask(),I.ajax({type:"GET",url:e.url?e.url:"",data:s,success:function(e){var t,o;switch(a){case"newest":t=A;break;case"price":t=H;break;case"discount":t=R}" "===e?(n.end=!0,n.reload&&t.html(J)):n.reload?(t.html(e),L(t.find(".lazy"))):(o=t.find(".good-info").length,t.append(e),L(t.find(".good-info:gt("+(o-1)+") .lazy"))),n.reload=!1,n.page=i,q=!1,F.hideLoadingMask(),window.rePosFooter(),setTimeout(function(){v.refresh(),k=I("#scroller").outerHeight()},1e3)},error:function(){M.show("网络断开连接了~"),q=!1,F.hideLoadingMask()}})}}function d(){T=-v.y,v&&v.refresh(),T+X>I("#scroller").height()-.25*N.height()-50&&void 0!==K&&l({type:"shop_id",id:U,brand:V,url:"/index/search/search",nextPage:!0})}function c(e){I(e+" li").on("touchstart",function(){I(".sub-group").addClass("hide"),I(this).find(".sub-group").length>0&&I(this).find(".sub-group").removeClass("hide")})}function u(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0}function h(e){var t="";q||(q=!0,I.ajax({method:"post",url:e.url,data:e.data,success:function(e){200===e.code&&(I("#collect").hasClass("alreadyCollect")?I("#collect").attr("class","notCollect"):I("#collect").attr("class","alreadyCollect")),401===e.code&&(t=e.url,I("body").append("<a href='"+t+'\'><span class="jump-login"><span></a>'),I(".jump-login").click()),setTimeout(function(){v.refresh(),k=I("#scroller").outerHeight()},1e3),q=!1},error:function(){alert("网络断开连接了~"),q=!1}}))}function p(){var e={};e.url="/product/index/shopFav",e.data={shop_id:G?G:U,app_version:W},h(e)}function f(){var e={};e.url="/product/index/cancelShopFav",e.data={shop_id:G?G:U,app_version:W},h(e)}var m,g,v,w,y,b,C,j,x,k,T,q,E,I=e("jquery"),S=e("iscroll-probe"),L=e("lazyload"),D=e("swiper"),z=I("#pos-nav"),_=I("#pos-list"),M=e("js/plugin/tip"),P=e("js/plugin/filter"),F=e("js/plugin/loading"),O=I(".home-sub-nav"),N=I("#goods-container"),B=N.children(),A=I(B.get(0)),H=I(B.get(1)),R=I(B.get(2)),U=I('input[name="shop_id"]').val(),W=I('input[name="app_version"]').val(),V=I('input[name="brand"]').val(),G=I('input[name="favId"]').val(),X=I(window).height(),J='<p class="no-result">未找到相关搜索结果</p>',Q=e("js/product/query-param"),Y=I("#list-nav"),$=I("#pos-list"),Z={"new":{order:1,reload:!0,page:1,end:!1},hot:{order:1,reload:!0,page:1,end:!1},newest:{order:1,reload:!0,page:0,end:!1},price:{order:1,reload:!0,page:0,end:!1},discount:{order:1,reload:!0,page:0,end:!1}},K=Y.find(".active"),ee=1,te=I(".category-list li").length,oe=4-te%4;if(L(I("img.lazy")),I(".banner-swiper").find("li").size()>1&&(m=new D(".banner-swiper",{lazyLoading:!0,lazyLoadingInPrevNext:!0,loop:!0,autoplay:3e3,autoplayDisableOnInteraction:!1,paginationClickable:!0,slideElement:"li",pagination:".banner-top .pagination-inner"})),I(".multi-browse").find("li").size()>1&&(g=new D(".multi-browse",{lazyLoading:!0,lazyLoadingInPrevNext:!0,lazyLoadingOnTransitionStart:!0,grabCursor:!0,slidesPerView:"auto",slideElement:"li",watchSlidesVisibility:!0})),I(".category-list li").length%4!==0&&I(".category-list li:last-child").addClass("category-list-last-li"),I(".category-list li").length<4&&(I(".category-list").addClass("category-list-top-board"),I(".category-list").find(".buriedpoint").addClass("category-list-only-one-row")),I(".category-list li").length>=5)for(E=oe;E>=0;E--)I(".category-list li").eq(te-4+E-1).addClass("category-list-last-full-row");I.jqtab=function(e,t,o){I(e+" li, "+t+" li").not("li.all-goods").on("touchstart",function(){var n=I(this).index(),a=I(this).attr("tab");return z.removeClass("fixed-top"),r(I(e+" li"),n),r(I(t+" li"),n),I(o).hide(),I("#"+a).fadeIn(),"new-arrival"===a?(i(),ee=2):"popularity"===a?(s(),ee=3):"home-page"===a&&(v&&v.refresh(),k=I("#scroller").outerHeight(),z.removeClass("fixed-top"),z.removeClass("absolute"),_.removeClass("fixed-top"),_.removeClass("absolute")),z.hasClass("hide")||v.scrollTo(0,0-w),z.addClass("hide"),!1})},I.jqtab("#nav","#pos-nav",".main"),I("#wrapper").addClass("scroll-wrapper"),v=new S("#wrapper",{probeType:3,mouseWheel:!0,click:!0}),v.on("scroll",function(){var e,t=-this.y;if(t+2*X>k)switch(ee){case 2:e=function(){z.css({transform:"translate(0, "+-k+"px)"})},i(e);break;case 3:e=function(){z.css({transform:"translate(0, "+-k+"px)"})},s(e)}if(w>t)z.hasClass("hide")||z.addClass("hide"),_.hasClass("hide")||_.addClass("hide");else if(w+y+C>t){if(z.hasClass("hide")&&z.removeClass("hide"),_.hasClass("hide")||_.addClass("hide"),w+b>t)z.hasClass("fixed-top")||z.addClass("fixed-top").removeClass("absolute").css({transform:"translate(0, "+-k+"px)"});else if(w+y+b>t){if(I("#home-page").is(":hidden"))return!1;z.hasClass("absolute")||z.addClass("absolute").removeClass("fixed-top"),z.css({transform:"translate(0, "+(w+b-t-k)+"px)"})}}else{if(I("#home-page").is(":hidden"))return!1;z.hasClass("hide")||z.addClass("hide"),_.hasClass("hide")&&_.removeClass("hide"),k>t&&(_.hasClass("absolute")||_.addClass("absolute").removeClass("fixed-top"),_.css({transform:"translate(0, "+-k+"px)"}))}I("#scroller").trigger("scroll")}),document.addEventListener("touchmove",function(e){e.preventDefault()},!1),I(window).load(function(){v&&v.refresh(),w=I("#nav-top").outerHeight(),y=I("#nav").outerHeight(),b=I("#nav-main").height(),C=I("#nav-main").outerHeight(),j=I("#list-nav").outerHeight(),x=I("#goods-container").outerHeight(),setTimeout(function(){k=I("#scroller").outerHeight()},1e3)}),I.ajax({type:"GET",url:"/search/filter",data:{shop_id:V?"":U,brand:V},success:function(e){N.append(e),setTimeout(function(){v.refresh(),k=I("#scroller").outerHeight()},1e3),P.initFilter({fCbFn:l,hCbFn:function(){K.addClass("active"),K.siblings(".filter").removeClass("active")},missStatus:!0})}}),Y.bind("contextmenu",function(e){return!1}),$.bind("contextmenu",function(e){return!1}),O.on("touchend touchcancel",function(e){var t,o,n,a,i=I(e.target).closest("li");if(e.preventDefault(),"undefined"!=typeof i&&0!==i.length){if(i.hasClass("filter"))i.hasClass("active")?(P.hideFilter(),K.addClass("active"),i.removeClass("active")):(K=i.siblings(".active"),K.removeClass("active"),i.addClass("active"),P.showFilter());else{if(i.hasClass("new")?(t=".new",n="newest"):i.hasClass("price")?(t=".price",n="price"):i.hasClass("discount")&&(t=".discount",n="discount"),o=Z[n],i.hasClass("active")){if(i.hasClass("new"))return;if(i.hasClass("price")||i.hasClass("discount"))switch(i=O.find(t),i.find(".icon > .iconfont").toggleClass("cur"),K=i,o.reload=!0,o.order=0===o.order?1:0,N.children(".container:not(.hide)").addClass("hide"),n){case"newest":A.removeClass("hide");break;case"price":H.removeClass("hide");break;case"discount":R.removeClass("hide")}}else{if(a=O.find(".active"),K=i,a.hasClass("filter"))P.hideFilter();else switch(N.children(".container:not(.hide)").addClass("hide"),n){case"newest":A.removeClass("hide");break;case"price":H.removeClass("hide");break;case"discount":R.removeClass("hide")}O.children().removeClass("active"),O.find(t).addClass("active")}o.reload&&l({type:"shop_id",id:U,brand:V,url:"/index/search/search",nextPage:!1})}e.stopPropagation()}}),I(window).scroll(function(){window.requestAnimationFrame(d)}),l({type:"shop_id",id:U,brand:V,url:"/index/search/search",nextPage:!1}),Y.on("touchstart","li",function(e){I(this).addClass("bytouch")}).on("touchend touchcancel",function(){Y.find("li").removeClass("bytouch"),v.refresh()}),$.on("touchstart","li",function(e){I(this).addClass("bytouch")}).on("touchend touchcancel",function(){$.find("li").removeClass("bytouch"),v.refresh(),v.scrollTo(0,-(w+y+C+5))}),c(".shop-foot-wrapper"),I(document).bind("touchstart",function(){I(".sub-group").addClass("hide")}),I(".shop-foot-wrapper").bind("touchstart",function(e){u(e)}),I("#collect").on("touchstart",function(e){I("#collect").hasClass("alreadyCollect")?f():p()})}),define("js/me/entry",["jquery","hammer","lazyload","swiper","handlebars","source-map","mlellipsis","index"],function(e,t,o){e("js/me/order"),e("js/me/order-detail"),e("js/me/fav"),e("js/me/suggest"),e("js/me/index"),e("js/me/coupons"),e("js/me/online-service"),e("js/me/address"),e("js/me/suggest"),e("js/me/browse-record"),e("js/me/address-act"),e("js/me/logistic"),e("js/me/pay"),e("js/me/personal-details"),e("js/me/currency"),e("js/me/currency-new"),e("js/me/message"),e("js/me/message-detail")}),define("js/me/order",["jquery","hammer","lazyload","swiper","handlebars","source-map","index"],function(e,t,o){function n(e){function t(){var t,i,s,r,l=1e3,d=60*l,c=60*d,u=24*c;return t=Math.floor(a/u),i=Math.floor(a%u/c),s=Math.floor(a%c/d),r=Math.floor(a%d/l),t=String(t).length>=2?t:"0"+t,i=String(i).length>=2?i:"0"+i,s=String(s).length>=2?s:"0"+s,r=String(r).length>=2?r:"0"+r,e.removeClass("hide"),n.text("剩余"+i+":"+s+":"+r),a-=1e3,0>=a?void clearInterval(o):void 0}var o,n=e.find(".hours"),a=n.text();""!==a&&a>0&&(o=setInterval(t,1e3))}function a(){d(".order").each(function(){var e=d(this).find(".count-down");d(this).hasClass("hide")||n(e)})}function i(e){var t={type:w,page:y.page+1},o=e&&!e.noLoadingMask;b||(b=!0,o&&C.showLoadingMask(),d.ajax({type:"GET",url:"/home/getOrders",data:t,success:function(e){var n;" "!==e?(y.page=t.page,1===t.page?(g.html(e),u(g.find(".lazy"),{try_again_css:"order-failure"})):(n=g.children(".order").length,g.append(e),u(g.children(".order:gt("+(n-1)+")").find(".lazy"),{try_again_css:"order-failure"})),window.rePosFooter()):y.end=!0,b=!1,o&&C.hideLoadingMask(),a()}}))}function s(){y.end===!1&&d(window).scrollTop()+v>d(document).height()-.25*m.height()&&i({noLoadingMask:!0})}var r,l,d=e("jquery"),c=e("hammer"),u=e("lazyload"),h=e("js/plugin/tip"),p=e("swiper"),f=d("#order-nav > li"),m=d("#order-container"),g=m.children(".orders:not(.hide)"),v=d(window).height(),w=f.filter(".active").data("type"),y={page:0,end:!1},b=!1,C=e("js/plugin/loading"),j=e("js/me/dialog"),x=d(".reason-mask");u({try_again_css:"order-failure"}),function(){var e=f.length;4!==e&&f.width(100/e+"%")}(),C.init(d("body")),r=new c(document.getElementById("order-container")),r.on("tap",function(e){var t,o,n,a=d(e.target);a.closest(".locHref").length>0||(t=a.closest(".order"),o=t.data("id"),x.data("orderId",o),a.closest(".del").length>0?j.showDialog({dialogText:"确定删除订单吗?",hasFooter:{leftBtnText:"取消",rightBtnText:"确定"}},function(){d.ajax({type:"GET",url:"/home/delOrder",data:{id:o},success:function(e){j.hideDialog(),e.message&&h.show(e.message),200===e.code&&window.location.reload()},error:function(){h.show("取消订单失败")}})}):a.closest(".cancel").length>0?(console.log("s"),x.css("visibility","visible")):a.closest(".order-goods").length>0&&(n=t.data("href"),location.href=n))}),d(window).scroll(function(){window.requestAnimationFrame(s)}),i(),d(function(){l=new p(".box-main",{paginationClickable:!0,direction:"vertical",slidesPerView:6,height:200,centeredSlides:!0,initialSlide:3,onSlideChangeStart:function(e){var t=e.activeIndex,o=e.slides,n=0;if(1!==o.length)if(0===t)for(n=1;n<o.length;n++)d(o[n]).css("transform","");else if(t===o.length-1)for(n=0;t>n;n++)d(o[n]).css("transform","rotateX("+(30+12*(t-n))+"deg)");else{for(n=0;t>n;n++)d(o[n]).css("transform","rotateX("+(30+12*(t-n))+"deg)");for(n=t+1;n<o.length;n++)d(o[n]).css("transform","")}d(o[t]).css("transform","")}})}),x.find(".box-cmp").on("touchend",function(e){var t=l.slides[l.activeIndex],o=d(t).text(),n=d(t).data("reasonId");d.ajax({type:"GET",url:"/home/cancelOrder",data:{id:x.data("orderId"),reason:o,reasonId:n}}).then(function(e){x.fadeOut(),"object"===d.type(e)&&(e.message&&h.show(e.message),setTimeout(function(){window.location.href="/home/orders"},2e3))}).fail(function(){h.show("网络错误")})}),x.on("touchend",function(e){return"reason-mask"!==e.target.className?!1:(x.css("visibility","hidden"),void e.stopPropagation())})}),define("js/me/order-detail",["jquery","lazyload","hammer","handlebars","source-map","swiper","index"],function(e,t,o){function n(e){function t(){var e,t,a,i,s=1e3,r=60*s,l=60*r,d=24*l;return e=Math.floor(n/d),t=Math.floor(n%d/l),a=Math.floor(n%l/r),i=Math.floor(n%r/s),e=String(e).length>=2?e:"0"+e,t=String(t).length>=2?t:"0"+t,a=String(a).length>=2?a:"0"+a,i=String(i).length>=2?i:"0"+i,p.removeClass("hide"),h.text("剩余"+t+":"+a+":"+i),n-=1e3,0>n?void clearInterval(o):void 0}var o,n=e;""!==n&&n>0&&(o=setInterval(t,1e3))}var a,i,s=e("jquery"),r=e("lazyload"),l=e("hammer"),d=e("js/me/dialog"),c=e("js/plugin/tip"),u=s("#order-detail").data("id"),h=s(".hours"),p=s(".count-down"),f=e("swiper"),m=s(".owner-info"),g=s(".reason-mask");r({try_again_css:"order-failure"}),n(h.text()),i=new l(document.getElementsByClassName("opt")[0]),i.on("tap",function(e){var t=s(e.target);t.hasClass("btn-del")?d.showDialog({dialogText:"确定删除订单吗?",hasFooter:{leftBtnText:"取消",rightBtnText:"确定"}},function(){s.ajax({type:"GET",url:"/home/delOrder",data:{id:u}}).then(function(e){s("#dialog-wrapper").hide(),"object"===s.type(e)&&(e.message&&c.show(e.message),setTimeout(function(){window.location.href="/home/orders"},2e3))}).fail(function(){c.show("网络错误")})}):t.hasClass("btn-cancel")&&g.css("visibility","visible")}),m.data("changeable")===!0&&(m.find(".rest").show(),m.on("touchend",function(){location.href=m.data("url")})),s(function(){a=new f(".box-main",{paginationClickable:!0,direction:"vertical",slidesPerView:6,height:200,centeredSlides:!0,initialSlide:3,onSlideChangeStart:function(e){var t=e.activeIndex,o=e.slides,n=0;if(1!==o.length)if(0===t)for(n=1;n<o.length;n++)s(o[n]).css("transform","");else if(t===o.length-1)for(n=0;t>n;n++)s(o[n]).css("transform","rotateX("+(30+12*(t-n))+"deg)");else{for(n=0;t>n;n++)s(o[n]).css("transform","rotateX("+(30+12*(t-n))+"deg)");for(n=t+1;n<o.length;n++)s(o[n]).css("transform","")}s(o[t]).css("transform","")}})}),g.find(".box-cmp").on("touchend",function(e){var t=a.slides[a.activeIndex],o=s(t).text(),n=s(t).data("reasonId");s.ajax({type:"GET",url:"/home/cancelOrder",data:{id:u,reason:o,reasonId:n}}).then(function(e){g.fadeOut(),"object"===s.type(e)&&(e.message&&c.show(e.message),setTimeout(function(){window.location.href="/home/orders"},2e3))}).fail(function(){c.show("网络错误")})}),g.on("touchend",function(e){return"reason-mask"!==e.target.className?!1:(g.css("visibility","hidden"),void e.stopPropagation())})}),define("js/me/fav",["jquery","hammer","swiper","handlebars","source-map","index"],function(e,t,o){function n(e){f.filter(".active").removeClass("active"),f.eq(e).addClass("active"),m.filter(".show").removeClass("show"),m.eq(e).addClass("show")}function a(e){var t,o,n=/container-(\d+)['"]{1}/gi,a=/\d+/,i=e.match(n),s=i.length;for(t=0;s>t;t++)o=i[t].match(a)[0],g[o]=new u("#swiper-container-"+o,{slidesPerView:"auto",grabCursor:!0,slideElement:"li",wrapperClass:"swiper-wrapper-"+o,lazyLoading:!0,watchSlidesVisibility:!0})}function i(e,t,o){"favBrand"===t?q=!0:T=!0,d.ajax({method:"post",url:"/home/"+t,data:{page:o},success:function(o){var n=e.closest(".fav-type").find(".fav-content-loading");"favBrand"===t?w.addClass("hide"):v.addClass("hide")," "===o?(n.addClass("hide"),e.closest(".fav-type").find(".fav-null-box").removeClass("hide"),window.rePosFooter()):"end"===o?(n&&!n.hasClass("hide")&&n.addClass("hide"),e.closest(".fav-type").find(".fav-load-background").removeClass("fav-load-background").html("没有更多了"),q=!0,T=!0):o.length>10&&(e.append(o),n.remove(),"favBrand"===t?(a(o),q=!1):T=!1),window.rePosFooter()}})}function s(){d(window).scrollTop()+y>=d(document).height()-.25*j.height()-b&&(E?(w.filter(".hide").removeClass("hide"),q||(k++,i(j,"favBrand",k))):(v.filter(".hide").removeClass("hide"),T||(x++,i(C,"favProduct",x))))}var r,l,d=e("jquery"),c=e("hammer"),u=e("swiper"),h=e("js/me/dialog"),p=e("js/plugin/tip"),f=d("#fav-tab > li"),m=d(".fav-content > .fav-type"),g={},v=d(".fav-load-more"),w=d(".fav-brand-load-more"),y=d(window).height(),b=d("#yoho-footer").height(),C=d(".fav-product-list"),j=d(".fav-brand-swiper-wrapper"),x=1,k=1,T=!0,q=!0,E=!1;d("#fav-tab").hasClass("brand-tab")?(n(1),i(j,"favBrand",1),E=!0,window.rePosFooter()):(n(0),i(C,"favProduct",1),E=!1,window.rePosFooter()),r=new c(document.getElementById("fav-tab")),r.on("tap",function(e){var t,o=d(e.target).closest("li");0===o.length||o.hasClass("active")||(t=o.index(),0===t?(E=!1,0===C.find("li").length&&C.closest(".fav-type").find(".fav-null-box").hasClass("hide")&&i(C,"favProduct",1)):(E=!0,0===j.find("div").length&&j.closest(".fav-type").find(".fav-null-box").hasClass("hide")&&i(j,"favBrand",1)),n(t),window.rePosFooter())}),l=new c(document.getElementById("fav-content")),l.on("tap",function(e){var t="";d(e.target).hasClass("del-fav")&&h.showDialog({dialogText:"您确定要取消收藏吗?",hasFooter:{leftBtnText:"取消",rightBtnText:"确定"}},function(){t=d(e.target).closest("li").attr("data-id"),d.ajax({method:"post",url:"/home/favoriteDel",data:{id:t}}).then(function(t){200===t.code?(h.showDialog({autoHide:!0,fast:!0,dialogText:"已经取消收藏"}),d(e.target).closest("li").remove()):400===t.code?h.showDialog({autoHide:!0,fast:!0,dialogText:t.message}):h.showDialog({autoHide:!0,fast:!0,dialogText:"取消收藏失败"})}).fail(function(){h.showDialog({autoHide:!0,dialogText:"网络错误~"})})})}),d(window).scroll(s),d(document).on("touchend",".swiper-header",function(){var e=d(this).find(".fav-more").attr("href");e&&(window.location.href=e)}),d(".invalidGoods").on("touchstart touchend",function(e){var t=d(e.target).closest("span");if(!t.hasClass("del-fav"))return p.show("商品已下架"),!1})}),define("js/me/suggest",["jquery","hammer","lazyload","handlebars","source-map"],function(e,t,o){var n,a,i,s,r=e("jquery"),l=e("hammer"),d=e("lazyload"),c=e("handlebars"),u=e("js/me/dialog"),h=r(".upload-img-list"),p=r(".suggest-item .like-btn"),f=r(".suggest-item .dislike-btn"),m=r(".img-add"),g="",v=0;e("js/me/jquery.upload"),i='{{# imgList}}<li>{{# imgUrl}}<img src="{{.}}" /><span class="upload-img-remove"></span>{{/ imgUrl}}</li>{{/ imgList}}',s=c.compile(i),r("#upload-img").upload({auto:!0,fileType:"image/*",uploadScript:"/home/suggestimgUpload",fileObjName:"fileData",fileSizeLimit:300,height:"100%",width:"100%",multi:!1,onAddQueueItem:function(e){h.html(s({imgList:!0}))},onUploadComplete:function(e,t){h.html(""),g=JSON.parse(t).imgList[0].imgRelUrl,h.html(s(JSON.parse(t))),m.hide(),v++}}),d(),n=new l(document.getElementById("yoho-header")),n.on("tap",function(e){var t=r("#suggest-textarea").val(),o=/\S+/;if(r(e.target).hasClass("nav-btn")){if(!o.test(t))return void u.showDialog({autoHide:!0,dialogText:"意见不能为空"});r.ajax({method:"post",url:"/home/savesuggest",data:{content:t,image:g}}).then(function(e){200===e.code?(u.showDialog({autoHide:!0,dialogText:"提交成功"}),setTimeout(function(){location.pathname="home/suggest"},2e3)):u.showDialog({autoHide:!0,dialogText:"提交失败~"})}).fail(function(){u.showDialog({autoHide:!0,dialogText:"网络错误~"})})}}),null!==document.getElementById("img-form")&&(a=new l(document.getElementById("img-form")),a.on("tap",function(e){r(e.target).hasClass("upload-img-remove")&&(h.html(""),g="",v--,setTimeout(function(){m.show()},50))})),p.bind("click",function(){var e=r(this).closest(".suggest-item").attr("data-id"),t=r(this);r.ajax({method:"post",url:"/home/upAndDown",data:{suggest_id:e,reliable:1}}).then(function(e){200===e.code&&(t.closest(".suggest-type").removeClass("show"),t.closest(".suggest-item").find(".suggest-good").addClass("show"))}).fail(function(e){u.showDialog({autoHide:!0,dialogText:"网络错误~"})})}),f.bind("click",function(){var e=r(this).closest(".suggest-item").attr("data-id"),t=r(this);r.ajax({method:"post",url:"/home/upAndDown",data:{suggest_id:e,reliable:2}}).then(function(e){200===e.code&&(t.closest(".suggest-type").removeClass("show"),t.closest(".suggest-item").find(".suggest-bad").addClass("show"))}).fail(function(e){u.showDialog({autoHide:!0,dialogText:"网络错误~"})})})}),define("js/me/jquery.upload",["jquery"],function(e,t,o){var n=e("jquery");!function(e){var t={init:function(o){return this.each(function(){var n=e(this);n.data("uploadifive",{inputs:{},inputCount:0,fileID:0,queue:{count:0,selected:0,replaced:0,errors:0,queued:0,cancelled:0},uploads:{current:0,attempts:0,successful:0,errors:0,count:0}});var a=n.data("uploadifive"),s=a.settings=e.extend({auto:!0,buttonClass:!1,buttonText:"Select Files",checkScript:!1,dnd:!0,dropTarget:!1,fileObjName:"Filedata",fileSizeLimit:0,fileType:!1,formData:{},height:30,itemTemplate:!1,method:"post",multi:!0,overrideEvents:[],queueID:!1,queueSizeLimit:0,removeCompleted:!1,simUploadLimit:0,truncateLength:0,uploadLimit:0,uploadScript:"uploadifive.php",width:100},o);if(isNaN(s.fileSizeLimit)){var r=1.024*parseInt(s.fileSizeLimit);s.fileSizeLimit.indexOf("KB")>-1?s.fileSizeLimit=1e3*r:s.fileSizeLimit.indexOf("MB")>-1?s.fileSizeLimit=1e6*r:s.fileSizeLimit.indexOf("GB")>-1&&(s.fileSizeLimit=1e9*r)}else s.fileSizeLimit=1024*s.fileSizeLimit;if(a.inputTemplate=e('<input type="file">').css({"font-size":s.height+"px",opacity:0,position:"absolute",right:"-3px",top:"-3px","z-index":999}),a.createInput=function(){var o=a.inputTemplate.clone(),i=o.name="input"+a.inputCount++;s.multi&&o.attr("multiple",!0),s.fileType&&o.attr("accept",s.fileType),o.bind("change",function(){a.queue.selected=0,a.queue.replaced=0,a.queue.errors=0,a.queue.queued=0;var o=this.files.length;if(a.queue.selected=o,a.queue.count+o>s.queueSizeLimit&&0!==s.queueSizeLimit)e.inArray("onError",s.overrideEvents)<0&&alert("The maximum number of queue items has been reached ("+s.queueSizeLimit+"). Please select fewer files."),"function"==typeof s.onError&&s.onError.call(n,"QUEUE_LIMIT_EXCEEDED");else{for(var r=0;o>r;r++)file=this.files[r],a.addQueueItem(file);a.inputs[i]=this,a.createInput()}s.auto&&t.upload.call(n),"function"==typeof s.onSelect&&s.onSelect.call(n,a.queue)}),a.currentInput&&a.currentInput.hide(),a.button.append(o),a.currentInput=o},a.destroyInput=function(t){e(a.inputs[t]).remove(),delete a.inputs[t],a.inputCount--},a.drop=function(o){a.queue.selected=0,a.queue.replaced=0,a.queue.errors=0,a.queue.queued=0;var i=o.dataTransfer,r=i.name="input"+a.inputCount++,l=i.files.length;if(a.queue.selected=l,a.queue.count+l>s.queueSizeLimit&&0!==s.queueSizeLimit)e.inArray("onError",s.overrideEvents)<0&&alert("The maximum number of queue items has been reached ("+s.queueSizeLimit+"). Please select fewer files."),"function"==typeof s.onError&&s.onError.call(n,"QUEUE_LIMIT_EXCEEDED");else{for(var d=0;l>d;d++)file=i.files[d],a.addQueueItem(file);a.inputs[r]=i}s.auto&&t.upload.call(n),"function"==typeof s.onDrop&&s.onDrop.call(n,i.files,i.files.length),o.preventDefault(),o.stopPropagation()},a.fileExistsInQueue=function(e){for(var t in a.inputs){input=a.inputs[t],limit=input.files.length;for(var o=0;o<limit;o++)if(existingFile=input.files[o],existingFile.name==e.name&&!existingFile.complete)return!0}return!1},a.removeExistingFile=function(e){for(var o in a.inputs){input=a.inputs[o],limit=input.files.length;for(var i=0;i<limit;i++)existingFile=input.files[i],existingFile.name!=e.name||existingFile.complete||(a.queue.replaced++,t.cancel.call(n,existingFile,!0))}},0==s.itemTemplate?a.queueItem=e('<div class="uploadifive-queue-item"> <a class="close" href="#">X</a> <div><span class="filename"></span><span class="fileinfo"></span></div> <div class="progress"> <div class="progress-bar"></div> </div> </div>'):a.queueItem=e(s.itemTemplate),a.addQueueItem=function(o){if(e.inArray("onAddQueueItem",s.overrideEvents)<0){a.removeExistingFile(o),o.queueItem=a.queueItem.clone(),o.queueItem.attr("id",s.id+"-file-"+a.fileID++),o.queueItem.find(".close").bind("click",function(){return t.cancel.call(n,o),!1});var i=o.name;i.length>s.truncateLength&&0!=s.truncateLength&&(i=i.substring(0,s.truncateLength)+"..."),o.queueItem.find(".filename").html(i),o.queueItem.data("file",o),a.queueEl.append(o.queueItem)}"function"==typeof s.onAddQueueItem&&s.onAddQueueItem.call(n,o),o.size>s.fileSizeLimit&&0!=s.fileSizeLimit?a.error("FILE_SIZE_LIMIT_EXCEEDED",o):(a.queue.queued++,a.queue.count++)},a.removeQueueItem=function(t,o,n){n||(n=0);var i=o?0:500;t.queueItem&&(" - Completed"!=t.queueItem.find(".fileinfo").html()&&t.queueItem.find(".fileinfo").html(" - Cancelled"),t.queueItem.find(".progress-bar").width(0),t.queueItem.delay(n).fadeOut(i,function(){e(this).remove()}),delete t.queueItem,a.queue.count--)},a.filesToUpload=function(){var e=0;for(var t in a.inputs){input=a.inputs[t],limit=input.files.length;for(var o=0;o<limit;o++)file=input.files[o],file.skip||file.complete||e++}return e},a.checkExists=function(o){if(e.inArray("onCheck",s.overrideEvents)<0){e.ajaxSetup({async:!1});var a=e.extend(s.formData,{filename:o.name});if(e.post(s.checkScript,a,function(e){o.exists=parseInt(e)}),o.exists&&!confirm("A file named "+o.name+" already exists in the upload folder.\nWould you like to replace it?"))return t.cancel.call(n,o),!0}return"function"==typeof s.onCheck&&s.onCheck.call(n,o,o.exists),!1},a.uploadFile=function(t,o){if(!t.skip&&!t.complete&&!t.uploading)if(t.uploading=!0,a.uploads.current++,a.uploads.attempted++,xhr=t.xhr=new XMLHttpRequest,"function"==typeof FormData||"object"==typeof FormData){var r=new FormData;r.append(s.fileObjName,t);for(i in s.formData)r.append(i,s.formData[i]);xhr.open(s.method,s.uploadScript,!0),xhr.upload.addEventListener("progress",function(e){e.lengthComputable&&a.progress(e,t)},!1),xhr.addEventListener("load",function(e){4==this.readyState&&(t.uploading=!1,200==this.status?"Invalid file type."!==t.xhr.responseText?a.uploadComplete(e,t,o):a.error(t.xhr.responseText,t,o):404==this.status?a.error("404_FILE_NOT_FOUND",t,o):403==this.status?a.error("403_FORBIDDEN",t,o):a.error("Unknown Error",t,o))}),xhr.send(r)}else{var l=new FileReader;l.onload=function(i){var r="-------------------------"+(new Date).getTime(),l="--",d="\r\n",c="";c+=l+r+d,c+='Content-Disposition: form-data; name="'+s.fileObjName+'"',t.name&&(c+='; filename="'+t.name+'"'),c+=d,c+="Content-Type: application/octet-stream"+d+d,c+=i.target.result+d;for(key in s.formData)c+=l+r+d,c+='Content-Disposition: form-data; name="'+key+'"'+d+d,c+=s.formData[key]+d;c+=l+r+l+d,xhr.upload.addEventListener("progress",function(e){a.progress(e,t)},!1),xhr.addEventListener("load",function(e){t.uploading=!1;var n=this.status;404==n?a.error("404_FILE_NOT_FOUND",t,o):"Invalid file type."!=t.xhr.responseText?a.uploadComplete(e,t,o):a.error(t.xhr.responseText,t,o)},!1);var u=s.uploadScript;if("get"==s.method){var h=e(s.formData).param();u+=h}xhr.open(s.method,s.uploadScript,!0),xhr.setRequestHeader("Content-Type","multipart/form-data; boundary="+r),"function"==typeof s.onUploadFile&&s.onUploadFile.call(n,t),xhr.sendAsBinary(c)},l.readAsBinaryString(t)}},a.progress=function(t,o){if(e.inArray("onProgress",s.overrideEvents)<0){if(t.lengthComputable)var a=Math.round(t.loaded/t.total*100);o.queueItem.find(".fileinfo").html(" - "+a+"%"),o.queueItem.find(".progress-bar").css("width",a+"%")}"function"==typeof s.onProgress&&s.onProgress.call(n,o,t)},a.error=function(o,i,r){if(e.inArray("onError",s.overrideEvents)<0){switch(o){case"404_FILE_NOT_FOUND":errorMsg="404 Error";break;case"403_FORBIDDEN":errorMsg="403 Forbidden";break;case"FORBIDDEN_FILE_TYPE":errorMsg="Forbidden File Type";break;case"FILE_SIZE_LIMIT_EXCEEDED":errorMsg="File Too Large";break;default:errorMsg="Unknown Error"}i.queueItem.addClass("error").find(".fileinfo").html(" - "+errorMsg),i.queueItem.find(".progress").remove()}"function"==typeof s.onError&&s.onError.call(n,o,i),i.skip=!0,"404_FILE_NOT_FOUND"==o?a.uploads.errors++:a.queue.errors++,r&&t.upload.call(n,null,!0)},a.uploadComplete=function(o,i,r){e.inArray("onUploadComplete",s.overrideEvents)<0&&(i.queueItem.find(".progress-bar").css("width","100%"),i.queueItem.find(".fileinfo").html(" - Completed"),i.queueItem.find(".progress").slideUp(250),i.queueItem.addClass("complete")),"function"==typeof s.onUploadComplete&&s.onUploadComplete.call(n,i,i.xhr.responseText),s.removeCompleted&&setTimeout(function(){t.cancel.call(n,i)},3e3),i.complete=!0,a.uploads.successful++,a.uploads.count++,a.uploads.current--,delete i.xhr,r&&t.upload.call(n,null,!0)},a.queueComplete=function(){"function"==typeof s.onQueueComplete&&s.onQueueComplete.call(n,a.uploads)},!(window.File&&window.FileList&&window.Blob&&(window.FileReader||window.FormData)))return"function"==typeof s.onFallback&&s.onFallback.call(n),!1;if(s.id="uploadifive-"+n.attr("id"),a.button=e('<div id="'+s.id+'" class="uploadifive-button">'+s.buttonText+"</div>"),s.buttonClass&&a.button.addClass(s.buttonClass),a.button.css({height:s.height,"line-height":s.height+"px",overflow:"hidden",position:"relative","text-align":"center",width:s.width}),n.before(a.button).appendTo(a.button).hide(),a.createInput.call(n),s.queueID?a.queueEl=e("#"+s.queueID):(s.queueID=s.id+"-queue",a.queueEl=e('<div id="'+s.queueID+'" class="uploadifive-queue" />'),a.button.after(a.queueEl)),s.dnd){var l=s.dropTarget?e(s.dropTarget):a.queueEl.get(0);l.addEventListener("dragleave",function(e){e.preventDefault(),e.stopPropagation()},!1),l.addEventListener("dragenter",function(e){e.preventDefault(),e.stopPropagation()},!1),l.addEventListener("dragover",function(e){e.preventDefault(),e.stopPropagation()},!1),l.addEventListener("drop",a.drop,!1)}XMLHttpRequest.prototype.sendAsBinary||(XMLHttpRequest.prototype.sendAsBinary=function(e){function t(e){return 255&e.charCodeAt(0)}var o=Array.prototype.map.call(e,t),n=new Uint8Array(o);this.send(n.buffer)}),"function"==typeof s.onInit&&s.onInit.call(n)})},debug:function(){return this.each(function(){console.log(e(this).data("uploadifive"))})},clearQueue:function(){this.each(function(){var o=e(this),n=o.data("uploadifive"),a=n.settings;for(var s in n.inputs)for(input=n.inputs[s],limit=input.files.length,i=0;i<limit;i++)file=input.files[i],t.cancel.call(o,file);"function"==typeof a.onClearQueue&&a.onClearQueue.call(o,e("#"+n.settings.queueID)); -})},cancel:function(o,n){this.each(function(){var a=e(this),i=a.data("uploadifive"),s=i.settings;"string"==typeof o&&(isNaN(o)||(fileID="uploadifive-"+e(this).attr("id")+"-file-"+o),o=e("#"+fileID).data("file")),o.skip=!0,i.filesCancelled++,o.uploading&&(i.uploads.current--,o.uploading=!1,o.xhr.abort(),delete o.xhr,t.upload.call(a)),e.inArray("onCancel",s.overrideEvents)<0&&i.removeQueueItem(o,n),"function"==typeof s.onCancel&&s.onCancel.call(a,o)})},upload:function(t,o){this.each(function(){var n=e(this),a=n.data("uploadifive"),i=a.settings;if(t)a.uploadFile.call(n,t);else if(a.uploads.count+a.uploads.current<i.uploadLimit||0==i.uploadLimit){if(!o){a.uploads.attempted=0,a.uploads.successsful=0,a.uploads.errors=0;var s=a.filesToUpload();"function"==typeof i.onUpload&&i.onUpload.call(n,s)}e("#"+i.queueID).find(".uploadifive-queue-item").not(".error, .complete").each(function(){return _file=e(this).data("file"),a.uploads.current>=i.simUploadLimit&&0!==i.simUploadLimit||a.uploads.current>=i.uploadLimit&&0!==i.uploadLimit||a.uploads.count>=i.uploadLimit&&0!==i.uploadLimit?!1:void(i.checkScript?(_file.checking=!0,skipFile=a.checkExists(_file),_file.checking=!1,skipFile||a.uploadFile(_file,!0)):a.uploadFile(_file,!0))}),0==e("#"+i.queueID).find(".uploadifive-queue-item").not(".error, .complete").size()&&a.queueComplete()}else 0==a.uploads.current&&(e.inArray("onError",i.overrideEvents)<0&&a.filesToUpload()>0&&0!=i.uploadLimit&&alert("The maximum upload limit has been reached."),"function"==typeof i.onError&&i.onError.call(n,"UPLOAD_LIMIT_EXCEEDED",a.filesToUpload()))})},destroy:function(){this.each(function(){var o=e(this),n=o.data("uploadifive"),a=n.settings;t.clearQueue.call(o),a.queueID||e("#"+a.queueID).remove(),o.siblings("input").remove(),o.show().insertBefore(n.button),n.button.remove(),"function"==typeof a.onDestroy&&a.onDestroy.call(o)})}};e.fn.upload=function(o){return t[o]?t[o].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof o&&o?void e.error("The method "+o+" does not exist in $.uploadify"):t.init.apply(this,arguments)}}(n)}),define("js/me/index",["jquery","swiper","index"],function(e,t,o){var n,a=e("jquery"),i=e("js/plugin/notice-scroll"),s=a(".user-avatar"),r=a(".list-item"),l=new Image;e("js/product/recommend-for-you"),e("js/product/suspend-cart"),n=s.data("avatar"),l.src=n,l.onload=function(){s.css("background-image","url("+n+")")},i(".notice",1e3*a(".notice").data("time")),a(".yoho-page").on("touchstart",".list-item, .type-item, .order-title",function(){r.removeClass("highlight"),a(this).addClass("highlight")}).on("touchend touchcancel",".list-item, .type-item, .order-title",function(){a(this).removeClass("highlight")})}),define("js/product/recommend-for-you",["swiper","jquery","index"],function(e,t,o){var n,a=e("swiper"),i=e("jquery"),s=i(".recommend-for-you");i.get("/home/preference").then(function(e){s.html(e).show(),i("#swiper-recommend").length&&(n=new a("#swiper-recommend",{slidesPerView:"auto",grabCursor:!0,slideElement:"a",lazyLoading:!0,watchSlidesVisibility:!0}))}).fail(function(){s.hide()})}),define("js/me/coupons",["jquery","hammer","mlellipsis"],function(e,t,o){function n(e,t){d.showLoadingMask(),s.ajax({type:"POST",url:"/home/couponData",dataType:"html",data:{status:e,page:t},success:function(e){s("#employ").append(e),window.rePosFooter(),d.hideLoadingMask()}})}function a(){return s(window).scrollTop()+s(window).height()>s("body").height()-100?(u++,void n(c,u)):void 0}var i,s=e("jquery"),r=e("hammer"),l=e("mlellipsis"),d=e("js/plugin/loading"),c=0,u=1;l.init(),s(".yoho-footer").css("border-top","1px solid #e0e0e0"),s(".employ span").each(function(e){i=new r(s(".employ span")[e]),i.on("tap",function(t){s(".employ span").removeClass("active").eq(e).addClass("active"),s("#employ").html(" "),c=e,u=1,n(c,u),window.rePosFooter()})}),s(window).scroll(function(){window.requestAnimationFrame(a)}),n(c,u)}),define("js/me/online-service",["jquery"],function(e,t,o){var n=e("jquery"),a=n(".question-tab .tab-item");a.on("touchend",function(){var e=n(this).data("tab");e='[data-tab-name="'+e+'"]',a.removeClass("current"),n(this).addClass("current"),n(".question-list").removeClass("current"),n(e).addClass("current")}),n(".yoho-page").on("touchstart",".connect-item, .question-item",function(){n(this).siblings().removeClass("highlight"),n(this).addClass("highlight")}).on("touchend touchcancel",".connect-item, .question-item",function(){n(this).removeClass("highlight")})}),define("js/me/address",["jquery","hammer"],function(e,t,o){var n,a=e("jquery"),i=e("js/plugin/tip"),s=e("js/plugin/loading"),r=a(".action"),l=a(".add-address"),d=a("#yoho-footer"),c=a(".confim-mask"),u=a(".page-wrap"),h=a(".address-item");e("js/common"),u.first().css("min-height",function(){return a(window).height()-a("#yoho-header").height()-d.height()}),window.rePosFooter(),c.on("touchend",".cancel",function(e){return n=null,c.fadeOut(),!1}).on("touchend",".confim",function(){return s.showLoadingMask(),c.fadeOut(),a.ajax({method:"POST",url:"/home/delAddress",data:{id:n}}).then(function(e){"object"!==a.type(e)&&(e={}),200!==e.code?(i.show(e.message||"网络出了点问题~"),s.hideLoadingMask()):window.location.reload()}).fail(function(){i.show("网络出了点问题~"),s.hideLoadingMask()}).always(function(){n=null}),!1}),h.length<5&&l.attr("href",l.data("href")),l.on("touchend",function(){return h.length>=5?(i.show("您最多添加5个收货地址"),!1):void 0}),r.on("touchend",".del",function(){return n=a(this).data("id"),c.fadeIn(),!1}),r.on("touchstart","a,span",function(){a(this).css("background","#eee")}).on("touchend touchcancel","a,span",function(){a(this).css("background","transparent")})}),define("js/me/browse-record",["jquery","lazyload","handlebars","source-map","hammer"],function(t,o,n){function a(e){var t=c.children(".browse-record-good").length;g||(1===f&&u.removeClass("hide"),g=!0,i.ajax({type:"GET",url:"/home/recordContent",data:{page:f+1},success:function(o){" "===o?(m=!0,h.addClass("hide"),p.removeClass("hide")):(0===t?(c.html(o),s()):(c.append(o),s(c.find(".browse-record-good:gt("+(t-1)+") .lazy"))),window.rePosFooter(),f++,e&&e())},complete:function(){g=!1}}))}var i=t("jquery"),s=t("lazyload"),r=t("js/plugin/loading"),l=t("js/plugin/tip"),d=t("js/me/dialog"),c=i(".records"),u=i(".load-more"),h=u.children(".more"),p=u.children(".no-more"),f=0,m=!1,g=!1,v=i(window).height();r.init(),r.showLoadingMask(),a(r.hideLoadingMask),i(window).scroll(function(){m||v+i(window).scrollTop()>i(document).height()-.25*c.height()&&a()}),c.on("touchstart",".del-icon",function(){var e=i(this).closest(".browse-record-good"),t=e.data("skn");d.showDialog({dialogText:"确定删除此条浏览记录吗?",hasFooter:{leftBtnText:"取消",rightBtnText:"确定"}},function(){i.ajax({type:"GET",url:"/home/delRecord",data:{skn:t},success:function(e){200===e.code&&(d.showDialog({dialogText:"删除浏览记录成功",autoHide:2e3,fast:!0}),setTimeout(function(){window.history.go(0)},1200))}})})}),i(".deps").on("touchstart","span",function(){i(this).css("background","#eee")}).on("touchend touchcancel","span",function(){i(this).css("background","transparent")}),i(".invalidGoods").on("touchstart touchend",function(){var t=i(e.target).closest("span");if(!t.hasClass("del-icon"))return l.show("商品已下架"),!1})}),define("js/me/address-act",["jquery","hammer"],function(e,t,o){function n(e){f.html(e),y.on("touchend",function(){p.hide(),f.show(),b="list",g.html("地区选择")}),f.find(".address").each(function(e,t){var o=new r(t);o.on("tap",function(e){var t=s(e.target);"li"!==e.target.tagName.toLowerCase()&&(t=t.parent("li")),C.push(t.children(".caption").text().trim()),t.siblings().hide(),t.children("ul").show().children("li").show(),e.srcEvent.preventDefault(),e.srcEvent.stopPropagation()})}),f.find(".address-last").each(function(e,t){var o=new r(t);o.on("tap",function(e){var t=s(e.target);C.push(t.text().trim()),s('[name="area"]').val(C.join(" ")),s('[name="area_code"]').val(t.data("id")),p.show(),b="edit",g.html(w),f.hide(),f.find("ul").hide().find("li").removeClass("highlight"),f.children("ul").show().children("li").show(),C=[],e.srcEvent.preventDefault(),e.srcEvent.stopPropagation()})}),f.on("touchstart","li",function(){s(this).addClass("highlight")}).on("touchend touchcancel","li",function(){s(this).removeClass("highlight")})}var a,i,s=e("jquery"),r=e("hammer"),l=e("js/plugin/tip"),d=e("js/plugin/security"),c=e("js/plugin/loading"),u=s(".edit-address"),h=s(".submit"),p=s(".my-edit-address-page"),f=s(".my-address-list-page"),m=s(".nav-back"),g=s(".nav-title"),v=s("input, textarea"),w=g.html(),y=s(".area"),b="edit",C=[],j=s.queryString();s(p,f).css("min-height",function(){return s(window).height()-s("#yoho-header").height()}),m.attr("href","javascript:void(0);"),m.on("touchend",function(e){"list"===b?(f.hide(),p.show(),e.preventDefault(),b="edit",g.html(w),f.hide(),f.find("ul").hide().find("li").removeClass("highlight"),f.children("ul").show().children("li").show(),C=[]):window.history.go(-1)}),u.on("submit",function(){return a?!1:d.hasDangerInput(!1)?!1:s(this).find('[name="consignee"]').val()?s(this).find('[name="mobile"]').val()?s(this).find('[name="area_code"]').val()&&s(this).find('[name="area"]').val()?s(this).find('[name="address"]').val()?(a=!0,c.showLoadingMask(),h.css("background","#777"),s.ajax({method:"POST",url:"/home/saveAddress",data:s(this).serialize()}).then(function(e){"object"!==s.type(e)&&(e={}),200!==e.code?(l.show(e.message||"网络出了点问题~"),a=!1,c.hideLoadingMask()):"shopping"===j.refer?window.location.href="/cart/index/selectAddress":"modify"===j.refer?window.location.href="/home/addressModify":window.location.href="/home/address"}).fail(function(){l.show("网络出了点问题~"),a=!1,c.hideLoadingMask(),h.css("background","#444")}),!1):(l.show("地址不能为空"),!1):(l.show("省市区不能为空"),!1):(l.show("手机号不能为空"),!1):(l.show("收件人不能为空"),!1)}),h.on("touchend",function(){return d.hasDangerInput(!1)?!1:(v.blur(),u.submit(),!1)}).on("touchstart",function(){s(this).addClass("highlight")}).on("touchend touchcancel",function(){s(this).removeClass("highlight")}),window.localStorage&&window.localStorage.getItem&&(i=window.localStorage.getItem("chinaAddressList")),i?n(i):s.ajax({method:"GET",url:"/home/locationList",timeout:6e4}).then(function(e){n(e),window.localStorage&&window.localStorage.setItem&&window.localStorage.setItem("chinaAddressList",e)}).fail(function(){l.show("获取省市区列表失败")})}),define("js/me/logistic",["jquery","hammer","mlellipsis","lazyload"],function(e,t,o){function n(){d+l>r?window.rePosFooter():s.css("border-top","1px solid #f1f1f1")}function a(){return window.cookie("_Channel")||"boys"}var i=e("jquery"),s=i("#yoho-footer"),r=window.outerHeight,l=document.body.offsetHeight,d=s.height();i(document).ready(n),e("js/home/maybe-like")(a()),i(window).scrollTop(1).scrollTop(0)}),define("js/me/pay",["jquery","hammer"],function(e,t,o){function n(){document.addEventListener("WeixinJSBridgeReady",function(){window.WeixinJSBridge&&window.WeixinJSBridge.call("hideOptionMenu")})}function a(e,t){w.addClass("hide"),window.WeixinJSBridge&&window.WeixinJSBridge.invoke("getBrandWCPayRequest",t,function(t){window.location.href="/home/orders/detail?order_code="+e})}function i(e){var t;w.removeClass("hide"),void 0===typeof WeixinJSBridge?document.addEventListener?document.addEventListener("WeixinJSBridgeReady",a,!1):document.attachEvent&&(document.attachEvent("WeixinJSBridgeReady",a),document.attachEvent("onWeixinJSBridgeReady",a)):f.ajax({type:"GET",url:"/shopping/pay/wechatwapapi?order_code="+e,dataType:"json",success:function(o){200===o.code?(t=o.data.jsApiParameters,a(e,t)):g.show("微信支付调取失败")},error:function(){g.show("请刷新本页面,完成微信支付")},complete:function(){w.addClass("hide")}})}function s(){var e=window.navigator.userAgent.toLowerCase();return e.indexOf("micromessenger")>0}function r(){var e=f(".app");e.each(function(e,t){return"weixin"===f(t).parent().attr("id")?(f(t).parent().css("display","none"),!1):void 0})}function l(){s()||r()}function d(e,t){f(e).css("background-position-y",t)}function c(){var e=f(".box"),t=null,o=null;e.each(function(e,n){t=f(n).find(".icon").find("div"),t.length>0&&(o=f(n).attr("id"),"alipay"!==o&&d(t,j[o]))})}function u(){f(".payapp-list").css("visibility","visible")}function h(){var e=f(".box");e.on("touchstart",function(e){f(this).addClass("bytouch")}).on("touchend touchcancel",function(){e.removeClass("bytouch")})}function p(){l(),m.hideLoadingMask(),u(),c(),h()}var f=e("jquery"),m=e("js/plugin/loading"),g=e("js/plugin/tip"),v=e("hammer"),w=f(".loading-toast"),y=document.getElementById("ordercode").value,b=document.getElementById("weixin"),C=b&&new v(b),j={baidu:"-2.7rem",weixin:"-1.2rem",QQ:"-5.4rem",bank:"-4rem"};window.wx&&wx.hideOptionMenu(),void 0===typeof WeixinJSBridge?(document.addEventListener?document.addEventListener("WeixinJSBridgeReady",n,!1):document.attachEvent&&(document.attachEvent("WeixinJSBridgeReady",n),document.attachEvent("onWeixinJSBridgeReady",n)),n()):n(),C&&C.on("tap",function(){i(y)}),m.showLoadingMask(),f(document).ready(p),f(".box").on("click",function(){var e,t,o=f(".payapp-list a").attr("href"),n=[];-1!=o.indexOf("?")&&(n=o.split("?")[1].split("&"),e=n[0].split("=")[1],t=n[1].split("=")[1]),f.ajax({url:"/shopping/pay/addPaymentInterval?orderCode="+e+"&payment="+t,method:"get"})})}),define("js/me/personal-details",["jquery"],function(e,t,o){var n,a=e("jquery"),i=a(".user-avatar"),s=new Image;n=i.data("avatar"),s.src=n,s.onload=function(){i.css("background-image","url("+n+")")}}),define("js/me/currency",["jquery"],function(e,t,o){function n(e){i.ajax({type:"POST",url:"/home/ajaxCurrencyDetail",dataType:"html",data:{page:e},success:function(e){i(".coin-detail").append(e),window.rePosFooter()}})}function a(){return i(window).scrollTop()+i(window).height()>i("body").height()-100?(r++,void n(r)):void 0}var i=e("jquery"),s=e("js/plugin/loading"),r=1;s.showLoadingMask(),i(window).scroll(function(){window.requestAnimationFrame(a)}),n(r),i(document).ready(s.hideLoadingMask)}),define("js/me/currency-new",["jquery","hammer","mlellipsis","lazyload"],function(e,t,o){function n(){return window.cookie("_Channel")||"boys"}e("js/home/maybe-like")(n())}),define("js/me/message",["jquery","handlebars","source-map","hammer"],function(e,t,o){function n(e){s.showLoadingMask(),i.ajax({type:"POST",url:"/home/ajaxMessage",dataType:"html",data:{page:e},success:function(t){" "===t&&(c=!0,1===e&&(t='<p style="text-align:center">您没有消息</p>')),i(".massage-page").append(t),window.rePosFooter(),s.hideLoadingMask()}})}function a(){!c&&i(window).scrollTop()+i(window).height()>i("body").height()-100&&(d++,n(d))}var i=e("jquery"),s=e("js/plugin/loading"),r=e("js/me/dialog"),l=i(".massage-page"),d=1,c=!1;i(window).scroll(function(){window.requestAnimationFrame(a)}),l.on("touchstart",".del",function(){var e=i(this).closest(".massage-list"),t=e.data("id");r.showDialog({dialogText:"确定删除这条消息吗?",hasFooter:{leftBtnText:"取消",rightBtnText:"确定"}},function(){i.ajax({type:"POST",url:"/home/ajaxDelMes",data:{id:t},success:function(e){200===e.code?(r.showDialog({dialogText:"删除消息成功",autoHide:2e3,fast:!0}),setTimeout(function(){window.history.go(0)},1200)):r.showDialog({dialogText:e.message,autoHide:2e3,fast:!0})}})})}),n(d)}),define("js/me/message-detail",["jquery","handlebars","source-map","hammer"],function(e,t,o){var n=e("jquery"),a=e("js/me/dialog"),i=n(".massage-page"),s=!1;i.on("touchstart",".pick-coupon-btn",function(){if(!s){s=!0;var e=n(this).data("id");n.ajax({type:"POST",url:"/home/pickCoupon",data:{id:e},success:function(e){200===e.code&&(a.showDialog({dialogText:"领取成功",autoHide:2e3,fast:!0}),n(this).removeClass("pick-coupon-btn")),s=!1,a.showDialog({dialogText:e.message,autoHide:2e3,fast:!0})}})}})}),define("js/cart/entry",["jquery","mlellipsis","hammer","handlebars","source-map","swiper","lazyload","index"],function(e,t,o){e("js/cart/cart"),e("js/cart/gift-advance"),e("js/cart/order-ensure"),e("js/cart/select-coupon"),e("js/cart/select-address")}),define("js/cart/cart",["jquery","mlellipsis","hammer","handlebars","source-map","swiper","lazyload","index"],function(e,t,o){function n(){return window.isCookiesEnabled()?p(".cart-goods").length<=0&&!q:p(".cart-goods").length<=0}function a(){return b.not(".hide")}function i(){a().find(".shopping-cart-good .name").each(function(){this.mlellipsis(2)}),T=!0}function s(){return a().find(".cart-goods .icon-cb-checked").length>0?!0:!1}function r(){var e=a().find(".freebie");return e.length<=0?!1:!0}function l(){var e,t=!1;return"ordinary"===C?e=p(".common .low-stocks"):"advance"===C&&(e=p(".presell .low-stocks")),e.length<=0?t:(e.each(function(e,o){p(o).parent().parent().parent().siblings(".checkbox").hasClass("icon-cb-checked")&&(E+=1,t=!0)}),t)}function d(){v.showDialog({dialogText:"您还未选择赠品,是否去选择赠品",hasFooter:{leftBtnText:"我不要赠品",rightBtnText:"去选择"}},function(){window.location.href=a().find(".freebie > a").attr("href")},function(){var e=window.cookie("order-info");e&&window.setCookie("order-info",""),window.location.href="/cart/index/orderEnsure?cartType="+C})}var c,u,h,p=e("jquery"),f=e("mlellipsis"),m=e("hammer"),g=e("js/cart/chose-panel"),v=e("js/me/dialog"),w=e("js/plugin/loading"),y=e("js/plugin/tip"),b=p(".cart-content"),C=p("#cartType").val(),j=p(".cart-nav"),x=p(".shopping-cart-page"),k=!1,T=!1,q="true"===window.cookie("_yoho-cart-refreshByDelete")?!0:!1,E=0;w.showLoadingMask(),n()?e("js/product/recommend-for-you"):(q&&p("body").css("background-color","#f0f0f0"),e("js/cart/good")),x.css("display","block"),w.hideLoadingMask(),window.setCookie("_yoho-cart-refreshByDelete",!1),f.init(),"function"==typeof window.cookie&&"y"===window.cookie("_hasShowCartPresellTip")?(p("#presell-tip").removeClass("show").addClass("hide"),k=!0):p("#presell-tip").removeClass("hide").addClass("show"),"advance"===C&&(b.toggleClass("hide"),p("#common-cart-nav").removeClass("active"),p("#presell-cart-nav").addClass("active"),i(),p(window).trigger("scroll")),j.length>0&&(c=new m(document.getElementsByClassName("cart-nav")[0]),c.on("tap",function(e){var t=p(e.target).closest("li");t.hasClass("active")||("ordinary"===C?(C="advance",p("#cartType").val("advance")):(C="ordinary",p("#cartType").val("ordinary")),t.siblings(".active").removeClass("active"),t.addClass("active"),b.toggleClass("hide"),T===!1&&i(),p(window).trigger("scroll"))}),k||setTimeout(function(){p("#presell-tip").removeClass("show").addClass("hide"),window.setCookie("_hasShowCartPresellTip","y")},3e3)),p(".advance-buy").length>0&&(u=new m(document.getElementsByClassName("advance-buy")[0]),u.on("tap",function(e){window.location.href="/cart/index/advanceBuy?cartType="+C})),p(".freebie").length>0&&(h=new m(document.getElementsByClassName("freebie")[0]),h.on("tap",function(e){window.location.href="/cart/index/gift?cartType="+C})),p(".btn-balance").on("touchend",function(){var e=window.cookie("order-info");return E=0,l()?(y.show("所选商品中有"+E+"种库存不足的商品"),!1):r()?(d(),!1):void(s()?(e&&window.setCookie("order-info",""),window.location.href="/cart/index/orderEnsure?cartType="+C):y.show("请先勾选商品"))}),p(".off-shell-goods").on("touchstart touchend",function(e){var t=p(e.target).closest("span");if(!t.hasClass("icon-del"))return y.show("商品已下架"),!1}),p(".chose").on("touchend",function(){g.show()}),j.on("touchstart","li",function(e){p(this).addClass("bytouch")}).on("touchend touchcancel",function(){j.find("li").removeClass("bytouch")}),p(window).scrollTop(1).scrollTop(0)}),define("js/cart/good",["jquery","mlellipsis","lazyload","handlebars","source-map","hammer"],function(e,t,o){function n(e){this.goods_type=e.goods_type,this.buy_number=e.buy_number,this.product_sku=e.product_sku,this.selected=e.selected}function a(e,t,o,n){return e.length<2?(m.show("出错啦!"),!1):(u.remove(),d(e).appendTo("#mainCart"),u.init(),u.setEditModeWithSknId(t,o),n||u.disableNumEdit(),void u.show())}function i(e,t){v||(v=!0,d.ajax({url:"select",type:"post",data:{skuList:JSON.stringify(e)},success:function(e){200===e.code?t():m.show(e.message)},error:function(){m.show("网络异常")},complete:function(){v=!1}}))}function s(){var e,t=d(".shopping-cart-good .icon-cb-checked"),o=d(".shopping-cart-good .icon-checkbox");g.hasClass("icon-cb-checked")?(g.removeClass("icon-cb-checked").addClass("icon-checkbox"),e=!0):(g.removeClass("icon-checkbox").addClass("icon-cb-checked"),e=!1),e?t.each(function(e,t){d(t).removeClass("icon-cb-checked").addClass("icon-checkbox")}):o.each(function(e,t){d(t).removeClass("icon-checkbox").addClass("icon-cb-checked")}),window.location.href="/cart/index/index?cartType="+d("#cartType").val()}function r(e,t,o){var a={},s=d(".cart-content:not(.hide) .shopping-cart-good"),r=null,l=[];a.goods_type=t,a.selected=e?"N":"Y",s.each(function(e,t){r=d(t),a.product_sku=d(t).data("id"),a.hasPromotion=d(t).data("promotion"),a.buy_number=r.find(".count").eq(0).text().trim().replace("×",""),l.push(new n(a))}),i(l,o)}var l,d=e("jquery"),c=e("mlellipsis"),u=e("js/cart/chose-panel"),h=e("js/plugin/loading"),p=e("lazyload"),f=e("js/me/dialog"),m=e("js/plugin/tip"),g=d(".balance .checkbox"),v=!1;c.init(),p({try_again_css:"order-failure"}),setTimeout(function(){d(".shopping-cart-good .name").each(function(){this.mlellipsis(2)})},0),d(".cart-goods").on("touchstart",".checkbox",function(){var e=d(this),t=e.closest(".shopping-cart-good"),o=t.data("id"),a=[],i={};return!e.hasClass("icon-cb-checked")&&e.siblings(".info").find(".low-stocks").length>0?(m.show("库存不足,无法购买"),!1):(i.goods_type=d("#cartType").val(),i.selected=e.hasClass("icon-cb-checked")?"N":"Y",i.product_sku=o,i.buy_number=t.find(".count").eq(0).text().trim().replace("×",""),a.push(new n(i)),void d.ajax({type:"post",url:"select",data:{skuList:JSON.stringify(a)}}).then(function(t){200===t.code?(e.hasClass("icon-cb-checked")?e.removeClass("icon-cb-checked").addClass("icon-checkbox"):e.removeClass("icon-checkbox").addClass("icon-cb-checked"),window.location.href="/cart/index/index?cartType="+d("#cartType").val()):400===t.code&&m.show("网络异常")},function(){m.show("网络异常")}))}),d(".icon-edit").on("touchstart",function(e){var t,o,n,i,s,r=d(this),c=r.closest(".shopping-cart-good").data("skn");return r.parents(".off-shell-goods").length?(m.show("商品已下架"),!1):c===l?void u.show():(l=c,t=r.closest(".info").siblings(".checkbox"),o=r.closest(".deps").siblings(".few-tag"),n=r.closest(".shopping-cart-good").data("id"),i=r.data("count"),s=o.hasClass("gift-tag")||o.hasClass("plus-tag")?!1:!0,e.stopPropagation(),h.showLoadingMask(),void d.ajax({url:"/cart/index/goodinfo",data:{skn:c,buy_num:i},success:function(e){a(e,n,t.hasClass("icon-cb-checked"),s)},error:function(){m.show("网络异常"),window.location.reload()},complete:function(){h.hideLoadingMask()}}))}),d(".icon-del").on("touchstart",function(e){var t=d(this);e.stopPropagation(),f.showDialog({dialogText:"您确定要从购物车中删除吗?",hasFooter:{leftBtnText:"取消",rightBtnText:"确定"}},function(){var e=t.closest(".shopping-cart-good"),o=t.data("count");d.ajax({method:"post",url:"/cart/index/del",data:{sku:e.data("id"),count:o,promotionId:e.data("promotion")}}).then(function(e){200===e.code?(f.showDialog({dialogText:"删除成功",autoHide:!0,fast:!0}),window.setCookie("_yoho-cart-refreshByDelete",!0),window.location.href="/cart/index/index?cartType="+d("#cartType").val()):m.show(e.message)},function(){m.show("网络异常"),window.location.reload()})})}),g.on("touchend",function(){var e=d("#cartType").val(),t=d(this).hasClass("icon-cb-checked");if("ordinary"===e){if(!t&&d(".common .low-stocks").length>0)return m.show("所选商品中含有库存不足的商品"),!1}else if("advance"===e&&!t&&d(".presell .low-stocks").length>0)return m.show("所选商品中含有库存不足的商品"),!1;r(t,e,s)}),d(".down").on("touchend",function(){u.show()})}),define("js/cart/gift-advance",["jquery","mlellipsis","lazyload","hammer"],function(e,t,o){function n(e,t){d.showLoadingMask(),a.get("/cart/index/giftinfo",{skn:e,promotionId:t}).then(function(e){return e?void c.show(e,function(){window.location.href="/cart/index/index?cartType="+h.cartType}):void l.show("网络错误")},function(){l.show("网络错误")}).always(function(){d.hideLoadingMask()})}var a=e("jquery"),i=e("mlellipsis"),s=e("lazyload"),r=e("hammer"),l=e("js/plugin/tip"),d=e("js/plugin/loading"),c=e("js/cart/chose-panel"),u=a(".gift-advance-page"),h=a.queryString();e("js/common"),s(a(".lazy")),i.init(),u.find(".chose").each(function(e,t){var o=new r(t);o.on("tap",function(e){var t=a(e.target),o=t.closest(".gift-advance-good").data("id"),i=t.closest(".advance-block").data("promotion-id");n(o,i)})}),setTimeout(function(){a(".gift-advance-good .name").each(function(){this.mlellipsis(2)})},0)}),define("js/cart/order-ensure",["jquery","lazyload","hammer"],function(e,t,o){function n(){var e,t=location.search.substr(1).split("&"),o=[],n={};for(e=0;e<t.length;e++)o=t[e].split("="),n[o[0]]=o[1],o=[];return n}function a(){return n().limitproductcode}function i(e){var t=p(".more-jit a").get(0),o=t.href;o.indexOf("deliveryId")<0?t.href=o+"&deliveryId="+e:t.href=o.replace(/deliveryId=(\d)/,"deliveryId="+e)}function s(){var e=T("yohoCoin"),t=T("deliveryId");g.showLoadingMask(),p.ajax({method:"POST",url:"/cart/index/orderCompute",data:{cartType:T("cartType")||"ordinary",deliveryId:T("deliveryId"),paymentTypeId:T("paymentTypeId"),couponCode:T("couponCode"),yohoCoin:e,skuList:a()?T("skuList"):void 0}}).then(function(e){"object"!==p.type(e)?window.location.reload():(void 0!==typeof e.last_order_amount&&(e.last_order_amount=(+e.last_order_amount).toFixed(2)),e.use_yoho_coin&&(C.find("em").html("- ¥ "+e.use_yoho_coin),j.html("已抵¥"+e.use_yoho_coin),C.find("em").show(),j.show()),h="",e.promotion_formula_list&&(p.each(e.promotion_formula_list,function(e,t){h+="<li><p>"+t.promotion+"</p><span>"+t.promotion_amount+"</span></li>"}),p(".price-cost span").html("¥"+e.last_order_amount),p(".bill span").html("¥"+e.last_order_amount),p(".total").html(h)),i(t))}).fail(function(){window.location.reload()}).always(function(){g.hideLoadingMask()})}function r(){var e=w.find('[name="invoice-title"]').val()||T("invoiceText"),t=p("#msg").find("input").val()||T("msg");if(c)return!1;if(T("invoice")){if(!e)return void m.show("请输入发票抬头");if(e.length>30)return void m.show("发票抬头不得超过30个汉字")}return t&&t.length>40?void m.show("留言不得超过40个汉字"):(g.showLoadingMask(),c=!0,void p.ajax({method:"POST",url:"/cart/index/orderSub",data:{addressId:T("addressId"),cartType:T("cartType")||"ordinary",deliveryId:T("deliveryId"),deliveryTimeId:T("deliveryTimeId"),invoiceText:T("invoice")?e:null,invoiceType:T("invoice")?w.find(".invoice-type").val()||T("invoiceType"):null,msg:t,paymentTypeId:T("paymentTypeId"),paymentType:T("paymentType"),couponCode:T("couponCode"),yohoCoin:T("yohoCoin"),skuList:a()?T("skuList"):void 0}}).then(function(e){var t;return e?void(200===e.code?(t=2===d?"/home/orderDetail?order_code="+e.data.order_code:"/home/orders/pay?order_code="+e.data.order_code,window.setCookie("order-info",""),window.location.href=t):e.message&&m.show(e.message)):void m.show("系统繁忙,请稍后再试!")}).fail(function(){m.show("系统繁忙,请稍后再试!")}).always(function(){c=!1,g.hideLoadingMask()}))}function l(e){return e=e||"",e.replace(/(\d{3})\d{4}(\d{4})/,"$1****$2")}var d,c,u,h,p=e("jquery"),f=e("lazyload"),m=e("js/plugin/tip"),g=e("js/plugin/loading"),v=e("js/cart/order-info"),w=p(".invoice"),y=p(".coupon-use.used"),b=p(".address-wrap"),C=p(".coin-check"),j=p(".coin .used"),x=p(".sub-block"),k=p.queryString(),T=v.orderInfo;e("js/common"),f(),window.getUid()!==T("uid")&&(v.init(),window.location.reload()),y.data("name")!==T("couponName")&&(T("couponCode",null),T("couponName",null)),document.referrer&&-1!==document.referrer.indexOf("/cart/index/index")&&(T("couponCode",null),T("couponName",null)),a()&&function(){var e=[],t=n();t.type="limitcode",e.push(t),T("skuList",JSON.stringify(e)),T("limitUrlSufix",location.search)}(),(k.cartType||k.carttype||!T("cartType"))&&T("cartType",k.cartType||k.carttype||"ordinary"),p(".checkbox").on("touchstart",function(){var e=p(this);return e.hasClass("icon-cb-radio")?void e.removeClass("icon-cb-radio").addClass("icon-radio"):void(e.hasClass("icon-radio")&&e.removeClass("icon-radio").addClass("icon-cb-radio"))}),w.on("touchend",".checkbox",function(){var e=p(this);e.hasClass("icon-cb-radio")&&w.addClass("focus"),e.hasClass("icon-radio")&&w.removeClass("focus")}),T("addressId")||T("addressId",b.data("id")),p(".delivery-id").on("touchend","li",function(){T("deliveryId",p(this).data("id")),s()}),p(".payment-type").on("touchend","li",function(){T("paymentType",p(".icon-cb-radio",this).data("id"))}),p(".dispatch-time").on("touchend","li",function(){T("deliveryTimeId",p(this).data("id"))}),p(".coin").on("touchend",function(){var e=p(this);e.find(".checkbox").hasClass("icon-cb-radio")?(T("yohoCoin",e.data("yoho-coin")),e.find(".can-use").hide()):(T("yohoCoin",0),e.find(".coin-check em").hide(),e.find(".can-use").show(),e.find(".used").hide()),s()}),w.on("touchend",".checkbox",function(e){var t=p(this);T("invoice",t.hasClass("icon-cb-radio")),e.preventDefault(),e.stopPropagation()}),w.find('[name="invoice-title"]').on("blur",function(){T("invoiceText",p(this).val())}).end().find(".invoice-type").on("change",function(){T("invoiceType",p(this).val())}),p("#msg").find("textarea").on("blur",function(){T("msg",p(this).val())}),p(".pay-mode").on("click","li",function(){var e=p(this);T("paymentTypeId",e.data("pay-id")),T("paymentType",e.data("pay-type")),d=e.data("pay-type")}),p("form").on("submit",function(){return!1}),p(".dispatch").on("touchend","h3",function(){p(this).siblings("ul").is(":hidden")?(p(".dispatch h3").removeClass("border-none"),p(this).addClass("border-none"),p(".down").removeClass("hide"),p(".up").addClass("hide"),p(".up",this).removeClass("hide"),p(".down",this).addClass("hide"),p(".dispatch ul").hide(),p(this).siblings("ul").show()):(p(this).removeClass("border-none"),p(".down",this).removeClass("hide"),p(".up",this).addClass("hide"),p(this).siblings("ul").hide())}),x.on("touchstart","li",function(){p.each(p(this).parents("ul").find("i"),function(){p(this).parents("ul").find("i").removeClass("icon-cb-radio").addClass("icon-radio")}),p(this).parents("ul").hide(),p(".down").removeClass("hide"),p(".up").addClass("hide"),p(".dispatch h3").removeClass("border-none"),u=p(this).find("span").html(),p(this).parents(".sub-block").find("h3 span").html(u),p(this).find("i").hasClass("icon-cb-radio")?p(this).find("i").addClass("icon-radio"):p(this).find("i").hasClass("icon-radio")&&p(this).find("i").addClass("icon-cb-radio")}),p(".bill a").on("touchstart",function(){T("paymentTypeId",p(".delivery-id .icon-cb-radio").data("id")),T("paymentType",p(".payment-type .icon-cb-radio").data("id")),d=p(".payment-type .icon-cb-radio").data("id"),r()}),p(".info-phone").html(l(p(".info-phone").html())),T("address")&&"N"===T("address").is_support&&(T("deliveryId",p(".delivery-id .icon-cb-radio").data("id")),s())}),define("js/cart/order-info",["jquery","hammer"],function(e,t,o){function n(){i={uid:window.getUid(),deliveryId:a(".dispatch-mode .chosed").data("id")||1,deliveryTimeId:1,paymentTypeId:1,yohoCoin:0,addressId:null,couponCode:null,couponName:null,invoice:null,invoiceText:null,invoiceType:null,msg:null,cartType:"ordinary"},window.setCookie("order-info",JSON.stringify(i))}var a=e("jquery"),i=window.cookie("order-info");e("js/common");try{i=JSON.parse(i)}catch(s){n()}t.init=n,t.orderInfo=function(e,t){return void 0===t?i[e]:(i[e]=t,void window.setCookie("order-info",JSON.stringify(i)))}}),define("js/cart/select-coupon",["jquery","handlebars","source-map","hammer","mlellipsis"],function(e,t,o){function n(){var e=r(".null"),t=r(".nav-title").height(),o=e.height();return 0===e.length?!1:void e.css({top:w/2-o/2+t})}function a(e){var t,o;return r.isArray(e)?(r(".coupon-wrap").html(r("#tmpl-no-coupon").html()),void n()):(t=e.notAvailableCoupons,o=e.coupons,r.each(o,function(e,t){t.couponValue=Math.floor(t.couponValue)}),r.each(t,function(e,t){t.couponValue=Math.floor(t.couponValue)}),v.append(f({coupons:o})).find(".employ-main").each(function(e,t){var o=new d(t);o.on("tap",function(e){var t=r(e.srcEvent.currentTarget),o=t.data("coupon-code"); -r.ajax({method:"POST",url:"/cart/index/couponSearch",data:{couponCode:o}}).then(function(e){200===e.code?(p("couponCode",e.data.coupon_code),p("couponName",e.data.coupon_title),window.location.href="/cart/index/orderEnsure"):e.message&&h.show(e.message)}).fail(function(){h.show("网络错误")})})}),t.length&&r(".not-avaliable-coupon-line").show(),r("#coupon-list-not").append(m({notAvailableCoupons:t})),void window.rePosFooter())}function i(){s||(u.showLoadingMask(),s=!0,r.ajax({type:"GET",url:"/cart/index/couponList",dataType:"json"}).then(a).fail(function(){}).always(function(){s=!1,u.hideLoadingMask()}))}var s,r=e("jquery"),l=e("handlebars"),d=e("hammer"),c=e("mlellipsis"),u=e("js/plugin/loading"),h=e("js/plugin/tip"),p=e("js/cart/order-info").orderInfo,f=l.compile(r("#tmpl-coupon").html()),m=l.compile(r("#tmpl-coupon-not-avaliable").html()),g=r("#new-coupon"),v=r("#coupon-list"),w=r(window).height();e("js/common"),c.init(),g.on("submit",function(){var e=r(this);return e.find('[name="couponCode"]').val()?(r.ajax({method:"POST",url:"/cart/index/couponSearch",data:e.serialize()}).then(function(e){e.message&&h.show(e.message),200===e.code&&(h.show("优惠券可用"),p("couponCode",e.data.coupon_code),p("couponName",e.data.coupon_title),window.location.href="/cart/index/orderEnsure")}).fail(function(){h.show("网络错误")}),!1):(h.show("请输入优惠券码"),!1)}),v.on("touchstart",".employ-main",function(){var e=r(this);e.siblings().removeClass("focus"),e.addClass("focus")}).on("touchend touchcancel",".employ-main",function(){var e=r(this);e.siblings().removeClass("focus"),e.removeClass("focus")}),r("body").on("touchend",".not-use",function(){p("couponCode",null),p("couponName",null)}),g.find("input").on("input",function(){""!==r(this).val()?g.find(".submit").css("background","#444"):g.find(".submit").css("background","#b0b0b0")}),i()}),define("js/cart/select-address",["jquery","hammer"],function(e,t,o){var n,a=e("jquery"),i=e("js/cart/order-info").orderInfo,s=a(".confim-mask");e("js/common"),a(".address-item").on("touchend",function(){var e=a(this),t=e.data("address-id"),o={address_id:e.data("address-id"),consignee:e.find(".name").text(),mobile:e.find(".tel").text(),address_info:e.find(".address-info").text(),is_support:e.data("is-support")};i("addressId",t),i("address",o),console.log(e.data("href")+(i("limitUrlSufix")||"")),window.location.href=e.data("href")+(i("limitUrlSufix")||"")}).on("touchend",".edit",function(){return window.location.href=a(this).data("href"),!1}).on("touchstart",".del",function(){n=a(this).data("id")}),s.on("touchend",".confim",function(){i("addressId")===n&&(i("addressId",null),i("address",null))})}); \ No newline at end of file +define("index",["jquery","hammer","swiper","lazyload","mlellipsis","iscroll-probe","handlebars","source-map","index"],function(e,t,o){var n;e("js/common"),e("js/category/entry"),e("js/guang/entry"),e("js/home/entry"),e("js/index/entry"),e("js/passport/entry"),e("js/product/entry"),e("js/me/entry"),e("js/cart/entry"),o.exports=n}),define("js/common",["jquery","hammer"],function(e,t,o){function n(e){var t,o,n=document.cookie;return document.cookie&&""!==document.cookie&&(o=n.indexOf(e+"="),o>-1&&(o+=e.length+1,t=decodeURIComponent(h.trim(n.substring(o,n.indexOf(";",o)))))),t}function a(e,t,o){var n,a,i,s,r="";"undefined"!=typeof t&&(o=o||{},null===t&&(t="",o.expires=-1),o.expires&&("number"==typeof o.expires||o.expires.toUTCString)&&("number"==typeof o.expires?(s=new Date,s.setTime(s.getTime()+24*o.expires*60*60*1e3)):s=o.expires,r="; expires="+s.toUTCString()),n=o.path?"; path="+o.path:"",a=o.domain?"; domain="+o.domain:"",i=o.secure?"; secure":"",document.cookie=[e,"=",encodeURIComponent(t),r,n,a,i].join(""))}function i(){var e=!!navigator.cookieEnabled;return"undefined"!=typeof navigator.cookieEnabled||e||(document.cookie="testcookie",e=-1!==document.cookie.indexOf("testcookie")),e}function s(){var e,t=n("_UID");return"undefined"==typeof t?0:(e=t.split("::"),"undefined"==typeof e||e.length<4?0:e)}function r(){var e=s();return 0===e?0:e[1]}function l(){var e=n("_g");return"undefined"==typeof e?"":JSON.parse(e).k}function d(){var e;0!==f.length&&(e=Math.min(h(window).height(),window.screen.availHeight),h("body").height()<=e-parseInt(f.css("height"),0)?f.addClass("bottom"):f.removeClass("bottom"))}function c(e){var t=h(e).outerHeight();e&&f.css("margin-bottom",t+"px")}function u(e){return e.replace(/(\d{3})\d{4}(\d{4})/,"$1****$2")}var h=e("jquery"),p=e("hammer"),f=h("#yoho-footer"),m=h(".yoho-page"),g=h(".yoho-header");!function(){var e,t=f.children(".op-row"),o=h(".back-to-top"),n=s();d(),0===n?t.prepend('<a href="//m.yohobuy.com/signin.html?refer='+location.href+'">登录</a><span class="sep-line">|</span><a href="//m.yohobuy.com/reg.html">注册</a>'):t.prepend('<span>Hi,</span><a class="user-name" href="//m.yohobuy.com/home?tmp='+Math.random()+'">'+n[0]+'</a><a href="//m.yohobuy.com/passport/signout/index?token='+n[3]+'">退出</a>'),o.length>0&&(e=new p(o[0]),e.on("tap",function(e){return h(window).scrollTop(0),e.srcEvent.preventDefault(),!1})),f.removeClass("hide")}(),function(e,t,o,n,a){var i=t.createElement(o),s=t.getElementsByTagName(o)[0];e.YohoAcquisitionObject=a,e[a]=function(){e[a].p=arguments},i.async=1,i.src=n,s.parentNode.insertBefore(i,s)}(window,document,"script",("https:"===document.location.protocol?"https":"http")+"://cdn.yoho.cn/yas-jssdk/1.0.15/yas-debug.js","_yas"),function(){var e=r();e=0===e?"":e,window._ozuid=e,window._yas&&(window._yas(1*new Date,"1.0.15","yohobuy_m",e,"",""),h(".buriedpoint").click(function(e){var t=h(this).attr("data-bp-id").split("_"),o={page:t[0],floor:t[1],data:t[2]};console.log(o),console.log(Boolean(parseInt(t[3]))),window._yas.sendCustomInfo(o,Boolean(parseInt(t[3])))}))}(),g.on("touchstart","a",function(){g.find("a").removeClass("highlight"),h(this).addClass("highlight")}).on("touchend touchcancel","a",function(){h(this).removeClass("highlight")}),m.on("touchstart",".tap-hightlight",function(){h(this).siblings(".tap-hightlight").removeClass("highlight"),h(this).addClass("highlight")}).on("touchend touchcancel",".tap-hightlight",function(){h(this).removeClass("highlight")}),h(".nav-home").on("touchstart",function(){h(".homebuttom").toggleClass("hide")}),function(){var e,t,o=0,n="webkit moz ms o".split(" "),a=window.requestAnimationFrame,i=window.cancelAnimationFrame;for(t=0;t<n.length&&(!a||!i);t++)e=n[t],a=a||window[e+"RequestAnimationFrame"],i=i||window[e+"CancelAnimationFrame"]||window[e+"CancelRequestAnimationFrame"];a&&i||(a=function(e,t){var n=(new Date).getTime(),a=Math.max(0,16-(n-o)),i=window.setTimeout(function(){e(n+a)},a);return o=n+a,i},i=function(e){window.clearTimeout(e)}),window.requestAnimationFrame=a,window.cancelAnimationFrame=i}(),h.extend({queryString:function(){var e,t,o=[],n=window.location.search.slice(1).split("&");for(t=0;t<n.length;t++)e=n[t].split("="),o.push(e[0]),o[e[0]]=e[1];return o}}),11===f.find(".user-name").text().length&&f.find(".user-name").html(u(f.find(".user-name").text())),window.cookie=n,window.setCookie=a,window.isCookiesEnabled=i,window.getUser=s,window.getUid=r,window.getShoppingKey=l,window.rePosFooter=d,window.reMarginFooter=c}),define("js/category/entry",["jquery","hammer","swiper","lazyload","index"],function(e,t,o){e("js/category/index"),e("js/category/brand")}),define("js/category/index",["jquery"],function(e,t,o){var n=e("jquery"),a=n(".category-nav"),i=n(".category-container"),s=i.children(".content"),r=i.find(".sub-level li"),l=i.find(".primary-level li"),d=s.not(".hide");!function(){var e=n(".yoho-header"),t=n("#search-input"),o=n(window).height()-e.outerHeight()-t.outerHeight()-a.outerHeight();i.css("min-height",o),s.height(o)}(),n("#search-input").focus(function(){n(this).blur()}),a.bind("contextmenu",function(e){return!1}),n(".category-container").bind("contextmenu",function(e){return!1}),a.on("touchend touchcancel",function(e){var t=n(e.target).closest("li"),o=t.index();t.hasClass("focus")||(a.find("li.focus").removeClass("focus"),t.addClass("focus"),d.addClass("hide"),d=s.eq(o).removeClass("hide"))}),i.on("touchend",function(e){var t,o,a,i=n(e.target);if(o=i.closest(".p-level-item"),o.length>0){if(a=o.index(),t=i.closest(".content").find(".sub-level"),i.hasClass("focus"))return;i.closest(".primary-level").children(".focus").removeClass("focus"),i.addClass("focus"),t.not(".hide").addClass("hide"),t.eq(a).removeClass("hide")}}),i.find(".primary-level").on("touchstart touchend touchcancel","li",function(){l.removeClass("highlight"),n(this).addClass("highlight")}).on("touchend touchcancel","li",function(){n(this).removeClass("highlight")}),i.find(".sub-level").on("touchstart","li",function(){r.removeClass("highlight"),n(this).addClass("highlight")}).on("touchend touchcancel","li",function(){n(this).removeClass("highlight")}),a.on("touchstart","li",function(){a.find("li").removeClass("bytouch"),n(this).addClass("bytouch")}).on("touchend touchcancel","li",function(){a.find("li").removeClass("bytouch")})}),define("js/category/brand",["jquery","hammer","swiper","lazyload","index"],function(e,t,o){function n(){var e=w(window).scrollTop();T.eq(0).offset().top<p&&u.hide(),T.each(function(){var t=w(this).offset().top-N;e>=t&&u.css({display:"block"}).find("h2").html(w(this).find(".title-bar").text())})}function a(){var e=w(".brand-list").find("p");e.on("touchstart",function(){e.css("background","#fff"),w(this).css("background","#eee")}).on("touchend touchcancel",function(){w(this).css("background","#fff")})}function i(){var e=(m.val()+"").toLowerCase(),t={},o=0,n="";""!==e&&(w.each(f,function(o,n){w.isArray(n)&&w.each(n,function(n,a){a.searchName.toLowerCase().indexOf(e)>-1&&(t[o]=t[o]||[],t[o].push(a))})}),w.each(t,function(e,t){var a=['<div class="brand-list bar-',o,'">'];o++,a.push('<div class="title-bar"><h2>'),a.push(e),a.push("</h2></div>"),w.each(t,function(e,t){a.push('<p><a href="'+t.url+'" brandName = "'+t.name+'" brandId = "'+t.brandId+'" brandDomain = "'+t.brandDomain+'">'+t.name),t.isNew&&a.push('<i class="icon-new">NEW</i>'),t.isHot&&a.push('<i class="icon-hot">HOT</i>'),a.push("</a></p>")}),a.push("</div>"),n+=a.join("")})),e.length>0?w(".search-brand-page").addClass("hide"):w(".search-brand-page").removeClass("hide"),w(".search-result").html(n),a(),d(w(".brand-list"))}function s(){m.val().length?(q.css("color","#444"),D.show().find(".clear-text").show()):(q.css("color","#b2b2b2"),D.find(".clear-text").hide()),i()}function r(){w.ajax({type:"GET",url:"/brands/delBrandHistory",data:"",success:function(e){},error:function(){}})}function l(e,t,o){w.ajax({type:"GET",url:"/brands/addBrandSearch",data:"brandName="+e+"&brandId="+t+"&brandDomain="+o,success:function(e){},error:function(){}})}function d(e){e.on("click","p , li",function(e){m=w("#keyword");var t,o,n,a,i,r=w(this).find("a"),d=r.attr("brandName")+k+r.attr("href");if(t=r.attr("brandName"),o=r.attr("brandId"),n=r.attr("brandDomain"),a=r.attr("href"),e.preventDefault(),w(".net-history").length>0)return l(t,o,n),m.val(t),void s();if(localStorage){if(i=localStorage.getItem("historys-brand"),i=i?i:"",i.indexOf(x+d+x)>-1)return m.val(t),void s();""===i&&(d=x+d),i+=d+x,localStorage.setItem("historys-brand",i)}m.val(t),s()})}var c,u,h,p,f,m,g,v,w=e("jquery"),y=e("hammer"),b=e("swiper"),C=e("js/plugin/loading"),j=e("lazyload"),x=" ??++ ",k=" ???+++ ",T=w(".brand-list"),q=w(".search-icon"),E=w(".genderNav li"),I=w(".brandNav li"),S=w(".new-brand-wall"),L=w(".recommand-brand-wall"),D=w(".search-action"),z=w(".homebuttom"),_=w(".genderNav"),M=w(".newbrand-search"),P=w(".nav-home"),F=w(".newbrand-search").outerHeight(),O=w(".yoho-header").outerHeight(),N=parseInt(F)+parseInt(O)-1,B=w(".history"),A=w(".search-brand-page"),H=w(".history-search"),R=w(".hot-search"),U=w("#clear-history");C.showLoadingMask(),j(w("img.lazy")),w(".yoho-header").css({"z-index":2,position:"fixed",top:0}),z.css("top","51px"),z.css("position","fixed"),P.on("touchstart",function(){z.hasClass("hide")?(_.css("top","54px"),M.css("margin-top","0px"),A.css("margin-top","0px"),w(".banner-top").css("margin-top","0px")):(_.css("top","104px"),M.css("margin-top","50px"),A.css("margin-top","50px"),w(".banner-top").css("margin-top","50px"))}),function(){w(".banner-top").length>0&&w(".hot-brands").css("padding-top","0"),w(".hide-when-loading").show(),C.hideLoadingMask(),c=new b(".swiper-container",{lazyLoading:!0,loop:!0,autoplay:3e3,pagination:".swiper-pagination .pagination-inner"}),h=new b(".brands-swiper",{grabCursor:!0,slidesPerView:"auto",wrapperClass:"brands-list",slideElement:"li"})}(),u=w('<div class="title-bar fixed-title-bar"><h2></h2></div>'),u.css({position:"fixed",top:N}).hide(),p=N+w(".hot-brands").outerHeight()+w(".banner-top").outerHeight(),T.last().append(u),w(window).scroll(function(){window.requestAnimationFrame(n)}),a(),w(".history-search").length>0&&d(w(".history-search")),w(".hot-search").length>0&&d(w(".hot-search")),w(".brand-search-page").length>0&&(f=w.parseJSON(w("#brands-data").html()),m=w("#keyword"),m.on("input",function(){s()}).focus(),q.css("color","#444"),m.closest(".search-box").css("width","11.25rem"),D.show().find(".clear-text").hide(),g=new y(w(".clear-text")[0]),g.on("tap",function(e){w(".search-result").html(""),w("#keyword").val("").trigger("input"),e.preventDefault(),e.srcEvent.stopPropagation()}),w("form.search-box").on("submit",function(){return!1})),E.length>0&&E.on("touchstart",function(){function e(){window.location.search="channel="+t}var t=w(this).data("id")+1;w(".genderNav ul .active").removeClass("active"),w(this).addClass("active"),w(".hide-when-loading").hide(),C.showLoadingMask(),setTimeout(e.bind(this),100)}),I.length>0&&I.on("click",function(){var e=w(this).data("id");w(".brandNav ul .active").removeClass("active"),w(this).addClass("active"),0===e?(L.not(".hide").addClass("hide"),S.not(".hide").addClass("hide"),T.removeClass("hide")):1===e?(S.removeClass("hide"),T.not(".hide").addClass("hide"),L.not(".hide").addClass("hide")):(L.removeClass("hide"),T.not(".hide").addClass("hide"),S.not(".hide").addClass("hide"))}),w(".brand-search-page").length>0&&(v=new y(U[0]),v.on("tap",function(){localStorage.removeItem("historys-brand"),B.html(""),H.hide(),U.hide(),w(".net-search").length>0&&r(),window.rePosFooter()}),function(){var e,t,o,n,a,i,s="";if(localStorage&&(t=localStorage.getItem("historys-brand"),t&&t.length>0)){for(t=t.split(x),o=t.length>=10?10:t.length;o>0;o--)e=t[o-1],""!==e&&(n=e.split(k),a=n[0],i=n[1],s+='<li><a href="'+i+'" brandName = "'+a+'">'+a+"</li>",H.removeClass("hide"));B.html(s),U.removeClass("hide"),R.removeClass("hide"),window.rePosFooter()}}())}),define("js/plugin/loading",["jquery"],function(e,t,o){function n(e){var t='<div class="loading-mask hide"><div class="loading"><div></div><div></div><div></div></div></div>';d=!0,void 0===e&&(e=l),e.append(t),s=e.children(".loading-mask")}function a(){d||(n(),d=!0),s.removeClass("hide")}function i(){s.addClass("hide")}var s,r=e("jquery"),l=r(".yoho-page"),d=!1;t.init=n,t.showLoadingMask=a,t.hideLoadingMask=i}),define("js/guang/entry",["jquery","lazyload","swiper","hammer","mlellipsis","iscroll-probe","index"],function(e,t,o){e("js/guang/plus-star/list"),e("js/guang/plus-star/detail"),e("js/guang/home"),e("js/guang/list"),e("js/guang/detail"),e("js/guang/star-classroom"),e("js/guang/calendar"),e("js/guang/collocation-list"),e("js/guang/check-top")}),define("js/guang/plus-star/list",["jquery","lazyload","swiper","index"],function(e,t,o){var n,a=e("jquery"),i=e("lazyload"),s=e("swiper"),r=a("#nav-tab > li"),l=a("#ps-content > .content");i(a("img.lazy")),a(".star-content li").each(function(e,t){a(t).find(".swiper-container").addClass("swiper-"+e),n=new s(".swiper-"+e,{lazyLoading:!0,pagination:".swiper-"+e+" .pagination-inner"})}),a("#nav-tab").bind("contextmenu",function(e){return!1}),a("#nav-tab").on("touchend touchcancel",function(e){var t=a(e.target).closest("li");t.hasClass("focus")||(r.toggleClass("focus"),l.toggleClass("hide"),a(document).trigger("scroll"))}),a("#nav-tab").on("touchstart",function(e){var t=e.target||e.srcElement;t.className="bytouch "+t.className}).on("touchend touchcancel",function(){r.removeClass("bytouch")})}),define("js/guang/plus-star/detail",["jquery","hammer","mlellipsis","lazyload","swiper","index"],function(e,t,o){var n,a,i,s,r,l,d=e("jquery"),c=e("hammer"),u=e("mlellipsis"),h=e("lazyload"),p=d("#intro"),f=d("#intro-more-txt"),m=d("#related-infos-container"),g=e("js/guang/info"),v=e("js/plugin/tip"),w=d("#brand-info").data("id"),y=d("#jump-to-app").val();e("js/plugin/wx-share"),u.init(),h(d("img.lazy")),d(".good-detail-text .name").length>0&&d(".good-detail-text .name").each(function(){r=d(this),l=r.find("a"),l[0].mlellipsis(2)}),p[0].mlellipsis(3),setTimeout(function(){n=p.text(),a=p.attr("title")}),g.initInfosEvt(m),i=new c(document.getElementById("more-intro")),i.on("tap",function(e){var t=d(e.target).closest("#more-intro");t.toggleClass("spread"),t.hasClass("spread")?(p.text(a),f.text("收起")):(p.text(n),f.text("more"),d(window).scrollTop(0,400)),e.preventDefault()}),s=new c(document.getElementById("brand-like")),s.on("tap",function(e){var t="ok",o=d(e.target);"1"!==y&&(e.preventDefault(),o.hasClass("like")&&(t="cancel"),d.ajax({type:"POST",url:"/guang/opt/favoriteBrand",data:{id:w,opt:t},success:function(e){200===e.code?(o.toggleClass("like"),v.show(e.message)):400===e.code||412===e.code?location.href=e.data:v.show(e.message)},error:function(){v.show("网络断开连接了~")}}))})}),define("js/guang/info",["jquery","hammer","mlellipsis","lazyload","swiper","index"],function(e,t,o){function n(e){void 0!==typeof e&&(y[e]=new u(".swiper-cont-"+e,{lazyLoading:!0,wrapperClass:"swiper-wrap-"+e,pagination:".swiper-pagi-"+e,autoplay:3e3}))}function a(e){c(e.find("img.lazy")),e.each(function(){var e=r(this),t=e.find(".info-title"),o=e.find(".info-text");t[0].mlellipsis(2),o[0].mlellipsis(2)})}function i(e){var t;"undefined"!=typeof e&&(t=new l(e[0]),t.on("tap",function(e){var t,o,n=r(e.target),a="ok";return t=n.closest(".like-btn"),t.length>0&&!b?(e.preventDefault(),t.hasClass("like")&&(a="cancel"),o=n.closest(".guang-info"),b=!0,void r.ajax({type:"POST",url:"/guang/opt/praiseArticle",data:{id:o.data("id"),opt:a},success:function(e){var o=e.code;200===o&&(t.next(".like-count").text(e.data),t.toggleClass("like"))},error:function(){h.show("网络断开连接了~")},complete:function(){b=!1}})):(t=n.closest(".collect-btn"),void(t.length>0&&(e.preventDefault(),t.hasClass("collected")&&(a="cancel"),o=n.closest(".guang-info"),r.ajax({type:"POST",url:"/guang/opt/collectArticle",data:{id:o.data("id"),opt:a},success:function(e){e.code&&200===e.code&&t.toggleClass("collected")},error:function(){h.show("网络断开连接了~")}}))))}),a(e.find(".guang-info")))}function s(e,t,o){var i;w||t.end||(1===t.page&&p.showLoadingMask(),i=e.find(".guang-info").length,w=!0,r.ajax({type:"GET",url:o?o:"/guang/index/page",data:t,success:function(o){var s;return" "===o?(t.end=!0,w=!1,m.addClass("hide"),void g.removeClass("hide")):(e.append(o),v=e.find(".swiper-container"),v.length&&(v.addClass("swiper-cont-"+t.type),v.children(".swiper-wrapper").addClass("swiper-wrap-"+t.type),v.children(".swiper-pagination").addClass("swiper-pagi-"+t.type),n(t.type)),s=i>0?e.find(".guang-info:gt("+(i-1)+")"):e.find(".guang-info"),a(s),1===t.page&&(p.hideLoadingMask(),m.removeClass("hide"),window.rePosFooter()),t.page++,w=!1,void delete t.isTab)},error:function(){h.show("网络断开连接了~"),w=!1,delete t.isTab}}))}var r=e("jquery"),l=e("hammer"),d=e("mlellipsis"),c=e("lazyload"),u=e("swiper"),h=e("js/plugin/tip"),p=e("js/plugin/loading"),f=r("#load-more-info"),m=r(""),g=r(""),v=r(""),w=!1,y={},b=!1;d.init(),f.length>0&&(m=f.children(".loading"),g=f.children(".no-more")),t.mySwiper=y,t.initSwiper=n,t.initInfosEvt=i,t.setLazyLoadAndMellipsis=a,t.loadMore=s}),define("js/plugin/tip",["jquery"],function(e,t,o){function n(e,t){var o,n;"undefined"!=typeof e&&(o=e.toString(),n=t&&t>0?t:2e3,a.text(o).show(),i=setTimeout(function(){"block"===a.css("display")&&a.hide()},n))}var a,i,s=e("jquery");!function(){var e='<div id="yoho-tip" class="yoho-tip"></div>';s(".yoho-page").append(e),a=s("#yoho-tip"),a.on("touchend",function(){a.hide(),clearTimeout(i)})}(),t.show=n}),define("js/plugin/wx-share",["jquery"],function(e,t,o){var n=e("jquery");o.exports=function(){var e="http://www.yohoshow.com/api/wechat/getSignPackage";n.getJSON(e+"?pageurl="+encodeURIComponent(location.href.split("#")[0])+"&callback=?",function(e){var t,o,n,a;void 0!==e&&""!==e&&(t=e.appId.toString(),o=e.timestamp,n=e.nonceStr.toString(),a=e.signature.toString(),wx.config({debug:!1,appId:t,timestamp:o,nonceStr:n,signature:a,jsApiList:["checkJsApi","onMenuShareTimeline","onMenuShareAppMessage","onMenuShareQQ","onMenuShareWeibo","hideMenuItems","showMenuItems","hideAllNonBaseMenuItem","showAllNonBaseMenuItem","translateVoice","startRecord","stopRecord","onRecordEnd","playVoice","pauseVoice","stopVoice","uploadVoice","downloadVoice","chooseImage","previewImage","uploadImage","downloadImage","getNetworkType","openLocation","getLocation","hideOptionMenu","showOptionMenu","closeWindow","scanQRCode","chooseWXPay","openProductSpecificView","addCard","chooseCard","openCard"]}))}),wx.ready(function(){var e=n("#shareTitle").val(),t=n("#shareImg").val(),o=n("#shareDesc").val(),a=n("#shareLink").val(),i={title:e,desc:o,imgUrl:t,link:a};wx.onMenuShareAppMessage(i),wx.onMenuShareTimeline(i),wx.onMenuShareQQ(i),wx.onMenuShareWeibo(i)})}}),define("js/guang/home",["jquery","hammer","mlellipsis","lazyload","swiper","index"],function(e,t,o){function n(){var e=h.not(".hide");a(window).scrollTop()+c>=a(document).height()-.25*e.height()&&s(e,g[m])}var a=e("jquery"),i=e("js/guang/info"),s=i.loadMore,r=a("#load-more-info"),l=a(""),d=a(""),c=a(window).height(),u=a("#info-list"),h=u.children(".info-list"),p=a("#guang-nav"),f=p.children(".focus"),m=f.data("type"),g={};r.length>0&&(l=r.children(".loading"),d=r.children(".no-more")),i.initSwiper(m),i.initInfosEvt(u),function(){var e=a("#gender").val();p.children(".guang-nav-item").each(function(){var t=a(this).data("type"),o=a(this).hasClass("focus");g[t]={page:o?2:1,gender:e,type:t,end:!1}})}(),p.bind("contextmenu",function(e){return!1}),p.on("touchend touchcancel",function(e){var t,o,n=a(e.target).closest(".guang-nav-item");n.hasClass("focus")||(o=n.index(),n.addClass("focus"),f.removeClass("focus"),t=h.eq(o),f=n,m=n.data("type"),1===g[m].page?(l.addClass("hide"),d.addClass("hide"),g[m].isTab=!0,s(t,g[m])):g[m].end?(l.addClass("hide"),d.removeClass("hide")):(l.removeClass("hide"),d.addClass("hide")),h.not(".hide").addClass("hide"),t.removeClass("hide"),1===g[m].page&&window.rePosFooter())}),a(document).scroll(function(){window.requestAnimationFrame(n)}),p.on("touchstart",function(e){var t=e.target||e.srcElement;t.className="bytouch "+t.className}).on("touchend touchcancel",function(){p.find("li").removeClass("bytouch")})}),define("js/guang/list",["jquery","hammer","mlellipsis","lazyload","swiper","index"],function(e,t,o){function n(){a(window).scrollTop()+r>=a(document).height()-.25*p.height()&&s(p,h)}var a=e("jquery"),i=e("js/guang/info"),s=i.loadMore,r=a(window).height(),l=a("#author-infos"),d=a("#tag"),c=a("#gender"),u=a("#isApp"),h={page:2,end:!1},p=a("#info-list");i.initInfosEvt(p),l.length>0&&a.extend(h,{authorId:l.data("id"),isApp:u.val()}),d.length>0&&a.extend(h,{tag:d.val(),gender:c.val(),isApp:u.val()}),a(window).scroll(function(){window.requestAnimationFrame(n)})}),define("js/guang/detail",["jquery","mlellipsis","lazyload","iscroll-probe"],function(e,t,o){function n(e){var t=e.offset().left,o=-C+t+y/2+"px";r.css({backgroundPosition:o+" bottom"}),v&&b.css({backgroundPosition:o+" bottom"})}function a(e){var t,o,a,i=h(e.currentTarget),p=i.index();i.hasClass("focus")||(l.filter(".focus").removeClass("focus"),v&&(t=i.closest(".fixed-thumb-container").length>0?r:b,o=t.find(".thumb").eq(p),b.find(".thumb.focus").removeClass("focus"),o.addClass("focus")),i.addClass("focus"),n(i),d.not(".hide").addClass("hide"),a=d.eq(p),a.removeClass("hide"),f(a.find(".lazy")),v?u&&u.scrollToElement(c,400):h("body").animate({scrollTop:s.offset().top},400),u&&u.refresh())}function i(){var e,t,o,n,a,i=h("#scroller"),l=h(".yoho-header"),d=0;return l.length>0&&(d=l.outerHeight()),u=new m("#wrapper",{probeType:3,mouseWheel:!0,click:!0}),document.addEventListener("touchmove",function(e){e.preventDefault()},!1),w?(e=h(window).height()-d,a=b[0],t=r.outerHeight(),o=s.outerHeight(),n=s.offset().top-d,void u.on("scroll",function(){var s=-this.y,r=a.className;n-e+t>=s?-1===r.indexOf("fixed-bottom")&&b.addClass("fixed-bottom").removeClass("hide"):n>=s?-1===r.indexOf("hide")&&b.addClass("hide").removeClass("fixed-bottom fixed-top"):n+o-t>=s?-1===r.indexOf("fixed-top")&&b.addClass("fixed-top").removeClass("hide absolute").css("top",""):n+o>=s?(-1===r.indexOf("absolute")&&b.addClass("absolute").removeClass("fixed-top hide"),a.style.top=n+d+o-t-s+"px"):s>n+o&&-1===r.indexOf("hide")&&b.addClass("hide").removeClass("absolute"),i.trigger("scroll")})):void u.on("scroll",function(){i.trigger("scroll")})}var s,r,l,d,c,u,h=e("jquery"),p=e("mlellipsis"),f=e("lazyload"),m=e("iscroll-probe"),g=h(".author .intro"),v=!1,w=h(".collocation-block").length>0,y=0,b=h(""),c=document.querySelector("#wrapper .collocation-block"),C=h(window).width();e("js/plugin/wx-share")(),window.onload=function(){u&&u.refresh()},t.i=function(e){var t,o,c=navigator.userAgent.indexOf("iPhone")>0;v=c&&e,p.init(),h(".good-detail-text .name").length>0&&h(".good-detail-text .name").each(function(){t=h(this),o=t.find("a"),o[0].mlellipsis(2)}),f(h(".lazy")),h(".info-list .title, .one-good .reco-name").each(function(){this.mlellipsis(2)}),g.offset()&&parseInt(g.offset().left,10)===parseInt(g.css("margin-left"),10)&&g.css("padding-top",0),v&&(h(".yoho-header").length>0?h("#wrapper").addClass("ios has-head"):h("#wrapper").addClass("ios")),w&&(s=h(".collocation-block"),r=s.children(".thumb-container"),l=r.find("li"),d=s.find(".prod"),y=l.width(),v&&(b=h("#wrapper").after(r.clone().addClass("fixed-thumb-container fixed-bottom")).next(".thumb-container"),f(b.find(".lazy"),{event:"sporty"})),n(l.filter(".focus")),r.delegate(".thumb","touchend",a),v&&b.delegate(".thumb","touchend",a)),v&&i()}}),define("js/guang/star-classroom",["jquery","swiper","lazyload","index"],function(e,t,o){function n(e){var t,o=new Image;t=e.data("avatar"),o.src=t,o.onload=function(){e.css("background-image","url("+t+")")}}function a(e){var t,o,a=d(".fan-charts-cont"),i=d(".my-intimacy"),s=d(".increased"),r=e.signDay.split(","),l="",c="",h=new Date,p=h.getFullYear(),f=h.getMonth(),m=u.calculateMonthDays(f,p);if(r.length>0)for(t=0;m>t;t++)for(o=0;o<r.length;o++)t===parseInt(r[o])&&d(".now-days").eq(t-1).addClass("sign-item");for(t=0;t<e.fanCharts.length;t++)c=0===t?"font-bold":"",l+='<li><i class="rank-ico">'+e.fanCharts[t].num+'</i><span data-avatar="'+e.fanCharts[t].img+'" class="rank-avatar"></span><span class="fans-name">'+e.fanCharts[t].name+'</span><div class="fans-intimacy">亲密度<span class="'+c+'">'+e.fanCharts[t].intimacyNum+"</span></div></li>";a.html(l),d(".fan-charts-cont .rank-avatar").each(function(e,t){""!==d(t).attr("data-avatar")&&n(d(t))}),i.find("span").html(e.todayIntimacy),s.find("span").html(e.todayIntimacy),0===e.intimacyNum?(d(".my-intimacy").hide(),d(".increased").show()):(d(".my-intimacy").show(),d(".increased").hide()),d(".pop-intimacy").css({zIndex:"10"}).show(),d(".classroom-mask").css({zIndex:"9"}).show(),d("body").css({overflow:"hidden"})}function i(e,t){return t+=/^[\u0000-\u00ff]$/.test(e)?1:2}function s(){var e,t,o=d(".home-floor-sign").find(".user-name"),n=o.html(),a=n.length,s=0,r="";for(e=0;a>e;e++)t=n.charAt(e),s=i(t,s),5>s&&(r+=t);s>8?r+=".."+n.charAt(a-1):r=n,o.html(r)}var r,l,d=e("jquery"),c=e("swiper"),u=e("js/guang/calendar"),h=e("lazyload"),p=e("js/plugin/tip");h(d("img.lazy")),d("body").addClass("star-class-body"),d(".banner-swiper").find("li").length>1&&(r=new c(".banner-swiper",{lazyLoading:!0,lazyLoadingInPrevNext:!0,loop:!0,autoplay:3e3,autoplayDisableOnInteraction:!1,paginationClickable:!0,slideElement:"li",pagination:".banner-top .pagination-inner"})),d(".collocation-swiper").find("li").length>1&&(l=new c(".collocation-swiper",{lazyLoading:!0,lazyLoadingInPrevNext:!0,lazyLoadingOnTransitionStart:!0,grabCursor:!0,slidesPerView:"auto",slideElement:"li",watchSlidesVisibility:!0})),d(".artice-zan").find("li").length>0&&d(".zan-more").show(),d(".home-floor-sign").length>0&&s(),d(document).on("touchstart",".like-ico",function(e){var t=d(this),o="";e.stopPropagation(),d.ajax({type:"POST",url:"/guang/starclass/setPraise",data:{articleId:t.parents("li").attr("articleId")},success:function(e){var n=e.code;200===n&&(t.hasClass("like")?t.removeClass("like"):t.addClass("like"),o=e.num>99?"+":"",t.parent().find(".zan-more").html(e.num+o))},error:function(){p.show("网络断开连接了~")}})}),d(".add-intimacy").on("touchstart",function(e){e.stopPropagation(),e.preventDefault(),d.ajax({type:"GET",url:"/guang/starclass/sign",success:function(e){var t=e.code;200===t&&a(e.data),201===t&&(d("#intimacy-link").length<=0&&d("body").append("<a href='"+e.data+'\' style="display:none;" id="intimacy-link"><span class="intimacy-link"></span></a>'),d(".intimacy-link").click())},error:function(){p.show("网络断开连接了~")}})}),d(".pop-intimacy .pop-close, .classroom-mask").on("click",function(){history.go(0)}),""!==d(".user-head").attr("data-avatar")&&n(d(".user-head"))}),define("js/guang/calendar",["jquery"],function(e,t,o){var n=e("jquery"),a={currentYear:0,currentMonth:0,initialize:function(){var e;e=this.createCalendar(0,0),n("#Container").append(e)},isRuiYear:function(e){return 0===e%4&&(e%100!==0||e%400===0)},calculateWeek:function(e,t,o){var n,a,i;return n="7123456".split(""),a=parseInt(o,10),i=n[new Date(e,t-1,a).getDay()]},calculateMonthDays:function(e,t){var o,n=0;return 0===e||1===e||3===e||5===e||7===e||8===e||10===e||12===e?n=31:2===e?(o=this.isRuiYear(t),n=o===!0?29:28):n=30,n},createCalendar:function(e,t){var o,a,i,s,r,l,d,c,u,h=["January","February","March","April","May","June","July","August","September","October","November","December"];if(o=n('<div class="day-item"></div>'),a=new Date,i=0===e?a.getFullYear():e,this.currentYear=i,s=0===t?a.getMonth()+1:t,this.currentMonth=s,r=this.calculateMonthDays(s,i),window.nowDaysNub=r,n(".cur-year").html(i),n(".cur-month").html(h[s-1]),l=parseInt(this.calculateWeek(i,s,1)),d=this.calculateMonthDays(s-1,i),0!==l)for(c=d-l;d>c;c++)o.append('<div class="item last-item">'+(c+1)+"</div>");for(c=1;r>=c;c++)o.append('<div class="item now-days">'+c+"</div>");if(u=l+r,41>u)for(c=0;41-u>=c;c++)o.append('<div class="item last-item">'+(c+1)+"</div>");return o}};n(document).ready(function(){a.initialize()}),t.calculateMonthDays=a.calculateMonthDays}),define("js/guang/collocation-list",["jquery","lazyload","mlellipsis"],function(e,t,o){function n(e){var t,o,n;r.showLoadingMask(),i.ajax({type:"GET",url:"/guang/starclass/ajaxCollocation",data:{page:e},dataType:"html",success:function(e){c=!1," "===e&&(c=!0,s.show("没有更多内容了")),i(".collocation-list").append(e),i(".cont-area").each(function(){t=i(this),o=t.find(".title"),n=t.find(".cont-txt"),o[0].mlellipsis(2),n[0].mlellipsis(2)}),r.hideLoadingMask(),l(i("img.lazy"))},error:function(){s.show("网络断开连接了~")}})}function a(){!c&&i(window).scrollTop()+i(window).height()>i("body").height()-100&&(c=!0,u++,n(u))}var i=e("jquery"),s=e("js/plugin/tip"),r=e("js/plugin/loading"),l=e("lazyload"),d=e("mlellipsis"),c=!1,u=1;d.init(),i("body").addClass("star-class-body"),window.successShare=function(){i.ajax({type:"POST",url:"/guang/starclass/forward",success:function(e){var t=e.code;200===t&&e.data>0&&s.show("分享成功,亲密度+10")},error:function(){s.show("网络断开连接了~")}})},i(window).scroll(function(){a()}),0===i(".collocation-list").find("li").length&&n(1),i(document).on("touchstart",".collection",function(e){var t,o=i(this),n=o.find(".collected-ico");e.stopPropagation(),t=n.hasClass("collected")?"del":"fav",i.ajax({type:"POST",url:"/guang/starclass/setFavorite",data:{articleId:o.parents("li").attr("articleId"),type:t},success:function(e){var t=e.code;200===t&&(n.hasClass("collected")?n.removeClass("collected"):n.addClass("collected")),201===t&&(i("#collocation-link").length<=0&&i("body").append("<a href='"+e.data+'\' style="display:none;" id="collocation-link"><span class="collocation-link"></span></a>'),i(".collocation-link").click())},error:function(){s.show("网络断开连接了~")}})})}),define("js/guang/check-top",["jquery"],function(e,t,o){function n(e){var t,o=new Image;t=e.data("avatar"),o.src=t,o.onload=function(){e.css("background-image","url("+t+")")}}var a=e("jquery");a("body").addClass("star-class-body"),a(".ranking-area li").length>0&&a.each(a(".ranking-area li"),function(e,t){n(a(t).find(".rank-avatar"))}),""!==a(".user-avatar").attr("data-avatar")&&n(a(".user-avatar"))}),define("js/home/entry",["jquery","swiper","lazyload","hammer","mlellipsis","index"],function(e,t,o){e("js/home/home"),e("js/home/maybe-like")}),define("js/home/home",["jquery","swiper","lazyload","hammer","mlellipsis","index"],function(e,t,o){function n(){x=!1,v.hasClass("menu-open")&&(v.removeClass("menu-open"),w.hide(),p(".sub-nav").removeClass("show"),y.removeClass("on"))}function a(e){e.find("li").on("touchstart",function(){e.find(".highlight").removeClass("highlight"),p(this).addClass("highlight")}).on("touchend touchcancel",function(){p(this).removeClass("highlight")})}function i(){C+=10,j.css({transform:"rotateX("+C+"deg)","-webkit-transform":"rotateX("+C+"deg)","-moz-transform":"rotateX("+C+"deg)"}),C/90%2===1&&(k?(j.addClass("animate"),k=!1):(j.removeClass("animate"),k=!0)),C/90%2===0&&C%360!==0?window.setTimeout(i,3e3):C%360===0?window.setTimeout(i,6e4):window.requestAnimationFrame(i)}var s,r,l,d,c,u,h,p=e("jquery"),f=e("swiper"),m=e("lazyload"),g=e("js/plugin/notice-scroll"),v=p(".mobile-wrap"),w=p(".overlay"),y=p(".side-nav"),b=p(".sub-nav"),C=0,j=p(".home-header .logo"),x=!1,k=!0,T=e("js/home/fastclick");T(document.body),m(p("img.lazy")),g(".notice",1e3*p(".notice").data("time")),p(".nav-btn").on("touchstart",function(){return y.css("pointer-events","none"),v.addClass("menu-open"),w.show().css("opacity",.3),y.addClass("on"),x=!0,setTimeout(function(){y.css("pointer-events","auto")},400),!1}),w.on("touchstart",function(){return n(),!1}),y.on("touchmove scroll",function(){return!1}),y.on("touchend","li",function(e){return p(this).find(".sub-nav").size()>0&&(p(".sub-nav").removeClass("show"),p(this).find(".sub-nav").addClass("show"),p(this).find(".highlight").removeClass("highlight")),e.target.pathname===location.pathname?(n(), +!1):void 0}),b.each(function(){p(this).find("li").eq(0).on("click",function(){return p(".sub-nav").removeClass("show"),!1})}).on("touchstart",function(e){e.currentTarget!==e.target&&b.find("li").removeClass("current")}),a(y),a(b),p(".banner-swiper").find("li").size()>1&&(s=new f(".banner-swiper",{lazyLoading:!0,lazyLoadingInPrevNext:!0,loop:!0,autoplay:3e3,autoplayDisableOnInteraction:!1,paginationClickable:!0,slideElement:"li",pagination:".banner-top .pagination-inner"})),l=new f(".brands-swiper",{grabCursor:!0,slidesPerView:"auto",wrapperClass:"brands-list",slideElement:"li"}),r=new f(".recommend-swiper",{grabCursor:!0,slidesPerView:"auto",wrapperClass:"recommend-list",slideElement:"li"}),p(".trend-topic-swiper").find("li").size()>1&&(d=new f(".trend-topic-swiper",{loop:!0,autoplay:3e3,autoplayDisableOnInteraction:!1,paginationClickable:!0,slideElement:"li",pagination:".trend-topic-content .pagination-inner"})),p(".fresh-list-swiper").find("li").size()>1&&(u=new f(".fresh-list-swiper",{lazyLoading:!0,lazyLoadingInPrevNext:!0,grabCursor:!0,slidesPerView:"auto",slideElement:"li",watchSlidesVisibility:!0})),p(".category-swiper").each(function(e,t){h="category-swiper"+e,p(this).addClass(h),p("."+h).find(".swiper-slide").size()>1&&(c=new f("."+h,{loop:!0,autoplay:3e3,autoplayDisableOnInteraction:!1,paginationClickable:!0,slideElement:"li",pagination:"."+h+" .pagination-inner"}))}),setTimeout(i,3e3),p(".home-header .iconfont").on("touchstart",function(){p(this).addClass("highlight")}).on("touchend touchcancel",function(){p(this).removeClass("highlight")}),window.reMarginFooter(".footer-tab"),t.set=function(e){window.setCookie("_Channel",e,{expires:365,domain:".m.yohobuy.com"})},e("js/home/maybe-like")()}),define("js/plugin/notice-scroll",["jquery"],function(e,t,o){function n(e,t){var o=a(e),n=o.find(".notice-item"),i=n.length,s=1;e=e||".notice",t=t||3e3,i>1&&setInterval(function(){s>=i&&(s=0),n.fadeOut(),o.find(".item-"+s).fadeIn(),s++},t)}var a=e("jquery");o.exports=n}),define("js/home/fastclick",[],function(e,t,o){!function(){"use strict";function e(t,o){function a(e,t){return function(){return e.apply(t,arguments)}}var i;if(o=o||{},this.trackingClick=!1,this.trackingClickStart=0,this.targetElement=null,this.touchStartX=0,this.touchStartY=0,this.lastTouchIdentifier=0,this.touchBoundary=o.touchBoundary||10,this.layer=t,this.tapDelay=o.tapDelay||200,this.tapTimeout=o.tapTimeout||700,!e.notNeeded(t)){for(var s=["onMouse","onClick","onTouchStart","onTouchMove","onTouchEnd","onTouchCancel"],r=this,l=0,d=s.length;d>l;l++)r[s[l]]=a(r[s[l]],r);n&&(t.addEventListener("mouseover",this.onMouse,!0),t.addEventListener("mousedown",this.onMouse,!0),t.addEventListener("mouseup",this.onMouse,!0)),t.addEventListener("click",this.onClick,!0),t.addEventListener("touchstart",this.onTouchStart,!1),t.addEventListener("touchmove",this.onTouchMove,!1),t.addEventListener("touchend",this.onTouchEnd,!1),t.addEventListener("touchcancel",this.onTouchCancel,!1),Event.prototype.stopImmediatePropagation||(t.removeEventListener=function(e,o,n){var a=Node.prototype.removeEventListener;"click"===e?a.call(t,e,o.hijacked||o,n):a.call(t,e,o,n)},t.addEventListener=function(e,o,n){var a=Node.prototype.addEventListener;"click"===e?a.call(t,e,o.hijacked||(o.hijacked=function(e){e.propagationStopped||o(e)}),n):a.call(t,e,o,n)}),"function"==typeof t.onclick&&(i=t.onclick,t.addEventListener("click",function(e){i(e)},!1),t.onclick=null)}}var t=navigator.userAgent.indexOf("Windows Phone")>=0,n=navigator.userAgent.indexOf("Android")>0&&!t,a=/iP(ad|hone|od)/.test(navigator.userAgent)&&!t,i=a&&/OS 4_\d(_\d)?/.test(navigator.userAgent),s=a&&/OS [6-7]_\d/.test(navigator.userAgent),r=navigator.userAgent.indexOf("BB10")>0;e.prototype.needsClick=function(e){switch(e.nodeName.toLowerCase()){case"button":case"select":case"textarea":if(e.disabled)return!0;break;case"input":if(a&&"file"===e.type||e.disabled)return!0;break;case"label":case"iframe":case"video":return!0}return/\bneedsclick\b/.test(e.className)},e.prototype.needsFocus=function(e){switch(e.nodeName.toLowerCase()){case"textarea":return!0;case"select":return!n;case"input":switch(e.type){case"button":case"checkbox":case"file":case"image":case"radio":case"submit":return!1}return!e.disabled&&!e.readOnly;default:return/\bneedsfocus\b/.test(e.className)}},e.prototype.sendClick=function(e,t){var o,n;document.activeElement&&document.activeElement!==e&&document.activeElement.blur(),n=t.changedTouches[0],o=document.createEvent("MouseEvents"),o.initMouseEvent(this.determineEventType(e),!0,!0,window,1,n.screenX,n.screenY,n.clientX,n.clientY,!1,!1,!1,!1,0,null),o.forwardedTouchEvent=!0,e.dispatchEvent(o)},e.prototype.determineEventType=function(e){return n&&"select"===e.tagName.toLowerCase()?"mousedown":"click"},e.prototype.focus=function(e){var t;a&&e.setSelectionRange&&0!==e.type.indexOf("date")&&"time"!==e.type&&"month"!==e.type?(t=e.value.length,e.setSelectionRange(t,t)):e.focus()},e.prototype.updateScrollParent=function(e){var t,o;if(t=e.fastClickScrollParent,!t||!t.contains(e)){o=e;do{if(o.scrollHeight>o.offsetHeight){t=o,e.fastClickScrollParent=o;break}o=o.parentElement}while(o)}t&&(t.fastClickLastScrollTop=t.scrollTop)},e.prototype.getTargetElementFromEventTarget=function(e){return e.nodeType===Node.TEXT_NODE?e.parentNode:e},e.prototype.onTouchStart=function(e){var t,o,n;if(e.targetTouches.length>1)return!0;if(t=this.getTargetElementFromEventTarget(e.target),o=e.targetTouches[0],a){if(n=window.getSelection(),n.rangeCount&&!n.isCollapsed)return!0;if(!i){if(o.identifier&&o.identifier===this.lastTouchIdentifier)return e.preventDefault(),!1;this.lastTouchIdentifier=o.identifier,this.updateScrollParent(t)}}return this.trackingClick=!0,this.trackingClickStart=e.timeStamp,this.targetElement=t,this.touchStartX=o.pageX,this.touchStartY=o.pageY,e.timeStamp-this.lastClickTime<this.tapDelay&&e.preventDefault(),!0},e.prototype.touchHasMoved=function(e){var t=e.changedTouches[0],o=this.touchBoundary;return Math.abs(t.pageX-this.touchStartX)>o||Math.abs(t.pageY-this.touchStartY)>o},e.prototype.onTouchMove=function(e){return this.trackingClick?((this.targetElement!==this.getTargetElementFromEventTarget(e.target)||this.touchHasMoved(e))&&(this.trackingClick=!1,this.targetElement=null),!0):!0},e.prototype.findControl=function(e){return void 0!==e.control?e.control:e.htmlFor?document.getElementById(e.htmlFor):e.querySelector("button, input:not([type=hidden]), keygen, meter, output, progress, select, textarea")},e.prototype.onTouchEnd=function(e){var t,o,r,l,d,c=this.targetElement;if(!this.trackingClick)return!0;if(e.timeStamp-this.lastClickTime<this.tapDelay)return this.cancelNextClick=!0,!0;if(e.timeStamp-this.trackingClickStart>this.tapTimeout)return!0;if(this.cancelNextClick=!1,this.lastClickTime=e.timeStamp,o=this.trackingClickStart,this.trackingClick=!1,this.trackingClickStart=0,s&&(d=e.changedTouches[0],c=document.elementFromPoint(d.pageX-window.pageXOffset,d.pageY-window.pageYOffset)||c,c.fastClickScrollParent=this.targetElement.fastClickScrollParent),r=c.tagName.toLowerCase(),"label"===r){if(t=this.findControl(c)){if(this.focus(c),n)return!1;c=t}}else if(this.needsFocus(c))return e.timeStamp-o>100||a&&window.top!==window&&"input"===r?(this.targetElement=null,!1):(this.focus(c),this.sendClick(c,e),a&&"select"===r||(this.targetElement=null,e.preventDefault()),!1);return a&&!i&&(l=c.fastClickScrollParent,l&&l.fastClickLastScrollTop!==l.scrollTop)?!0:(this.needsClick(c)||(e.preventDefault(),this.sendClick(c,e)),!1)},e.prototype.onTouchCancel=function(){this.trackingClick=!1,this.targetElement=null},e.prototype.onMouse=function(e){return this.targetElement?e.forwardedTouchEvent?!0:e.cancelable&&(!this.needsClick(this.targetElement)||this.cancelNextClick)?(e.stopImmediatePropagation?e.stopImmediatePropagation():e.propagationStopped=!0,e.stopPropagation(),e.preventDefault(),!1):!0:!0},e.prototype.onClick=function(e){var t;return this.trackingClick?(this.targetElement=null,this.trackingClick=!1,!0):"submit"===e.target.type&&0===e.detail?!0:(t=this.onMouse(e),t||(this.targetElement=null),t)},e.prototype.destroy=function(){var e=this.layer;n&&(e.removeEventListener("mouseover",this.onMouse,!0),e.removeEventListener("mousedown",this.onMouse,!0),e.removeEventListener("mouseup",this.onMouse,!0)),e.removeEventListener("click",this.onClick,!0),e.removeEventListener("touchstart",this.onTouchStart,!1),e.removeEventListener("touchmove",this.onTouchMove,!1),e.removeEventListener("touchend",this.onTouchEnd,!1),e.removeEventListener("touchcancel",this.onTouchCancel,!1)},e.notNeeded=function(e){var t,o,a,i;if("undefined"==typeof window.ontouchstart)return!0;if(o=+(/Chrome\/([0-9]+)/.exec(navigator.userAgent)||[,0])[1]){if(!n)return!0;if(t=document.querySelector("meta[name=viewport]")){if(-1!==t.content.indexOf("user-scalable=no"))return!0;if(o>31&&document.documentElement.scrollWidth<=window.outerWidth)return!0}}if(r&&(a=navigator.userAgent.match(/Version\/([0-9]*)\.([0-9]*)/),a[1]>=10&&a[2]>=3&&(t=document.querySelector("meta[name=viewport]")))){if(-1!==t.content.indexOf("user-scalable=no"))return!0;if(document.documentElement.scrollWidth<=window.outerWidth)return!0}return"none"===e.style.msTouchAction||"manipulation"===e.style.touchAction?!0:(i=+(/Firefox\/([0-9]+)/.exec(navigator.userAgent)||[,0])[1],i>=27&&(t=document.querySelector("meta[name=viewport]"),t&&(-1!==t.content.indexOf("user-scalable=no")||document.documentElement.scrollWidth<=window.outerWidth))?!0:"none"===e.style.touchAction||"manipulation"===e.style.touchAction)},e.attach=function(t,o){return new e(t,o)},"function"==typeof define&&"object"==typeof define.amd&&define.amd?define(function(){return e}):"undefined"!=typeof o&&o.exports?(o.exports=e.attach,o.exports.FastClick=e):window.FastClick=e}()}),define("js/home/maybe-like",["jquery","hammer","mlellipsis","lazyload"],function(e,t,o){o.exports=function(t){function o(){w||(w=!0,p.showLoadingMask(),c.ajax({type:"GET",url:s,data:{page:y+1},success:function(e){return" "===e?(w=!1,p.hideLoadingMask(),void(b&&!t&&(s="1,3"===b?"/boys/bottomBanner":"/girls/bottomBanner",c.ajax({type:"GET",url:s,success:function(e){e&&e.img&&(c("#load-more-img").show(),c("#load-more-img a").attr("href",e.url),c("#load-more-img a > img").attr("src",e.img))},error:function(){}})))):(e.length>1&&(d?null:d=c("#yoho-footer"),d.hasClass("bottom")?d.removeClass("bottom"):null),i=v.find(".good-info").length,v.append(e),m(0===i?v.find(".good-info").find("img.lazy"):v.find(".good-info:gt("+(i-1)+")").find("img.lazy")),w=!1,p.hideLoadingMask(),y++,void c(".good-detail-text .name").each(function(){var e=c(this),t=e.find("a");t[0].mlellipsis(2)}))},error:function(){h.show("网络断开连接了~"),w=!1,p.hideLoadingMask()}}))}function n(){c(window).scrollTop()+g>=c(document).height()-200&&o()}var a,i,s,r,l,d,c=e("jquery"),u=e("hammer"),h=e("js/plugin/tip"),p=e("js/plugin/loading"),f=e("mlellipsis"),m=e("lazyload"),g=c(window).height(),v=c("#goods-list"),w=!1,y=0,b=null,C=!("kids"!==t&&!c(".mobile-wrap").hasClass("kids-wrap")),j=!("lifestyle"!==t&&!c(".mobile-wrap").hasClass("lifestyle-wrap")),x=c("#maybe-like-nav");f.init(),C?s="/product/recom/maylikekids":j?s="lifestyle"===t?"/product/recom/maylike?gender=1,3":"/product/recom/maylikelife":(b="boys"===t||c(".mobile-wrap").hasClass("boys-wrap")?"1,3":"2,3",s="/product/recom/maylike?gender="+b),r=x.children(".focus"),j&&(a=x[0]?new u(x[0]):void 0,a&&a.on("tap",function(e){var t,o=c(e.target).closest("li"),n=c(".goods-list");e.preventDefault(),o.hasClass("focus")||(l=o.index(),o.addClass("focus"),r.removeClass("focus"),n.not(".hide").addClass("hide"),t=n.eq(l),t.removeClass("hide"),r=o,c(document).trigger("scroll"),e.srcEvent.stopPropagation())})),p.init(c(".maybe-like")),c(".maybe-like p").on("touchstart",function(e){o()}),t&&o(),c(window).scroll(function(){window.requestAnimationFrame(n)})}}),define("js/index/entry",["jquery","hammer","swiper","index"],function(e,t,o){e("js/index/search"),e("js/index/footer"),e("js/index/channel"),e("js/index/coupon")}),define("js/index/search",["jquery","hammer"],function(e,t,o){var n,a,i=e("jquery"),s=e("js/plugin/security"),r=e("hammer"),l=i("#search-input input"),d=i("#search-input .clear-input"),c=i(".search-icon"),u=i("#search-form"),h=i(".history"),p=i(".history-search"),f=i("#clear-history"),m=e("js/index/write-search"),g=m.getRanToken();n=new r(f[0]),n.on("tap",function(){localStorage.removeItem("historys"),h.html(""),p.hide(),f.hide(),window.rePosFooter()}),l.on("input",function(){""===l.val()?(c.css("color","#b2b2b2"),d.addClass("hide")):(c.css("color","#666"),d.removeClass("hide"))}),a=new r(d[0]),a.on("tap",function(){l.val("").trigger("input")}),i("#search").on("touchend",function(){return s.hasDangerInput()?!1:(i(this).closest("form").submit(),!1)}),function(){var e,t,o,n="";if(localStorage&&(t=localStorage.getItem("historys"),t&&t.length>0)){for(t=t.split(g),o=t.length;o>0;o--)e=t[o-1],""!==e&&(n+='<li><a href="/?query='+e+'">'+e+"</li>");h.html(n),f.removeClass("hide"),p.removeClass("hide"),window.rePosFooter()}}(),m.bindWirteLocal(u)}),define("js/plugin/security",["jquery"],function(e,t,o){function n(e){var t,o,n,s=a("input[type!=hidden], textarea"),r=/['"<>&\|]|--/g,l=s.length,d=void 0===e||"boolean"!=typeof e?!0:e;for(o=0;l>o;o++)if(t=s.eq(o).val(),r.test(t))return d?s.eq(o).val(t.replace(r," ")):(n=t.match(r).join(" "),i.show("不可以输入 "+n+" 哦!")),!d&&!0;return!1}var a=e("jquery"),i=e("js/plugin/tip");t.hasDangerInput=n}),define("js/index/write-search",[],function(e,t,o){function n(){return i}function a(e){e.on("submit",function(){var e,t=this.query.value;if(localStorage){if(e=localStorage.getItem("historys"),e=e?e:"",e.indexOf(i+t+i)>-1)return;""===e&&(t=i+t),e+=t+i,localStorage.setItem("historys",e)}})}var i=" ??++ ";t.getRanToken=n,t.bindWirteLocal=a}),define("js/index/footer",["jquery","hammer"],function(e,t,o){function n(){var e="http://a.app.qq.com/o/simple.jsp?pkgname=com.yoho&g_f=995445",t=new Date;setTimeout(function(){new Date-t<2e3&&(window.location=e)},500)}var a,i=e("jquery"),s=e("hammer");e("js/common"),i("#float-layer-close").on("touchend",function(e){return i("#float-layer-app").hide(),window.setCookie("_float-layer-app","id490655927",{domain:".yohobuy.com"}),window.setCookie("_float-layer-app-close",1,{domain:".yohobuy.com",expires:1}),!1}),i("#float-layer-btn")&&i("#float-layer-btn")[0]&&(a=new s(i("#float-layer-btn")[0]),a.on("tap",function(e){n("bottom"),e.srcEvent.stopPropagation()}),"function"!=typeof window.cookie||window.cookie("_float-layer-app")?i("#float-layer-app").hide():i("#float-layer-app").show())}),define("js/index/channel",["jquery","hammer"],function(e,t,o){var n=e("jquery"),a=e("js/plugin/security"),i=n(".search-box"),s=n(".box"),r=n(".index-search"),l=n(".index-logo"),d=n(".index-channel a:not(#yohood)"),c=i.children('input[type="text"]'),u=s.children(".no-search"),h=i.children(".search-icon");e("js/common"),c.on("focus",function(){s.addClass("action"),l.addClass("action")}).on("input",function(){""===c.val()?h.addClass("empty"):h.removeClass("empty")}),u.on("touchend",function(){return s.removeClass("action"),l.removeClass("action"),c.blur(),!1}),i.children(".clear-text").on("touchstart",function(){c.val("").focus().trigger("input")}),i.children(".search-icon").on("touchstart",function(){return a.hasDangerInput()?!1:void r.submit()}),i.keyup(function(e){if(13===e.keyCode){if(a.hasDangerInput())return!1;r.submit()}}),n(".index-channel img").on("load error",function(){window.rePosFooter&&window.rePosFooter()}),d.on("touchstart",function(){d.css({background:"#000",color:"#fff",borderColor:"#fff"}),n(this).css({background:"rgba(255, 255, 255, 0.5)",color:"#000",borderColor:"#000"})}).on("touchend touchcancel",function(){n(this).css({background:"#000",color:"#fff",borderColor:"#fff"})})}),define("js/index/coupon",["jquery","swiper","index"],function(e,t,o){function n(e){var t=new RegExp("(^|&)"+e+"=([^&]*)(&|$)"),o=window.location.search.substr(1).match(t);return null!=o?o[2]:null}var a,i=e("jquery"),s=e("swiper"),r=i(".main-right-receive"),l=i(".floor-mask"),d=i(".floor-message"),c=i(".floor-tooltip"),u=e("js/plugin/tip");r.on("click",function(){var e=i(this),t="";n("app_version")&&(t+="&app_version="+n("app_version")),n("uid")&&(t+="&uid="+n("uid")),i.ajax({url:"/coupon/receiveCoupon?code="+n("code")+t,data:{couponID:e.parents(".coupon-floor").attr("coupon-id")},dataType:"json",success:function(t){var o=t.msg,a=t.status,s=t.url+"?code="+n("code");t.isApp===!0&&(s=t.url),t.noLogin===!0?(i("#intimacy-link").length<=0&&i("body").append("<a href='"+s+'\' style="display:none;" id="intimacy-link"><span class="intimacy-link"></span></a>'),i(".intimacy-link").click()):a?(e.hide(),e.next().show(),c.show(),setTimeout(function(){c.hide()},3e3)):(d.find(".coupon-message-content").text(o),l.show(),d.show())},error:function(){u.show("网络异常!")}})}),i(".coupon-floor a, .banner-top a").on("click",function(){return i(this).attr("href").length<=0||"#"===i(this).attr("href")?!1:void 0}),i(".banner-swiper").find("li").length>1&&(a=new s(".banner-swiper",{lazyLoading:!0,lazyLoadingInPrevNext:!0,loop:!0,autoplay:3e3,autoplayDisableOnInteraction:!1,paginationClickable:!0,slideElement:"li",pagination:".banner-top .pagination-inner"})),i(".coupon-message-op-rel").on("click",function(){location.reload()}),i("#noData").length>0&&location.href.indexOf("?openby:yohobuy=")<=0&&u.show("网络异常!"),l.on("click",function(){l.hide(),d.hide()})}),define("js/passport/entry",["jquery","handlebars","source-map","hammer"],function(e,t,o){e("js/passport/register/register"),e("js/passport/register/code"),e("js/passport/register/password"),e("js/passport/login/login"),e("js/passport/login/international"),e("js/passport/back/mobile"),e("js/passport/back/code"),e("js/passport/back/email"),e("js/passport/back/email-success"),e("js/passport/back/new-password"),e("js/passport/bind/bind"),e("js/passport/bind/code"),e("js/passport/bind/password"),e("js/passport/bind/relate")}),define("js/passport/register/register",["jquery"],function(e,t,o){var n=e("jquery"),a=n("#phone-num"),i=n("#country-select"),s=n("#area-code"),r=n("#btn-next"),l=e("js/passport/api"),d=e("js/plugin/tip"),c=n.trim,u=d.show,h=!1;l.selectCssHack(n("#country-select")),l.bindClearEvt(),a.bind("input",function(){""===c(a.val())?r.addClass("disable"):r.removeClass("disable")}),i.change(function(){s.text(i.val())}),r.on("touchstart",function(){var e=c(a.val()),t=i.val();if(!r.hasClass("disable"))return h?!1:void(l.phoneRegx[t].test(e)?(h=!0,n.ajax({url:"/passport/reg/verifymobile",type:"POST",data:{areaCode:t.replace("+",""),phoneNum:e},success:function(e){200===e.code?location.href=e.data:(u(e.message),h=!1)},error:function(e){u("出错了,请重试"),h=!1}})):u("手机号格式不正确,请重新输入"))})}),define("js/passport/api",["jquery"],function(e,t,o){function n(e){var t,o=r(".has-eye");e&&"open"===e.status?o.append('<div class="eye"></div>'):o.append('<div class="eye close"></div>'),t=o.children(".eye"),t.on("touchstart",function(e){var t=r(this),o=t.siblings(".pwd");e.preventDefault(),t.toggleClass("close"),t.hasClass("close")?o.attr("type","password"):o.attr("type","text"),o.focus()})}function a(){var e,t=r(".has-clear");t.append('<div class="clear-input"></div>'),e=t.children(".clear-input"),e.on("touchstart",function(t){var o=e.siblings(".input");o.val("").trigger("input").focus(),t.preventDefault()}),t.children(".input").bind("input",function(){var e=r(this),t=e.siblings(".clear-input"),o=l(e.val());""===o?t.hide():t.show()})}function i(e){return e.length>=6&&e.length<=20}function s(e){function t(){var t=e.find("option:selected").text().length;switch(t){case 2:e.outerWidth(90);break;case 3:e.outerWidth(110);break;default:e.outerWidth(130)}}var o=navigator.userAgent;o.match(/uc/i)&&o.match(/android/i)?e.change(function(){t()}):e.removeClass("in-android-uc")}var r=e("jquery"),l=r.trim,d=/^([a-zA-Z0-9]+[_|\_|\.|-]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.|-]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/,c={"+86":/^1[35847]{1}[0-9]{9}$/,"+852":/^[965]{1}[0-9]{7}$/,"+853":/^[0-9]{8}$/,"+886":/^[0-9]{10}$/,"+65":/^[98]{1}[0-9]{7}$/,"+60":/^1[1234679]{1}[0-9]{8}$/,"+1":/^[0-9]{10}$/,"+82":/^01[0-9]{9}$/,"+44":/^7[789][0-9]{8}$/,"+81":/^0[9|8|7][0-9]{9}$/,"+61":/^[0-9]{11}$/};o.exports={emailRegx:d,phoneRegx:c,bindEyesEvt:n,bindClearEvt:a,pwdValidate:i,selectCssHack:s}}),define("js/passport/register/code",["jquery"],function(e,t,o){e("js/passport/code")(!0)}),define("js/passport/code",["jquery"],function(e,t,o){var n=e("jquery");o.exports=function(t,o,a){function i(){n.ajax({url:o?"/passport/bind/bindMobile":"/passport/bind/relateMobile",type:"post",data:{areaCode:m.replace("+",""),phoneNum:f,openId:p,sourceType:h,nickname:u,password:"",code:w(l.val())},success:function(e){200===e.code?(v.show("登录成功"),setTimeout(function(){location.href=e.data.refer},2e3)):v.show(e.message)},error:function(e){v.show("登录失败,请重试!")}})}function s(){n.ajax({type:"POST",url:"/passport/"+b+"/verifycode",data:{phoneNum:f,areaCode:m,code:w(l.val()),token:n("#token").val()},success:function(e){200===e.code?location.href=e.data:y(e.message)}})}function r(){var e,t=59;e=setInterval(function(){0===t?(c.text("重发验证码").removeClass("disable"),clearInterval(e)):c.text("重发验证码 ("+t--+"秒)")},1e3)}var l=n("#captcha"),d=n("#btn-next"),c=n("#captcha-tip"),u=n("#nickname").val(),h=n("#sourceType").val(),p=n("#openId").val(),f=n("#phone-num").val(),m=n("#area-code").val().replace("+",""),g=e("js/passport/api"),v=e("js/plugin/tip"),w=n.trim,y=v.show,b=t?"reg":"back",C=parseInt(n("#isReg").val());g.bindClearEvt(),l.bind("input",function(){""!==w(l.val())?d.removeClass("disable"):d.addClass("disable")}),c.on("touchstart",function(){c.hasClass("disable")||n.ajax({type:"POST",url:o||a?"/passport/bind/sendBindMsg":"/passport/"+b+"/sendcode",data:{phoneNum:f,areaCode:m},success:function(e){200===e.code?(c.text("重发验证码 (60秒)").addClass("disable"),r()):y(e.message)}})}),d.on("touchstart",function(){d.hasClass("disable")||(o||a?C?i():location.href="/passport/bind/password?phoneNum="+f+"&areaCode="+m+"&openId="+p+"&sourceType="+h+"&nickname="+u+"&code="+w(l.val()):s())}),r()}}),define("js/passport/register/password",["jquery"],function(e,t,o){var n=e("jquery"),a=n("#pwd"),i=n("#btn-sure"),s=e("js/passport/api"),r=e("js/plugin/tip"),l=n.trim,d=r.show;s.bindEyesEvt({status:"open"}),a.bind("input",function(){""===l(a.val())?i.addClass("disable"):i.removeClass("disable")}),i.on("touchstart",function(){var e=l(a.val());i.hasClass("disable")||(s.pwdValidate(e)===!1?d("密码6-20位,请重新输入"):n.ajax({type:"POST",url:"/passport/reg/setpassword",data:{password:e,phoneNum:n("#phone-num").val(),areaCode:n("#area-code").val(),token:n("#token").val()},success:function(e){var t;200===e.code?(t=e.data,d("注册成功"),n.ajax({url:t.session,dataType:"jsonp"}),setTimeout(function(){location.href=t.href},1e3)):d(e.message)}}))})}),define("js/passport/login/login",["jquery"],function(e,t,o){function n(){h&&p?d.removeClass("disable"):d.addClass("disable")}function a(){c.show(),u.show()}function i(){c.hide(),u.hide()}var s=e("jquery"),r=s("#account"),l=s("#pwd"),d=s("#btn-login"),c=s("#retrive-pwd-mask"),u=s("#retrive-pwd-ways"),h=!1,p=!1,f=e("js/passport/api"),m=e("js/plugin/tip"),g=s.trim,v=m.show;f.bindEyesEvt(),f.bindClearEvt(),r.bind("input",function(){h=""!==g(r.val()),n()}),l.bind("input",function(){p=""!==g(l.val()),n()}),d.on("touchstart",function(){var e=g(r.val()),t=g(l.val());d.hasClass("disable")||(d.text("正在登录...").addClass("disable"),(/^[0-9]+$/.test(e)||f.emailRegx.test(e))&&f.pwdValidate(t)?s.ajax({type:"POST",url:"/passport/login/auth",data:{account:e,password:t},success:function(e){var t;200===e.code?(t=e.data,v("登录成功"),location.href=t.href):v(e.message)},error:function(){v("网络断开连接啦~")},complete:function(){d.text("登录").removeClass("disable")}}):(v("账号或密码有错误,请重新输入"),d.text("登录").removeClass("disable")))}),s("#forget-pwd").on("touchstart",function(){a()}),c.on("touchstart",function(){i()}),s("#cancel-retrive").on("touchstart",function(e){e.preventDefault(),i()}),r.trigger("input"),l.trigger("input")}),define("js/passport/login/international",["jquery"],function(e,t,o){function n(){c&&u?d.removeClass("disable"):d.addClass("disable")}var a=e("jquery"),i=a("#phone-num"),s=a("#country-select"),r=a("#area-code"),l=a("#pwd"),d=a("#btn-login"),c=!1,u=!1,h=e("js/passport/api"),p=e("js/plugin/tip"),f=a.trim,m=p.show;h.selectCssHack(s),h.bindEyesEvt(),h.bindClearEvt(),i.bind("input",function(){c=""!==f(i.val()),n()}),l.bind("input",function(){var e=f(l.val());u=""!==e,n()}),s.change(function(){r.text(s.val())}),d.on("touchstart",function(){var e=f(i.val()),t=s.val(),o=f(l.val());d.hasClass("disable")||(d.text("正在登录...").addClass("disable"),h.phoneRegx[t].test(e)&&h.pwdValidate(o)?a.ajax({type:"POST",url:"/passport/login/auth",data:{areaCode:t.replace("+",""),account:e,password:o},success:function(e){var t,o;200===e.code?(t=e.data,m("登录成功"),a.ajax({url:t.session,dataType:"jsonp",success:function(){clearTimeout(o),setTimeout(function(){location.href=t.href},1e3)}}),o=setTimeout(function(){location.href=t.href},3e3),m("登录成功")):m(e.message)},error:function(){m("网络断开连接啦~")},complete:function(){d.text("登录").removeClass("disable")}}):(m("账号或密码有错误,请重新输入"),d.text("登录").removeClass("disable")))}),i.trigger("input"),l.trigger("input")}),define("js/passport/back/mobile",["jquery"],function(e,t,o){var n=e("jquery"),a=n("#phone-num"),i=n("#country-select"),s=n("#area-code"),r=n("#btn-next"),l=e("js/passport/api"),d=e("js/plugin/tip"),c=n.trim,u=d.show;l.selectCssHack(n("#country-select")),l.bindClearEvt(),a.bind("input",function(){""===c(a.val())?r.addClass("disable"):r.removeClass("disable")}),i.change(function(){s.text(i.val())}),r.on("touchstart",function(){var e=c(a.val()),t=i.val();r.hasClass("disable")||(l.phoneRegx[t].test(e)?n.ajax({url:"/passport/back/sendcode",type:"POST",data:{areaCode:t.replace("+",""),phoneNum:e},success:function(e){200===e.code?location.href=e.data:u(e.message)}}):u("手机号格式不正确,请重新输入"))})}),define("js/passport/back/code",["jquery"],function(e,t,o){e("js/passport/code")(!1)}),define("js/passport/back/email",["jquery"],function(e,t,o){var n=e("jquery"),a=n("#email"),i=n("#btn-sure"),s=e("js/passport/api"),r=e("js/plugin/tip"),l=n.trim,d=r.show;s.bindClearEvt(),a.bind("input",function(){""===l(a.val())?i.addClass("disable"):i.removeClass("disable")}),i.on("touchstart",function(){var e=l(a.val());i.hasClass("disable")||(s.emailRegx.test(e)?n.ajax({url:"/passport/back/sendemail",type:"POST",data:{email:e},success:function(e){200===e.code?location.href=e.data:d(e.message)}}):d("邮箱格式不正确,请重新输入"))})}),define("js/passport/back/email-success",["jquery"],function(e,t,o){var n=e("jquery"),a=n("#resend"),i=e("js/plugin/tip"),s=i.show;a.on("touchstart",function(e){e.preventDefault(),n.ajax({url:a.data("url"),type:"GET",success:function(e){s(e.message)}})})}),define("js/passport/back/new-password",["jquery"],function(e,t,o){var n=e("jquery"),a=n("#pwd"),i=n("#btn-ok"),s=e("js/passport/api"),r=e("js/plugin/tip"),l=n.trim,d=r.show,c=n("#phone-num");s.bindEyesEvt({status:"open"}),a.bind("input",function(){""===l(a.val())?i.addClass("disable"):i.removeClass("disable")}),i.on("touchstart",function(){var e,t,o=l(a.val()),r=!0;i.hasClass("disable")||(e={password:o},0===c.length&&(r=!1),r?(n.extend(e,{phoneNum:c.val(),areaCode:n("#areaCode").val(),token:n("#token").val()}),t="/passport/back/passwordByMobile"):(n.extend(e,{code:n("#email-code").val()}),t="/passport/back/passwordByEmail"),s.pwdValidate(o)?n.ajax({type:"POST",url:t,data:e,success:function(e){200===e.code?(d("密码修改成功"),setTimeout(function(){location.href=e.data},1e3)):d(e.message)}}):d("密码6-20位,请重新输入"))})}),define("js/passport/bind/bind",["jquery","handlebars","source-map","hammer"],function(e,t,o){function n(e,t,o){return v?!1:(v=!0,u.addClass("disable").html("绑定中..."),void a.ajax({type:"POST",url:"/passport/bind/sendBindMsg",data:{phoneNum:t,areaCode:o.replace("+","")},success:function(t){200===t.code?location.href=e:p.show(t.message)},error:function(){p.show("出错了,请重试!"),u.removeClass("disable").html("下一步"),v=!1}}))}var a=e("jquery"),i=a("#phone-num"),s=a("#country-select"),r=a("#area-code"),l=a("#openId"),d=a("#nickname"),c=a("#sourceType"),u=a("#btn-next"),h=e("js/passport/api"),p=e("js/plugin/tip"),f=e("js/me/dialog"),m=a.trim,g=p.show,v=!1;h.selectCssHack(a("#country-select")),h.bindClearEvt(),i.bind("input",function(){""===m(i.val())?u.addClass("disable"):u.removeClass("disable")}),s.change(function(){r.text(s.val())}),u.on("touchstart",function(){var e=m(i.val()),t=m(l.val()),o=m(d.val()),r=m(c.val()),p=s.val();u.hasClass("disable")||(h.phoneRegx[p].test(e)?a.ajax({url:"/passport/bind/bindCheck",type:"POST",data:{areaCode:p.replace("+",""),phoneNum:e,openId:t,sourceType:r,nickname:o},success:function(t){200===t.code?1===t.data.isReg?f.showDialog({dialogText:"该手机号已注册过有货\n"+e+",确定绑定吗?",hasFooter:{leftBtnText:"更换号码",rightBtnText:"继续绑定"}},function(){n(t.data.next,e,p)}):3===t.data.isReg?f.showDialog({dialogText:"该手机号已注册过有货\n"+e+",是否进行关联?",hasFooter:{leftBtnText:"更换号码",rightBtnText:"确定"}},function(){n(t.data.next,e,p)}):n(t.data.next,e,p):g(t.message)}}):g("手机号格式不正确,请重新输入"))})}),define("js/me/dialog",["jquery","handlebars","source-map","hammer"],function(e,t,o){function n(){return void 0===i&&(i='<div id="dialog-wrapper" class="dialog-wrapper"><div class="dialog-box">{{# hasHeader}}{{/ hasHeader}}<div class="dialog-content">{{dialogText}}</div>{{# hasFooter}}<div class="dialog-footer">{{# leftBtnText}}<span class="dialog-left-btn tap-hightlight">{{.}}</span>{{/ leftBtnText}}{{# rightBtnText}}<span class="dialog-right-btn tap-hightlight">{{.}}</span>{{/ rightBtnText}}</div>{{/ hasFooter}}</div></div>',s=l.compile(i)),s}var a,i,s,r=e("jquery"),l=e("handlebars"),d=e("hammer");t.showDialog=function(e,t,o,i){var s,l,c,u=n(),h=u(e);r(".dialog-wrapper").remove(),r("body").append(r(h)),s=r(".dialog-box"),a=r(".dialog-wrapper"),c=new d(document.getElementById("dialog-wrapper")),e.fast?a.css({display:"block"}):a.fadeIn(),i&&(r(".dialog-wrapper .dialog-footer > span").css("width","100%"),r(".dialog-wrapper .dialog-content").css({"padding-left":"1.85rem","padding-right":"1.85rem"}),a.css("z-index","10")),s.css({top:"50%",marginTop:-(s.height()/2)}),e.autoHide&&(l=1e3,e.autoHide>1&&(l=e.autoHide),setTimeout(function(){a.fadeOut()},l)),a.on("touchmove",function(){return!1}),c.on("tap",function(e){r(e.target).hasClass("dialog-left-btn")?("function"==typeof o&&o(),a.fadeOut()):r(e.target).hasClass("dialog-right-btn")&&t(),e.preventDefault(),e.srcEvent.stopPropagation()})},t.hideDialog=function(){r(".dialog-wrapper").remove()}}),define("js/passport/bind/code",["jquery"],function(e,t,o){e("js/passport/code")(!0,!0)}),define("js/passport/bind/password",["jquery"],function(e,t,o){function n(e){a.ajax({url:"/passport/bind/bindMobile",type:"post",data:{areaCode:m.replace("+",""),phoneNum:f,openId:p,sourceType:h,nickname:u,password:e,code:g},success:function(e){200===e.code?(l.show("登录成功"),setTimeout(function(){location.href=e.data.refer},2e3)):l.show(e.message)},error:function(e){l.show("登录失败,请重试!")}})}var a=e("jquery"),i=a("#pwd"),s=a("#btn-sure"),r=e("js/passport/api"),l=e("js/plugin/tip"),d=a.trim,c=l.show,u=a("#nickname").val(),h=a("#sourceType").val(),p=a("#openId").val(),f=a("#phone-num").val(),m=a("#area-code").val().replace("+",""),g=a("#code").val();r.bindEyesEvt({status:"open"}),i.bind("input",function(){""===d(i.val())?s.addClass("disable"):s.removeClass("disable")}),s.on("touchstart",function(){var e=d(i.val());s.hasClass("disable")||(r.pwdValidate(e)===!1?c("密码6-20位,请重新输入"):n(e))})}),define("js/passport/bind/relate",["jquery"],function(e,t,o){e("js/passport/code")(!0,!1,!0)}),define("js/product/entry",["jquery","swiper","mlellipsis","lazyload","hammer","handlebars","source-map","iscroll-probe","index"],function(e,t,o){e("js/product/newsale/newarrival"),e("js/product/newsale/discount"),e("js/product/list"), +e("js/product/detail/detail"),e("js/product/detail/consultform"),e("js/product/newsale/hot-rank"),e("js/product/product-category"),e("js/product/shop")}),define("js/product/newsale/newarrival",["jquery","swiper","mlellipsis","lazyload","hammer","index"],function(e,t,o){function n(e){var t,o,n,a,i,u,h={};if(!d){if(e){for(o in E)E.hasOwnProperty(o)&&(E[o].reload=!0);switch(q.children(".active").removeClass("active"),I.addClass("active"),e.type){case"gender":t={gender:e.id};break;case"brand":t={brand:e.id};break;case"sort":t={sort:e.id};break;case"color":t={color:e.id};break;case"size":t={size:e.id};break;case"price":t={price:e.id};break;case"discount":t={discount:e.id};break;case"limit":t={limit:e.id};break;case"channel":t={channel:e.id};break;case"p_d":t={p_d:e.id}}c.extend(C,t)}if(I.hasClass("today")?(a="today",i=1):I.hasClass("week")?(a="week",i=2):I.hasClass("sale")&&(a="sale",i=3),n=E[a],u=n.page+1,n.reload)u=1;else if(n.end)return;c.extend(h,C,{dayLimit:i,page:u}),d=!0,g.showLoadingMask(),c.ajax({type:"GET",url:"/product/newsale/selectNewSale",data:h,success:function(e){var t,o;switch(a){case"today":t=s;break;case"week":t=r;break;case"sale":t=l}" "===e?(n.end=!0,n.reload&&t.html(b)):n.reload?(t.html(e),p(t.find(".lazy"))):(o=t.find(".good-info").length,t.append(e),p(t.find(".good-info:gt("+(o-1)+") .lazy"))),n.reload=!1,n.page=u,d=!1,g.hideLoadingMask(),window.rePosFooter(),c(".good-detail-text .name").each(function(){var e=c(this),t=e.find("a");t[0].mlellipsis(2)})},error:function(){f.show("网络断开连接了~"),d=!1,g.hideLoadingMask()}})}}function a(){c(window).scrollTop()+y>c(document).height()-.25*v.height()-50&&void 0!==I&&n()}var i,s,r,l,d,c=e("jquery"),u=e("swiper"),h=e("mlellipsis"),p=e("lazyload"),f=e("js/plugin/tip"),m=e("js/plugin/filter"),g=e("js/plugin/loading"),v=c("#goods-container"),w=v.children(),s=c(w.get(0)),r=c(w.get(1)).addClass("hide"),l=c(w.get(2)).addClass("hide"),y=c(window).height(),b='<p class="no-result">未找到相关搜索结果</p>',C=e("js/product/query-param"),j=c.extend({},C),x=new Date,k=x.getMonth()+1,T=x.getDate(),q=c("#list-nav"),E={today:{reload:!0,page:0,end:!1},week:{reload:!0,page:0,end:!1},sale:{reload:!0,page:0,end:!1}},I=q.find(".active");e("js/product/suspend-cart"),h.init(),c("#today a").text(k+"月"+T+"号"),c(".swiper-container .swiper-slide").length>1&&(i=new u(".swiper-container",{lazyLoading:!0,lazyLoadingInPrevNext:!0,loop:!0,autoplay:3e3,autoplayDisableOnInteraction:!0,paginationClickable:!0,pagination:".banner-top .pagination-inner"})),c.ajax({type:"GET",url:"/product/newsale/filter",data:C,success:function(e){v.append(e),m.initFilter({fCbFn:n,hCbFn:function(){I.addClass("active"),I.siblings(".filter").removeClass("active")}})}}),p(c(".lazy")),q.bind("contextmenu",function(e){return!1}),q.on("touchend touchcancel",function(e){var t,o,a,i=c(e.target).closest("li");if(e.preventDefault(),i.hasClass("filter"))i.hasClass("active")?(m.hideFilter(),I.addClass("active"),i.removeClass("active")):(I=i.siblings(".active"),I.removeClass("active"),i.addClass("active"),m.showFilter());else{if(i.hasClass("today")?o="today":i.hasClass("week")?o="week":i.hasClass("sale")&&(o="sale"),t=E[o],!i.hasClass("active")){if(a=i.siblings(".active"),I=i,a.hasClass("filter"))m.hideFilter();else{switch(v.children(".container:not(.hide)").addClass("hide"),o){case"today":s.removeClass("hide");break;case"week":r.removeClass("hide");break;case"sale":l.removeClass("hide")}m.resetFilter(),C=c.extend({},j)}a.removeClass("active"),i.addClass("active")}t.reload&&n()}e.stopPropagation()}),c(window).scroll(function(){window.requestAnimationFrame(a)}),n(),q.on("touchstart","li",function(e){c(this).addClass("bytouch")}).on("touchend touchcancel",function(){q.find("li").removeClass("bytouch")})}),define("js/plugin/filter",["jquery","hammer"],function(e,t,o){function n(){h.addClass("hide")}function a(){h.removeClass("hide")}function i(){var e=g(".filter-body .classify");e.on("touchstart",".shower",function(){e.removeClass("highlight"),g(this).addClass("highlight")}).on("touchend touchcancel",".shower",function(){g(this).removeClass("highlight")})}function s(){var e=g(".filter-body .sub-item");e.on("touchstart",function(){e.removeClass("highlight"),g(this).addClass("highlight")}).on("touchend touchcancel",function(){g(this).removeClass("highlight")})}function r(e){e.hasClass("active")||(e.siblings(".active").removeClass("active"),e.addClass("active"))}function l(e){var t,o,n=e.closest(".sub-classify"),a=n.siblings(".shower");return e.hasClass("chosed")?n:(n.children(".chosed").removeClass("chosed"),e.addClass("chosed"),t=g.trim(e.html()),o=g.trim(a.html()),a.html(o.substring(0,o.indexOf("</span>")+7)+t.substring(0,t.indexOf("<i"))),0===e.index()?a.addClass("default"):a.removeClass("default"),n)}function d(e){var t,o=e.data("id");t=l(e),p&&p({type:t.data("type"),id:o}),n()}function c(e){var t;p=e.fCbFn,f=e.hCbFn,m=e.missStatus,i(),s(),h=g(".filter-mask"),t=new v(h[0]),t.on("tap",function(e){var t,o=g(e.target);e.preventDefault(),o.closest(".filter-body").length>0?(t=o.closest(".sub-item"),t.length>0?(t=o.closest("li"),d(t)):(t=o.closest(".classify-item"),e.srcEvent.stopPropagation(),r(t))):(n(),f&&f())})}function u(){"undefined"!=typeof h&&(g(".sub-classify").each(function(){l(g(this).children(":first-child"))}),r(g(".classify > :first-child")))}var h,p,f,m,g=e("jquery"),v=e("hammer");t.initFilter=c,t.showFilter=a,t.hideFilter=n,t.resetFilter=u}),define("js/product/query-param",["jquery"],function(e,t,o){var n=e("jquery"),a={};n(".query-param").each(function(){var e=n(this);a[e.data("attr")]=e.val()}),o.exports=a}),define("js/product/suspend-cart",["jquery"],function(e,t,o){var n=e("jquery"),a=n("#suspend-cart");n.ajax({type:"GET",url:"/cart/index/count",success:function(e){var t;200===e.code&&(t=e.data.cart_goods_count,t>99&&(t="99+"),0===t&&n(".cart-count").remove(),a.find(".cart-count").html(t).removeClass("hide"))}})}),define("js/product/newsale/discount",["jquery","swiper","mlellipsis","lazyload","hammer","index"],function(e,t,o){function n(e){var t,o,n,a,i,l={};if(!s){if(e){for(o in x)x.hasOwnProperty(o)&&(x[o].reload=!0);switch(j.children(".active").removeClass("active"),k.addClass("active"),e.type){case"gender":t={gender:e.id};break;case"brand":t={brand:e.id};break;case"sort":t={sort:e.id};break;case"color":t={color:e.id};break;case"size":t={size:e.id};break;case"price":t={price:e.id};break;case"discount":t={discount:e.id}}r.extend(C,t)}if(k.hasClass("new")?a="newest":k.hasClass("price")?a="price":k.hasClass("discount")&&(a="discount"),n=x[a],i=n.page+1,n.reload)i=1;else if(n.end)return;r.extend(l,C,{type:a,order:n.order,page:i}),s=!0,p.showLoadingMask(),r.ajax({type:"GET",url:"/product/newsale/selectNewSale",data:l,success:function(e){var t,o;switch(a){case"newest":t=g;break;case"price":t=v;break;case"discount":t=w}" "===e?(n.end=!0,n.reload&&t.html(b)):n.reload?(t.html(e),c(t.find(".lazy"))):(o=t.find(".good-info").length,t.append(e),c(t.find(".good-info:gt("+(o-1)+") .lazy"))),n.reload=!1,n.page=i,s=!1,p.hideLoadingMask(),window.rePosFooter(),r(".good-detail-text .name").each(function(){var e=r(this),t=e.find("a");t[0].mlellipsis(2)})},error:function(){u.show("网络断开连接了~"),s=!1,p.hideLoadingMask()}})}}function a(){r(window).scrollTop()+y>r(document).height()-.25*f.height()-50&&void 0!==k&&n()}var i,s,r=e("jquery"),l=e("swiper"),d=e("mlellipsis"),c=e("lazyload"),u=e("js/plugin/tip"),h=e("js/plugin/filter"),p=e("js/plugin/loading"),f=r("#goods-container"),m=f.children(),g=r(m.get(0)),v=r(m.get(1)),w=r(m.get(2)),y=r(window).height(),b='<p class="no-result">未找到相关搜索结果</p>',C=e("js/product/query-param"),j=r("#list-nav"),x={newest:{order:1,reload:!0,page:0,end:!1},price:{order:1,reload:!0,page:0,end:!1},discount:{order:1,reload:!0,page:0,end:!1}},k=j.find(".active");e("js/product/suspend-cart"),d.init(),r(".swiper-container .swiper-slide").length>1&&(i=new l(".swiper-container",{lazyLoading:!0,lazyLoadingInPrevNext:!0,loop:!0,autoplay:3e3,autoplayDisableOnInteraction:!0,paginationClickable:!0,pagination:".banner-top .pagination-inner"})),r.ajax({type:"GET",url:"/product/newsale/filter",data:C,success:function(e){f.append(e),h.initFilter({fCbFn:n,hCbFn:function(){k.addClass("active"),k.siblings(".filter").removeClass("active")},missStatus:!0})}}),c(r(".lazy")),j.bind("contextmenu",function(e){return!1}),j.on("touchend touchcancel",function(e){var t,o,a,i=r(e.target).closest("li");if(e.preventDefault(),"undefined"!=typeof i&&0!==i.length){if(i.hasClass("filter"))i.hasClass("active")?(h.hideFilter(),k.addClass("active"),i.removeClass("active")):(k=i.siblings(".active"),k.removeClass("active"),i.addClass("active"),h.showFilter());else{if(i.hasClass("new")?o="newest":i.hasClass("price")?o="price":i.hasClass("discount")&&(o="discount"),t=x[o],i.hasClass("active")){if(i.hasClass("new"))return;(i.hasClass("price")||i.hasClass("discount"))&&(i.find(".icon > .iconfont").toggleClass("cur"),k=i,t.reload=!0,t.order=0===t.order?1:0)}else{if(a=i.siblings(".active"),k=i,a.hasClass("filter"))h.hideFilter();else switch(f.children(".container:not(.hide)").addClass("hide"),o){case"newest":g.removeClass("hide");break;case"price":v.removeClass("hide");break;case"discount":w.removeClass("hide")}a.removeClass("active"),i.addClass("active")}t.reload&&n()}e.stopPropagation()}}),r(window).scroll(function(){window.requestAnimationFrame(a)}),n(),j.on("touchstart","li",function(e){r(this).addClass("bytouch")}).on("touchend touchcancel",function(){j.find("li").removeClass("bytouch")})}),define("js/product/list",["jquery","hammer","mlellipsis","lazyload"],function(e,t,o){function n(e){var t=new RegExp("(^|&)"+e+"=([^&]*)(&|$)","i"),o=window.location.search.substr(1).match(t);return null!=o?window.unescape(o[2]):null}function a(e){var t,o,n,a,i,c,u,h,f={};if(!d){if(e){for(o in _)_.hasOwnProperty(o)&&(_[o].reload=!0);switch(z.children(".active").removeClass("active"),M.addClass("active"),e.type){case"shop_id":t={shop_id:e.id};break;case"gender":t={gender:e.id};break;case"brand":t={brand:e.id};break;case"sort":t={sort:e.id};break;case"color":t={color:e.id};break;case"size":t={size:e.id};break;case"price":t={price:e.id};break;case"discount":t={discount:e.id}}p.extend(D,t)}if(M.hasClass("new")?a="newest":M.hasClass("price")?a="price":M.hasClass("discount")&&(a="discount"),n=_[a],i=n.page+1,n.reload)i=1;else if(n.end)return;h={type:a,order:n.order,page:i},s&&(h.shop_id=s),r&&(h.sort=r),l&&(h.brand=l),p.extend(f,D,h),d=!0,j.showLoadingMask(),p.ajax({type:"GET",url:"/index/search/search",data:f,success:function(e){var t,o,s='<p class="no-result">未找到相关搜索结果</p>';switch(a){case"newest":o=k;break;case"price":o=T;break;case"discount":o=q}if(" "===e?(n.end=!0,n.reload&&o.html(s)):n.reload?(o.html(e),g(o.find(".lazy"))):(t=o.find(".good-info").length,o.append(e),g(o.find(".good-info:gt("+(t-1)+") .lazy"))),n.reload=!1,n.page=i,d=!1,j.hideLoadingMask(),window.rePosFooter(),p(".good-detail-text .name").each(function(){c=p(this),u=c.find("a"),u[0].mlellipsis(2)}),window._yas)switch(a){case"newest":window._yas(1*new Date,"1.0.15","yohobuy_m",window._ozuid,"",p(".new-goods .good-info .good-detail-img .good-thumb"));break;case"price":window._yas(1*new Date,"1.0.15","yohobuy_m",window._ozuid,"",p(".price-goods .good-info .good-detail-img .good-thumb"));break;case"discount":window._yas(1*new Date,"1.0.15","yohobuy_m",window._ozuid,"",p(".discount-goods .good-info .good-detail-img .good-thumb"))}}})}}function i(){p(window).scrollTop()+E>p(document).height()-.25*x.height()&&a()}var s,r,l,d,c,u,h,p=e("jquery"),f=e("hammer"),m=e("mlellipsis"),g=e("lazyload"),v=p("#brand-header"),w=p("#intro-box"),y=e("js/plugin/filter"),b=e("js/index/write-search"),C=e("js/plugin/tip"),j=e("js/plugin/loading"),x=p("#goods-container"),k=x.children(".new-goods"),T=x.children(".price-goods"),q=x.children(".discount-goods"),E=p(window).height(),I=p("#search-input input"),S=p(".search-icon"),L=p("#search-input .clear-input"),D=e("js/product/query-param"),z=p("#list-nav"),_={newest:{order:1,reload:!0,page:0,end:!1},price:{order:1,reload:!0,page:0,end:!1},discount:{order:1,reload:!0,page:0,end:!1}},M=z.find(".active");m.init(),I.on("input",function(){""===I.val()?(S.css("color","#b2b2b2"),L.addClass("hide")):(S.css("color","#666"),L.removeClass("hide"))}),L.on("touchend",function(){I.val("").trigger("input")}),p("#search").on("touchend",function(){return p(this).closest("form").submit(),!1}),s=n("shop_id"),r=n("sort"),e("js/product/suspend-cart"),p.ajax({type:"GET",url:"/search/filter",data:D,success:function(e){x.append(e),y.initFilter({fCbFn:a,hCbFn:function(){M.addClass("active"),M.siblings(".filter").removeClass("active")}})}}),g(p(".lazy")),b.bindWirteLocal(p("#search-form")),z.bind("contextmenu",function(e){return!1}),z.on("touchend touchcancel",function(e){var t,o,n,i=p(e.target).closest("li");if(i.hasClass("filter"))i.hasClass("active")?(y.hideFilter(),M.addClass("active"),i.removeClass("active")):(M=i.siblings(".active"),M.removeClass("active"),i.addClass("active"),y.showFilter());else{if(i.hasClass("new")?o="newest":i.hasClass("price")?o="price":i.hasClass("discount")&&(o="discount"),t=_[o],i.hasClass("active")){if(i.hasClass("new"))return;(i.hasClass("price")||i.hasClass("discount"))&&(i.find(".icon > .iconfont").toggleClass("cur"),M=i,t.reload=!0,t.order=0===t.order?1:0)}else{if(n=i.siblings(".active"),M=i,n.hasClass("filter"))y.hideFilter();else switch(x.children(".container:not(.hide)").addClass("hide"),o){case"newest":k.removeClass("hide");break;case"price":T.removeClass("hide");break;case"discount":q.removeClass("hide")}n.removeClass("active"),i.addClass("active")}t.reload&&a()}}),p(window).scroll(function(){window.requestAnimationFrame(i)}),v.length>0&&(c=new f(v.children(".btn-intro")[0]),c.on("tap",function(){w.removeClass("hide"),p("body").addClass("overflow-hidden")}),u=new f(document.getElementById("intro-box")),u.on("tap",function(e){var t=p(e.target);e.srcEvent.preventDefault(),(0===t.closest("#brand-intro").length||t.hasClass("close-intro"))&&(w.addClass("hide"),p("body").removeClass("overflow-hidden"))}),h=new f(v.children(".btn-col")[0]),h.on("tap",function(e){var t,o=p(e.target).closest(".btn-col"),n=v.data("id");t=o.hasClass("coled")?"cancel":"ok",p.ajax({type:"POST",url:"/product/opt/favoriteBrand",data:{id:n,opt:t},success:function(e){200===e.code?(o.toggleClass("coled"),"ok"===t?C.show("添加收藏成功"):C.show("取消收藏成功")):400===e.code?location.href=e.data:C.show(e.message)},error:function(){C.show("网络断开连接了~")}})})),a(),z.on("touchstart","li",function(){z.find("li").removeClass("bytouch"),p(this).addClass("bytouch")}).on("touchend touchcancel","li",function(){z.find("li").removeClass("bytouch")})}),define("js/product/detail/detail",["jquery","swiper","hammer","lazyload","handlebars","source-map","index"],function(e,t,o){function n(){var e=i(".cart-bar"),t=setInterval(function(){e?(window.reMarginFooter(".cart-bar"),clearInterval(t)):e=i(".cart-bar")},200)}var a,i=e("jquery"),s=e("swiper"),r=e("hammer"),l=e("lazyload"),d=i(".goodsDiscount .discount-folder"),c=i(".goodsDiscount .first-item span"),u=document.getElementById("goodsDiscount"),h=u&&new r(u),p=i(u).find(".first-item"),f=i(".cart-bar"),m=i('input[name="limitCodeUrl"]').val(),g=e("js/me/dialog");n(),e("js/product/detail/like"),l(i("img.lazy")),i("#goodsDiscount h1").length<1&&i(".dropdown").remove(),a=new s(".banner-swiper",{lazyLoading:!0,lazyLoadingInPrevNext:!0,paginationClickable:!0,pagination:".banner-top .pagination-inner",nextButton:".my-swiper-button-next",prevButton:".my-swiper-button-prev",spaceBetween:3}),0===d.children().length&&(d.css("display","none"),c.html("")),h&&d.children().length>0&&h.on("tap",function(e){d.is(":hidden")?(p.removeClass("short-text"),c.removeClass("icon-down").addClass("icon-up").html(""),d.slideDown()):(p.addClass("short-text"),c.removeClass("icon-up").addClass("icon-down").html(""),d.slideUp())}),i("#limit-sale").on("touchend",function(e){var t,o,n=i("#loginUrl").val();e.stopPropagation(),n?window.location=n:(g.showDialog({dialogText:"进入有货APP,获取限购码",hasFooter:{rightBtnText:"打开Yoho!Buy有货APP"}},function(){o=document.createElement("iframe"),o.src=m,o.style.display="none",document.body.appendChild(o),window.location.href=m,t=Date.now(),window.setTimeout(function(){document.body.removeChild(o),Date.now()-t<3200&&(window.location.href="http://a.app.qq.com/o/simple.jsp?pkgname=com.yoho")},3e3)},void 0,!0),i(".dialog-wrapper").off("touchstart").on("touchstart",function(e){e.stopPropagation(),i(e.target).hasClass("dialog-wrapper")&&g.hideDialog()}))}),e("js/product/detail/desc"),e("js/product/detail/comments-consults"),e("js/product/recommend-for-you-product-desc"),i.ajax({type:"GET",url:"/cart/index/count",success:function(e){var t;if(200===e.code){if(t=e.data.cart_goods_count||0,0===t)return!1;t>99&&(t="99+"),f.find(".num-tag").html(t).removeClass("hide")}}}),i(".good-detail-page").length>0&&i("#yoho-footer").css("border-top","1px solid #e0e0e0")}),define("js/product/detail/like",["jquery"],function(e,t,o){var n=e("jquery"),a=e("js/plugin/tip"),i=e("js/cart/chose-panel"),s=n("#productId").val(),r=n("#productSkn").val(),l=n("#limitProductCode").val();n("#likeBtn").on("touchstart",function(){var e,t,o=n(this);return o.hasClass("liked")?(e="cancel",t=0):(e="ok",t=1),n.ajax({type:"POST",url:"/product/opt/favoriteProduct",data:{id:s,opt:e},success:function(t){200===t.code?(o.toggleClass("liked"),"cancel"===e?a.show("取消收藏成功"):"ok"===e&&a.show("收藏成功")):400===t.code?location.href=t.data:a.show(t.message)},error:function(){a.show("网络断开连接了~")}}),window._yas&&window._yas.sendCustomInfo({pd:s,fa:t},!0),!1}),n("#addtoCart").on("touchstart",function(){return n(".cart-bar").hide(),l&&i.setLimitGoodModeWithSknId(l,r),i.show(),window._yas&&window._yas.sendCustomInfo({pd:s,by:1},!0),!1})}),define("js/cart/chose-panel",["jquery"],function(e,t,o){function n(){var e=B(".chose-panel").find(".num .btn>.iconfont");e.hasClass("disabled")?null:e.addClass("disabled"),V.off("touchstart",".btn-minus"),V.off("touchstart",".btn-plus")}function a(){x=!1,k=!1,T=null,D=B.queryString(),v=B(".chose-panel").find(".thumb"),z=B(".chose-panel .main .chose-items"),L=B(".chose-items"),q=B(".size-list ul"),I=B(".color-list ul"),w=B("#left-num"),_=B(".cart-bar"),C=0,j=0,M=0}function i(e,t){B("#chose-btn-sure").html("确认"),M=1,F=e,P=t}function s(e,t){n(),B("#chose-btn-sure").html("立即购买"),O=e,N=t}function r(){var e=B(".chose-panel"),t=B("#promotionId");e&&e.remove(),t&&t.remove()}function l(){return x||k?x?k?!0:(A.show("请选择尺码~"),!1):(A.show("请选择颜色~"),!1):(A.show("请选择颜色和尺码~"),!1)}function d(e,t){e&&(U.html(e),""!==B("#promotionId").val()&&n(),a()),B(".chose-panel").show(),m=B("#good-num"),S=t,R.disableScroll(z)}function c(){B(".chose-panel").hide(),R.enableScroll(z),_.length>0&&_.show()}function u(){g=L.find(".chosed"),2===g.closest(".zero-stock").length?B("#chose-btn-sure").css("background-color","#c0c0c0").html("已售罄"):O?B("#chose-btn-sure").css("background-color","#eb0313").html("立即购买"):B("#chose-btn-sure").css("background-color","#eb0313").html(M?"确认":"加入购物车")}function h(e){e>0?(W.length>0?L.find(".num .left-num").html("即将售罄"):L.find(".num .left-num").html("剩余"+e+"件"),w.val(e)):(L.find(".num .left-num").html(""),w.val(0))}function p(e){var t,o,n;if(C&&T&&T.length>0){for(T.removeClass("chosed"),t=q.eq(e).children(),n=0;n<t.length;n++)if(B(t[n]).data("id")===T.data("id"))return T=B(t[n]),o="#"+T.data("id"),C=B(o).data("index"),T.addClass("chosed"),T.data("num");return T=null,k=!1,I.eq(C).addClass("hide"),I.eq(0).removeClass("hide"),C=0,-1}return 0}function f(e){return j&&E&&E.length>0?(E.removeClass("chosed"),E=B(I.eq(e).children().get(j-1)),E.addClass("chosed"),E.data("num")):0}var m,g,v,w,y,b,C,j,x,k,T,q,E,I,S,L,D,z,_,M,P,F,O,N,B=e("jquery"),A=e("js/plugin/tip"),H=e("js/plugin/loading"),R=e("js/plugin/inner-scroll"),U=B("#chose-panel"),W=B(".soonSoldOut-tag"),V=B(".yoho-page");a(),V.on("touchstart",".chose-panel",function(e){var t=B(e.target);if(!(t.closest(".main").length>0))return c(),!1}),V.on("touchstart",".color-list .block",function(){var e,t=B(this),o=t.index();t.hasClass("chosed")?(L.find(".num .left-num").html(""),w.val(0),x=!1,q.eq(j).addClass("hide"),q.eq(0).removeClass("hide"),j=0,p(0)):(x=!0,q.eq(j).addClass("hide"),e=p(o+1),h(e),q.eq(o+1).removeClass("hide"),j=o+1,E=t,v.addClass("hide").eq(o).removeClass("hide")),t.siblings(".chosed").removeClass("chosed"),-1===e?(E=B(I.eq(0).children().get(o)),E.addClass("chosed")):t.toggleClass("chosed"),B("#good-num").val(1),u()}).on("touchstart",".size-list .block",function(){var e,t,o=B(this);o.hasClass("chosed")?(L.find(".num .left-num").html(""),w.val(0),k=!1,I.eq(C).addClass("hide"),I.eq(0).removeClass("hide"),C=0,f(0)):(k=!0,e=B("#"+o.data("id")).data("index")-1,I.eq(C).addClass("hide"),t=f(e+1),h(t),I.eq(e+1).removeClass("hide"),C=e+1,T=o),o.siblings(".chosed").removeClass("chosed"),o.toggleClass("chosed"),B("#good-num").val(1),u()}),V.on("touchstart",".btn-minus",function(){var e=parseInt(m.val(),10);return y=B("#left-num").val(),l()?1===e||0===y-0?void A.show("您选择的数量不能为零~"):0>e?void A.show("您选择的数量不能为负数~"):void m.val(e-1):void 0}).on("touchstart",".btn-plus",function(){var e=parseInt(m.val(),10);return y=B("#left-num").val(),l()&&e-0!==y&&0!==y?e>y-1?void A.show("您选择的数量超过了最大库存量~"):void m.val(e+1):void 0}).on("touchstart","#chose-btn-sure",function(){var e,t,o,n,a=B("#good-num").val()-0,i=parseInt(m.val(),10);if(l()&&"已售罄"!==B("#chose-btn-sure").html()){if(y=B("#left-num").val()-0,i>y)return void A.show("您选择的数量超过了最大库存量~");if(0>i)return void A.show("您选择的数量小于一件~");if(g=B(".block-list>ul>li.chosed"),2===g.length&&0===g.closest(".zero-stock").length){if(e=T.data("skuid"),t=B("#promotionId").val(),b)return!1;if(b=!0,H.showLoadingMask(),M)o={new_product_sku:e,old_product_sku:F,buy_number:a,selected:P},n="/cart/index/modify";else{if(O)return B(this).css("background-color","#ccc").removeAttr("id"),n=B("#limitProductPay").val()+"?limitproductcode="+O+"&sku="+e+"&skn="+N+"&buy_number="+a,r(),H.showLoadingMask(),B.ajax({url:n}).then(function(e){e.error?(A.show(e.message),setTimeout(function(){location.reload()},2e3)):location.href=n}).fail(function(){A.show("网络异常!"),setTimeout(function(){location.reload()},2e3)}),!1;o={productSku:e,buyNumber:a,promotionId:t,isEdit:M,cartType:D.cartType},n="/cart/index/add"}B.ajax({method:"POST",url:n,data:o}).done(function(e){var t;H.hideLoadingMask(),200!==e.code||M||(t=e.data.goods_count,t>99&&(t="99+"),B(".num-tag").html(t).removeClass("hide"),b=!1,S&&S()),e.message&&!M&&A.show(e.message),c(),M&&(H.showLoadingMask(),setTimeout(function(){window.location.href="/cart/index/index?cartType="+B("#cartType").val()},1))}).fail(function(){A.show("网络出了点问题~")}).always(function(){b=!1})}}}),t.init=a,t.show=d,t.remove=r,t.setEditModeWithSknId=i,t.disableNumEdit=n,t.setLimitGoodModeWithSknId=s}),define("js/plugin/inner-scroll",["jquery"],function(e,t,o){function n(e){e=e||window.event,e.preventDefault&&e.preventDefault(),e.returnValue=!1}function a(e){e=e||window.event,e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!1}function i(e){var t=e.wheelDelta||e.originalEvent.wheelDelta||e.detail||0,o=l(this).get(0);return a(e),l(o).height()+o.scrollTop>=o.scrollHeight&&0>t?(n(e),!1):0===o.scrollTop&&t>0?(n(e),!1):void 0}function s(e){var t,o;e.on("mousewheel",i),e.on("touchstart",function(e){t=e.originalEvent.changedTouches[0].pageX,o=e.originalEvent.changedTouches[0].pageY}),e.on("touchmove",function(e){var n=e.originalEvent.changedTouches[0].pageX-t,a=e.originalEvent.changedTouches[0].pageY-o,i=l(this).get(0);return e.stopPropagation(),Math.abs(a)<Math.abs(n)?(e.preventDefault(),!1):l(i).height()+i.scrollTop>=i.scrollHeight&&0>a?(e.preventDefault(),!1):0===i.scrollTop&&a>0?(e.preventDefault(),!1):void 0}),l(document).on("mousewheel",n),l(document).on("touchmove",n)}function r(e){e.off("touchstart"),e.off("touchmove"),e.off("mousewheel"),l(document).off("mousewheel",n),l(document).off("touchmove",n)}var l=e("jquery");t.enableScroll=r,t.disableScroll=s}),define("js/product/detail/desc",["jquery","lazyload","swiper","index"],function(e,t,o){function n(e){var t,o;e.length>0&&(t=e[0].getBoundingClientRect().right,o=e.find(".swiper-slide:last-child")[0].getBoundingClientRect().right,0>o-t?e.next(".tips").css("display","none"):e.next(".tips").css("display","block"))}function a(e,t){var o=null;c(e).each(function(n,a){o=c(e).slice(n,n+t),o.length===t&&n%t===0&&c(o).wrapAll(c('<div class="js-wraper"></div>'))})}function i(){v||w||(v=!0,p.showLoadingMask(),c.ajax({type:"GET",url:m,success:function(e){r=c("#productDesc"),r.append(e),window.rePosFooter(),u(r.find("img.lazy")),l=new h("#size-swiper-container",{slidesPerView:"auto"}),d=new h("#reference-swiper-container",{slidesPerView:"auto"}),n(c("#size-swiper-container")),n(c("#reference-swiper-container")),a(".detail .column",2),v=!1,w=!0,p.hideLoadingMask()},error:function(){f.show("网络断开连接了~"),v=!1,p.hideLoadingMask()}}))}function s(){(!w||c(window).scrollTop()+g>=c(document).height()-200)&&i()}var r,l,d,c=e("jquery"),u=e("lazyload"),h=e("swiper"),p=e("js/plugin/loading"),f=e("js/plugin/tip"),m=c("#introUrl").val(),g=c(window).height(),v=!1,w=!1;c(window).scroll(function(){window.requestAnimationFrame(s)})}),define("js/product/detail/comments-consults",["jquery","hammer"],function(e,t,o){var n,a,i=e("jquery"),s=e("js/plugin/tip"),r=e("hammer"),l=document.getElementById("nav-tab"),d=l&&new r(l),c=document.getElementById("goto-consult"),u=c&&new r(c),h=document.getElementById("readmore"),p=h&&new r(h);!function(){a=i("#nav-tab .consults-num").html()-0,n=i("#nav-tab .comments-num").html()-0,i("#nav-tab li").each(function(){i(this).removeClass("focus")}),i("#feedback-content .content").each(function(){i(this).addClass("hide")}),0!==n?(i("#nav-tab .comment-nav").addClass("focus"),i("#feedback-content .comment-content").removeClass("hide")):0!==a&&(i("#nav-tab .consult-nav").addClass("focus"),i("#feedback-content .consult-content").removeClass("hide"))}(),d&&d.on("tap",function(e){var t=i(e.target).closest("li"),o=t.index();t.hasClass("comment-nav")&&0===n?s.show("暂无商品评价"):t.hasClass("focus")||(i("#nav-tab li").each(function(){i(this).removeClass("focus")}),i("#feedback-content .content").each(function(){i(this).addClass("hide")}),t.addClass("focus"),i("#feedback-content .content:eq("+o+")").removeClass("hide"))}),u&&u.on("tap",function(){location.href=i(c).find("a").attr("href")}),i(".goods-consults-page").length>0&&i("#yoho-header").css("position","fixed").css("top","0"),i(".goods-consults-page").length>0&&i("#yoho-footer").css("border-top","1px solid #e0e0e0"),p&&p.on("tap",function(){return i(".readmore").hide(),i(".goods-consults.customer-consults").removeClass("customer-consults"),!1}),e("js/product/detail/fav")}),define("js/product/detail/fav",["jquery","hammer"],function(e,t,o){function n(e){var t=e.find(".animate-count");t.css("display","inline"),t.animate({opacity:.25,fontSize:"0.7rem",right:"-=5"},300,function(){t.css("display","none")})}var a,i,s=e("jquery"),r=e("hammer"),l=e("js/plugin/tip"),d=s("#goods-consults")[0],c=d&&new r(d);!function(){var e=window.location.search.substring(1);a=e.split("&")[0].split("=")[1],i=e.split("&")[1]?e.split("&")[1].split("=")[1]:void 0}(),c&&c.on("tap",function(e){var t,o=s(e.target).closest("li"),r=o.closest(".consult-item").data("id"),d=o.find(".count").html()-0;o.hasClass("highlight")||(o.hasClass("fav")?t="/product/detail/consultupvote":o.hasClass("useful")&&(t="/product/detail/consultuseful"),s.ajax({method:"post",url:t,data:{id:r,productId:a,total:i}}).done(function(e){200===e.code?(n(o),o.addClass("highlight"),o.find(".count").html(d+1)):401===e.code&&(location.href=e.data)}).fail(function(e){l.show("网络断开连接了~")}))})}),define("js/product/recommend-for-you-product-desc",["swiper","jquery","index"],function(e,t,o){function n(){h||u||(h=!0,d&&r.get(d).then(function(e){e.length<5?l.css("display","none"):(l.html(e).show(),r("#swiper-recommend").length&&(i=new s("#swiper-recommend",{slidesPerView:"auto",grabCursor:!0,slideElement:"a",lazyLoading:!0,watchSlidesVisibility:!0}))),h=!1,u=!0,window.rePosFooter()}).fail(function(){l.hide()}))}function a(){(!u||r(window).scrollTop()+c>=r(document).height()-200)&&n()}var i,s=e("swiper"),r=e("jquery"),l=r(".recommend-for-you"),d=r("#preferenceUrl").val(),c=r(window).height(),u=!1,h=!1;r(window).scroll(function(){window.requestAnimationFrame(a)})}),define("js/product/detail/consultform",["jquery"],function(e,t,o){var n,a=e("jquery"),i=e("js/plugin/tip"),s=e("js/plugin/loading"),r=a(".consult-form"),l=a("#submit"),d=a("#content"),c=a("#product_id").val();l.on("touchend",function(){return d.blur(),r.submit(),!1}).on("touchstart",function(){a(this).addClass("highlight")}).on("touchend touchcancel",function(){a(this).removeClass("highlight")}),d.on("focus",function(){"请输入咨询内容"===d.val()&&d.val("")}).on("blur",function(){""===d.val()&&d.val("请输入咨询内容")}),r.on("submit",function(){var e;return n?!1:(e=d.val(),e&&"请输入咨询内容"!==e?(n=!0,s.showLoadingMask(),a.ajax({method:"POST",url:"/product/detail/consultsubmit",data:{product_id:c,content:e}}).then(function(e){"object"!==a.type(e)&&(e={}),200!==e.code?(i.show(e.message||"网络出了点问题~"),n=!1,s.hideLoadingMask()):(i.show("提交成功~"),setTimeout(function(){window.history.go(-1)},3e3))}).fail(function(){i.show("网络出了点问题~"),n=!1}),!1):(i.show("咨询内容不能为空"),!1))})}),define("js/product/newsale/hot-rank",["jquery","swiper","lazyload","index"],function(e,t,o){function n(e,t,o,n){h.showLoadingMask(),d.ajax({type:"GET",url:"/product/newsale/selectHotrank?"+t,dataType:"html",data:{page:e,tab_id:o,notab:n},success:function(t){" "===t?d(".rank-main").length<1&&d(".goods-nav").length<1?d("#hotRank").html(v):1===e&&(l=d(".goods-nav").prop("outerHTML"),d("#hotRank").html(l+v)):(d(".no-result").remove(),1===e&&d(".rank-main").remove(),d("#hotRank").append(t)),u(d("img.lazy")),d(".rank-main ul li:gt(9)").find(".item-content i").removeClass("top"),i=d(window).height(),0!==d(".rank-main").length?(d("#yoho-footer").css("position","static"),s=d(".rank-main").find("ul").offset().top):d("#yoho-footer").css("position","fixed"),r=new c(".s-goods-nav",{grabCursor:!0,slidesPerView:"auto",slideElement:"li"}),h.hideLoadingMask()}})}function a(){2!==p&&(d(window).scrollTop()+i<s+d("#hotRank").height()-100||(p=2,f=1,n(p,m,g,f)))}var i,s,r,l,d=e("jquery"),c=e("swiper"),u=e("lazyload"),h=e("js/plugin/loading"),p=1,f=0,m="",g="",v='<p class="no-result">未找到相关搜索结果</p>';e("js/product/suspend-cart"),d(window).scroll(function(){window.requestAnimationFrame(a)}),n(p,m,g,f),d("#hotRank").on("touchend touchcancel",function(e){var t=t||window.event,o=t.target||t.srcElement;"span"===o.nodeName.toLowerCase()&&(d(".s-goods-nav .nav-item").removeClass("active"),o.parentNode.className="active "+o.parentNode.className,g=o.getAttribute("data-id")?o.getAttribute("data-id"):"",m=o.getAttribute("data-sort")?o.getAttribute("data-sort"):"",p=1,f=1,n(p,m,g,f))}),d("#hotRank").bind("contextmenu",function(e){return!1}),d("#hotRank").on("touchstart",function(e){var t=t||window.event,o=t.target||t.srcElement;"span"===o.nodeName.toLowerCase()&&(o.parentNode.className="bgActive "+o.parentNode.className)}).on("touchend touchcancel",function(){d(".s-goods-nav .nav-item").removeClass("bgActive")})}),define("js/product/product-category",["jquery"],function(e,t,o){var n=e("jquery"),a=n(".allproduct"),i=n(".category-container"),s=i.children(".content"),r=i.find(".sub-level li"),l=i.find(".primary-level-trilangle");!function(){var e=n(".yoho-header"),t=n(window).height()-e.outerHeight()-a.outerHeight(),o=.55*n(window).width();i.css("min-height",t),l.css("margin-right",o),s.height(t)}(),i.on("touchend",function(e){var t,o,a,i,s,r=n(e.target);if(o=r.closest(".p-level-item"),i=r.closest(".content").find(".sub-level-container"),i.removeClass("hide"),o.length>0){if(a=o.index(),t=r.closest(".content").find(".sub-level"),s=r.closest(".content").find(".primary-level-trilangle"), +r.hasClass("focus"))return;t.not(".hide").addClass("hide"),t.eq(a).removeClass("hide"),s.not(".hide").addClass("hide"),s.eq(a).removeClass("hide")}}),i.find(".sub-level").on("touchstart","li",function(){r.removeClass("highlight"),n(this).addClass("highlight")}).on("touchend touchcancel","li",function(){n(this).removeClass("highlight")}),a.on("touchstart",function(){n(this).addClass("highlight")}).on("touchend touchcancel",function(){n(this).removeClass("highlight")})}),define("js/product/shop",["jquery","iscroll-probe","lazyload","swiper","hammer","index"],function(e,t,o){function n(e){var t,o;q||(o=e.data.type,t=Z[o],t.end||(q=!0,I.ajax({type:"GET",url:e.url,data:e.data,success:function(o){" "===o&&(t.end=!0),e.callBack(o)},error:function(){alert("网络断开连接了~"),q=!1}})))}function a(e){V&&(e.data.brand=V),U&&(e.data.shop_id=U)}function i(e){var t={};t.url="/index/search/search",t.data={type:"newest",order:"1",page:Z["new"].page,tagNew:"1"},a(t),t.callBack=function(t){I("#new-arrival").append(t),Z["new"].page++,v.refresh(),L(I("#new-arrival .lazy")),k=I("#scroller").outerHeight(),q=!1,e&&I.isFunction(e)&&e()},n(t)}function s(e){var t={};t.url="/index/search/search",t.data={type:"hot",order:"1",page:Z.hot.page,showTag:"1"},a(t),t.callBack=function(t){I("#popularity").append(t),Z.hot.page++,v.refresh(),L(I("#popularity .lazy")),k=I("#scroller").outerHeight(),q=!1,e&&I.isFunction(e)&&e()},n(t)}function r(e,t){var o=e.eq(t);e.removeClass("active"),o.addClass("active"),e.removeClass("color"),o.addClass("color")}function l(e){var t,o,n,a,i,s={};if(!q){if(e.url||(e.url="/index/search/search"),!e.nextPage){for(o in Z)Z.hasOwnProperty(o)&&(Z[o].reload=!0);if(e.id){switch(e.type){case"shop_id":t={shop_id:e.id};break;case"gender":t={gender:e.id};break;case"brand":t={brand:e.id};break;case"sort":t={sort:e.id};break;case"color":t={color:e.id};break;case"size":t={size:e.id};break;case"price":t={price:e.id};break;case"discount":t={discount:e.id}}I.extend(Q,t)}}if(K.hasClass("new")?a="newest":K.hasClass("price")?a="price":K.hasClass("discount")&&(a="discount"),n=Z[a],i=n.page+1,n.reload)i=1;else if(n.end)return;I.extend(s,Q,{type:a,order:n.order,page:i}),V&&(s.brand=V),U&&(s.shop_id=U),q=!0,F.showLoadingMask(),I.ajax({type:"GET",url:e.url?e.url:"",data:s,success:function(e){var t,o;switch(a){case"newest":t=A;break;case"price":t=H;break;case"discount":t=R}" "===e?(n.end=!0,n.reload&&t.html(J)):n.reload?(t.html(e),L(t.find(".lazy"))):(o=t.find(".good-info").length,t.append(e),L(t.find(".good-info:gt("+(o-1)+") .lazy"))),n.reload=!1,n.page=i,q=!1,F.hideLoadingMask(),window.rePosFooter(),setTimeout(function(){v.refresh(),k=I("#scroller").outerHeight()},1e3)},error:function(){M.show("网络断开连接了~"),q=!1,F.hideLoadingMask()}})}}function d(){T=-v.y,v&&v.refresh(),T+X>I("#scroller").height()-.25*N.height()-50&&void 0!==K&&l({type:"shop_id",id:U,brand:V,url:"/index/search/search",nextPage:!0})}function c(e){I(e+" li").on("touchstart",function(){I(".sub-group").addClass("hide"),I(this).find(".sub-group").length>0&&I(this).find(".sub-group").removeClass("hide")})}function u(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0}function h(e){var t="";q||(q=!0,I.ajax({method:"post",url:e.url,data:e.data,success:function(e){200===e.code&&(I("#collect").hasClass("alreadyCollect")?I("#collect").attr("class","notCollect"):I("#collect").attr("class","alreadyCollect")),401===e.code&&(t=e.url,I("body").append("<a href='"+t+'\'><span class="jump-login"><span></a>'),I(".jump-login").click()),setTimeout(function(){v.refresh(),k=I("#scroller").outerHeight()},1e3),q=!1},error:function(){alert("网络断开连接了~"),q=!1}}))}function p(){var e={};e.url="/product/index/shopFav",e.data={shop_id:G?G:U,app_version:W},h(e)}function f(){var e={};e.url="/product/index/cancelShopFav",e.data={shop_id:G?G:U,app_version:W},h(e)}var m,g,v,w,y,b,C,j,x,k,T,q,E,I=e("jquery"),S=e("iscroll-probe"),L=e("lazyload"),D=e("swiper"),z=I("#pos-nav"),_=I("#pos-list"),M=e("js/plugin/tip"),P=e("js/plugin/filter"),F=e("js/plugin/loading"),O=I(".home-sub-nav"),N=I("#goods-container"),B=N.children(),A=I(B.get(0)),H=I(B.get(1)),R=I(B.get(2)),U=I('input[name="shop_id"]').val(),W=I('input[name="app_version"]').val(),V=I('input[name="brand"]').val(),G=I('input[name="favId"]').val(),X=I(window).height(),J='<p class="no-result">未找到相关搜索结果</p>',Q=e("js/product/query-param"),Y=I("#list-nav"),$=I("#pos-list"),Z={"new":{order:1,reload:!0,page:1,end:!1},hot:{order:1,reload:!0,page:1,end:!1},newest:{order:1,reload:!0,page:0,end:!1},price:{order:1,reload:!0,page:0,end:!1},discount:{order:1,reload:!0,page:0,end:!1}},K=Y.find(".active"),ee=1,te=I(".category-list li").length,oe=4-te%4;if(L(I("img.lazy")),I(".banner-swiper").find("li").size()>1&&(m=new D(".banner-swiper",{lazyLoading:!0,lazyLoadingInPrevNext:!0,loop:!0,autoplay:3e3,autoplayDisableOnInteraction:!1,paginationClickable:!0,slideElement:"li",pagination:".banner-top .pagination-inner"})),I(".multi-browse").find("li").size()>1&&(g=new D(".multi-browse",{lazyLoading:!0,lazyLoadingInPrevNext:!0,lazyLoadingOnTransitionStart:!0,grabCursor:!0,slidesPerView:"auto",slideElement:"li",watchSlidesVisibility:!0})),I(".category-list li").length%4!==0&&I(".category-list li:last-child").addClass("category-list-last-li"),I(".category-list li").length<4&&(I(".category-list").addClass("category-list-top-board"),I(".category-list").find(".buriedpoint").addClass("category-list-only-one-row")),I(".category-list li").length>=5)for(E=oe;E>=0;E--)I(".category-list li").eq(te-4+E-1).addClass("category-list-last-full-row");I.jqtab=function(e,t,o){I(e+" li, "+t+" li").not("li.all-goods").on("touchstart",function(){var n=I(this).index(),a=I(this).attr("tab");return z.removeClass("fixed-top"),r(I(e+" li"),n),r(I(t+" li"),n),I(o).hide(),I("#"+a).fadeIn(),"new-arrival"===a?(i(),ee=2):"popularity"===a?(s(),ee=3):"home-page"===a&&(v&&v.refresh(),k=I("#scroller").outerHeight(),z.removeClass("fixed-top"),z.removeClass("absolute"),_.removeClass("fixed-top"),_.removeClass("absolute")),z.hasClass("hide")||v.scrollTo(0,0-w),z.addClass("hide"),!1})},I.jqtab("#nav","#pos-nav",".main"),I("#wrapper").addClass("scroll-wrapper"),v=new S("#wrapper",{probeType:3,mouseWheel:!0,click:!0}),v.on("scroll",function(){var e,t=-this.y;if(t+2*X>k)switch(ee){case 2:e=function(){z.css({transform:"translate(0, "+-k+"px)"})},i(e);break;case 3:e=function(){z.css({transform:"translate(0, "+-k+"px)"})},s(e)}if(w>t)z.hasClass("hide")||z.addClass("hide"),_.hasClass("hide")||_.addClass("hide");else if(w+y+C>t){if(z.hasClass("hide")&&z.removeClass("hide"),_.hasClass("hide")||_.addClass("hide"),w+b>t)z.hasClass("fixed-top")||z.addClass("fixed-top").removeClass("absolute").css({transform:"translate(0, "+-k+"px)"});else if(w+y+b>t){if(I("#home-page").is(":hidden"))return!1;z.hasClass("absolute")||z.addClass("absolute").removeClass("fixed-top"),z.css({transform:"translate(0, "+(w+b-t-k)+"px)"})}}else{if(I("#home-page").is(":hidden"))return!1;z.hasClass("hide")||z.addClass("hide"),_.hasClass("hide")&&_.removeClass("hide"),k>t&&(_.hasClass("absolute")||_.addClass("absolute").removeClass("fixed-top"),_.css({transform:"translate(0, "+-k+"px)"}))}I("#scroller").trigger("scroll")}),document.addEventListener("touchmove",function(e){e.preventDefault()},!1),I(window).load(function(){v&&v.refresh(),w=I("#nav-top").outerHeight(),y=I("#nav").outerHeight(),b=I("#nav-main").height(),C=I("#nav-main").outerHeight(),j=I("#list-nav").outerHeight(),x=I("#goods-container").outerHeight(),setTimeout(function(){k=I("#scroller").outerHeight()},1e3)}),I.ajax({type:"GET",url:"/search/filter",data:{shop_id:V?"":U,brand:V},success:function(e){N.append(e),setTimeout(function(){v.refresh(),k=I("#scroller").outerHeight()},1e3),P.initFilter({fCbFn:l,hCbFn:function(){K.addClass("active"),K.siblings(".filter").removeClass("active")},missStatus:!0})}}),Y.bind("contextmenu",function(e){return!1}),$.bind("contextmenu",function(e){return!1}),O.on("touchend touchcancel",function(e){var t,o,n,a,i=I(e.target).closest("li");if(e.preventDefault(),"undefined"!=typeof i&&0!==i.length){if(i.hasClass("filter"))i.hasClass("active")?(P.hideFilter(),K.addClass("active"),i.removeClass("active")):(K=i.siblings(".active"),K.removeClass("active"),i.addClass("active"),P.showFilter());else{if(i.hasClass("new")?(t=".new",n="newest"):i.hasClass("price")?(t=".price",n="price"):i.hasClass("discount")&&(t=".discount",n="discount"),o=Z[n],i.hasClass("active")){if(i.hasClass("new"))return;if(i.hasClass("price")||i.hasClass("discount"))switch(i=O.find(t),i.find(".icon > .iconfont").toggleClass("cur"),K=i,o.reload=!0,o.order=0===o.order?1:0,N.children(".container:not(.hide)").addClass("hide"),n){case"newest":A.removeClass("hide");break;case"price":H.removeClass("hide");break;case"discount":R.removeClass("hide")}}else{if(a=O.find(".active"),K=i,a.hasClass("filter"))P.hideFilter();else switch(N.children(".container:not(.hide)").addClass("hide"),n){case"newest":A.removeClass("hide");break;case"price":H.removeClass("hide");break;case"discount":R.removeClass("hide")}O.children().removeClass("active"),O.find(t).addClass("active")}o.reload&&l({type:"shop_id",id:U,brand:V,url:"/index/search/search",nextPage:!1})}e.stopPropagation()}}),I(window).scroll(function(){window.requestAnimationFrame(d)}),l({type:"shop_id",id:U,brand:V,url:"/index/search/search",nextPage:!1}),Y.on("touchstart","li",function(e){I(this).addClass("bytouch")}).on("touchend touchcancel",function(){Y.find("li").removeClass("bytouch"),v.refresh()}),$.on("touchstart","li",function(e){I(this).addClass("bytouch")}).on("touchend touchcancel",function(){$.find("li").removeClass("bytouch"),v.refresh(),v.scrollTo(0,-(w+y+C+5))}),c(".shop-foot-wrapper"),I(document).bind("touchstart",function(){I(".sub-group").addClass("hide")}),I(".shop-foot-wrapper").bind("touchstart",function(e){u(e)}),I("#collect").on("touchstart",function(e){I("#collect").hasClass("alreadyCollect")?f():p()})}),define("js/me/entry",["jquery","hammer","lazyload","swiper","handlebars","source-map","mlellipsis","index"],function(e,t,o){e("js/me/order"),e("js/me/order-detail"),e("js/me/fav"),e("js/me/suggest"),e("js/me/index"),e("js/me/coupons"),e("js/me/online-service"),e("js/me/address"),e("js/me/suggest"),e("js/me/browse-record"),e("js/me/address-act"),e("js/me/logistic"),e("js/me/pay"),e("js/me/personal-details"),e("js/me/currency"),e("js/me/currency-new"),e("js/me/message"),e("js/me/message-detail")}),define("js/me/order",["jquery","hammer","lazyload","swiper","handlebars","source-map","index"],function(e,t,o){function n(e){function t(){var t,i,s,r,l=1e3,d=60*l,c=60*d,u=24*c;return t=Math.floor(a/u),i=Math.floor(a%u/c),s=Math.floor(a%c/d),r=Math.floor(a%d/l),t=String(t).length>=2?t:"0"+t,i=String(i).length>=2?i:"0"+i,s=String(s).length>=2?s:"0"+s,r=String(r).length>=2?r:"0"+r,e.removeClass("hide"),n.text("剩余"+i+":"+s+":"+r),a-=1e3,0>=a?void clearInterval(o):void 0}var o,n=e.find(".hours"),a=n.text();""!==a&&a>0&&(o=setInterval(t,1e3))}function a(){d(".order").each(function(){var e=d(this).find(".count-down");d(this).hasClass("hide")||n(e)})}function i(e){var t={type:w,page:y.page+1},o=e&&!e.noLoadingMask;b||(b=!0,o&&C.showLoadingMask(),d.ajax({type:"GET",url:"/home/getOrders",data:t,success:function(e){var n;" "!==e?(y.page=t.page,1===t.page?(g.html(e),u(g.find(".lazy"),{try_again_css:"order-failure"})):(n=g.children(".order").length,g.append(e),u(g.children(".order:gt("+(n-1)+")").find(".lazy"),{try_again_css:"order-failure"})),window.rePosFooter()):y.end=!0,b=!1,o&&C.hideLoadingMask(),a()}}))}function s(){y.end===!1&&d(window).scrollTop()+v>d(document).height()-.25*m.height()&&i({noLoadingMask:!0})}var r,l,d=e("jquery"),c=e("hammer"),u=e("lazyload"),h=e("js/plugin/tip"),p=e("swiper"),f=d("#order-nav > li"),m=d("#order-container"),g=m.children(".orders:not(.hide)"),v=d(window).height(),w=f.filter(".active").data("type"),y={page:0,end:!1},b=!1,C=e("js/plugin/loading"),j=e("js/me/dialog"),x=d(".reason-mask");u({try_again_css:"order-failure"}),function(){var e=f.length;4!==e&&f.width(100/e+"%")}(),C.init(d("body")),r=new c(document.getElementById("order-container")),r.on("tap",function(e){var t,o,n,a=d(e.target);a.closest(".locHref").length>0||(t=a.closest(".order"),o=t.data("id"),x.data("orderId",o),a.closest(".del").length>0?j.showDialog({dialogText:"确定删除订单吗?",hasFooter:{leftBtnText:"取消",rightBtnText:"确定"}},function(){d.ajax({type:"GET",url:"/home/delOrder",data:{id:o},success:function(e){j.hideDialog(),e.message&&h.show(e.message),200===e.code&&window.location.reload()},error:function(){h.show("取消订单失败")}})}):a.closest(".cancel").length>0?(console.log("s"),x.css("visibility","visible")):a.closest(".order-goods").length>0&&(n=t.data("href"),location.href=n))}),d(window).scroll(function(){window.requestAnimationFrame(s)}),i(),d(function(){l=new p(".box-main",{paginationClickable:!0,direction:"vertical",slidesPerView:6,height:200,centeredSlides:!0,initialSlide:3,onSlideChangeStart:function(e){var t=e.activeIndex,o=e.slides,n=0;if(1!==o.length)if(0===t)for(n=1;n<o.length;n++)d(o[n]).css("transform","");else if(t===o.length-1)for(n=0;t>n;n++)d(o[n]).css("transform","rotateX("+(30+12*(t-n))+"deg)");else{for(n=0;t>n;n++)d(o[n]).css("transform","rotateX("+(30+12*(t-n))+"deg)");for(n=t+1;n<o.length;n++)d(o[n]).css("transform","")}d(o[t]).css("transform","")}})}),x.find(".box-cmp").on("touchend",function(e){var t=l.slides[l.activeIndex],o=d(t).text(),n=d(t).data("reasonId");d.ajax({type:"GET",url:"/home/cancelOrder",data:{id:x.data("orderId"),reason:o,reasonId:n}}).then(function(e){x.fadeOut(),"object"===d.type(e)&&(e.message&&h.show(e.message),setTimeout(function(){window.location.href="/home/orders"},2e3))}).fail(function(){h.show("网络错误")})}),x.on("touchend",function(e){return"reason-mask"!==e.target.className?!1:(x.css("visibility","hidden"),void e.stopPropagation())})}),define("js/me/order-detail",["jquery","lazyload","hammer","handlebars","source-map","swiper","index"],function(e,t,o){function n(e){function t(){var e,t,a,i,s=1e3,r=60*s,l=60*r,d=24*l;return e=Math.floor(n/d),t=Math.floor(n%d/l),a=Math.floor(n%l/r),i=Math.floor(n%r/s),e=String(e).length>=2?e:"0"+e,t=String(t).length>=2?t:"0"+t,a=String(a).length>=2?a:"0"+a,i=String(i).length>=2?i:"0"+i,p.removeClass("hide"),h.text("剩余"+t+":"+a+":"+i),n-=1e3,0>n?void clearInterval(o):void 0}var o,n=e;""!==n&&n>0&&(o=setInterval(t,1e3))}var a,i,s=e("jquery"),r=e("lazyload"),l=e("hammer"),d=e("js/me/dialog"),c=e("js/plugin/tip"),u=s("#order-detail").data("id"),h=s(".hours"),p=s(".count-down"),f=e("swiper"),m=s(".owner-info"),g=s(".reason-mask");r({try_again_css:"order-failure"}),n(h.text()),i=new l(document.getElementsByClassName("opt")[0]),i.on("tap",function(e){var t=s(e.target);t.hasClass("btn-del")?d.showDialog({dialogText:"确定删除订单吗?",hasFooter:{leftBtnText:"取消",rightBtnText:"确定"}},function(){s.ajax({type:"GET",url:"/home/delOrder",data:{id:u}}).then(function(e){s("#dialog-wrapper").hide(),"object"===s.type(e)&&(e.message&&c.show(e.message),setTimeout(function(){window.location.href="/home/orders"},2e3))}).fail(function(){c.show("网络错误")})}):t.hasClass("btn-cancel")&&g.css("visibility","visible")}),m.data("changeable")===!0&&(m.find(".rest").show(),m.on("touchend",function(){location.href=m.data("url")})),s(function(){a=new f(".box-main",{paginationClickable:!0,direction:"vertical",slidesPerView:6,height:200,centeredSlides:!0,initialSlide:3,onSlideChangeStart:function(e){var t=e.activeIndex,o=e.slides,n=0;if(1!==o.length)if(0===t)for(n=1;n<o.length;n++)s(o[n]).css("transform","");else if(t===o.length-1)for(n=0;t>n;n++)s(o[n]).css("transform","rotateX("+(30+12*(t-n))+"deg)");else{for(n=0;t>n;n++)s(o[n]).css("transform","rotateX("+(30+12*(t-n))+"deg)");for(n=t+1;n<o.length;n++)s(o[n]).css("transform","")}s(o[t]).css("transform","")}})}),g.find(".box-cmp").on("touchend",function(e){var t=a.slides[a.activeIndex],o=s(t).text(),n=s(t).data("reasonId");s.ajax({type:"GET",url:"/home/cancelOrder",data:{id:u,reason:o,reasonId:n}}).then(function(e){g.fadeOut(),"object"===s.type(e)&&(e.message&&c.show(e.message),setTimeout(function(){window.location.href="/home/orders"},2e3))}).fail(function(){c.show("网络错误")})}),g.on("touchend",function(e){return"reason-mask"!==e.target.className?!1:(g.css("visibility","hidden"),void e.stopPropagation())})}),define("js/me/fav",["jquery","hammer","swiper","handlebars","source-map","index"],function(e,t,o){function n(e){f.filter(".active").removeClass("active"),f.eq(e).addClass("active"),m.filter(".show").removeClass("show"),m.eq(e).addClass("show")}function a(e){var t,o,n=/container-(\d+)['"]{1}/gi,a=/\d+/,i=e.match(n),s=i.length;for(t=0;s>t;t++)o=i[t].match(a)[0],g[o]=new u("#swiper-container-"+o,{slidesPerView:"auto",grabCursor:!0,slideElement:"li",wrapperClass:"swiper-wrapper-"+o,lazyLoading:!0,watchSlidesVisibility:!0})}function i(e,t,o){"favBrand"===t?q=!0:T=!0,d.ajax({method:"post",url:"/home/"+t,data:{page:o},success:function(o){var n=e.closest(".fav-type").find(".fav-content-loading");"favBrand"===t?w.addClass("hide"):v.addClass("hide")," "===o?(n.addClass("hide"),e.closest(".fav-type").find(".fav-null-box").removeClass("hide"),window.rePosFooter()):"end"===o?(n&&!n.hasClass("hide")&&n.addClass("hide"),e.closest(".fav-type").find(".fav-load-background").removeClass("fav-load-background").html("没有更多了"),q=!0,T=!0):o.length>10&&(e.append(o),n.remove(),"favBrand"===t?(a(o),q=!1):T=!1),window.rePosFooter()}})}function s(){d(window).scrollTop()+y>=d(document).height()-.25*j.height()-b&&(E?(w.filter(".hide").removeClass("hide"),q||(k++,i(j,"favBrand",k))):(v.filter(".hide").removeClass("hide"),T||(x++,i(C,"favProduct",x))))}var r,l,d=e("jquery"),c=e("hammer"),u=e("swiper"),h=e("js/me/dialog"),p=e("js/plugin/tip"),f=d("#fav-tab > li"),m=d(".fav-content > .fav-type"),g={},v=d(".fav-load-more"),w=d(".fav-brand-load-more"),y=d(window).height(),b=d("#yoho-footer").height(),C=d(".fav-product-list"),j=d(".fav-brand-swiper-wrapper"),x=1,k=1,T=!0,q=!0,E=!1;d("#fav-tab").hasClass("brand-tab")?(n(1),i(j,"favBrand",1),E=!0,window.rePosFooter()):(n(0),i(C,"favProduct",1),E=!1,window.rePosFooter()),r=new c(document.getElementById("fav-tab")),r.on("tap",function(e){var t,o=d(e.target).closest("li");0===o.length||o.hasClass("active")||(t=o.index(),0===t?(E=!1,0===C.find("li").length&&C.closest(".fav-type").find(".fav-null-box").hasClass("hide")&&i(C,"favProduct",1)):(E=!0,0===j.find("div").length&&j.closest(".fav-type").find(".fav-null-box").hasClass("hide")&&i(j,"favBrand",1)),n(t),window.rePosFooter())}),l=new c(document.getElementById("fav-content")),l.on("tap",function(e){var t="";d(e.target).hasClass("del-fav")&&h.showDialog({dialogText:"您确定要取消收藏吗?",hasFooter:{leftBtnText:"取消",rightBtnText:"确定"}},function(){t=d(e.target).closest("li").attr("data-id"),d.ajax({method:"post",url:"/home/favoriteDel",data:{id:t}}).then(function(t){200===t.code?(h.showDialog({autoHide:!0,fast:!0,dialogText:"已经取消收藏"}),d(e.target).closest("li").remove()):400===t.code?h.showDialog({autoHide:!0,fast:!0,dialogText:t.message}):h.showDialog({autoHide:!0,fast:!0,dialogText:"取消收藏失败"})}).fail(function(){h.showDialog({autoHide:!0,dialogText:"网络错误~"})})})}),d(window).scroll(s),d(document).on("touchend",".swiper-header",function(){var e=d(this).find(".fav-more").attr("href");e&&(window.location.href=e)}),d(".invalidGoods").on("touchstart touchend",function(e){var t=d(e.target).closest("span");if(!t.hasClass("del-fav"))return p.show("商品已下架"),!1})}),define("js/me/suggest",["jquery","hammer","lazyload","handlebars","source-map"],function(e,t,o){var n,a,i,s,r=e("jquery"),l=e("hammer"),d=e("lazyload"),c=e("handlebars"),u=e("js/me/dialog"),h=r(".upload-img-list"),p=r(".suggest-item .like-btn"),f=r(".suggest-item .dislike-btn"),m=r(".img-add"),g="",v=0;e("js/me/jquery.upload"),i='{{# imgList}}<li>{{# imgUrl}}<img src="{{.}}" /><span class="upload-img-remove"></span>{{/ imgUrl}}</li>{{/ imgList}}',s=c.compile(i),r("#upload-img").upload({auto:!0,fileType:"image/*",uploadScript:"/home/suggestimgUpload",fileObjName:"fileData",fileSizeLimit:300,height:"100%",width:"100%",multi:!1,onAddQueueItem:function(e){h.html(s({imgList:!0}))},onUploadComplete:function(e,t){h.html(""),g=JSON.parse(t).imgList[0].imgRelUrl,h.html(s(JSON.parse(t))),m.hide(),v++}}),d(),n=new l(document.getElementById("yoho-header")),n.on("tap",function(e){var t=r("#suggest-textarea").val(),o=/\S+/;if(r(e.target).hasClass("nav-btn")){if(!o.test(t))return void u.showDialog({autoHide:!0,dialogText:"意见不能为空"});r.ajax({method:"post",url:"/home/savesuggest",data:{content:t,image:g}}).then(function(e){200===e.code?(u.showDialog({autoHide:!0,dialogText:"提交成功"}),setTimeout(function(){location.pathname="home/suggest"},2e3)):u.showDialog({autoHide:!0,dialogText:"提交失败~"})}).fail(function(){u.showDialog({autoHide:!0,dialogText:"网络错误~"})})}}),null!==document.getElementById("img-form")&&(a=new l(document.getElementById("img-form")),a.on("tap",function(e){r(e.target).hasClass("upload-img-remove")&&(h.html(""),g="",v--,setTimeout(function(){m.show()},50))})),p.bind("click",function(){var e=r(this).closest(".suggest-item").attr("data-id"),t=r(this);r.ajax({method:"post",url:"/home/upAndDown",data:{suggest_id:e,reliable:1}}).then(function(e){200===e.code&&(t.closest(".suggest-type").removeClass("show"),t.closest(".suggest-item").find(".suggest-good").addClass("show"))}).fail(function(e){u.showDialog({autoHide:!0,dialogText:"网络错误~"})})}),f.bind("click",function(){var e=r(this).closest(".suggest-item").attr("data-id"),t=r(this);r.ajax({method:"post",url:"/home/upAndDown",data:{suggest_id:e,reliable:2}}).then(function(e){200===e.code&&(t.closest(".suggest-type").removeClass("show"),t.closest(".suggest-item").find(".suggest-bad").addClass("show"))}).fail(function(e){u.showDialog({autoHide:!0,dialogText:"网络错误~"})})})}),define("js/me/jquery.upload",["jquery"],function(e,t,o){var n=e("jquery");!function(e){var t={init:function(o){return this.each(function(){var n=e(this);n.data("uploadifive",{inputs:{},inputCount:0,fileID:0,queue:{count:0,selected:0,replaced:0,errors:0,queued:0,cancelled:0},uploads:{current:0,attempts:0,successful:0,errors:0,count:0}});var a=n.data("uploadifive"),s=a.settings=e.extend({auto:!0,buttonClass:!1,buttonText:"Select Files",checkScript:!1,dnd:!0,dropTarget:!1,fileObjName:"Filedata",fileSizeLimit:0,fileType:!1,formData:{},height:30,itemTemplate:!1,method:"post",multi:!0,overrideEvents:[],queueID:!1,queueSizeLimit:0,removeCompleted:!1,simUploadLimit:0,truncateLength:0,uploadLimit:0,uploadScript:"uploadifive.php",width:100},o);if(isNaN(s.fileSizeLimit)){var r=1.024*parseInt(s.fileSizeLimit);s.fileSizeLimit.indexOf("KB")>-1?s.fileSizeLimit=1e3*r:s.fileSizeLimit.indexOf("MB")>-1?s.fileSizeLimit=1e6*r:s.fileSizeLimit.indexOf("GB")>-1&&(s.fileSizeLimit=1e9*r)}else s.fileSizeLimit=1024*s.fileSizeLimit;if(a.inputTemplate=e('<input type="file">').css({"font-size":s.height+"px",opacity:0,position:"absolute",right:"-3px",top:"-3px","z-index":999}),a.createInput=function(){var o=a.inputTemplate.clone(),i=o.name="input"+a.inputCount++;s.multi&&o.attr("multiple",!0),s.fileType&&o.attr("accept",s.fileType),o.bind("change",function(){a.queue.selected=0,a.queue.replaced=0,a.queue.errors=0,a.queue.queued=0;var o=this.files.length;if(a.queue.selected=o,a.queue.count+o>s.queueSizeLimit&&0!==s.queueSizeLimit)e.inArray("onError",s.overrideEvents)<0&&alert("The maximum number of queue items has been reached ("+s.queueSizeLimit+"). Please select fewer files."),"function"==typeof s.onError&&s.onError.call(n,"QUEUE_LIMIT_EXCEEDED");else{for(var r=0;o>r;r++)file=this.files[r],a.addQueueItem(file);a.inputs[i]=this,a.createInput()}s.auto&&t.upload.call(n),"function"==typeof s.onSelect&&s.onSelect.call(n,a.queue)}),a.currentInput&&a.currentInput.hide(),a.button.append(o),a.currentInput=o},a.destroyInput=function(t){e(a.inputs[t]).remove(),delete a.inputs[t],a.inputCount--},a.drop=function(o){a.queue.selected=0,a.queue.replaced=0,a.queue.errors=0,a.queue.queued=0;var i=o.dataTransfer,r=i.name="input"+a.inputCount++,l=i.files.length;if(a.queue.selected=l,a.queue.count+l>s.queueSizeLimit&&0!==s.queueSizeLimit)e.inArray("onError",s.overrideEvents)<0&&alert("The maximum number of queue items has been reached ("+s.queueSizeLimit+"). Please select fewer files."),"function"==typeof s.onError&&s.onError.call(n,"QUEUE_LIMIT_EXCEEDED");else{for(var d=0;l>d;d++)file=i.files[d],a.addQueueItem(file);a.inputs[r]=i}s.auto&&t.upload.call(n),"function"==typeof s.onDrop&&s.onDrop.call(n,i.files,i.files.length),o.preventDefault(),o.stopPropagation()},a.fileExistsInQueue=function(e){for(var t in a.inputs){input=a.inputs[t],limit=input.files.length;for(var o=0;o<limit;o++)if(existingFile=input.files[o],existingFile.name==e.name&&!existingFile.complete)return!0}return!1},a.removeExistingFile=function(e){for(var o in a.inputs){input=a.inputs[o],limit=input.files.length;for(var i=0;i<limit;i++)existingFile=input.files[i],existingFile.name!=e.name||existingFile.complete||(a.queue.replaced++,t.cancel.call(n,existingFile,!0))}},0==s.itemTemplate?a.queueItem=e('<div class="uploadifive-queue-item"> <a class="close" href="#">X</a> <div><span class="filename"></span><span class="fileinfo"></span></div> <div class="progress"> <div class="progress-bar"></div> </div> </div>'):a.queueItem=e(s.itemTemplate),a.addQueueItem=function(o){if(e.inArray("onAddQueueItem",s.overrideEvents)<0){a.removeExistingFile(o),o.queueItem=a.queueItem.clone(),o.queueItem.attr("id",s.id+"-file-"+a.fileID++),o.queueItem.find(".close").bind("click",function(){return t.cancel.call(n,o),!1});var i=o.name;i.length>s.truncateLength&&0!=s.truncateLength&&(i=i.substring(0,s.truncateLength)+"..."),o.queueItem.find(".filename").html(i),o.queueItem.data("file",o),a.queueEl.append(o.queueItem)}"function"==typeof s.onAddQueueItem&&s.onAddQueueItem.call(n,o),o.size>s.fileSizeLimit&&0!=s.fileSizeLimit?a.error("FILE_SIZE_LIMIT_EXCEEDED",o):(a.queue.queued++,a.queue.count++)},a.removeQueueItem=function(t,o,n){n||(n=0);var i=o?0:500;t.queueItem&&(" - Completed"!=t.queueItem.find(".fileinfo").html()&&t.queueItem.find(".fileinfo").html(" - Cancelled"),t.queueItem.find(".progress-bar").width(0),t.queueItem.delay(n).fadeOut(i,function(){e(this).remove()}),delete t.queueItem,a.queue.count--)},a.filesToUpload=function(){var e=0;for(var t in a.inputs){input=a.inputs[t],limit=input.files.length;for(var o=0;o<limit;o++)file=input.files[o],file.skip||file.complete||e++}return e},a.checkExists=function(o){if(e.inArray("onCheck",s.overrideEvents)<0){e.ajaxSetup({async:!1});var a=e.extend(s.formData,{filename:o.name});if(e.post(s.checkScript,a,function(e){o.exists=parseInt(e)}),o.exists&&!confirm("A file named "+o.name+" already exists in the upload folder.\nWould you like to replace it?"))return t.cancel.call(n,o),!0}return"function"==typeof s.onCheck&&s.onCheck.call(n,o,o.exists),!1},a.uploadFile=function(t,o){if(!t.skip&&!t.complete&&!t.uploading)if(t.uploading=!0,a.uploads.current++,a.uploads.attempted++,xhr=t.xhr=new XMLHttpRequest,"function"==typeof FormData||"object"==typeof FormData){var r=new FormData;r.append(s.fileObjName,t);for(i in s.formData)r.append(i,s.formData[i]);xhr.open(s.method,s.uploadScript,!0),xhr.upload.addEventListener("progress",function(e){e.lengthComputable&&a.progress(e,t)},!1),xhr.addEventListener("load",function(e){4==this.readyState&&(t.uploading=!1,200==this.status?"Invalid file type."!==t.xhr.responseText?a.uploadComplete(e,t,o):a.error(t.xhr.responseText,t,o):404==this.status?a.error("404_FILE_NOT_FOUND",t,o):403==this.status?a.error("403_FORBIDDEN",t,o):a.error("Unknown Error",t,o))}),xhr.send(r)}else{var l=new FileReader;l.onload=function(i){var r="-------------------------"+(new Date).getTime(),l="--",d="\r\n",c="";c+=l+r+d,c+='Content-Disposition: form-data; name="'+s.fileObjName+'"',t.name&&(c+='; filename="'+t.name+'"'),c+=d,c+="Content-Type: application/octet-stream"+d+d,c+=i.target.result+d;for(key in s.formData)c+=l+r+d,c+='Content-Disposition: form-data; name="'+key+'"'+d+d,c+=s.formData[key]+d;c+=l+r+l+d,xhr.upload.addEventListener("progress",function(e){a.progress(e,t)},!1),xhr.addEventListener("load",function(e){t.uploading=!1;var n=this.status;404==n?a.error("404_FILE_NOT_FOUND",t,o):"Invalid file type."!=t.xhr.responseText?a.uploadComplete(e,t,o):a.error(t.xhr.responseText,t,o)},!1);var u=s.uploadScript;if("get"==s.method){var h=e(s.formData).param();u+=h}xhr.open(s.method,s.uploadScript,!0),xhr.setRequestHeader("Content-Type","multipart/form-data; boundary="+r),"function"==typeof s.onUploadFile&&s.onUploadFile.call(n,t),xhr.sendAsBinary(c)},l.readAsBinaryString(t)}},a.progress=function(t,o){if(e.inArray("onProgress",s.overrideEvents)<0){if(t.lengthComputable)var a=Math.round(t.loaded/t.total*100);o.queueItem.find(".fileinfo").html(" - "+a+"%"),o.queueItem.find(".progress-bar").css("width",a+"%")}"function"==typeof s.onProgress&&s.onProgress.call(n,o,t)},a.error=function(o,i,r){if(e.inArray("onError",s.overrideEvents)<0){switch(o){case"404_FILE_NOT_FOUND":errorMsg="404 Error";break;case"403_FORBIDDEN":errorMsg="403 Forbidden";break;case"FORBIDDEN_FILE_TYPE":errorMsg="Forbidden File Type";break;case"FILE_SIZE_LIMIT_EXCEEDED":errorMsg="File Too Large";break;default:errorMsg="Unknown Error"}i.queueItem.addClass("error").find(".fileinfo").html(" - "+errorMsg),i.queueItem.find(".progress").remove()}"function"==typeof s.onError&&s.onError.call(n,o,i),i.skip=!0,"404_FILE_NOT_FOUND"==o?a.uploads.errors++:a.queue.errors++,r&&t.upload.call(n,null,!0)},a.uploadComplete=function(o,i,r){e.inArray("onUploadComplete",s.overrideEvents)<0&&(i.queueItem.find(".progress-bar").css("width","100%"),i.queueItem.find(".fileinfo").html(" - Completed"),i.queueItem.find(".progress").slideUp(250),i.queueItem.addClass("complete")),"function"==typeof s.onUploadComplete&&s.onUploadComplete.call(n,i,i.xhr.responseText),s.removeCompleted&&setTimeout(function(){t.cancel.call(n,i)},3e3),i.complete=!0,a.uploads.successful++,a.uploads.count++,a.uploads.current--,delete i.xhr,r&&t.upload.call(n,null,!0)},a.queueComplete=function(){"function"==typeof s.onQueueComplete&&s.onQueueComplete.call(n,a.uploads)},!(window.File&&window.FileList&&window.Blob&&(window.FileReader||window.FormData)))return"function"==typeof s.onFallback&&s.onFallback.call(n),!1;if(s.id="uploadifive-"+n.attr("id"),a.button=e('<div id="'+s.id+'" class="uploadifive-button">'+s.buttonText+"</div>"),s.buttonClass&&a.button.addClass(s.buttonClass),a.button.css({height:s.height,"line-height":s.height+"px",overflow:"hidden",position:"relative","text-align":"center",width:s.width}),n.before(a.button).appendTo(a.button).hide(),a.createInput.call(n),s.queueID?a.queueEl=e("#"+s.queueID):(s.queueID=s.id+"-queue",a.queueEl=e('<div id="'+s.queueID+'" class="uploadifive-queue" />'),a.button.after(a.queueEl)),s.dnd){var l=s.dropTarget?e(s.dropTarget):a.queueEl.get(0);l.addEventListener("dragleave",function(e){e.preventDefault(),e.stopPropagation()},!1),l.addEventListener("dragenter",function(e){e.preventDefault(),e.stopPropagation()},!1),l.addEventListener("dragover",function(e){e.preventDefault(),e.stopPropagation()},!1),l.addEventListener("drop",a.drop,!1)}XMLHttpRequest.prototype.sendAsBinary||(XMLHttpRequest.prototype.sendAsBinary=function(e){function t(e){return 255&e.charCodeAt(0)}var o=Array.prototype.map.call(e,t),n=new Uint8Array(o);this.send(n.buffer)}),"function"==typeof s.onInit&&s.onInit.call(n)})},debug:function(){return this.each(function(){console.log(e(this).data("uploadifive"))})},clearQueue:function(){this.each(function(){var o=e(this),n=o.data("uploadifive"),a=n.settings;for(var s in n.inputs)for(input=n.inputs[s],limit=input.files.length,i=0;i<limit;i++)file=input.files[i],t.cancel.call(o,file);"function"==typeof a.onClearQueue&&a.onClearQueue.call(o,e("#"+n.settings.queueID)); +})},cancel:function(o,n){this.each(function(){var a=e(this),i=a.data("uploadifive"),s=i.settings;"string"==typeof o&&(isNaN(o)||(fileID="uploadifive-"+e(this).attr("id")+"-file-"+o),o=e("#"+fileID).data("file")),o.skip=!0,i.filesCancelled++,o.uploading&&(i.uploads.current--,o.uploading=!1,o.xhr.abort(),delete o.xhr,t.upload.call(a)),e.inArray("onCancel",s.overrideEvents)<0&&i.removeQueueItem(o,n),"function"==typeof s.onCancel&&s.onCancel.call(a,o)})},upload:function(t,o){this.each(function(){var n=e(this),a=n.data("uploadifive"),i=a.settings;if(t)a.uploadFile.call(n,t);else if(a.uploads.count+a.uploads.current<i.uploadLimit||0==i.uploadLimit){if(!o){a.uploads.attempted=0,a.uploads.successsful=0,a.uploads.errors=0;var s=a.filesToUpload();"function"==typeof i.onUpload&&i.onUpload.call(n,s)}e("#"+i.queueID).find(".uploadifive-queue-item").not(".error, .complete").each(function(){return _file=e(this).data("file"),a.uploads.current>=i.simUploadLimit&&0!==i.simUploadLimit||a.uploads.current>=i.uploadLimit&&0!==i.uploadLimit||a.uploads.count>=i.uploadLimit&&0!==i.uploadLimit?!1:void(i.checkScript?(_file.checking=!0,skipFile=a.checkExists(_file),_file.checking=!1,skipFile||a.uploadFile(_file,!0)):a.uploadFile(_file,!0))}),0==e("#"+i.queueID).find(".uploadifive-queue-item").not(".error, .complete").size()&&a.queueComplete()}else 0==a.uploads.current&&(e.inArray("onError",i.overrideEvents)<0&&a.filesToUpload()>0&&0!=i.uploadLimit&&alert("The maximum upload limit has been reached."),"function"==typeof i.onError&&i.onError.call(n,"UPLOAD_LIMIT_EXCEEDED",a.filesToUpload()))})},destroy:function(){this.each(function(){var o=e(this),n=o.data("uploadifive"),a=n.settings;t.clearQueue.call(o),a.queueID||e("#"+a.queueID).remove(),o.siblings("input").remove(),o.show().insertBefore(n.button),n.button.remove(),"function"==typeof a.onDestroy&&a.onDestroy.call(o)})}};e.fn.upload=function(o){return t[o]?t[o].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof o&&o?void e.error("The method "+o+" does not exist in $.uploadify"):t.init.apply(this,arguments)}}(n)}),define("js/me/index",["jquery","swiper","index"],function(e,t,o){var n,a=e("jquery"),i=e("js/plugin/notice-scroll"),s=a(".user-avatar"),r=a(".list-item"),l=new Image;e("js/product/recommend-for-you"),e("js/product/suspend-cart"),n=s.data("avatar"),l.src=n,l.onload=function(){s.css("background-image","url("+n+")")},i(".notice",1e3*a(".notice").data("time")),a(".yoho-page").on("touchstart",".list-item, .type-item, .order-title",function(){r.removeClass("highlight"),a(this).addClass("highlight")}).on("touchend touchcancel",".list-item, .type-item, .order-title",function(){a(this).removeClass("highlight")})}),define("js/product/recommend-for-you",["swiper","jquery","index"],function(e,t,o){var n,a=e("swiper"),i=e("jquery"),s=i(".recommend-for-you");i.get("/home/preference").then(function(e){s.html(e).show(),i("#swiper-recommend").length&&(n=new a("#swiper-recommend",{slidesPerView:"auto",grabCursor:!0,slideElement:"a",lazyLoading:!0,watchSlidesVisibility:!0}))}).fail(function(){s.hide()})}),define("js/me/coupons",["jquery","hammer","mlellipsis"],function(e,t,o){function n(e,t){d.showLoadingMask(),s.ajax({type:"POST",url:"/home/couponData",dataType:"html",data:{status:e,page:t},success:function(e){s("#employ").append(e),window.rePosFooter(),d.hideLoadingMask()}})}function a(){return s(window).scrollTop()+s(window).height()>s("body").height()-100?(u++,void n(c,u)):void 0}var i,s=e("jquery"),r=e("hammer"),l=e("mlellipsis"),d=e("js/plugin/loading"),c=0,u=1;l.init(),s(".yoho-footer").css("border-top","1px solid #e0e0e0"),s(".employ span").each(function(e){i=new r(s(".employ span")[e]),i.on("tap",function(t){s(".employ span").removeClass("active").eq(e).addClass("active"),s("#employ").html(" "),c=e,u=1,n(c,u),window.rePosFooter()})}),s(window).scroll(function(){window.requestAnimationFrame(a)}),n(c,u)}),define("js/me/online-service",["jquery"],function(e,t,o){var n=e("jquery"),a=n(".question-tab .tab-item");a.on("touchend",function(){var e=n(this).data("tab");e='[data-tab-name="'+e+'"]',a.removeClass("current"),n(this).addClass("current"),n(".question-list").removeClass("current"),n(e).addClass("current")}),n(".yoho-page").on("touchstart",".connect-item, .question-item",function(){n(this).siblings().removeClass("highlight"),n(this).addClass("highlight")}).on("touchend touchcancel",".connect-item, .question-item",function(){n(this).removeClass("highlight")})}),define("js/me/address",["jquery","hammer"],function(e,t,o){var n,a=e("jquery"),i=e("js/plugin/tip"),s=e("js/plugin/loading"),r=a(".action"),l=a(".add-address"),d=a("#yoho-footer"),c=a(".confim-mask"),u=a(".page-wrap"),h=a(".address-item");e("js/common"),u.first().css("min-height",function(){return a(window).height()-a("#yoho-header").height()-d.height()}),window.rePosFooter(),c.on("touchend",".cancel",function(e){return n=null,c.fadeOut(),!1}).on("touchend",".confim",function(){return s.showLoadingMask(),c.fadeOut(),a.ajax({method:"POST",url:"/home/delAddress",data:{id:n}}).then(function(e){"object"!==a.type(e)&&(e={}),200!==e.code?(i.show(e.message||"网络出了点问题~"),s.hideLoadingMask()):window.location.reload()}).fail(function(){i.show("网络出了点问题~"),s.hideLoadingMask()}).always(function(){n=null}),!1}),h.length<5&&l.attr("href",l.data("href")),l.on("touchend",function(){return h.length>=5?(i.show("您最多添加5个收货地址"),!1):void 0}),r.on("touchend",".del",function(){return n=a(this).data("id"),c.fadeIn(),!1}),r.on("touchstart","a,span",function(){a(this).css("background","#eee")}).on("touchend touchcancel","a,span",function(){a(this).css("background","transparent")})}),define("js/me/browse-record",["jquery","lazyload","handlebars","source-map","hammer"],function(t,o,n){function a(e){var t=c.children(".browse-record-good").length;g||(1===f&&u.removeClass("hide"),g=!0,i.ajax({type:"GET",url:"/home/recordContent",data:{page:f+1},success:function(o){" "===o?(m=!0,h.addClass("hide"),p.removeClass("hide")):(0===t?(c.html(o),s()):(c.append(o),s(c.find(".browse-record-good:gt("+(t-1)+") .lazy"))),window.rePosFooter(),f++,e&&e())},complete:function(){g=!1}}))}var i=t("jquery"),s=t("lazyload"),r=t("js/plugin/loading"),l=t("js/plugin/tip"),d=t("js/me/dialog"),c=i(".records"),u=i(".load-more"),h=u.children(".more"),p=u.children(".no-more"),f=0,m=!1,g=!1,v=i(window).height();r.init(),r.showLoadingMask(),a(r.hideLoadingMask),i(window).scroll(function(){m||v+i(window).scrollTop()>i(document).height()-.25*c.height()&&a()}),c.on("touchstart",".del-icon",function(){var e=i(this).closest(".browse-record-good"),t=e.data("skn");d.showDialog({dialogText:"确定删除此条浏览记录吗?",hasFooter:{leftBtnText:"取消",rightBtnText:"确定"}},function(){i.ajax({type:"GET",url:"/home/delRecord",data:{skn:t},success:function(e){200===e.code&&(d.showDialog({dialogText:"删除浏览记录成功",autoHide:2e3,fast:!0}),setTimeout(function(){window.history.go(0)},1200))}})})}),i(".deps").on("touchstart","span",function(){i(this).css("background","#eee")}).on("touchend touchcancel","span",function(){i(this).css("background","transparent")}),i(".invalidGoods").on("touchstart touchend",function(){var t=i(e.target).closest("span");if(!t.hasClass("del-icon"))return l.show("商品已下架"),!1})}),define("js/me/address-act",["jquery","hammer"],function(e,t,o){function n(e){f.html(e),y.on("touchend",function(){p.hide(),f.show(),b="list",g.html("地区选择")}),f.find(".address").each(function(e,t){var o=new r(t);o.on("tap",function(e){var t=s(e.target);"li"!==e.target.tagName.toLowerCase()&&(t=t.parent("li")),C.push(t.children(".caption").text().trim()),t.siblings().hide(),t.children("ul").show().children("li").show(),e.srcEvent.preventDefault(),e.srcEvent.stopPropagation()})}),f.find(".address-last").each(function(e,t){var o=new r(t);o.on("tap",function(e){var t=s(e.target);C.push(t.text().trim()),s('[name="area"]').val(C.join(" ")),s('[name="area_code"]').val(t.data("id")),p.show(),b="edit",g.html(w),f.hide(),f.find("ul").hide().find("li").removeClass("highlight"),f.children("ul").show().children("li").show(),C=[],e.srcEvent.preventDefault(),e.srcEvent.stopPropagation()})}),f.on("touchstart","li",function(){s(this).addClass("highlight")}).on("touchend touchcancel","li",function(){s(this).removeClass("highlight")})}var a,i,s=e("jquery"),r=e("hammer"),l=e("js/plugin/tip"),d=e("js/plugin/security"),c=e("js/plugin/loading"),u=s(".edit-address"),h=s(".submit"),p=s(".my-edit-address-page"),f=s(".my-address-list-page"),m=s(".nav-back"),g=s(".nav-title"),v=s("input, textarea"),w=g.html(),y=s(".area"),b="edit",C=[],j=s.queryString();s(p,f).css("min-height",function(){return s(window).height()-s("#yoho-header").height()}),m.attr("href","javascript:void(0);"),m.on("touchend",function(e){"list"===b?(f.hide(),p.show(),e.preventDefault(),b="edit",g.html(w),f.hide(),f.find("ul").hide().find("li").removeClass("highlight"),f.children("ul").show().children("li").show(),C=[]):window.history.go(-1)}),u.on("submit",function(){return a?!1:d.hasDangerInput(!1)?!1:s(this).find('[name="consignee"]').val()?s(this).find('[name="mobile"]').val()?s(this).find('[name="area_code"]').val()&&s(this).find('[name="area"]').val()?s(this).find('[name="address"]').val()?(a=!0,c.showLoadingMask(),h.css("background","#777"),s.ajax({method:"POST",url:"/home/saveAddress",data:s(this).serialize()}).then(function(e){"object"!==s.type(e)&&(e={}),200!==e.code?(l.show(e.message||"网络出了点问题~"),a=!1,c.hideLoadingMask()):"shopping"===j.refer?window.location.href="/cart/index/selectAddress":"modify"===j.refer?window.location.href="/home/addressModify":window.location.href="/home/address"}).fail(function(){l.show("网络出了点问题~"),a=!1,c.hideLoadingMask(),h.css("background","#444")}),!1):(l.show("地址不能为空"),!1):(l.show("省市区不能为空"),!1):(l.show("手机号不能为空"),!1):(l.show("收件人不能为空"),!1)}),h.on("touchend",function(){return d.hasDangerInput(!1)?!1:(v.blur(),u.submit(),!1)}).on("touchstart",function(){s(this).addClass("highlight")}).on("touchend touchcancel",function(){s(this).removeClass("highlight")}),window.localStorage&&window.localStorage.getItem&&(i=window.localStorage.getItem("chinaAddressList")),i?n(i):s.ajax({method:"GET",url:"/home/locationList",timeout:6e4}).then(function(e){n(e),window.localStorage&&window.localStorage.setItem&&window.localStorage.setItem("chinaAddressList",e)}).fail(function(){l.show("获取省市区列表失败")})}),define("js/me/logistic",["jquery","hammer","mlellipsis","lazyload"],function(e,t,o){function n(){d+l>r?window.rePosFooter():s.css("border-top","1px solid #f1f1f1")}function a(){return window.cookie("_Channel")||"boys"}var i=e("jquery"),s=i("#yoho-footer"),r=window.outerHeight,l=document.body.offsetHeight,d=s.height();i(document).ready(n),e("js/home/maybe-like")(a()),i(window).scrollTop(1).scrollTop(0)}),define("js/me/pay",["jquery","hammer"],function(e,t,o){function n(){document.addEventListener("WeixinJSBridgeReady",function(){window.WeixinJSBridge&&window.WeixinJSBridge.call("hideOptionMenu")})}function a(e,t){w.addClass("hide"),window.WeixinJSBridge&&window.WeixinJSBridge.invoke("getBrandWCPayRequest",t,function(t){window.location.href="/home/orders/detail?order_code="+e})}function i(e){var t;w.removeClass("hide"),void 0===typeof WeixinJSBridge?document.addEventListener?document.addEventListener("WeixinJSBridgeReady",a,!1):document.attachEvent&&(document.attachEvent("WeixinJSBridgeReady",a),document.attachEvent("onWeixinJSBridgeReady",a)):f.ajax({type:"GET",url:"/shopping/pay/wechatwapapi?order_code="+e,dataType:"json",success:function(o){200===o.code?(t=o.data.jsApiParameters,a(e,t)):g.show("微信支付调取失败")},error:function(){g.show("请刷新本页面,完成微信支付")},complete:function(){w.addClass("hide")}})}function s(){var e=window.navigator.userAgent.toLowerCase();return e.indexOf("micromessenger")>0}function r(){var e=f(".app");e.each(function(e,t){return"weixin"===f(t).parent().attr("id")?(f(t).parent().css("display","none"),!1):void 0})}function l(){s()||r()}function d(e,t){f(e).css("background-position-y",t)}function c(){var e=f(".box"),t=null,o=null;e.each(function(e,n){t=f(n).find(".icon").find("div"),t.length>0&&(o=f(n).attr("id"),"alipay"!==o&&d(t,j[o]))})}function u(){f(".payapp-list").css("visibility","visible")}function h(){var e=f(".box");e.on("touchstart",function(e){f(this).addClass("bytouch")}).on("touchend touchcancel",function(){e.removeClass("bytouch")})}function p(){l(),m.hideLoadingMask(),u(),c(),h()}var f=e("jquery"),m=e("js/plugin/loading"),g=e("js/plugin/tip"),v=e("hammer"),w=f(".loading-toast"),y=document.getElementById("ordercode").value,b=document.getElementById("weixin"),C=b&&new v(b),j={baidu:"-2.7rem",weixin:"-1.2rem",QQ:"-5.4rem",bank:"-4rem"};window.wx&&wx.hideOptionMenu(),void 0===typeof WeixinJSBridge?(document.addEventListener?document.addEventListener("WeixinJSBridgeReady",n,!1):document.attachEvent&&(document.attachEvent("WeixinJSBridgeReady",n),document.attachEvent("onWeixinJSBridgeReady",n)),n()):n(),C&&C.on("tap",function(){i(y)}),m.showLoadingMask(),f(document).ready(p),f(".box").on("click",function(){var e,t,o=f(".payapp-list a").attr("href"),n=[];-1!=o.indexOf("?")&&(n=o.split("?")[1].split("&"),e=n[0].split("=")[1],t=n[1].split("=")[1]),f.ajax({url:"/shopping/pay/addPaymentInterval?orderCode="+e+"&payment="+t,method:"get"})})}),define("js/me/personal-details",["jquery"],function(e,t,o){var n,a=e("jquery"),i=a(".user-avatar"),s=new Image;n=i.data("avatar"),s.src=n,s.onload=function(){i.css("background-image","url("+n+")")}}),define("js/me/currency",["jquery"],function(e,t,o){function n(e){i.ajax({type:"POST",url:"/home/ajaxCurrencyDetail",dataType:"html",data:{page:e},success:function(e){i(".coin-detail").append(e),window.rePosFooter()}})}function a(){return i(window).scrollTop()+i(window).height()>i("body").height()-100?(r++,void n(r)):void 0}var i=e("jquery"),s=e("js/plugin/loading"),r=1;s.showLoadingMask(),i(window).scroll(function(){window.requestAnimationFrame(a)}),n(r),i(document).ready(s.hideLoadingMask)}),define("js/me/currency-new",["jquery","hammer","mlellipsis","lazyload"],function(e,t,o){function n(){return window.cookie("_Channel")||"boys"}e("js/home/maybe-like")(n())}),define("js/me/message",["jquery","handlebars","source-map","hammer"],function(e,t,o){function n(e){s.showLoadingMask(),i.ajax({type:"POST",url:"/home/ajaxMessage",dataType:"html",data:{page:e},success:function(t){" "===t&&(c=!0,1===e&&(t='<p style="text-align:center">您没有消息</p>')),i(".massage-page").append(t),window.rePosFooter(),s.hideLoadingMask()}})}function a(){!c&&i(window).scrollTop()+i(window).height()>i("body").height()-100&&(d++,n(d))}var i=e("jquery"),s=e("js/plugin/loading"),r=e("js/me/dialog"),l=i(".massage-page"),d=1,c=!1;i(window).scroll(function(){window.requestAnimationFrame(a)}),l.on("touchstart",".del",function(){var e=i(this).closest(".massage-list"),t=e.data("id");r.showDialog({dialogText:"确定删除这条消息吗?",hasFooter:{leftBtnText:"取消",rightBtnText:"确定"}},function(){i.ajax({type:"POST",url:"/home/ajaxDelMes",data:{id:t},success:function(e){200===e.code?(r.showDialog({dialogText:"删除消息成功",autoHide:2e3,fast:!0}),setTimeout(function(){window.history.go(0)},1200)):r.showDialog({dialogText:e.message,autoHide:2e3,fast:!0})}})})}),n(d)}),define("js/me/message-detail",["jquery","handlebars","source-map","hammer"],function(e,t,o){var n=e("jquery"),a=e("js/me/dialog"),i=n(".massage-page"),s=!1;i.on("touchstart",".pick-coupon-btn",function(){if(!s){s=!0;var e=n(this).data("id");n.ajax({type:"POST",url:"/home/pickCoupon",data:{id:e},success:function(e){200===e.code&&(a.showDialog({dialogText:"领取成功",autoHide:2e3,fast:!0}),n(this).removeClass("pick-coupon-btn")),s=!1,a.showDialog({dialogText:e.message,autoHide:2e3,fast:!0})}})}})}),define("js/cart/entry",["jquery","mlellipsis","hammer","handlebars","source-map","swiper","lazyload","index"],function(e,t,o){e("js/cart/cart"),e("js/cart/gift-advance"),e("js/cart/order-ensure"),e("js/cart/select-coupon"),e("js/cart/select-address")}),define("js/cart/cart",["jquery","mlellipsis","hammer","handlebars","source-map","swiper","lazyload","index"],function(e,t,o){function n(){return window.isCookiesEnabled()?p(".cart-goods").length<=0&&!q:p(".cart-goods").length<=0}function a(){return b.not(".hide")}function i(){a().find(".shopping-cart-good .name").each(function(){this.mlellipsis(2)}),T=!0}function s(){return a().find(".cart-goods .icon-cb-checked").length>0}function r(){var e=a().find(".freebie");return!(e.length<=0)}function l(){var e,t=!1;return"ordinary"===C?e=p(".common .low-stocks"):"advance"===C&&(e=p(".presell .low-stocks")),e.length<=0?t:(e.each(function(e,o){p(o).parent().parent().parent().siblings(".checkbox").hasClass("icon-cb-checked")&&(E+=1,t=!0)}),t)}function d(){v.showDialog({dialogText:"您还未选择赠品,是否去选择赠品",hasFooter:{leftBtnText:"我不要赠品",rightBtnText:"去选择"}},function(){window.location.href=a().find(".freebie > a").attr("href")},function(){var e=window.cookie("order-info");e&&window.setCookie("order-info",""),window.location.href="/cart/index/orderEnsure?cartType="+C})}var c,u,h,p=e("jquery"),f=e("mlellipsis"),m=e("hammer"),g=e("js/cart/chose-panel"),v=e("js/me/dialog"),w=e("js/plugin/loading"),y=e("js/plugin/tip"),b=p(".cart-content"),C=p("#cartType").val(),j=p(".cart-nav"),x=p(".shopping-cart-page"),k=!1,T=!1,q="true"===window.cookie("_yoho-cart-refreshByDelete"),E=0;w.showLoadingMask(),n()?e("js/product/recommend-for-you"):(q&&p("body").css("background-color","#f0f0f0"),e("js/cart/good")),x.css("display","block"),w.hideLoadingMask(),window.setCookie("_yoho-cart-refreshByDelete",!1),f.init(),"function"==typeof window.cookie&&"y"===window.cookie("_hasShowCartPresellTip")?(p("#presell-tip").removeClass("show").addClass("hide"),k=!0):p("#presell-tip").removeClass("hide").addClass("show"),"advance"===C&&(b.toggleClass("hide"),p("#common-cart-nav").removeClass("active"),p("#presell-cart-nav").addClass("active"),i(),p(window).trigger("scroll")),j.length>0&&(c=new m(document.getElementsByClassName("cart-nav")[0]),c.on("tap",function(e){var t=p(e.target).closest("li");t.hasClass("active")||("ordinary"===C?(C="advance",p("#cartType").val("advance")):(C="ordinary",p("#cartType").val("ordinary")),t.siblings(".active").removeClass("active"),t.addClass("active"),b.toggleClass("hide"),T===!1&&i(),p(window).trigger("scroll"))}),k||setTimeout(function(){p("#presell-tip").removeClass("show").addClass("hide"),window.setCookie("_hasShowCartPresellTip","y")},3e3)),p(".advance-buy").length>0&&(u=new m(document.getElementsByClassName("advance-buy")[0]),u.on("tap",function(e){window.location.href="/cart/index/advanceBuy?cartType="+C})),p(".freebie").length>0&&(h=new m(document.getElementsByClassName("freebie")[0]),h.on("tap",function(e){window.location.href="/cart/index/gift?cartType="+C})),p(".btn-balance").on("touchend",function(){var e=window.cookie("order-info");return E=0,l()?(y.show("所选商品中有"+E+"种库存不足的商品"),!1):r()?(d(),!1):void(s()?(e&&window.setCookie("order-info",""),window.location.href="/cart/index/orderEnsure?cartType="+C):y.show("请先勾选商品"))}),p(".off-shell-goods").on("touchstart touchend",function(e){var t=p(e.target).closest("span");if(!t.hasClass("icon-del"))return y.show("商品已下架"),!1}),p(".chose").on("touchend",function(){g.show()}),j.on("touchstart","li",function(e){p(this).addClass("bytouch")}).on("touchend touchcancel",function(){j.find("li").removeClass("bytouch")}),p(window).scrollTop(1).scrollTop(0)}),define("js/cart/good",["jquery","mlellipsis","lazyload","handlebars","source-map","hammer"],function(e,t,o){function n(e){this.goods_type=e.goods_type,this.buy_number=e.buy_number,this.product_sku=e.product_sku,this.selected=e.selected}function a(e,t,o,n){return e.length<2?(m.show("出错啦!"),!1):(u.remove(),d(e).appendTo("#mainCart"),u.init(),u.setEditModeWithSknId(t,o),n||u.disableNumEdit(),void u.show())}function i(e,t){v||(v=!0,d.ajax({url:"select",type:"post",data:{skuList:JSON.stringify(e)},success:function(e){200===e.code?t():m.show(e.message)},error:function(){m.show("网络异常")},complete:function(){v=!1}}))}function s(){var e,t=d(".shopping-cart-good .icon-cb-checked"),o=d(".shopping-cart-good .icon-checkbox");g.hasClass("icon-cb-checked")?(g.removeClass("icon-cb-checked").addClass("icon-checkbox"),e=!0):(g.removeClass("icon-checkbox").addClass("icon-cb-checked"),e=!1),e?t.each(function(e,t){d(t).removeClass("icon-cb-checked").addClass("icon-checkbox")}):o.each(function(e,t){d(t).removeClass("icon-checkbox").addClass("icon-cb-checked")}),window.location.href="/cart/index/index?cartType="+d("#cartType").val()}function r(e,t,o){var a={},s=d(".cart-content:not(.hide) .shopping-cart-good"),r=null,l=[];a.goods_type=t,a.selected=e?"N":"Y",s.each(function(e,t){r=d(t),a.product_sku=d(t).data("id"),a.hasPromotion=d(t).data("promotion"),a.buy_number=r.find(".count").eq(0).text().trim().replace("×",""),l.push(new n(a))}),i(l,o)}var l,d=e("jquery"),c=e("mlellipsis"),u=e("js/cart/chose-panel"),h=e("js/plugin/loading"),p=e("lazyload"),f=e("js/me/dialog"),m=e("js/plugin/tip"),g=d(".balance .checkbox"),v=!1;c.init(),p({try_again_css:"order-failure"}),setTimeout(function(){d(".shopping-cart-good .name").each(function(){this.mlellipsis(2)})},0),d(".cart-goods").on("touchstart",".checkbox",function(){var e=d(this),t=e.closest(".shopping-cart-good"),o=t.data("id"),a=[],i={};return!e.hasClass("icon-cb-checked")&&e.siblings(".info").find(".low-stocks").length>0?(m.show("库存不足,无法购买"),!1):(i.goods_type=d("#cartType").val(),i.selected=e.hasClass("icon-cb-checked")?"N":"Y",i.product_sku=o,i.buy_number=t.find(".count").eq(0).text().trim().replace("×",""),a.push(new n(i)),void d.ajax({type:"post",url:"select",data:{skuList:JSON.stringify(a)}}).then(function(t){200===t.code?(e.hasClass("icon-cb-checked")?e.removeClass("icon-cb-checked").addClass("icon-checkbox"):e.removeClass("icon-checkbox").addClass("icon-cb-checked"),window.location.href="/cart/index/index?cartType="+d("#cartType").val()):400===t.code&&m.show("网络异常")},function(){m.show("网络异常")}))}),d(".icon-edit").on("touchstart",function(e){var t,o,n,i,s,r=d(this),c=r.closest(".shopping-cart-good").data("skn");return r.parents(".off-shell-goods").length?(m.show("商品已下架"),!1):c===l?void u.show():(l=c,t=r.closest(".info").siblings(".checkbox"),o=r.closest(".deps").siblings(".few-tag"),n=r.closest(".shopping-cart-good").data("id"),i=r.data("count"),s=!o.hasClass("gift-tag")&&!o.hasClass("plus-tag"),e.stopPropagation(),h.showLoadingMask(),void d.ajax({url:"/cart/index/goodinfo",data:{skn:c,buy_num:i},success:function(e){a(e,n,t.hasClass("icon-cb-checked"),s)},error:function(){m.show("网络异常"),window.location.reload()},complete:function(){h.hideLoadingMask()}}))}),d(".icon-del").on("touchstart",function(e){var t=d(this);e.stopPropagation(),f.showDialog({dialogText:"您确定要从购物车中删除吗?",hasFooter:{leftBtnText:"取消",rightBtnText:"确定"}},function(){var e=t.closest(".shopping-cart-good"),o=t.data("count");d.ajax({method:"post",url:"/cart/index/del",data:{sku:e.data("id"),count:o,promotionId:e.data("promotion")}}).then(function(e){200===e.code?(f.showDialog({dialogText:"删除成功",autoHide:!0,fast:!0}),window.setCookie("_yoho-cart-refreshByDelete",!0),window.location.href="/cart/index/index?cartType="+d("#cartType").val()):m.show(e.message)},function(){m.show("网络异常"),window.location.reload()})})}),g.on("touchend",function(){var e=d("#cartType").val(),t=d(this).hasClass("icon-cb-checked");if("ordinary"===e){if(!t&&d(".common .low-stocks").length>0)return m.show("所选商品中含有库存不足的商品"),!1}else if("advance"===e&&!t&&d(".presell .low-stocks").length>0)return m.show("所选商品中含有库存不足的商品"),!1;r(t,e,s)}),d(".down").on("touchend",function(){u.show()})}),define("js/cart/gift-advance",["jquery","mlellipsis","lazyload","hammer"],function(e,t,o){function n(e,t){d.showLoadingMask(),a.get("/cart/index/giftinfo",{skn:e,promotionId:t}).then(function(e){return e?void c.show(e,function(){window.location.href="/cart/index/index?cartType="+h.cartType}):void l.show("网络错误")},function(){l.show("网络错误")}).always(function(){d.hideLoadingMask()})}var a=e("jquery"),i=e("mlellipsis"),s=e("lazyload"),r=e("hammer"),l=e("js/plugin/tip"),d=e("js/plugin/loading"),c=e("js/cart/chose-panel"),u=a(".gift-advance-page"),h=a.queryString();e("js/common"),s(a(".lazy")),i.init(),u.find(".chose").each(function(e,t){var o=new r(t);o.on("tap",function(e){var t=a(e.target),o=t.closest(".gift-advance-good").data("id"),i=t.closest(".advance-block").data("promotion-id");n(o,i)})}),setTimeout(function(){a(".gift-advance-good .name").each(function(){this.mlellipsis(2)})},0)}),define("js/cart/order-ensure",["jquery","lazyload","hammer"],function(e,t,o){function n(){var e,t=location.search.substr(1).split("&"),o=[],n={};for(e=0;e<t.length;e++)o=t[e].split("="),n[o[0]]=o[1],o=[];return n}function a(){return n().limitproductcode}function i(e){var t=p(".more-jit a").get(0),o=t.href;o.indexOf("deliveryId")<0?t.href=o+"&deliveryId="+e:t.href=o.replace(/deliveryId=(\d)/,"deliveryId="+e)}function s(){var e=T("yohoCoin"),t=T("deliveryId");g.showLoadingMask(),p.ajax({method:"POST",url:"/cart/index/orderCompute",data:{cartType:T("cartType")||"ordinary",deliveryId:T("deliveryId"),paymentTypeId:T("paymentTypeId"),couponCode:T("couponCode"),yohoCoin:e,skuList:a()?T("skuList"):void 0}}).then(function(e){"object"!==p.type(e)?window.location.reload():(void 0!==typeof e.last_order_amount&&(e.last_order_amount=(+e.last_order_amount).toFixed(2)),e.use_yoho_coin&&(C.find("em").html("- ¥ "+e.use_yoho_coin),j.html("已抵¥"+e.use_yoho_coin),C.find("em").show(),j.show()),h="",e.promotion_formula_list&&(p.each(e.promotion_formula_list,function(e,t){h+="<li><p>"+t.promotion+"</p><span>"+t.promotion_amount+"</span></li>"}),p(".price-cost span").html("¥"+e.last_order_amount),p(".bill span").html("¥"+e.last_order_amount),p(".total").html(h)),i(t))}).fail(function(){window.location.reload()}).always(function(){g.hideLoadingMask()})}function r(){var e=w.find('[name="invoice-title"]').val()||T("invoiceText"),t=p("#msg").find("input").val()||T("msg");if(c)return!1;if(T("invoice")){if(!e)return void m.show("请输入发票抬头");if(e.length>30)return void m.show("发票抬头不得超过30个汉字")}return t&&t.length>40?void m.show("留言不得超过40个汉字"):(g.showLoadingMask(),c=!0,void p.ajax({method:"POST",url:"/cart/index/orderSub",data:{addressId:T("addressId"),cartType:T("cartType")||"ordinary",deliveryId:T("deliveryId"),deliveryTimeId:T("deliveryTimeId"),invoiceText:T("invoice")?e:null,invoiceType:T("invoice")?w.find(".invoice-type").val()||T("invoiceType"):null,msg:t,paymentTypeId:T("paymentTypeId"),paymentType:T("paymentType"),couponCode:T("couponCode"),yohoCoin:T("yohoCoin"),skuList:a()?T("skuList"):void 0}}).then(function(e){var t;return e?void(200===e.code?(t=2===d?"/home/orderDetail?order_code="+e.data.order_code:"/home/orders/pay?order_code="+e.data.order_code,window.setCookie("order-info",""),window.location.href=t):e.message&&m.show(e.message)):void m.show("系统繁忙,请稍后再试!")}).fail(function(){m.show("系统繁忙,请稍后再试!")}).always(function(){c=!1,g.hideLoadingMask()}))}function l(e){return e=e||"",e.replace(/(\d{3})\d{4}(\d{4})/,"$1****$2")}var d,c,u,h,p=e("jquery"),f=e("lazyload"),m=e("js/plugin/tip"),g=e("js/plugin/loading"),v=e("js/cart/order-info"),w=p(".invoice"),y=p(".coupon-use.used"),b=p(".address-wrap"),C=p(".coin-check"),j=p(".coin .used"),x=p(".sub-block"),k=p.queryString(),T=v.orderInfo;e("js/common"),f(),window.getUid()!==T("uid")&&(v.init(),window.location.reload()),y.data("name")!==T("couponName")&&(T("couponCode",null),T("couponName",null)),document.referrer&&-1!==document.referrer.indexOf("/cart/index/index")&&(T("couponCode",null),T("couponName",null)),a()&&function(){var e=[],t=n();t.type="limitcode",e.push(t),T("skuList",JSON.stringify(e)),T("limitUrlSufix",location.search)}(),(k.cartType||k.carttype||!T("cartType"))&&T("cartType",k.cartType||k.carttype||"ordinary"),p(".checkbox").on("touchstart",function(){var e=p(this);return e.hasClass("icon-cb-radio")?void e.removeClass("icon-cb-radio").addClass("icon-radio"):void(e.hasClass("icon-radio")&&e.removeClass("icon-radio").addClass("icon-cb-radio"))}),w.on("touchend",".checkbox",function(){var e=p(this);e.hasClass("icon-cb-radio")&&w.addClass("focus"),e.hasClass("icon-radio")&&w.removeClass("focus")}),T("addressId")||T("addressId",b.data("id")),p(".delivery-id").on("touchend","li",function(){T("deliveryId",p(this).data("id")),s()}),p(".payment-type").on("touchend","li",function(){T("paymentType",p(".icon-cb-radio",this).data("id"))}),p(".dispatch-time").on("touchend","li",function(){T("deliveryTimeId",p(this).data("id"))}),p(".coin").on("touchend",function(){var e=p(this);e.find(".checkbox").hasClass("icon-cb-radio")?(T("yohoCoin",e.data("yoho-coin")),e.find(".can-use").hide()):(T("yohoCoin",0),e.find(".coin-check em").hide(),e.find(".can-use").show(),e.find(".used").hide()),s()}),w.on("touchend",".checkbox",function(e){var t=p(this);T("invoice",t.hasClass("icon-cb-radio")),e.preventDefault(),e.stopPropagation()}),w.find('[name="invoice-title"]').on("blur",function(){T("invoiceText",p(this).val())}).end().find(".invoice-type").on("change",function(){T("invoiceType",p(this).val())}),p("#msg").find("textarea").on("blur",function(){T("msg",p(this).val())}),p(".pay-mode").on("click","li",function(){var e=p(this);T("paymentTypeId",e.data("pay-id")),T("paymentType",e.data("pay-type")),d=e.data("pay-type")}),p("form").on("submit",function(){return!1}),p(".dispatch").on("touchend","h3",function(){p(this).siblings("ul").is(":hidden")?(p(".dispatch h3").removeClass("border-none"),p(this).addClass("border-none"),p(".down").removeClass("hide"),p(".up").addClass("hide"),p(".up",this).removeClass("hide"),p(".down",this).addClass("hide"),p(".dispatch ul").hide(),p(this).siblings("ul").show()):(p(this).removeClass("border-none"),p(".down",this).removeClass("hide"),p(".up",this).addClass("hide"),p(this).siblings("ul").hide())}),x.on("touchstart","li",function(){p.each(p(this).parents("ul").find("i"),function(){p(this).parents("ul").find("i").removeClass("icon-cb-radio").addClass("icon-radio")}),p(this).parents("ul").hide(),p(".down").removeClass("hide"),p(".up").addClass("hide"),p(".dispatch h3").removeClass("border-none"),u=p(this).find("span").html(),p(this).parents(".sub-block").find("h3 span").html(u),p(this).find("i").hasClass("icon-cb-radio")?p(this).find("i").addClass("icon-radio"):p(this).find("i").hasClass("icon-radio")&&p(this).find("i").addClass("icon-cb-radio")}),p(".bill a").on("touchstart",function(){T("paymentTypeId",p(".delivery-id .icon-cb-radio").data("id")),T("paymentType",p(".payment-type .icon-cb-radio").data("id")),d=p(".payment-type .icon-cb-radio").data("id"),r()}),p(".info-phone").html(l(p(".info-phone").html())),T("address")&&"N"===T("address").is_support&&(T("deliveryId",p(".delivery-id .icon-cb-radio").data("id")),s())}),define("js/cart/order-info",["jquery","hammer"],function(e,t,o){function n(){i={uid:window.getUid(),deliveryId:a(".dispatch-mode .chosed").data("id")||1,deliveryTimeId:1,paymentTypeId:1,yohoCoin:0,addressId:null,couponCode:null,couponName:null,invoice:null,invoiceText:null,invoiceType:null,msg:null,cartType:"ordinary"},window.setCookie("order-info",JSON.stringify(i))}var a=e("jquery"),i=window.cookie("order-info");e("js/common");try{i=JSON.parse(i)}catch(s){n()}t.init=n,t.orderInfo=function(e,t){return void 0===t?i[e]:(i[e]=t,void window.setCookie("order-info",JSON.stringify(i)))}}),define("js/cart/select-coupon",["jquery","handlebars","source-map","hammer","mlellipsis"],function(e,t,o){function n(){var e=r(".null"),t=r(".nav-title").height(),o=e.height();return 0===e.length?!1:void e.css({top:w/2-o/2+t})}function a(e){var t,o;return r.isArray(e)?(r(".coupon-wrap").html(r("#tmpl-no-coupon").html()),void n()):(t=e.notAvailableCoupons,o=e.coupons,r.each(o,function(e,t){t.couponValue=Math.floor(t.couponValue)}),r.each(t,function(e,t){t.couponValue=Math.floor(t.couponValue)}),v.append(f({coupons:o})).find(".employ-main").each(function(e,t){var o=new d(t);o.on("tap",function(e){var t=r(e.srcEvent.currentTarget),o=t.data("coupon-code");r.ajax({ +method:"POST",url:"/cart/index/couponSearch",data:{couponCode:o}}).then(function(e){200===e.code?(p("couponCode",e.data.coupon_code),p("couponName",e.data.coupon_title),window.location.href="/cart/index/orderEnsure"):e.message&&h.show(e.message)}).fail(function(){h.show("网络错误")})})}),t.length&&r(".not-avaliable-coupon-line").show(),r("#coupon-list-not").append(m({notAvailableCoupons:t})),void window.rePosFooter())}function i(){s||(u.showLoadingMask(),s=!0,r.ajax({type:"GET",url:"/cart/index/couponList",dataType:"json"}).then(a).fail(function(){}).always(function(){s=!1,u.hideLoadingMask()}))}var s,r=e("jquery"),l=e("handlebars"),d=e("hammer"),c=e("mlellipsis"),u=e("js/plugin/loading"),h=e("js/plugin/tip"),p=e("js/cart/order-info").orderInfo,f=l.compile(r("#tmpl-coupon").html()),m=l.compile(r("#tmpl-coupon-not-avaliable").html()),g=r("#new-coupon"),v=r("#coupon-list"),w=r(window).height();e("js/common"),c.init(),g.on("submit",function(){var e=r(this);return e.find('[name="couponCode"]').val()?(r.ajax({method:"POST",url:"/cart/index/couponSearch",data:e.serialize()}).then(function(e){e.message&&h.show(e.message),200===e.code&&(h.show("优惠券可用"),p("couponCode",e.data.coupon_code),p("couponName",e.data.coupon_title),window.location.href="/cart/index/orderEnsure")}).fail(function(){h.show("网络错误")}),!1):(h.show("请输入优惠券码"),!1)}),v.on("touchstart",".employ-main",function(){var e=r(this);e.siblings().removeClass("focus"),e.addClass("focus")}).on("touchend touchcancel",".employ-main",function(){var e=r(this);e.siblings().removeClass("focus"),e.removeClass("focus")}),r("body").on("touchend",".not-use",function(){p("couponCode",null),p("couponName",null)}),g.find("input").on("input",function(){""!==r(this).val()?g.find(".submit").css("background","#444"):g.find(".submit").css("background","#b0b0b0")}),i()}),define("js/cart/select-address",["jquery","hammer"],function(e,t,o){var n,a=e("jquery"),i=e("js/cart/order-info").orderInfo,s=a(".confim-mask");e("js/common"),a(".address-item").on("touchend",function(){var e=a(this),t=e.data("address-id"),o={address_id:e.data("address-id"),consignee:e.find(".name").text(),mobile:e.find(".tel").text(),address_info:e.find(".address-info").text(),is_support:e.data("is-support")};i("addressId",t),i("address",o),console.log(e.data("href")+(i("limitUrlSufix")||"")),window.location.href=e.data("href")+(i("limitUrlSufix")||"")}).on("touchend",".edit",function(){return window.location.href=a(this).data("href"),!1}).on("touchstart",".del",function(){n=a(this).data("id")}),s.on("touchend",".confim",function(){i("addressId")===n&&(i("addressId",null),i("address",null))})}); \ No newline at end of file diff --git a/static/dist/myohobuy/1.3.25/lib.js b/static/dist/myohobuy/1.3.25/lib.js index 35b89a9..98aaa8c 100644 --- a/static/dist/myohobuy/1.3.25/lib.js +++ b/static/dist/myohobuy/1.3.25/lib.js @@ -1,10 +1,10 @@ -!function(e,t){function i(e){return function(t){return{}.toString.call(t)=="[object "+e+"]"}}function n(){return E++}function r(e){return e.match(_)[0]}function s(e){for(e=e.replace(D,"/");e.match(L);)e=e.replace(L,"/");return e=e.replace(M,"$1/")}function o(e){var t=e.length-1,i=e.charAt(t);return"#"===i?e.substring(0,t):".js"===e.substring(t-2)||e.indexOf("?")>0||".css"===e.substring(t-3)||"/"===i?e:e+".js"}function a(e){var t=x.alias;return t&&T(t[e])?t[e]:e}function l(e){var t,i=x.paths;return i&&(t=e.match(N))&&T(i[t[1]])&&(e=i[t[1]]+t[2]),e}function u(e){var t=x.vars;return t&&e.indexOf("{")>-1&&(e=e.replace(I,function(e,i){return T(t[i])?t[i]:e})),e}function c(e){var t=x.map,i=e;if(t)for(var n=0,r=t.length;r>n;n++){var s=t[n];if(i=k(s)?s(e)||e:e.replace(s[0],s[1]),i!==e)break}return i}function p(e,t){var i,n=e.charAt(0);if(z.test(e))i=e;else if("."===n)i=s((t?r(t):x.cwd)+e);else if("/"===n){var o=x.cwd.match(O);i=o?o[0]+e.substring(1):e}else i=x.base+e;return 0===i.indexOf("//")&&(i=location.protocol+i),i}function h(e,t){if(!e)return"";e=a(e),e=l(e),e=u(e),e=o(e);var i=p(e,t);return i=c(i)}function d(e){return e.hasAttribute?e.src:e.getAttribute("src",4)}function f(e,t,i){var n=$.test(e),r=B.createElement(n?"link":"script");if(i){var s=k(i)?i(e):i;s&&(r.charset=s)}m(r,t,n,e),n?(r.rel="stylesheet",r.href=e):(r.async=!0,r.src=e),X=r,W?Y.insertBefore(r,W):Y.appendChild(r),X=null}function m(e,i,n,r){function s(){e.onload=e.onerror=e.onreadystatechange=null,n||x.debug||Y.removeChild(e),e=null,i()}var o="onload"in e;return!n||!G&&o?(o?(e.onload=s,e.onerror=function(){A("error",{uri:r,node:e}),s()}):e.onreadystatechange=function(){/loaded|complete/.test(e.readyState)&&s()},t):(setTimeout(function(){g(e,i)},1),t)}function g(e,t){var i,n=e.sheet;if(G)n&&(i=!0);else if(n)try{n.cssRules&&(i=!0)}catch(r){"NS_ERROR_DOM_SECURITY_ERR"===r.name&&(i=!0)}setTimeout(function(){i?t():g(e,t)},20)}function v(){if(X)return X;if(q&&"interactive"===q.readyState)return q;for(var e=Y.getElementsByTagName("script"),t=e.length-1;t>=0;t--){var i=e[t];if("interactive"===i.readyState)return q=i}}function y(e){var t=[];return e.replace(K,"").replace(U,function(e,i,n){n&&t.push(n)}),t}function w(e,t){this.uri=e,this.dependencies=t||[],this.exports=null,this.status=0,this._waitings={},this._remain=0}if(!e.seajs){var b=e.seajs={version:"2.2.0"},x=b.data={},S=i("Object"),T=i("String"),C=Array.isArray||i("Array"),k=i("Function"),E=0,P=x.events={};b.on=function(e,t){var i=P[e]||(P[e]=[]);return i.push(t),b},b.off=function(e,t){if(!e&&!t)return P=x.events={},b;var i=P[e];if(i)if(t)for(var n=i.length-1;n>=0;n--)i[n]===t&&i.splice(n,1);else delete P[e];return b};var A=b.emit=function(e,t){var i,n=P[e];if(n)for(n=n.slice();i=n.shift();)i(t);return b},_=/[^?#]*\//,D=/\/\.\//g,L=/\/[^\/]+\/\.\.\//,M=/([^:\/])\/\//g,N=/^([^\/:]+)(\/.+)$/,I=/{([^{]+)}/g,z=/^\/\/.|:\//,O=/^.*?\/\/.*?\//,B=document,R=r(B.URL),F=B.scripts,H=B.getElementById("seajsnode")||F[F.length-1],j=r(d(H)||R);b.resolve=h;var X,q,Y=B.head||B.getElementsByTagName("head")[0]||B.documentElement,W=Y.getElementsByTagName("base")[0],$=/\.css(?:\?|$)/i,G=+navigator.userAgent.replace(/.*AppleWebKit\/(\d+)\..*/,"$1")<536;b.request=f;var V,U=/"(?:\\"|[^"])*"|'(?:\\'|[^'])*'|\/\*[\S\s]*?\*\/|\/(?:\\\/|[^\/\r\n])+\/(?=[^\/])|\/\/.*|\.\s*require|(?:^|[^$])\brequire\s*\(\s*(["'])(.+?)\1\s*\)/g,K=/\\\\/g,Q=b.cache={},J={},Z={},ee={},te=w.STATUS={FETCHING:1,SAVED:2,LOADING:3,LOADED:4,EXECUTING:5,EXECUTED:6};w.prototype.resolve=function(){for(var e=this,t=e.dependencies,i=[],n=0,r=t.length;r>n;n++)i[n]=w.resolve(t[n],e.uri);return i},w.prototype.load=function(){var e=this;if(!(e.status>=te.LOADING)){e.status=te.LOADING;var i=e.resolve();A("load",i);for(var n,r=e._remain=i.length,s=0;r>s;s++)n=w.get(i[s]),n.status<te.LOADED?n._waitings[e.uri]=(n._waitings[e.uri]||0)+1:e._remain--;if(0===e._remain)return e.onload(),t;var o={};for(s=0;r>s;s++)n=Q[i[s]],n.status<te.FETCHING?n.fetch(o):n.status===te.SAVED&&n.load();for(var a in o)o.hasOwnProperty(a)&&o[a]()}},w.prototype.onload=function(){var e=this;e.status=te.LOADED,e.callback&&e.callback();var t,i,n=e._waitings;for(t in n)n.hasOwnProperty(t)&&(i=Q[t],i._remain-=n[t],0===i._remain&&i.onload());delete e._waitings,delete e._remain},w.prototype.fetch=function(e){function i(){b.request(o.requestUri,o.onRequest,o.charset)}function n(){delete J[a],Z[a]=!0,V&&(w.save(s,V),V=null);var e,t=ee[a];for(delete ee[a];e=t.shift();)e.load()}var r=this,s=r.uri;r.status=te.FETCHING;var o={uri:s};A("fetch",o);var a=o.requestUri||s;return!a||Z[a]?(r.load(),t):J[a]?(ee[a].push(r),t):(J[a]=!0,ee[a]=[r],A("request",o={uri:s,requestUri:a,onRequest:n,charset:x.charset}),o.requested||(e?e[o.requestUri]=i:i()),t)},w.prototype.exec=function(){function e(t){return w.get(e.resolve(t)).exec()}var i=this;if(i.status>=te.EXECUTING)return i.exports;i.status=te.EXECUTING;var r=i.uri;e.resolve=function(e){return w.resolve(e,r)},e.async=function(t,i){return w.use(t,i,r+"_async_"+n()),e};var s=i.factory,o=k(s)?s(e,i.exports={},i):s;return o===t&&(o=i.exports),delete i.factory,i.exports=o,i.status=te.EXECUTED,A("exec",i),o},w.resolve=function(e,t){var i={id:e,refUri:t};return A("resolve",i),i.uri||b.resolve(i.id,t)},w.define=function(e,i,n){var r=arguments.length;1===r?(n=e,e=t):2===r&&(n=i,C(e)?(i=e,e=t):i=t),!C(i)&&k(n)&&(i=y(""+n));var s={id:e,uri:w.resolve(e),deps:i,factory:n};if(!s.uri&&B.attachEvent){var o=v();o&&(s.uri=o.src)}A("define",s),s.uri?w.save(s.uri,s):V=s},w.save=function(e,t){var i=w.get(e);i.status<te.SAVED&&(i.id=t.id||e,i.dependencies=t.deps||[],i.factory=t.factory,i.status=te.SAVED)},w.get=function(e,t){return Q[e]||(Q[e]=new w(e,t))},w.use=function(t,i,n){var r=w.get(n,C(t)?t:[t]);r.callback=function(){for(var t=[],n=r.resolve(),s=0,o=n.length;o>s;s++)t[s]=Q[n[s]].exec();i&&i.apply(e,t),delete r.callback},r.load()},w.preload=function(e){var t=x.preload,i=t.length;i?w.use(t,function(){t.splice(0,i),w.preload(e)},x.cwd+"_preload_"+n()):e()},b.use=function(e,t){return w.preload(function(){w.use(e,t,x.cwd+"_use_"+n())}),b},w.define.cmd={},e.define=w.define,b.Module=w,x.fetchedList=Z,x.cid=n,b.require=function(e){var t=w.get(w.resolve(e));return t.status<te.EXECUTING&&(t.onload(),t.exec()),t.exports};var ie=/^(.+?\/)(\?\?)?(seajs\/)+/;x.base=(j.match(ie)||["",j])[1],x.dir=j,x.cwd=R,x.charset="utf-8",x.preload=function(){var e=[],t=location.search.replace(/(seajs-\w+)(&|$)/g,"$1=1$2");return t+=" "+B.cookie,t.replace(/(seajs-\w+)=1/g,function(t,i){e.push(i)}),e}(),b.config=function(e){for(var t in e){var i=e[t],n=x[t];if(n&&S(n))for(var r in i)n[r]=i[r];else C(n)?i=n.concat(i):"base"===t&&("/"!==i.slice(-1)&&(i+="/"),i=p(i)),x[t]=i}return A("config",e),b}}}(this),define("jquery",[],function(e,t,i){!function(e,t){"object"==typeof i&&"object"==typeof i.exports?i.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){function i(e){var t="length"in e&&e.length,i=Z.type(e);return"function"===i||Z.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===i||0===t||"number"==typeof t&&t>0&&t-1 in e}function n(e,t,i){if(Z.isFunction(t))return Z.grep(e,function(e,n){return!!t.call(e,n,e)!==i});if(t.nodeType)return Z.grep(e,function(e){return e===t!==i});if("string"==typeof t){if(ae.test(t))return Z.filter(t,e,i);t=Z.filter(t,e)}return Z.grep(e,function(e){return $.call(t,e)>=0!==i})}function r(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}function s(e){var t=fe[e]={};return Z.each(e.match(de)||[],function(e,i){t[i]=!0}),t}function o(){Q.removeEventListener("DOMContentLoaded",o,!1),e.removeEventListener("load",o,!1),Z.ready()}function a(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=Z.expando+a.uid++}function l(e,t,i){var n;if(void 0===i&&1===e.nodeType)if(n="data-"+t.replace(be,"-$1").toLowerCase(),i=e.getAttribute(n),"string"==typeof i){try{i="true"===i?!0:"false"===i?!1:"null"===i?null:+i+""===i?+i:we.test(i)?Z.parseJSON(i):i}catch(r){}ye.set(e,t,i)}else i=void 0;return i}function u(){return!0}function c(){return!1}function p(){try{return Q.activeElement}catch(e){}}function h(e,t){return Z.nodeName(e,"table")&&Z.nodeName(11!==t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function d(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function f(e){var t=Oe.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function m(e,t){for(var i=0,n=e.length;n>i;i++)ve.set(e[i],"globalEval",!t||ve.get(t[i],"globalEval"))}function g(e,t){var i,n,r,s,o,a,l,u;if(1===t.nodeType){if(ve.hasData(e)&&(s=ve.access(e),o=ve.set(t,s),u=s.events)){delete o.handle,o.events={};for(r in u)for(i=0,n=u[r].length;n>i;i++)Z.event.add(t,r,u[r][i])}ye.hasData(e)&&(a=ye.access(e),l=Z.extend({},a),ye.set(t,l))}}function v(e,t){var i=e.getElementsByTagName?e.getElementsByTagName(t||"*"):e.querySelectorAll?e.querySelectorAll(t||"*"):[];return void 0===t||t&&Z.nodeName(e,t)?Z.merge([e],i):i}function y(e,t){var i=t.nodeName.toLowerCase();"input"===i&&Ce.test(e.type)?t.checked=e.checked:("input"===i||"textarea"===i)&&(t.defaultValue=e.defaultValue)}function w(t,i){var n,r=Z(i.createElement(t)).appendTo(i.body),s=e.getDefaultComputedStyle&&(n=e.getDefaultComputedStyle(r[0]))?n.display:Z.css(r[0],"display");return r.detach(),s}function b(e){var t=Q,i=He[e];return i||(i=w(e,t),"none"!==i&&i||(Fe=(Fe||Z("<iframe frameborder='0' width='0' height='0'/>")).appendTo(t.documentElement),t=Fe[0].contentDocument,t.write(),t.close(),i=w(e,t),Fe.detach()),He[e]=i),i}function x(e,t,i){var n,r,s,o,a=e.style;return i=i||qe(e),i&&(o=i.getPropertyValue(t)||i[t]),i&&(""!==o||Z.contains(e.ownerDocument,e)||(o=Z.style(e,t)),Xe.test(o)&&je.test(t)&&(n=a.width,r=a.minWidth,s=a.maxWidth,a.minWidth=a.maxWidth=a.width=o,o=i.width,a.width=n,a.minWidth=r,a.maxWidth=s)),void 0!==o?o+"":o}function S(e,t){return{get:function(){return e()?void delete this.get:(this.get=t).apply(this,arguments)}}}function T(e,t){if(t in e)return t;for(var i=t[0].toUpperCase()+t.slice(1),n=t,r=Ue.length;r--;)if(t=Ue[r]+i,t in e)return t;return n}function C(e,t,i){var n=We.exec(t);return n?Math.max(0,n[1]-(i||0))+(n[2]||"px"):t}function k(e,t,i,n,r){for(var s=i===(n?"border":"content")?4:"width"===t?1:0,o=0;4>s;s+=2)"margin"===i&&(o+=Z.css(e,i+Se[s],!0,r)),n?("content"===i&&(o-=Z.css(e,"padding"+Se[s],!0,r)),"margin"!==i&&(o-=Z.css(e,"border"+Se[s]+"Width",!0,r))):(o+=Z.css(e,"padding"+Se[s],!0,r),"padding"!==i&&(o+=Z.css(e,"border"+Se[s]+"Width",!0,r)));return o}function E(e,t,i){var n=!0,r="width"===t?e.offsetWidth:e.offsetHeight,s=qe(e),o="border-box"===Z.css(e,"boxSizing",!1,s);if(0>=r||null==r){if(r=x(e,t,s),(0>r||null==r)&&(r=e.style[t]),Xe.test(r))return r;n=o&&(K.boxSizingReliable()||r===e.style[t]),r=parseFloat(r)||0}return r+k(e,t,i||(o?"border":"content"),n,s)+"px"}function P(e,t){for(var i,n,r,s=[],o=0,a=e.length;a>o;o++)n=e[o],n.style&&(s[o]=ve.get(n,"olddisplay"),i=n.style.display,t?(s[o]||"none"!==i||(n.style.display=""),""===n.style.display&&Te(n)&&(s[o]=ve.access(n,"olddisplay",b(n.nodeName)))):(r=Te(n),"none"===i&&r||ve.set(n,"olddisplay",r?i:Z.css(n,"display"))));for(o=0;a>o;o++)n=e[o],n.style&&(t&&"none"!==n.style.display&&""!==n.style.display||(n.style.display=t?s[o]||"":"none"));return e}function A(e,t,i,n,r){return new A.prototype.init(e,t,i,n,r)}function _(){return setTimeout(function(){Ke=void 0}),Ke=Z.now()}function D(e,t){var i,n=0,r={height:e};for(t=t?1:0;4>n;n+=2-t)i=Se[n],r["margin"+i]=r["padding"+i]=e;return t&&(r.opacity=r.width=e),r}function L(e,t,i){for(var n,r=(it[t]||[]).concat(it["*"]),s=0,o=r.length;o>s;s++)if(n=r[s].call(i,t,e))return n}function M(e,t,i){var n,r,s,o,a,l,u,c,p=this,h={},d=e.style,f=e.nodeType&&Te(e),m=ve.get(e,"fxshow");i.queue||(a=Z._queueHooks(e,"fx"),null==a.unqueued&&(a.unqueued=0,l=a.empty.fire,a.empty.fire=function(){a.unqueued||l()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,Z.queue(e,"fx").length||a.empty.fire()})})),1===e.nodeType&&("height"in t||"width"in t)&&(i.overflow=[d.overflow,d.overflowX,d.overflowY],u=Z.css(e,"display"),c="none"===u?ve.get(e,"olddisplay")||b(e.nodeName):u,"inline"===c&&"none"===Z.css(e,"float")&&(d.display="inline-block")),i.overflow&&(d.overflow="hidden",p.always(function(){d.overflow=i.overflow[0],d.overflowX=i.overflow[1],d.overflowY=i.overflow[2]}));for(n in t)if(r=t[n],Je.exec(r)){if(delete t[n],s=s||"toggle"===r,r===(f?"hide":"show")){if("show"!==r||!m||void 0===m[n])continue;f=!0}h[n]=m&&m[n]||Z.style(e,n)}else u=void 0;if(Z.isEmptyObject(h))"inline"===("none"===u?b(e.nodeName):u)&&(d.display=u);else{m?"hidden"in m&&(f=m.hidden):m=ve.access(e,"fxshow",{}),s&&(m.hidden=!f),f?Z(e).show():p.done(function(){Z(e).hide()}),p.done(function(){var t;ve.remove(e,"fxshow");for(t in h)Z.style(e,t,h[t])});for(n in h)o=L(f?m[n]:0,n,p),n in m||(m[n]=o.start,f&&(o.end=o.start,o.start="width"===n||"height"===n?1:0))}}function N(e,t){var i,n,r,s,o;for(i in e)if(n=Z.camelCase(i),r=t[n],s=e[i],Z.isArray(s)&&(r=s[1],s=e[i]=s[0]),i!==n&&(e[n]=s,delete e[i]),o=Z.cssHooks[n],o&&"expand"in o){s=o.expand(s),delete e[n];for(i in s)i in e||(e[i]=s[i],t[i]=r)}else t[n]=r}function I(e,t,i){var n,r,s=0,o=tt.length,a=Z.Deferred().always(function(){delete l.elem}),l=function(){if(r)return!1;for(var t=Ke||_(),i=Math.max(0,u.startTime+u.duration-t),n=i/u.duration||0,s=1-n,o=0,l=u.tweens.length;l>o;o++)u.tweens[o].run(s);return a.notifyWith(e,[u,s,i]),1>s&&l?i:(a.resolveWith(e,[u]),!1)},u=a.promise({elem:e,props:Z.extend({},t),opts:Z.extend(!0,{specialEasing:{}},i),originalProperties:t,originalOptions:i,startTime:Ke||_(),duration:i.duration,tweens:[],createTween:function(t,i){var n=Z.Tween(e,u.opts,t,i,u.opts.specialEasing[t]||u.opts.easing);return u.tweens.push(n),n},stop:function(t){var i=0,n=t?u.tweens.length:0;if(r)return this;for(r=!0;n>i;i++)u.tweens[i].run(1);return t?a.resolveWith(e,[u,t]):a.rejectWith(e,[u,t]),this}}),c=u.props;for(N(c,u.opts.specialEasing);o>s;s++)if(n=tt[s].call(u,e,c,u.opts))return n;return Z.map(c,L,u),Z.isFunction(u.opts.start)&&u.opts.start.call(e,u),Z.fx.timer(Z.extend(l,{elem:e,anim:u,queue:u.opts.queue})),u.progress(u.opts.progress).done(u.opts.done,u.opts.complete).fail(u.opts.fail).always(u.opts.always)}function z(e){return function(t,i){"string"!=typeof t&&(i=t,t="*");var n,r=0,s=t.toLowerCase().match(de)||[];if(Z.isFunction(i))for(;n=s[r++];)"+"===n[0]?(n=n.slice(1)||"*",(e[n]=e[n]||[]).unshift(i)):(e[n]=e[n]||[]).push(i)}}function O(e,t,i,n){function r(a){var l;return s[a]=!0,Z.each(e[a]||[],function(e,a){var u=a(t,i,n);return"string"!=typeof u||o||s[u]?o?!(l=u):void 0:(t.dataTypes.unshift(u),r(u),!1)}),l}var s={},o=e===wt;return r(t.dataTypes[0])||!s["*"]&&r("*")}function B(e,t){var i,n,r=Z.ajaxSettings.flatOptions||{};for(i in t)void 0!==t[i]&&((r[i]?e:n||(n={}))[i]=t[i]);return n&&Z.extend(!0,e,n),e}function R(e,t,i){for(var n,r,s,o,a=e.contents,l=e.dataTypes;"*"===l[0];)l.shift(),void 0===n&&(n=e.mimeType||t.getResponseHeader("Content-Type"));if(n)for(r in a)if(a[r]&&a[r].test(n)){l.unshift(r);break}if(l[0]in i)s=l[0];else{for(r in i){if(!l[0]||e.converters[r+" "+l[0]]){s=r;break}o||(o=r)}s=s||o}return s?(s!==l[0]&&l.unshift(s),i[s]):void 0}function F(e,t,i,n){var r,s,o,a,l,u={},c=e.dataTypes.slice();if(c[1])for(o in e.converters)u[o.toLowerCase()]=e.converters[o];for(s=c.shift();s;)if(e.responseFields[s]&&(i[e.responseFields[s]]=t),!l&&n&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),l=s,s=c.shift())if("*"===s)s=l;else if("*"!==l&&l!==s){if(o=u[l+" "+s]||u["* "+s],!o)for(r in u)if(a=r.split(" "),a[1]===s&&(o=u[l+" "+a[0]]||u["* "+a[0]])){o===!0?o=u[r]:u[r]!==!0&&(s=a[0],c.unshift(a[1]));break}if(o!==!0)if(o&&e["throws"])t=o(t);else try{t=o(t)}catch(p){return{state:"parsererror",error:o?p:"No conversion from "+l+" to "+s}}}return{state:"success",data:t}}function H(e,t,i,n){var r;if(Z.isArray(t))Z.each(t,function(t,r){i||Ct.test(e)?n(e,r):H(e+"["+("object"==typeof r?t:"")+"]",r,i,n)});else if(i||"object"!==Z.type(t))n(e,t);else for(r in t)H(e+"["+r+"]",t[r],i,n)}function j(e){return Z.isWindow(e)?e:9===e.nodeType&&e.defaultView}var X=[],q=X.slice,Y=X.concat,W=X.push,$=X.indexOf,G={},V=G.toString,U=G.hasOwnProperty,K={},Q=e.document,J="2.1.4",Z=function(e,t){return new Z.fn.init(e,t)},ee=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,te=/^-ms-/,ie=/-([\da-z])/gi,ne=function(e,t){return t.toUpperCase()};Z.fn=Z.prototype={jquery:J,constructor:Z,selector:"",length:0,toArray:function(){return q.call(this)},get:function(e){return null!=e?0>e?this[e+this.length]:this[e]:q.call(this)},pushStack:function(e){var t=Z.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return Z.each(this,e,t)},map:function(e){return this.pushStack(Z.map(this,function(t,i){return e.call(t,i,t)}))},slice:function(){return this.pushStack(q.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,i=+e+(0>e?t:0);return this.pushStack(i>=0&&t>i?[this[i]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:W,sort:X.sort,splice:X.splice},Z.extend=Z.fn.extend=function(){var e,t,i,n,r,s,o=arguments[0]||{},a=1,l=arguments.length,u=!1;for("boolean"==typeof o&&(u=o,o=arguments[a]||{},a++),"object"==typeof o||Z.isFunction(o)||(o={}),a===l&&(o=this,a--);l>a;a++)if(null!=(e=arguments[a]))for(t in e)i=o[t],n=e[t],o!==n&&(u&&n&&(Z.isPlainObject(n)||(r=Z.isArray(n)))?(r?(r=!1,s=i&&Z.isArray(i)?i:[]):s=i&&Z.isPlainObject(i)?i:{},o[t]=Z.extend(u,s,n)):void 0!==n&&(o[t]=n));return o},Z.extend({expando:"jQuery"+(J+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isFunction:function(e){return"function"===Z.type(e)},isArray:Array.isArray,isWindow:function(e){return null!=e&&e===e.window},isNumeric:function(e){return!Z.isArray(e)&&e-parseFloat(e)+1>=0},isPlainObject:function(e){return"object"!==Z.type(e)||e.nodeType||Z.isWindow(e)?!1:e.constructor&&!U.call(e.constructor.prototype,"isPrototypeOf")?!1:!0},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?G[V.call(e)]||"object":typeof e},globalEval:function(e){var t,i=eval;e=Z.trim(e),e&&(1===e.indexOf("use strict")?(t=Q.createElement("script"),t.text=e,Q.head.appendChild(t).parentNode.removeChild(t)):i(e))},camelCase:function(e){return e.replace(te,"ms-").replace(ie,ne)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,n){var r,s=0,o=e.length,a=i(e);if(n){if(a)for(;o>s&&(r=t.apply(e[s],n),r!==!1);s++);else for(s in e)if(r=t.apply(e[s],n),r===!1)break}else if(a)for(;o>s&&(r=t.call(e[s],s,e[s]),r!==!1);s++);else for(s in e)if(r=t.call(e[s],s,e[s]),r===!1)break;return e},trim:function(e){return null==e?"":(e+"").replace(ee,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(i(Object(e))?Z.merge(n,"string"==typeof e?[e]:e):W.call(n,e)),n},inArray:function(e,t,i){return null==t?-1:$.call(t,e,i)},merge:function(e,t){for(var i=+t.length,n=0,r=e.length;i>n;n++)e[r++]=t[n];return e.length=r,e},grep:function(e,t,i){for(var n,r=[],s=0,o=e.length,a=!i;o>s;s++)n=!t(e[s],s),n!==a&&r.push(e[s]);return r},map:function(e,t,n){var r,s=0,o=e.length,a=i(e),l=[];if(a)for(;o>s;s++)r=t(e[s],s,n),null!=r&&l.push(r);else for(s in e)r=t(e[s],s,n),null!=r&&l.push(r);return Y.apply([],l)},guid:1,proxy:function(e,t){var i,n,r;return"string"==typeof t&&(i=e[t],t=e,e=i),Z.isFunction(e)?(n=q.call(arguments,2),r=function(){return e.apply(t||this,n.concat(q.call(arguments)))},r.guid=e.guid=e.guid||Z.guid++,r):void 0},now:Date.now,support:K}),Z.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){G["[object "+t+"]"]=t.toLowerCase()});var re=function(e){function t(e,t,i,n){var r,s,o,a,l,u,p,d,f,m;if((t?t.ownerDocument||t:H)!==M&&L(t),t=t||M,i=i||[],a=t.nodeType,"string"!=typeof e||!e||1!==a&&9!==a&&11!==a)return i;if(!n&&I){if(11!==a&&(r=ye.exec(e)))if(o=r[1]){if(9===a){if(s=t.getElementById(o),!s||!s.parentNode)return i;if(s.id===o)return i.push(s),i}else if(t.ownerDocument&&(s=t.ownerDocument.getElementById(o))&&R(t,s)&&s.id===o)return i.push(s),i}else{if(r[2])return J.apply(i,t.getElementsByTagName(e)),i;if((o=r[3])&&x.getElementsByClassName)return J.apply(i,t.getElementsByClassName(o)),i}if(x.qsa&&(!z||!z.test(e))){if(d=p=F,f=t,m=1!==a&&e,1===a&&"object"!==t.nodeName.toLowerCase()){for(u=k(e),(p=t.getAttribute("id"))?d=p.replace(be,"\\$&"):t.setAttribute("id",d),d="[id='"+d+"'] ",l=u.length;l--;)u[l]=d+h(u[l]);f=we.test(e)&&c(t.parentNode)||t,m=u.join(",")}if(m)try{return J.apply(i,f.querySelectorAll(m)),i}catch(g){}finally{p||t.removeAttribute("id")}}}return P(e.replace(le,"$1"),t,i,n)}function i(){function e(i,n){return t.push(i+" ")>S.cacheLength&&delete e[t.shift()],e[i+" "]=n}var t=[];return e}function n(e){return e[F]=!0,e}function r(e){var t=M.createElement("div");try{return!!e(t)}catch(i){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function s(e,t){for(var i=e.split("|"),n=e.length;n--;)S.attrHandle[i[n]]=t}function o(e,t){var i=t&&e,n=i&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||G)-(~e.sourceIndex||G);if(n)return n;if(i)for(;i=i.nextSibling;)if(i===t)return-1;return e?1:-1}function a(e){return function(t){var i=t.nodeName.toLowerCase();return"input"===i&&t.type===e}}function l(e){return function(t){var i=t.nodeName.toLowerCase();return("input"===i||"button"===i)&&t.type===e}}function u(e){return n(function(t){return t=+t,n(function(i,n){for(var r,s=e([],i.length,t),o=s.length;o--;)i[r=s[o]]&&(i[r]=!(n[r]=i[r]))})})}function c(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}function p(){}function h(e){for(var t=0,i=e.length,n="";i>t;t++)n+=e[t].value;return n}function d(e,t,i){var n=t.dir,r=i&&"parentNode"===n,s=X++;return t.first?function(t,i,s){for(;t=t[n];)if(1===t.nodeType||r)return e(t,i,s)}:function(t,i,o){var a,l,u=[j,s];if(o){for(;t=t[n];)if((1===t.nodeType||r)&&e(t,i,o))return!0}else for(;t=t[n];)if(1===t.nodeType||r){if(l=t[F]||(t[F]={}),(a=l[n])&&a[0]===j&&a[1]===s)return u[2]=a[2];if(l[n]=u,u[2]=e(t,i,o))return!0}}}function f(e){return e.length>1?function(t,i,n){for(var r=e.length;r--;)if(!e[r](t,i,n))return!1;return!0}:e[0]}function m(e,i,n){for(var r=0,s=i.length;s>r;r++)t(e,i[r],n);return n}function g(e,t,i,n,r){for(var s,o=[],a=0,l=e.length,u=null!=t;l>a;a++)(s=e[a])&&(!i||i(s,n,r))&&(o.push(s),u&&t.push(a));return o}function v(e,t,i,r,s,o){return r&&!r[F]&&(r=v(r)),s&&!s[F]&&(s=v(s,o)),n(function(n,o,a,l){var u,c,p,h=[],d=[],f=o.length,v=n||m(t||"*",a.nodeType?[a]:a,[]),y=!e||!n&&t?v:g(v,h,e,a,l),w=i?s||(n?e:f||r)?[]:o:y;if(i&&i(y,w,a,l),r)for(u=g(w,d),r(u,[],a,l),c=u.length;c--;)(p=u[c])&&(w[d[c]]=!(y[d[c]]=p));if(n){if(s||e){if(s){for(u=[],c=w.length;c--;)(p=w[c])&&u.push(y[c]=p);s(null,w=[],u,l)}for(c=w.length;c--;)(p=w[c])&&(u=s?ee(n,p):h[c])>-1&&(n[u]=!(o[u]=p))}}else w=g(w===o?w.splice(f,w.length):w),s?s(null,o,w,l):J.apply(o,w)})}function y(e){for(var t,i,n,r=e.length,s=S.relative[e[0].type],o=s||S.relative[" "],a=s?1:0,l=d(function(e){return e===t},o,!0),u=d(function(e){return ee(t,e)>-1},o,!0),c=[function(e,i,n){var r=!s&&(n||i!==A)||((t=i).nodeType?l(e,i,n):u(e,i,n));return t=null,r}];r>a;a++)if(i=S.relative[e[a].type])c=[d(f(c),i)];else{if(i=S.filter[e[a].type].apply(null,e[a].matches),i[F]){for(n=++a;r>n&&!S.relative[e[n].type];n++);return v(a>1&&f(c),a>1&&h(e.slice(0,a-1).concat({value:" "===e[a-2].type?"*":""})).replace(le,"$1"),i,n>a&&y(e.slice(a,n)),r>n&&y(e=e.slice(n)),r>n&&h(e))}c.push(i)}return f(c)}function w(e,i){var r=i.length>0,s=e.length>0,o=function(n,o,a,l,u){var c,p,h,d=0,f="0",m=n&&[],v=[],y=A,w=n||s&&S.find.TAG("*",u),b=j+=null==y?1:Math.random()||.1,x=w.length;for(u&&(A=o!==M&&o);f!==x&&null!=(c=w[f]);f++){if(s&&c){for(p=0;h=e[p++];)if(h(c,o,a)){l.push(c);break}u&&(j=b)}r&&((c=!h&&c)&&d--,n&&m.push(c))}if(d+=f,r&&f!==d){for(p=0;h=i[p++];)h(m,v,o,a);if(n){if(d>0)for(;f--;)m[f]||v[f]||(v[f]=K.call(l));v=g(v)}J.apply(l,v),u&&!n&&v.length>0&&d+i.length>1&&t.uniqueSort(l)}return u&&(j=b,A=y),m};return r?n(o):o}var b,x,S,T,C,k,E,P,A,_,D,L,M,N,I,z,O,B,R,F="sizzle"+1*new Date,H=e.document,j=0,X=0,q=i(),Y=i(),W=i(),$=function(e,t){return e===t&&(D=!0),0},G=1<<31,V={}.hasOwnProperty,U=[],K=U.pop,Q=U.push,J=U.push,Z=U.slice,ee=function(e,t){for(var i=0,n=e.length;n>i;i++)if(e[i]===t)return i;return-1},te="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",ie="[\\x20\\t\\r\\n\\f]",ne="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",re=ne.replace("w","w#"),se="\\["+ie+"*("+ne+")(?:"+ie+"*([*^$|!~]?=)"+ie+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+re+"))|)"+ie+"*\\]",oe=":("+ne+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+se+")*)|.*)\\)|)",ae=new RegExp(ie+"+","g"),le=new RegExp("^"+ie+"+|((?:^|[^\\\\])(?:\\\\.)*)"+ie+"+$","g"),ue=new RegExp("^"+ie+"*,"+ie+"*"),ce=new RegExp("^"+ie+"*([>+~]|"+ie+")"+ie+"*"),pe=new RegExp("="+ie+"*([^\\]'\"]*?)"+ie+"*\\]","g"),he=new RegExp(oe),de=new RegExp("^"+re+"$"),fe={ID:new RegExp("^#("+ne+")"),CLASS:new RegExp("^\\.("+ne+")"),TAG:new RegExp("^("+ne.replace("w","w*")+")"),ATTR:new RegExp("^"+se),PSEUDO:new RegExp("^"+oe),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ie+"*(even|odd|(([+-]|)(\\d*)n|)"+ie+"*(?:([+-]|)"+ie+"*(\\d+)|))"+ie+"*\\)|)","i"),bool:new RegExp("^(?:"+te+")$","i"),needsContext:new RegExp("^"+ie+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ie+"*((?:-\\d)?\\d*)"+ie+"*\\)|)(?=[^-]|$)","i")},me=/^(?:input|select|textarea|button)$/i,ge=/^h\d$/i,ve=/^[^{]+\{\s*\[native \w/,ye=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,we=/[+~]/,be=/'|\\/g,xe=new RegExp("\\\\([\\da-f]{1,6}"+ie+"?|("+ie+")|.)","ig"),Se=function(e,t,i){var n="0x"+t-65536;return n!==n||i?t:0>n?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320)},Te=function(){L()};try{J.apply(U=Z.call(H.childNodes),H.childNodes),U[H.childNodes.length].nodeType}catch(Ce){J={apply:U.length?function(e,t){Q.apply(e,Z.call(t))}:function(e,t){for(var i=e.length,n=0;e[i++]=t[n++];);e.length=i-1}}}x=t.support={},C=t.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},L=t.setDocument=function(e){var t,i,n=e?e.ownerDocument||e:H;return n!==M&&9===n.nodeType&&n.documentElement?(M=n,N=n.documentElement,i=n.defaultView,i&&i!==i.top&&(i.addEventListener?i.addEventListener("unload",Te,!1):i.attachEvent&&i.attachEvent("onunload",Te)),I=!C(n),x.attributes=r(function(e){return e.className="i",!e.getAttribute("className")}),x.getElementsByTagName=r(function(e){return e.appendChild(n.createComment("")),!e.getElementsByTagName("*").length}),x.getElementsByClassName=ve.test(n.getElementsByClassName),x.getById=r(function(e){return N.appendChild(e).id=F,!n.getElementsByName||!n.getElementsByName(F).length}),x.getById?(S.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&I){var i=t.getElementById(e);return i&&i.parentNode?[i]:[]}},S.filter.ID=function(e){var t=e.replace(xe,Se);return function(e){return e.getAttribute("id")===t}}):(delete S.find.ID,S.filter.ID=function(e){var t=e.replace(xe,Se);return function(e){var i="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return i&&i.value===t}}),S.find.TAG=x.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):x.qsa?t.querySelectorAll(e):void 0}:function(e,t){var i,n=[],r=0,s=t.getElementsByTagName(e);if("*"===e){for(;i=s[r++];)1===i.nodeType&&n.push(i);return n}return s},S.find.CLASS=x.getElementsByClassName&&function(e,t){return I?t.getElementsByClassName(e):void 0},O=[],z=[],(x.qsa=ve.test(n.querySelectorAll))&&(r(function(e){N.appendChild(e).innerHTML="<a id='"+F+"'></a><select id='"+F+"-\f]' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&z.push("[*^$]="+ie+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||z.push("\\["+ie+"*(?:value|"+te+")"),e.querySelectorAll("[id~="+F+"-]").length||z.push("~="),e.querySelectorAll(":checked").length||z.push(":checked"),e.querySelectorAll("a#"+F+"+*").length||z.push(".#.+[+~]")}),r(function(e){var t=n.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&z.push("name"+ie+"*[*^$|!~]?="),e.querySelectorAll(":enabled").length||z.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),z.push(",.*:")})),(x.matchesSelector=ve.test(B=N.matches||N.webkitMatchesSelector||N.mozMatchesSelector||N.oMatchesSelector||N.msMatchesSelector))&&r(function(e){x.disconnectedMatch=B.call(e,"div"),B.call(e,"[s!='']:x"),O.push("!=",oe)}),z=z.length&&new RegExp(z.join("|")),O=O.length&&new RegExp(O.join("|")),t=ve.test(N.compareDocumentPosition),R=t||ve.test(N.contains)?function(e,t){var i=9===e.nodeType?e.documentElement:e,n=t&&t.parentNode;return e===n||!(!n||1!==n.nodeType||!(i.contains?i.contains(n):e.compareDocumentPosition&&16&e.compareDocumentPosition(n)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},$=t?function(e,t){if(e===t)return D=!0,0;var i=!e.compareDocumentPosition-!t.compareDocumentPosition;return i?i:(i=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1,1&i||!x.sortDetached&&t.compareDocumentPosition(e)===i?e===n||e.ownerDocument===H&&R(H,e)?-1:t===n||t.ownerDocument===H&&R(H,t)?1:_?ee(_,e)-ee(_,t):0:4&i?-1:1)}:function(e,t){if(e===t)return D=!0,0;var i,r=0,s=e.parentNode,a=t.parentNode,l=[e],u=[t];if(!s||!a)return e===n?-1:t===n?1:s?-1:a?1:_?ee(_,e)-ee(_,t):0;if(s===a)return o(e,t);for(i=e;i=i.parentNode;)l.unshift(i);for(i=t;i=i.parentNode;)u.unshift(i);for(;l[r]===u[r];)r++;return r?o(l[r],u[r]):l[r]===H?-1:u[r]===H?1:0},n):M},t.matches=function(e,i){return t(e,null,null,i)},t.matchesSelector=function(e,i){if((e.ownerDocument||e)!==M&&L(e),i=i.replace(pe,"='$1']"),x.matchesSelector&&I&&(!O||!O.test(i))&&(!z||!z.test(i)))try{var n=B.call(e,i);if(n||x.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(r){}return t(i,M,null,[e]).length>0},t.contains=function(e,t){return(e.ownerDocument||e)!==M&&L(e),R(e,t)},t.attr=function(e,t){(e.ownerDocument||e)!==M&&L(e);var i=S.attrHandle[t.toLowerCase()],n=i&&V.call(S.attrHandle,t.toLowerCase())?i(e,t,!I):void 0;return void 0!==n?n:x.attributes||!I?e.getAttribute(t):(n=e.getAttributeNode(t))&&n.specified?n.value:null},t.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},t.uniqueSort=function(e){var t,i=[],n=0,r=0;if(D=!x.detectDuplicates,_=!x.sortStable&&e.slice(0),e.sort($),D){for(;t=e[r++];)t===e[r]&&(n=i.push(r));for(;n--;)e.splice(i[n],1)}return _=null,e},T=t.getText=function(e){var t,i="",n=0,r=e.nodeType;if(r){if(1===r||9===r||11===r){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)i+=T(e)}else if(3===r||4===r)return e.nodeValue}else for(;t=e[n++];)i+=T(t);return i},S=t.selectors={cacheLength:50,createPseudo:n,match:fe,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(xe,Se),e[3]=(e[3]||e[4]||e[5]||"").replace(xe,Se),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||t.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&t.error(e[0]),e},PSEUDO:function(e){var t,i=!e[6]&&e[2];return fe.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":i&&he.test(i)&&(t=k(i,!0))&&(t=i.indexOf(")",i.length-t)-i.length)&&(e[0]=e[0].slice(0,t), -e[2]=i.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(xe,Se).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=q[e+" "];return t||(t=new RegExp("(^|"+ie+")"+e+"("+ie+"|$)"))&&q(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,i,n){return function(r){var s=t.attr(r,e);return null==s?"!="===i:i?(s+="","="===i?s===n:"!="===i?s!==n:"^="===i?n&&0===s.indexOf(n):"*="===i?n&&s.indexOf(n)>-1:"$="===i?n&&s.slice(-n.length)===n:"~="===i?(" "+s.replace(ae," ")+" ").indexOf(n)>-1:"|="===i?s===n||s.slice(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,i,n,r){var s="nth"!==e.slice(0,3),o="last"!==e.slice(-4),a="of-type"===t;return 1===n&&0===r?function(e){return!!e.parentNode}:function(t,i,l){var u,c,p,h,d,f,m=s!==o?"nextSibling":"previousSibling",g=t.parentNode,v=a&&t.nodeName.toLowerCase(),y=!l&&!a;if(g){if(s){for(;m;){for(p=t;p=p[m];)if(a?p.nodeName.toLowerCase()===v:1===p.nodeType)return!1;f=m="only"===e&&!f&&"nextSibling"}return!0}if(f=[o?g.firstChild:g.lastChild],o&&y){for(c=g[F]||(g[F]={}),u=c[e]||[],d=u[0]===j&&u[1],h=u[0]===j&&u[2],p=d&&g.childNodes[d];p=++d&&p&&p[m]||(h=d=0)||f.pop();)if(1===p.nodeType&&++h&&p===t){c[e]=[j,d,h];break}}else if(y&&(u=(t[F]||(t[F]={}))[e])&&u[0]===j)h=u[1];else for(;(p=++d&&p&&p[m]||(h=d=0)||f.pop())&&((a?p.nodeName.toLowerCase()!==v:1!==p.nodeType)||!++h||(y&&((p[F]||(p[F]={}))[e]=[j,h]),p!==t)););return h-=r,h===n||h%n===0&&h/n>=0}}},PSEUDO:function(e,i){var r,s=S.pseudos[e]||S.setFilters[e.toLowerCase()]||t.error("unsupported pseudo: "+e);return s[F]?s(i):s.length>1?(r=[e,e,"",i],S.setFilters.hasOwnProperty(e.toLowerCase())?n(function(e,t){for(var n,r=s(e,i),o=r.length;o--;)n=ee(e,r[o]),e[n]=!(t[n]=r[o])}):function(e){return s(e,0,r)}):s}},pseudos:{not:n(function(e){var t=[],i=[],r=E(e.replace(le,"$1"));return r[F]?n(function(e,t,i,n){for(var s,o=r(e,null,n,[]),a=e.length;a--;)(s=o[a])&&(e[a]=!(t[a]=s))}):function(e,n,s){return t[0]=e,r(t,null,s,i),t[0]=null,!i.pop()}}),has:n(function(e){return function(i){return t(e,i).length>0}}),contains:n(function(e){return e=e.replace(xe,Se),function(t){return(t.textContent||t.innerText||T(t)).indexOf(e)>-1}}),lang:n(function(e){return de.test(e||"")||t.error("unsupported lang: "+e),e=e.replace(xe,Se).toLowerCase(),function(t){var i;do if(i=I?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return i=i.toLowerCase(),i===e||0===i.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var i=e.location&&e.location.hash;return i&&i.slice(1)===t.id},root:function(e){return e===N},focus:function(e){return e===M.activeElement&&(!M.hasFocus||M.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!S.pseudos.empty(e)},header:function(e){return ge.test(e.nodeName)},input:function(e){return me.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:u(function(){return[0]}),last:u(function(e,t){return[t-1]}),eq:u(function(e,t,i){return[0>i?i+t:i]}),even:u(function(e,t){for(var i=0;t>i;i+=2)e.push(i);return e}),odd:u(function(e,t){for(var i=1;t>i;i+=2)e.push(i);return e}),lt:u(function(e,t,i){for(var n=0>i?i+t:i;--n>=0;)e.push(n);return e}),gt:u(function(e,t,i){for(var n=0>i?i+t:i;++n<t;)e.push(n);return e})}},S.pseudos.nth=S.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})S.pseudos[b]=a(b);for(b in{submit:!0,reset:!0})S.pseudos[b]=l(b);return p.prototype=S.filters=S.pseudos,S.setFilters=new p,k=t.tokenize=function(e,i){var n,r,s,o,a,l,u,c=Y[e+" "];if(c)return i?0:c.slice(0);for(a=e,l=[],u=S.preFilter;a;){(!n||(r=ue.exec(a)))&&(r&&(a=a.slice(r[0].length)||a),l.push(s=[])),n=!1,(r=ce.exec(a))&&(n=r.shift(),s.push({value:n,type:r[0].replace(le," ")}),a=a.slice(n.length));for(o in S.filter)!(r=fe[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),s.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return i?a.length:a?t.error(e):Y(e,l).slice(0)},E=t.compile=function(e,t){var i,n=[],r=[],s=W[e+" "];if(!s){for(t||(t=k(e)),i=t.length;i--;)s=y(t[i]),s[F]?n.push(s):r.push(s);s=W(e,w(r,n)),s.selector=e}return s},P=t.select=function(e,t,i,n){var r,s,o,a,l,u="function"==typeof e&&e,p=!n&&k(e=u.selector||e);if(i=i||[],1===p.length){if(s=p[0]=p[0].slice(0),s.length>2&&"ID"===(o=s[0]).type&&x.getById&&9===t.nodeType&&I&&S.relative[s[1].type]){if(t=(S.find.ID(o.matches[0].replace(xe,Se),t)||[])[0],!t)return i;u&&(t=t.parentNode),e=e.slice(s.shift().value.length)}for(r=fe.needsContext.test(e)?0:s.length;r--&&(o=s[r],!S.relative[a=o.type]);)if((l=S.find[a])&&(n=l(o.matches[0].replace(xe,Se),we.test(s[0].type)&&c(t.parentNode)||t))){if(s.splice(r,1),e=n.length&&h(s),!e)return J.apply(i,n),i;break}}return(u||E(e,p))(n,t,!I,i,we.test(e)&&c(t.parentNode)||t),i},x.sortStable=F.split("").sort($).join("")===F,x.detectDuplicates=!!D,L(),x.sortDetached=r(function(e){return 1&e.compareDocumentPosition(M.createElement("div"))}),r(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||s("type|href|height|width",function(e,t,i){return i?void 0:e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),x.attributes&&r(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||s("value",function(e,t,i){return i||"input"!==e.nodeName.toLowerCase()?void 0:e.defaultValue}),r(function(e){return null==e.getAttribute("disabled")})||s(te,function(e,t,i){var n;return i?void 0:e[t]===!0?t.toLowerCase():(n=e.getAttributeNode(t))&&n.specified?n.value:null}),t}(e);Z.find=re,Z.expr=re.selectors,Z.expr[":"]=Z.expr.pseudos,Z.unique=re.uniqueSort,Z.text=re.getText,Z.isXMLDoc=re.isXML,Z.contains=re.contains;var se=Z.expr.match.needsContext,oe=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,ae=/^.[^:#\[\.,]*$/;Z.filter=function(e,t,i){var n=t[0];return i&&(e=":not("+e+")"),1===t.length&&1===n.nodeType?Z.find.matchesSelector(n,e)?[n]:[]:Z.find.matches(e,Z.grep(t,function(e){return 1===e.nodeType}))},Z.fn.extend({find:function(e){var t,i=this.length,n=[],r=this;if("string"!=typeof e)return this.pushStack(Z(e).filter(function(){for(t=0;i>t;t++)if(Z.contains(r[t],this))return!0}));for(t=0;i>t;t++)Z.find(e,r[t],n);return n=this.pushStack(i>1?Z.unique(n):n),n.selector=this.selector?this.selector+" "+e:e,n},filter:function(e){return this.pushStack(n(this,e||[],!1))},not:function(e){return this.pushStack(n(this,e||[],!0))},is:function(e){return!!n(this,"string"==typeof e&&se.test(e)?Z(e):e||[],!1).length}});var le,ue=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,ce=Z.fn.init=function(e,t){var i,n;if(!e)return this;if("string"==typeof e){if(i="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:ue.exec(e),!i||!i[1]&&t)return!t||t.jquery?(t||le).find(e):this.constructor(t).find(e);if(i[1]){if(t=t instanceof Z?t[0]:t,Z.merge(this,Z.parseHTML(i[1],t&&t.nodeType?t.ownerDocument||t:Q,!0)),oe.test(i[1])&&Z.isPlainObject(t))for(i in t)Z.isFunction(this[i])?this[i](t[i]):this.attr(i,t[i]);return this}return n=Q.getElementById(i[2]),n&&n.parentNode&&(this.length=1,this[0]=n),this.context=Q,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):Z.isFunction(e)?"undefined"!=typeof le.ready?le.ready(e):e(Z):(void 0!==e.selector&&(this.selector=e.selector,this.context=e.context),Z.makeArray(e,this))};ce.prototype=Z.fn,le=Z(Q);var pe=/^(?:parents|prev(?:Until|All))/,he={children:!0,contents:!0,next:!0,prev:!0};Z.extend({dir:function(e,t,i){for(var n=[],r=void 0!==i;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(r&&Z(e).is(i))break;n.push(e)}return n},sibling:function(e,t){for(var i=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&i.push(e);return i}}),Z.fn.extend({has:function(e){var t=Z(e,this),i=t.length;return this.filter(function(){for(var e=0;i>e;e++)if(Z.contains(this,t[e]))return!0})},closest:function(e,t){for(var i,n=0,r=this.length,s=[],o=se.test(e)||"string"!=typeof e?Z(e,t||this.context):0;r>n;n++)for(i=this[n];i&&i!==t;i=i.parentNode)if(i.nodeType<11&&(o?o.index(i)>-1:1===i.nodeType&&Z.find.matchesSelector(i,e))){s.push(i);break}return this.pushStack(s.length>1?Z.unique(s):s)},index:function(e){return e?"string"==typeof e?$.call(Z(e),this[0]):$.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(Z.unique(Z.merge(this.get(),Z(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),Z.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return Z.dir(e,"parentNode")},parentsUntil:function(e,t,i){return Z.dir(e,"parentNode",i)},next:function(e){return r(e,"nextSibling")},prev:function(e){return r(e,"previousSibling")},nextAll:function(e){return Z.dir(e,"nextSibling")},prevAll:function(e){return Z.dir(e,"previousSibling")},nextUntil:function(e,t,i){return Z.dir(e,"nextSibling",i)},prevUntil:function(e,t,i){return Z.dir(e,"previousSibling",i)},siblings:function(e){return Z.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return Z.sibling(e.firstChild)},contents:function(e){return e.contentDocument||Z.merge([],e.childNodes)}},function(e,t){Z.fn[e]=function(i,n){var r=Z.map(this,t,i);return"Until"!==e.slice(-5)&&(n=i),n&&"string"==typeof n&&(r=Z.filter(n,r)),this.length>1&&(he[e]||Z.unique(r),pe.test(e)&&r.reverse()),this.pushStack(r)}});var de=/\S+/g,fe={};Z.Callbacks=function(e){e="string"==typeof e?fe[e]||s(e):Z.extend({},e);var t,i,n,r,o,a,l=[],u=!e.once&&[],c=function(s){for(t=e.memory&&s,i=!0,a=r||0,r=0,o=l.length,n=!0;l&&o>a;a++)if(l[a].apply(s[0],s[1])===!1&&e.stopOnFalse){t=!1;break}n=!1,l&&(u?u.length&&c(u.shift()):t?l=[]:p.disable())},p={add:function(){if(l){var i=l.length;!function s(t){Z.each(t,function(t,i){var n=Z.type(i);"function"===n?e.unique&&p.has(i)||l.push(i):i&&i.length&&"string"!==n&&s(i)})}(arguments),n?o=l.length:t&&(r=i,c(t))}return this},remove:function(){return l&&Z.each(arguments,function(e,t){for(var i;(i=Z.inArray(t,l,i))>-1;)l.splice(i,1),n&&(o>=i&&o--,a>=i&&a--)}),this},has:function(e){return e?Z.inArray(e,l)>-1:!(!l||!l.length)},empty:function(){return l=[],o=0,this},disable:function(){return l=u=t=void 0,this},disabled:function(){return!l},lock:function(){return u=void 0,t||p.disable(),this},locked:function(){return!u},fireWith:function(e,t){return!l||i&&!u||(t=t||[],t=[e,t.slice?t.slice():t],n?u.push(t):c(t)),this},fire:function(){return p.fireWith(this,arguments),this},fired:function(){return!!i}};return p},Z.extend({Deferred:function(e){var t=[["resolve","done",Z.Callbacks("once memory"),"resolved"],["reject","fail",Z.Callbacks("once memory"),"rejected"],["notify","progress",Z.Callbacks("memory")]],i="pending",n={state:function(){return i},always:function(){return r.done(arguments).fail(arguments),this},then:function(){var e=arguments;return Z.Deferred(function(i){Z.each(t,function(t,s){var o=Z.isFunction(e[t])&&e[t];r[s[1]](function(){var e=o&&o.apply(this,arguments);e&&Z.isFunction(e.promise)?e.promise().done(i.resolve).fail(i.reject).progress(i.notify):i[s[0]+"With"](this===n?i.promise():this,o?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?Z.extend(e,n):n}},r={};return n.pipe=n.then,Z.each(t,function(e,s){var o=s[2],a=s[3];n[s[1]]=o.add,a&&o.add(function(){i=a},t[1^e][2].disable,t[2][2].lock),r[s[0]]=function(){return r[s[0]+"With"](this===r?n:this,arguments),this},r[s[0]+"With"]=o.fireWith}),n.promise(r),e&&e.call(r,r),r},when:function(e){var t,i,n,r=0,s=q.call(arguments),o=s.length,a=1!==o||e&&Z.isFunction(e.promise)?o:0,l=1===a?e:Z.Deferred(),u=function(e,i,n){return function(r){i[e]=this,n[e]=arguments.length>1?q.call(arguments):r,n===t?l.notifyWith(i,n):--a||l.resolveWith(i,n)}};if(o>1)for(t=new Array(o),i=new Array(o),n=new Array(o);o>r;r++)s[r]&&Z.isFunction(s[r].promise)?s[r].promise().done(u(r,n,s)).fail(l.reject).progress(u(r,i,t)):--a;return a||l.resolveWith(n,s),l.promise()}});var me;Z.fn.ready=function(e){return Z.ready.promise().done(e),this},Z.extend({isReady:!1,readyWait:1,holdReady:function(e){e?Z.readyWait++:Z.ready(!0)},ready:function(e){(e===!0?--Z.readyWait:Z.isReady)||(Z.isReady=!0,e!==!0&&--Z.readyWait>0||(me.resolveWith(Q,[Z]),Z.fn.triggerHandler&&(Z(Q).triggerHandler("ready"),Z(Q).off("ready"))))}}),Z.ready.promise=function(t){return me||(me=Z.Deferred(),"complete"===Q.readyState?setTimeout(Z.ready):(Q.addEventListener("DOMContentLoaded",o,!1),e.addEventListener("load",o,!1))),me.promise(t)},Z.ready.promise();var ge=Z.access=function(e,t,i,n,r,s,o){var a=0,l=e.length,u=null==i;if("object"===Z.type(i)){r=!0;for(a in i)Z.access(e,t,a,i[a],!0,s,o)}else if(void 0!==n&&(r=!0,Z.isFunction(n)||(o=!0),u&&(o?(t.call(e,n),t=null):(u=t,t=function(e,t,i){return u.call(Z(e),i)})),t))for(;l>a;a++)t(e[a],i,o?n:n.call(e[a],a,t(e[a],i)));return r?e:u?t.call(e):l?t(e[0],i):s};Z.acceptData=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType},a.uid=1,a.accepts=Z.acceptData,a.prototype={key:function(e){if(!a.accepts(e))return 0;var t={},i=e[this.expando];if(!i){i=a.uid++;try{t[this.expando]={value:i},Object.defineProperties(e,t)}catch(n){t[this.expando]=i,Z.extend(e,t)}}return this.cache[i]||(this.cache[i]={}),i},set:function(e,t,i){var n,r=this.key(e),s=this.cache[r];if("string"==typeof t)s[t]=i;else if(Z.isEmptyObject(s))Z.extend(this.cache[r],t);else for(n in t)s[n]=t[n];return s},get:function(e,t){var i=this.cache[this.key(e)];return void 0===t?i:i[t]},access:function(e,t,i){var n;return void 0===t||t&&"string"==typeof t&&void 0===i?(n=this.get(e,t),void 0!==n?n:this.get(e,Z.camelCase(t))):(this.set(e,t,i),void 0!==i?i:t)},remove:function(e,t){var i,n,r,s=this.key(e),o=this.cache[s];if(void 0===t)this.cache[s]={};else{Z.isArray(t)?n=t.concat(t.map(Z.camelCase)):(r=Z.camelCase(t),t in o?n=[t,r]:(n=r,n=n in o?[n]:n.match(de)||[])),i=n.length;for(;i--;)delete o[n[i]]}},hasData:function(e){return!Z.isEmptyObject(this.cache[e[this.expando]]||{})},discard:function(e){e[this.expando]&&delete this.cache[e[this.expando]]}};var ve=new a,ye=new a,we=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,be=/([A-Z])/g;Z.extend({hasData:function(e){return ye.hasData(e)||ve.hasData(e)},data:function(e,t,i){return ye.access(e,t,i)},removeData:function(e,t){ye.remove(e,t)},_data:function(e,t,i){return ve.access(e,t,i)},_removeData:function(e,t){ve.remove(e,t)}}),Z.fn.extend({data:function(e,t){var i,n,r,s=this[0],o=s&&s.attributes;if(void 0===e){if(this.length&&(r=ye.get(s),1===s.nodeType&&!ve.get(s,"hasDataAttrs"))){for(i=o.length;i--;)o[i]&&(n=o[i].name,0===n.indexOf("data-")&&(n=Z.camelCase(n.slice(5)),l(s,n,r[n])));ve.set(s,"hasDataAttrs",!0)}return r}return"object"==typeof e?this.each(function(){ye.set(this,e)}):ge(this,function(t){var i,n=Z.camelCase(e);if(s&&void 0===t){if(i=ye.get(s,e),void 0!==i)return i;if(i=ye.get(s,n),void 0!==i)return i;if(i=l(s,n,void 0),void 0!==i)return i}else this.each(function(){var i=ye.get(this,n);ye.set(this,n,t),-1!==e.indexOf("-")&&void 0!==i&&ye.set(this,e,t)})},null,t,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){ye.remove(this,e)})}}),Z.extend({queue:function(e,t,i){var n;return e?(t=(t||"fx")+"queue",n=ve.get(e,t),i&&(!n||Z.isArray(i)?n=ve.access(e,t,Z.makeArray(i)):n.push(i)),n||[]):void 0},dequeue:function(e,t){t=t||"fx";var i=Z.queue(e,t),n=i.length,r=i.shift(),s=Z._queueHooks(e,t),o=function(){Z.dequeue(e,t)};"inprogress"===r&&(r=i.shift(),n--),r&&("fx"===t&&i.unshift("inprogress"),delete s.stop,r.call(e,o,s)),!n&&s&&s.empty.fire()},_queueHooks:function(e,t){var i=t+"queueHooks";return ve.get(e,i)||ve.access(e,i,{empty:Z.Callbacks("once memory").add(function(){ve.remove(e,[t+"queue",i])})})}}),Z.fn.extend({queue:function(e,t){var i=2;return"string"!=typeof e&&(t=e,e="fx",i--),arguments.length<i?Z.queue(this[0],e):void 0===t?this:this.each(function(){var i=Z.queue(this,e,t);Z._queueHooks(this,e),"fx"===e&&"inprogress"!==i[0]&&Z.dequeue(this,e)})},dequeue:function(e){return this.each(function(){Z.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var i,n=1,r=Z.Deferred(),s=this,o=this.length,a=function(){--n||r.resolveWith(s,[s])};for("string"!=typeof e&&(t=e,e=void 0),e=e||"fx";o--;)i=ve.get(s[o],e+"queueHooks"),i&&i.empty&&(n++,i.empty.add(a));return a(),r.promise(t)}});var xe=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,Se=["Top","Right","Bottom","Left"],Te=function(e,t){return e=t||e,"none"===Z.css(e,"display")||!Z.contains(e.ownerDocument,e)},Ce=/^(?:checkbox|radio)$/i;!function(){var e=Q.createDocumentFragment(),t=e.appendChild(Q.createElement("div")),i=Q.createElement("input");i.setAttribute("type","radio"),i.setAttribute("checked","checked"),i.setAttribute("name","t"),t.appendChild(i),K.checkClone=t.cloneNode(!0).cloneNode(!0).lastChild.checked,t.innerHTML="<textarea>x</textarea>",K.noCloneChecked=!!t.cloneNode(!0).lastChild.defaultValue}();var ke="undefined";K.focusinBubbles="onfocusin"in e;var Ee=/^key/,Pe=/^(?:mouse|pointer|contextmenu)|click/,Ae=/^(?:focusinfocus|focusoutblur)$/,_e=/^([^.]*)(?:\.(.+)|)$/;Z.event={global:{},add:function(e,t,i,n,r){var s,o,a,l,u,c,p,h,d,f,m,g=ve.get(e);if(g)for(i.handler&&(s=i,i=s.handler,r=s.selector),i.guid||(i.guid=Z.guid++),(l=g.events)||(l=g.events={}),(o=g.handle)||(o=g.handle=function(t){return typeof Z!==ke&&Z.event.triggered!==t.type?Z.event.dispatch.apply(e,arguments):void 0}),t=(t||"").match(de)||[""],u=t.length;u--;)a=_e.exec(t[u])||[],d=m=a[1],f=(a[2]||"").split(".").sort(),d&&(p=Z.event.special[d]||{},d=(r?p.delegateType:p.bindType)||d,p=Z.event.special[d]||{},c=Z.extend({type:d,origType:m,data:n,handler:i,guid:i.guid,selector:r,needsContext:r&&Z.expr.match.needsContext.test(r),namespace:f.join(".")},s),(h=l[d])||(h=l[d]=[],h.delegateCount=0,p.setup&&p.setup.call(e,n,f,o)!==!1||e.addEventListener&&e.addEventListener(d,o,!1)),p.add&&(p.add.call(e,c),c.handler.guid||(c.handler.guid=i.guid)),r?h.splice(h.delegateCount++,0,c):h.push(c),Z.event.global[d]=!0)},remove:function(e,t,i,n,r){var s,o,a,l,u,c,p,h,d,f,m,g=ve.hasData(e)&&ve.get(e);if(g&&(l=g.events)){for(t=(t||"").match(de)||[""],u=t.length;u--;)if(a=_e.exec(t[u])||[],d=m=a[1],f=(a[2]||"").split(".").sort(),d){for(p=Z.event.special[d]||{},d=(n?p.delegateType:p.bindType)||d,h=l[d]||[],a=a[2]&&new RegExp("(^|\\.)"+f.join("\\.(?:.*\\.|)")+"(\\.|$)"),o=s=h.length;s--;)c=h[s],!r&&m!==c.origType||i&&i.guid!==c.guid||a&&!a.test(c.namespace)||n&&n!==c.selector&&("**"!==n||!c.selector)||(h.splice(s,1),c.selector&&h.delegateCount--,p.remove&&p.remove.call(e,c));o&&!h.length&&(p.teardown&&p.teardown.call(e,f,g.handle)!==!1||Z.removeEvent(e,d,g.handle),delete l[d])}else for(d in l)Z.event.remove(e,d+t[u],i,n,!0);Z.isEmptyObject(l)&&(delete g.handle,ve.remove(e,"events"))}},trigger:function(t,i,n,r){var s,o,a,l,u,c,p,h=[n||Q],d=U.call(t,"type")?t.type:t,f=U.call(t,"namespace")?t.namespace.split("."):[];if(o=a=n=n||Q,3!==n.nodeType&&8!==n.nodeType&&!Ae.test(d+Z.event.triggered)&&(d.indexOf(".")>=0&&(f=d.split("."),d=f.shift(),f.sort()),u=d.indexOf(":")<0&&"on"+d,t=t[Z.expando]?t:new Z.Event(d,"object"==typeof t&&t),t.isTrigger=r?2:3,t.namespace=f.join("."),t.namespace_re=t.namespace?new RegExp("(^|\\.)"+f.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=n),i=null==i?[t]:Z.makeArray(i,[t]),p=Z.event.special[d]||{},r||!p.trigger||p.trigger.apply(n,i)!==!1)){if(!r&&!p.noBubble&&!Z.isWindow(n)){for(l=p.delegateType||d,Ae.test(l+d)||(o=o.parentNode);o;o=o.parentNode)h.push(o),a=o;a===(n.ownerDocument||Q)&&h.push(a.defaultView||a.parentWindow||e)}for(s=0;(o=h[s++])&&!t.isPropagationStopped();)t.type=s>1?l:p.bindType||d,c=(ve.get(o,"events")||{})[t.type]&&ve.get(o,"handle"),c&&c.apply(o,i),c=u&&o[u],c&&c.apply&&Z.acceptData(o)&&(t.result=c.apply(o,i),t.result===!1&&t.preventDefault());return t.type=d,r||t.isDefaultPrevented()||p._default&&p._default.apply(h.pop(),i)!==!1||!Z.acceptData(n)||u&&Z.isFunction(n[d])&&!Z.isWindow(n)&&(a=n[u],a&&(n[u]=null),Z.event.triggered=d,n[d](),Z.event.triggered=void 0,a&&(n[u]=a)),t.result}},dispatch:function(e){e=Z.event.fix(e);var t,i,n,r,s,o=[],a=q.call(arguments),l=(ve.get(this,"events")||{})[e.type]||[],u=Z.event.special[e.type]||{};if(a[0]=e,e.delegateTarget=this,!u.preDispatch||u.preDispatch.call(this,e)!==!1){for(o=Z.event.handlers.call(this,e,l),t=0;(r=o[t++])&&!e.isPropagationStopped();)for(e.currentTarget=r.elem,i=0;(s=r.handlers[i++])&&!e.isImmediatePropagationStopped();)(!e.namespace_re||e.namespace_re.test(s.namespace))&&(e.handleObj=s,e.data=s.data,n=((Z.event.special[s.origType]||{}).handle||s.handler).apply(r.elem,a),void 0!==n&&(e.result=n)===!1&&(e.preventDefault(),e.stopPropagation()));return u.postDispatch&&u.postDispatch.call(this,e),e.result}},handlers:function(e,t){var i,n,r,s,o=[],a=t.delegateCount,l=e.target;if(a&&l.nodeType&&(!e.button||"click"!==e.type))for(;l!==this;l=l.parentNode||this)if(l.disabled!==!0||"click"!==e.type){for(n=[],i=0;a>i;i++)s=t[i],r=s.selector+" ",void 0===n[r]&&(n[r]=s.needsContext?Z(r,this).index(l)>=0:Z.find(r,this,null,[l]).length),n[r]&&n.push(s);n.length&&o.push({elem:l,handlers:n})}return a<t.length&&o.push({elem:this,handlers:t.slice(a)}),o},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,t){var i,n,r,s=t.button;return null==e.pageX&&null!=t.clientX&&(i=e.target.ownerDocument||Q,n=i.documentElement,r=i.body,e.pageX=t.clientX+(n&&n.scrollLeft||r&&r.scrollLeft||0)-(n&&n.clientLeft||r&&r.clientLeft||0),e.pageY=t.clientY+(n&&n.scrollTop||r&&r.scrollTop||0)-(n&&n.clientTop||r&&r.clientTop||0)),e.which||void 0===s||(e.which=1&s?1:2&s?3:4&s?2:0),e}},fix:function(e){if(e[Z.expando])return e;var t,i,n,r=e.type,s=e,o=this.fixHooks[r];for(o||(this.fixHooks[r]=o=Pe.test(r)?this.mouseHooks:Ee.test(r)?this.keyHooks:{}),n=o.props?this.props.concat(o.props):this.props,e=new Z.Event(s),t=n.length;t--;)i=n[t],e[i]=s[i];return e.target||(e.target=Q),3===e.target.nodeType&&(e.target=e.target.parentNode),o.filter?o.filter(e,s):e},special:{load:{noBubble:!0},focus:{trigger:function(){return this!==p()&&this.focus?(this.focus(),!1):void 0},delegateType:"focusin"},blur:{trigger:function(){return this===p()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return"checkbox"===this.type&&this.click&&Z.nodeName(this,"input")?(this.click(),!1):void 0},_default:function(e){return Z.nodeName(e.target,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,i,n){var r=Z.extend(new Z.Event,i,{type:e,isSimulated:!0,originalEvent:{}});n?Z.event.trigger(r,null,t):Z.event.dispatch.call(t,r),r.isDefaultPrevented()&&i.preventDefault()}},Z.removeEvent=function(e,t,i){e.removeEventListener&&e.removeEventListener(t,i,!1)},Z.Event=function(e,t){return this instanceof Z.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&e.returnValue===!1?u:c):this.type=e,t&&Z.extend(this,t),this.timeStamp=e&&e.timeStamp||Z.now(),void(this[Z.expando]=!0)):new Z.Event(e,t)},Z.Event.prototype={isDefaultPrevented:c,isPropagationStopped:c,isImmediatePropagationStopped:c,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=u,e&&e.preventDefault&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=u,e&&e.stopPropagation&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=u,e&&e.stopImmediatePropagation&&e.stopImmediatePropagation(),this.stopPropagation()}},Z.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,t){Z.event.special[e]={delegateType:t,bindType:t,handle:function(e){var i,n=this,r=e.relatedTarget,s=e.handleObj;return(!r||r!==n&&!Z.contains(n,r))&&(e.type=s.origType,i=s.handler.apply(this,arguments),e.type=t),i}}}),K.focusinBubbles||Z.each({focus:"focusin",blur:"focusout"},function(e,t){var i=function(e){Z.event.simulate(t,e.target,Z.event.fix(e),!0)};Z.event.special[t]={setup:function(){var n=this.ownerDocument||this,r=ve.access(n,t);r||n.addEventListener(e,i,!0),ve.access(n,t,(r||0)+1)},teardown:function(){var n=this.ownerDocument||this,r=ve.access(n,t)-1;r?ve.access(n,t,r):(n.removeEventListener(e,i,!0),ve.remove(n,t))}}}),Z.fn.extend({on:function(e,t,i,n,r){var s,o;if("object"==typeof e){"string"!=typeof t&&(i=i||t,t=void 0);for(o in e)this.on(o,t,i,e[o],r);return this}if(null==i&&null==n?(n=t,i=t=void 0):null==n&&("string"==typeof t?(n=i,i=void 0):(n=i,i=t,t=void 0)),n===!1)n=c;else if(!n)return this;return 1===r&&(s=n,n=function(e){return Z().off(e),s.apply(this,arguments)},n.guid=s.guid||(s.guid=Z.guid++)),this.each(function(){Z.event.add(this,e,n,i,t)})},one:function(e,t,i,n){return this.on(e,t,i,n,1)},off:function(e,t,i){var n,r;if(e&&e.preventDefault&&e.handleObj)return n=e.handleObj,Z(e.delegateTarget).off(n.namespace?n.origType+"."+n.namespace:n.origType,n.selector,n.handler),this;if("object"==typeof e){for(r in e)this.off(r,t,e[r]);return this}return(t===!1||"function"==typeof t)&&(i=t,t=void 0),i===!1&&(i=c),this.each(function(){Z.event.remove(this,e,i,t)})},trigger:function(e,t){return this.each(function(){Z.event.trigger(e,t,this)})},triggerHandler:function(e,t){var i=this[0];return i?Z.event.trigger(e,t,i,!0):void 0}});var De=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,Le=/<([\w:]+)/,Me=/<|&#?\w+;/,Ne=/<(?:script|style|link)/i,Ie=/checked\s*(?:[^=]|=\s*.checked.)/i,ze=/^$|\/(?:java|ecma)script/i,Oe=/^true\/(.*)/,Be=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,Re={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};Re.optgroup=Re.option,Re.tbody=Re.tfoot=Re.colgroup=Re.caption=Re.thead,Re.th=Re.td,Z.extend({clone:function(e,t,i){var n,r,s,o,a=e.cloneNode(!0),l=Z.contains(e.ownerDocument,e);if(!(K.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||Z.isXMLDoc(e)))for(o=v(a),s=v(e),n=0,r=s.length;r>n;n++)y(s[n],o[n]);if(t)if(i)for(s=s||v(e),o=o||v(a),n=0,r=s.length;r>n;n++)g(s[n],o[n]);else g(e,a);return o=v(a,"script"),o.length>0&&m(o,!l&&v(e,"script")),a},buildFragment:function(e,t,i,n){for(var r,s,o,a,l,u,c=t.createDocumentFragment(),p=[],h=0,d=e.length;d>h;h++)if(r=e[h],r||0===r)if("object"===Z.type(r))Z.merge(p,r.nodeType?[r]:r);else if(Me.test(r)){for(s=s||c.appendChild(t.createElement("div")),o=(Le.exec(r)||["",""])[1].toLowerCase(),a=Re[o]||Re._default,s.innerHTML=a[1]+r.replace(De,"<$1></$2>")+a[2],u=a[0];u--;)s=s.lastChild;Z.merge(p,s.childNodes),s=c.firstChild,s.textContent=""}else p.push(t.createTextNode(r));for(c.textContent="",h=0;r=p[h++];)if((!n||-1===Z.inArray(r,n))&&(l=Z.contains(r.ownerDocument,r),s=v(c.appendChild(r),"script"),l&&m(s),i))for(u=0;r=s[u++];)ze.test(r.type||"")&&i.push(r);return c},cleanData:function(e){for(var t,i,n,r,s=Z.event.special,o=0;void 0!==(i=e[o]);o++){if(Z.acceptData(i)&&(r=i[ve.expando],r&&(t=ve.cache[r]))){if(t.events)for(n in t.events)s[n]?Z.event.remove(i,n):Z.removeEvent(i,n,t.handle);ve.cache[r]&&delete ve.cache[r]}delete ye.cache[i[ye.expando]]}}}),Z.fn.extend({text:function(e){return ge(this,function(e){return void 0===e?Z.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=e)})},null,e,arguments.length)},append:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=h(this,e);t.appendChild(e)}})},prepend:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=h(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){for(var i,n=e?Z.filter(e,this):this,r=0;null!=(i=n[r]);r++)t||1!==i.nodeType||Z.cleanData(v(i)),i.parentNode&&(t&&Z.contains(i.ownerDocument,i)&&m(v(i,"script")),i.parentNode.removeChild(i));return this},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(Z.cleanData(v(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return Z.clone(this,e,t)})},html:function(e){return ge(this,function(e){var t=this[0]||{},i=0,n=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Ne.test(e)&&!Re[(Le.exec(e)||["",""])[1].toLowerCase()]){e=e.replace(De,"<$1></$2>");try{for(;n>i;i++)t=this[i]||{},1===t.nodeType&&(Z.cleanData(v(t,!1)),t.innerHTML=e);t=0}catch(r){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=arguments[0];return this.domManip(arguments,function(t){e=this.parentNode,Z.cleanData(v(this)),e&&e.replaceChild(t,this)}),e&&(e.length||e.nodeType)?this:this.remove()},detach:function(e){return this.remove(e,!0)},domManip:function(e,t){e=Y.apply([],e);var i,n,r,s,o,a,l=0,u=this.length,c=this,p=u-1,h=e[0],m=Z.isFunction(h);if(m||u>1&&"string"==typeof h&&!K.checkClone&&Ie.test(h))return this.each(function(i){var n=c.eq(i);m&&(e[0]=h.call(this,i,n.html())),n.domManip(e,t)});if(u&&(i=Z.buildFragment(e,this[0].ownerDocument,!1,this),n=i.firstChild,1===i.childNodes.length&&(i=n),n)){for(r=Z.map(v(i,"script"),d),s=r.length;u>l;l++)o=i,l!==p&&(o=Z.clone(o,!0,!0),s&&Z.merge(r,v(o,"script"))),t.call(this[l],o,l);if(s)for(a=r[r.length-1].ownerDocument,Z.map(r,f),l=0;s>l;l++)o=r[l],ze.test(o.type||"")&&!ve.access(o,"globalEval")&&Z.contains(a,o)&&(o.src?Z._evalUrl&&Z._evalUrl(o.src):Z.globalEval(o.textContent.replace(Be,"")))}return this}}),Z.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){Z.fn[e]=function(e){for(var i,n=[],r=Z(e),s=r.length-1,o=0;s>=o;o++)i=o===s?this:this.clone(!0),Z(r[o])[t](i),W.apply(n,i.get());return this.pushStack(n)}});var Fe,He={},je=/^margin/,Xe=new RegExp("^("+xe+")(?!px)[a-z%]+$","i"),qe=function(t){return t.ownerDocument.defaultView.opener?t.ownerDocument.defaultView.getComputedStyle(t,null):e.getComputedStyle(t,null)};!function(){function t(){o.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute",o.innerHTML="",r.appendChild(s);var t=e.getComputedStyle(o,null);i="1%"!==t.top,n="4px"===t.width,r.removeChild(s)}var i,n,r=Q.documentElement,s=Q.createElement("div"),o=Q.createElement("div");o.style&&(o.style.backgroundClip="content-box",o.cloneNode(!0).style.backgroundClip="", -K.clearCloneStyle="content-box"===o.style.backgroundClip,s.style.cssText="border:0;width:0;height:0;top:0;left:-9999px;margin-top:1px;position:absolute",s.appendChild(o),e.getComputedStyle&&Z.extend(K,{pixelPosition:function(){return t(),i},boxSizingReliable:function(){return null==n&&t(),n},reliableMarginRight:function(){var t,i=o.appendChild(Q.createElement("div"));return i.style.cssText=o.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",i.style.marginRight=i.style.width="0",o.style.width="1px",r.appendChild(s),t=!parseFloat(e.getComputedStyle(i,null).marginRight),r.removeChild(s),o.removeChild(i),t}}))}(),Z.swap=function(e,t,i,n){var r,s,o={};for(s in t)o[s]=e.style[s],e.style[s]=t[s];r=i.apply(e,n||[]);for(s in t)e.style[s]=o[s];return r};var Ye=/^(none|table(?!-c[ea]).+)/,We=new RegExp("^("+xe+")(.*)$","i"),$e=new RegExp("^([+-])=("+xe+")","i"),Ge={position:"absolute",visibility:"hidden",display:"block"},Ve={letterSpacing:"0",fontWeight:"400"},Ue=["Webkit","O","Moz","ms"];Z.extend({cssHooks:{opacity:{get:function(e,t){if(t){var i=x(e,"opacity");return""===i?"1":i}}}},cssNumber:{columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(e,t,i,n){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var r,s,o,a=Z.camelCase(t),l=e.style;return t=Z.cssProps[a]||(Z.cssProps[a]=T(l,a)),o=Z.cssHooks[t]||Z.cssHooks[a],void 0===i?o&&"get"in o&&void 0!==(r=o.get(e,!1,n))?r:l[t]:(s=typeof i,"string"===s&&(r=$e.exec(i))&&(i=(r[1]+1)*r[2]+parseFloat(Z.css(e,t)),s="number"),null!=i&&i===i&&("number"!==s||Z.cssNumber[a]||(i+="px"),K.clearCloneStyle||""!==i||0!==t.indexOf("background")||(l[t]="inherit"),o&&"set"in o&&void 0===(i=o.set(e,i,n))||(l[t]=i)),void 0)}},css:function(e,t,i,n){var r,s,o,a=Z.camelCase(t);return t=Z.cssProps[a]||(Z.cssProps[a]=T(e.style,a)),o=Z.cssHooks[t]||Z.cssHooks[a],o&&"get"in o&&(r=o.get(e,!0,i)),void 0===r&&(r=x(e,t,n)),"normal"===r&&t in Ve&&(r=Ve[t]),""===i||i?(s=parseFloat(r),i===!0||Z.isNumeric(s)?s||0:r):r}}),Z.each(["height","width"],function(e,t){Z.cssHooks[t]={get:function(e,i,n){return i?Ye.test(Z.css(e,"display"))&&0===e.offsetWidth?Z.swap(e,Ge,function(){return E(e,t,n)}):E(e,t,n):void 0},set:function(e,i,n){var r=n&&qe(e);return C(e,i,n?k(e,t,n,"border-box"===Z.css(e,"boxSizing",!1,r),r):0)}}}),Z.cssHooks.marginRight=S(K.reliableMarginRight,function(e,t){return t?Z.swap(e,{display:"inline-block"},x,[e,"marginRight"]):void 0}),Z.each({margin:"",padding:"",border:"Width"},function(e,t){Z.cssHooks[e+t]={expand:function(i){for(var n=0,r={},s="string"==typeof i?i.split(" "):[i];4>n;n++)r[e+Se[n]+t]=s[n]||s[n-2]||s[0];return r}},je.test(e)||(Z.cssHooks[e+t].set=C)}),Z.fn.extend({css:function(e,t){return ge(this,function(e,t,i){var n,r,s={},o=0;if(Z.isArray(t)){for(n=qe(e),r=t.length;r>o;o++)s[t[o]]=Z.css(e,t[o],!1,n);return s}return void 0!==i?Z.style(e,t,i):Z.css(e,t)},e,t,arguments.length>1)},show:function(){return P(this,!0)},hide:function(){return P(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){Te(this)?Z(this).show():Z(this).hide()})}}),Z.Tween=A,A.prototype={constructor:A,init:function(e,t,i,n,r,s){this.elem=e,this.prop=i,this.easing=r||"swing",this.options=t,this.start=this.now=this.cur(),this.end=n,this.unit=s||(Z.cssNumber[i]?"":"px")},cur:function(){var e=A.propHooks[this.prop];return e&&e.get?e.get(this):A.propHooks._default.get(this)},run:function(e){var t,i=A.propHooks[this.prop];return this.options.duration?this.pos=t=Z.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),i&&i.set?i.set(this):A.propHooks._default.set(this),this}},A.prototype.init.prototype=A.prototype,A.propHooks={_default:{get:function(e){var t;return null==e.elem[e.prop]||e.elem.style&&null!=e.elem.style[e.prop]?(t=Z.css(e.elem,e.prop,""),t&&"auto"!==t?t:0):e.elem[e.prop]},set:function(e){Z.fx.step[e.prop]?Z.fx.step[e.prop](e):e.elem.style&&(null!=e.elem.style[Z.cssProps[e.prop]]||Z.cssHooks[e.prop])?Z.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},A.propHooks.scrollTop=A.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},Z.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},Z.fx=A.prototype.init,Z.fx.step={};var Ke,Qe,Je=/^(?:toggle|show|hide)$/,Ze=new RegExp("^(?:([+-])=|)("+xe+")([a-z%]*)$","i"),et=/queueHooks$/,tt=[M],it={"*":[function(e,t){var i=this.createTween(e,t),n=i.cur(),r=Ze.exec(t),s=r&&r[3]||(Z.cssNumber[e]?"":"px"),o=(Z.cssNumber[e]||"px"!==s&&+n)&&Ze.exec(Z.css(i.elem,e)),a=1,l=20;if(o&&o[3]!==s){s=s||o[3],r=r||[],o=+n||1;do a=a||".5",o/=a,Z.style(i.elem,e,o+s);while(a!==(a=i.cur()/n)&&1!==a&&--l)}return r&&(o=i.start=+o||+n||0,i.unit=s,i.end=r[1]?o+(r[1]+1)*r[2]:+r[2]),i}]};Z.Animation=Z.extend(I,{tweener:function(e,t){Z.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");for(var i,n=0,r=e.length;r>n;n++)i=e[n],it[i]=it[i]||[],it[i].unshift(t)},prefilter:function(e,t){t?tt.unshift(e):tt.push(e)}}),Z.speed=function(e,t,i){var n=e&&"object"==typeof e?Z.extend({},e):{complete:i||!i&&t||Z.isFunction(e)&&e,duration:e,easing:i&&t||t&&!Z.isFunction(t)&&t};return n.duration=Z.fx.off?0:"number"==typeof n.duration?n.duration:n.duration in Z.fx.speeds?Z.fx.speeds[n.duration]:Z.fx.speeds._default,(null==n.queue||n.queue===!0)&&(n.queue="fx"),n.old=n.complete,n.complete=function(){Z.isFunction(n.old)&&n.old.call(this),n.queue&&Z.dequeue(this,n.queue)},n},Z.fn.extend({fadeTo:function(e,t,i,n){return this.filter(Te).css("opacity",0).show().end().animate({opacity:t},e,i,n)},animate:function(e,t,i,n){var r=Z.isEmptyObject(e),s=Z.speed(t,i,n),o=function(){var t=I(this,Z.extend({},e),s);(r||ve.get(this,"finish"))&&t.stop(!0)};return o.finish=o,r||s.queue===!1?this.each(o):this.queue(s.queue,o)},stop:function(e,t,i){var n=function(e){var t=e.stop;delete e.stop,t(i)};return"string"!=typeof e&&(i=t,t=e,e=void 0),t&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,r=null!=e&&e+"queueHooks",s=Z.timers,o=ve.get(this);if(r)o[r]&&o[r].stop&&n(o[r]);else for(r in o)o[r]&&o[r].stop&&et.test(r)&&n(o[r]);for(r=s.length;r--;)s[r].elem!==this||null!=e&&s[r].queue!==e||(s[r].anim.stop(i),t=!1,s.splice(r,1));(t||!i)&&Z.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,i=ve.get(this),n=i[e+"queue"],r=i[e+"queueHooks"],s=Z.timers,o=n?n.length:0;for(i.finish=!0,Z.queue(this,e,[]),r&&r.stop&&r.stop.call(this,!0),t=s.length;t--;)s[t].elem===this&&s[t].queue===e&&(s[t].anim.stop(!0),s.splice(t,1));for(t=0;o>t;t++)n[t]&&n[t].finish&&n[t].finish.call(this);delete i.finish})}}),Z.each(["toggle","show","hide"],function(e,t){var i=Z.fn[t];Z.fn[t]=function(e,n,r){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(D(t,!0),e,n,r)}}),Z.each({slideDown:D("show"),slideUp:D("hide"),slideToggle:D("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){Z.fn[e]=function(e,i,n){return this.animate(t,e,i,n)}}),Z.timers=[],Z.fx.tick=function(){var e,t=0,i=Z.timers;for(Ke=Z.now();t<i.length;t++)e=i[t],e()||i[t]!==e||i.splice(t--,1);i.length||Z.fx.stop(),Ke=void 0},Z.fx.timer=function(e){Z.timers.push(e),e()?Z.fx.start():Z.timers.pop()},Z.fx.interval=13,Z.fx.start=function(){Qe||(Qe=setInterval(Z.fx.tick,Z.fx.interval))},Z.fx.stop=function(){clearInterval(Qe),Qe=null},Z.fx.speeds={slow:600,fast:200,_default:400},Z.fn.delay=function(e,t){return e=Z.fx?Z.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,i){var n=setTimeout(t,e);i.stop=function(){clearTimeout(n)}})},function(){var e=Q.createElement("input"),t=Q.createElement("select"),i=t.appendChild(Q.createElement("option"));e.type="checkbox",K.checkOn=""!==e.value,K.optSelected=i.selected,t.disabled=!0,K.optDisabled=!i.disabled,e=Q.createElement("input"),e.value="t",e.type="radio",K.radioValue="t"===e.value}();var nt,rt,st=Z.expr.attrHandle;Z.fn.extend({attr:function(e,t){return ge(this,Z.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){Z.removeAttr(this,e)})}}),Z.extend({attr:function(e,t,i){var n,r,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return typeof e.getAttribute===ke?Z.prop(e,t,i):(1===s&&Z.isXMLDoc(e)||(t=t.toLowerCase(),n=Z.attrHooks[t]||(Z.expr.match.bool.test(t)?rt:nt)),void 0===i?n&&"get"in n&&null!==(r=n.get(e,t))?r:(r=Z.find.attr(e,t),null==r?void 0:r):null!==i?n&&"set"in n&&void 0!==(r=n.set(e,i,t))?r:(e.setAttribute(t,i+""),i):void Z.removeAttr(e,t))},removeAttr:function(e,t){var i,n,r=0,s=t&&t.match(de);if(s&&1===e.nodeType)for(;i=s[r++];)n=Z.propFix[i]||i,Z.expr.match.bool.test(i)&&(e[n]=!1),e.removeAttribute(i)},attrHooks:{type:{set:function(e,t){if(!K.radioValue&&"radio"===t&&Z.nodeName(e,"input")){var i=e.value;return e.setAttribute("type",t),i&&(e.value=i),t}}}}}),rt={set:function(e,t,i){return t===!1?Z.removeAttr(e,i):e.setAttribute(i,i),i}},Z.each(Z.expr.match.bool.source.match(/\w+/g),function(e,t){var i=st[t]||Z.find.attr;st[t]=function(e,t,n){var r,s;return n||(s=st[t],st[t]=r,r=null!=i(e,t,n)?t.toLowerCase():null,st[t]=s),r}});var ot=/^(?:input|select|textarea|button)$/i;Z.fn.extend({prop:function(e,t){return ge(this,Z.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[Z.propFix[e]||e]})}}),Z.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(e,t,i){var n,r,s,o=e.nodeType;if(e&&3!==o&&8!==o&&2!==o)return s=1!==o||!Z.isXMLDoc(e),s&&(t=Z.propFix[t]||t,r=Z.propHooks[t]),void 0!==i?r&&"set"in r&&void 0!==(n=r.set(e,i,t))?n:e[t]=i:r&&"get"in r&&null!==(n=r.get(e,t))?n:e[t]},propHooks:{tabIndex:{get:function(e){return e.hasAttribute("tabindex")||ot.test(e.nodeName)||e.href?e.tabIndex:-1}}}}),K.optSelected||(Z.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null}}),Z.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){Z.propFix[this.toLowerCase()]=this});var at=/[\t\r\n\f]/g;Z.fn.extend({addClass:function(e){var t,i,n,r,s,o,a="string"==typeof e&&e,l=0,u=this.length;if(Z.isFunction(e))return this.each(function(t){Z(this).addClass(e.call(this,t,this.className))});if(a)for(t=(e||"").match(de)||[];u>l;l++)if(i=this[l],n=1===i.nodeType&&(i.className?(" "+i.className+" ").replace(at," "):" ")){for(s=0;r=t[s++];)n.indexOf(" "+r+" ")<0&&(n+=r+" ");o=Z.trim(n),i.className!==o&&(i.className=o)}return this},removeClass:function(e){var t,i,n,r,s,o,a=0===arguments.length||"string"==typeof e&&e,l=0,u=this.length;if(Z.isFunction(e))return this.each(function(t){Z(this).removeClass(e.call(this,t,this.className))});if(a)for(t=(e||"").match(de)||[];u>l;l++)if(i=this[l],n=1===i.nodeType&&(i.className?(" "+i.className+" ").replace(at," "):"")){for(s=0;r=t[s++];)for(;n.indexOf(" "+r+" ")>=0;)n=n.replace(" "+r+" "," ");o=e?Z.trim(n):"",i.className!==o&&(i.className=o)}return this},toggleClass:function(e,t){var i=typeof e;return"boolean"==typeof t&&"string"===i?t?this.addClass(e):this.removeClass(e):Z.isFunction(e)?this.each(function(i){Z(this).toggleClass(e.call(this,i,this.className,t),t)}):this.each(function(){if("string"===i)for(var t,n=0,r=Z(this),s=e.match(de)||[];t=s[n++];)r.hasClass(t)?r.removeClass(t):r.addClass(t);else(i===ke||"boolean"===i)&&(this.className&&ve.set(this,"__className__",this.className),this.className=this.className||e===!1?"":ve.get(this,"__className__")||"")})},hasClass:function(e){for(var t=" "+e+" ",i=0,n=this.length;n>i;i++)if(1===this[i].nodeType&&(" "+this[i].className+" ").replace(at," ").indexOf(t)>=0)return!0;return!1}});var lt=/\r/g;Z.fn.extend({val:function(e){var t,i,n,r=this[0];{if(arguments.length)return n=Z.isFunction(e),this.each(function(i){var r;1===this.nodeType&&(r=n?e.call(this,i,Z(this).val()):e,null==r?r="":"number"==typeof r?r+="":Z.isArray(r)&&(r=Z.map(r,function(e){return null==e?"":e+""})),t=Z.valHooks[this.type]||Z.valHooks[this.nodeName.toLowerCase()],t&&"set"in t&&void 0!==t.set(this,r,"value")||(this.value=r))});if(r)return t=Z.valHooks[r.type]||Z.valHooks[r.nodeName.toLowerCase()],t&&"get"in t&&void 0!==(i=t.get(r,"value"))?i:(i=r.value,"string"==typeof i?i.replace(lt,""):null==i?"":i)}}}),Z.extend({valHooks:{option:{get:function(e){var t=Z.find.attr(e,"value");return null!=t?t:Z.trim(Z.text(e))}},select:{get:function(e){for(var t,i,n=e.options,r=e.selectedIndex,s="select-one"===e.type||0>r,o=s?null:[],a=s?r+1:n.length,l=0>r?a:s?r:0;a>l;l++)if(i=n[l],(i.selected||l===r)&&(K.optDisabled?!i.disabled:null===i.getAttribute("disabled"))&&(!i.parentNode.disabled||!Z.nodeName(i.parentNode,"optgroup"))){if(t=Z(i).val(),s)return t;o.push(t)}return o},set:function(e,t){for(var i,n,r=e.options,s=Z.makeArray(t),o=r.length;o--;)n=r[o],(n.selected=Z.inArray(n.value,s)>=0)&&(i=!0);return i||(e.selectedIndex=-1),s}}}}),Z.each(["radio","checkbox"],function(){Z.valHooks[this]={set:function(e,t){return Z.isArray(t)?e.checked=Z.inArray(Z(e).val(),t)>=0:void 0}},K.checkOn||(Z.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),Z.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){Z.fn[t]=function(e,i){return arguments.length>0?this.on(t,null,e,i):this.trigger(t)}}),Z.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)},bind:function(e,t,i){return this.on(e,null,t,i)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,i,n){return this.on(t,e,i,n)},undelegate:function(e,t,i){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",i)}});var ut=Z.now(),ct=/\?/;Z.parseJSON=function(e){return JSON.parse(e+"")},Z.parseXML=function(e){var t,i;if(!e||"string"!=typeof e)return null;try{i=new DOMParser,t=i.parseFromString(e,"text/xml")}catch(n){t=void 0}return(!t||t.getElementsByTagName("parsererror").length)&&Z.error("Invalid XML: "+e),t};var pt=/#.*$/,ht=/([?&])_=[^&]*/,dt=/^(.*?):[ \t]*([^\r\n]*)$/gm,ft=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,mt=/^(?:GET|HEAD)$/,gt=/^\/\//,vt=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,yt={},wt={},bt="*/".concat("*"),xt=e.location.href,St=vt.exec(xt.toLowerCase())||[];Z.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:xt,type:"GET",isLocal:ft.test(St[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":bt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":Z.parseJSON,"text xml":Z.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?B(B(e,Z.ajaxSettings),t):B(Z.ajaxSettings,e)},ajaxPrefilter:z(yt),ajaxTransport:z(wt),ajax:function(e,t){function i(e,t,i,o){var l,c,v,y,b,S=t;2!==w&&(w=2,a&&clearTimeout(a),n=void 0,s=o||"",x.readyState=e>0?4:0,l=e>=200&&300>e||304===e,i&&(y=R(p,x,i)),y=F(p,y,x,l),l?(p.ifModified&&(b=x.getResponseHeader("Last-Modified"),b&&(Z.lastModified[r]=b),b=x.getResponseHeader("etag"),b&&(Z.etag[r]=b)),204===e||"HEAD"===p.type?S="nocontent":304===e?S="notmodified":(S=y.state,c=y.data,v=y.error,l=!v)):(v=S,(e||!S)&&(S="error",0>e&&(e=0))),x.status=e,x.statusText=(t||S)+"",l?f.resolveWith(h,[c,S,x]):f.rejectWith(h,[x,S,v]),x.statusCode(g),g=void 0,u&&d.trigger(l?"ajaxSuccess":"ajaxError",[x,p,l?c:v]),m.fireWith(h,[x,S]),u&&(d.trigger("ajaxComplete",[x,p]),--Z.active||Z.event.trigger("ajaxStop")))}"object"==typeof e&&(t=e,e=void 0),t=t||{};var n,r,s,o,a,l,u,c,p=Z.ajaxSetup({},t),h=p.context||p,d=p.context&&(h.nodeType||h.jquery)?Z(h):Z.event,f=Z.Deferred(),m=Z.Callbacks("once memory"),g=p.statusCode||{},v={},y={},w=0,b="canceled",x={readyState:0,getResponseHeader:function(e){var t;if(2===w){if(!o)for(o={};t=dt.exec(s);)o[t[1].toLowerCase()]=t[2];t=o[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===w?s:null},setRequestHeader:function(e,t){var i=e.toLowerCase();return w||(e=y[i]=y[i]||e,v[e]=t),this},overrideMimeType:function(e){return w||(p.mimeType=e),this},statusCode:function(e){var t;if(e)if(2>w)for(t in e)g[t]=[g[t],e[t]];else x.always(e[x.status]);return this},abort:function(e){var t=e||b;return n&&n.abort(t),i(0,t),this}};if(f.promise(x).complete=m.add,x.success=x.done,x.error=x.fail,p.url=((e||p.url||xt)+"").replace(pt,"").replace(gt,St[1]+"//"),p.type=t.method||t.type||p.method||p.type,p.dataTypes=Z.trim(p.dataType||"*").toLowerCase().match(de)||[""],null==p.crossDomain&&(l=vt.exec(p.url.toLowerCase()),p.crossDomain=!(!l||l[1]===St[1]&&l[2]===St[2]&&(l[3]||("http:"===l[1]?"80":"443"))===(St[3]||("http:"===St[1]?"80":"443")))),p.data&&p.processData&&"string"!=typeof p.data&&(p.data=Z.param(p.data,p.traditional)),O(yt,p,t,x),2===w)return x;u=Z.event&&p.global,u&&0===Z.active++&&Z.event.trigger("ajaxStart"),p.type=p.type.toUpperCase(),p.hasContent=!mt.test(p.type),r=p.url,p.hasContent||(p.data&&(r=p.url+=(ct.test(r)?"&":"?")+p.data,delete p.data),p.cache===!1&&(p.url=ht.test(r)?r.replace(ht,"$1_="+ut++):r+(ct.test(r)?"&":"?")+"_="+ut++)),p.ifModified&&(Z.lastModified[r]&&x.setRequestHeader("If-Modified-Since",Z.lastModified[r]),Z.etag[r]&&x.setRequestHeader("If-None-Match",Z.etag[r])),(p.data&&p.hasContent&&p.contentType!==!1||t.contentType)&&x.setRequestHeader("Content-Type",p.contentType),x.setRequestHeader("Accept",p.dataTypes[0]&&p.accepts[p.dataTypes[0]]?p.accepts[p.dataTypes[0]]+("*"!==p.dataTypes[0]?", "+bt+"; q=0.01":""):p.accepts["*"]);for(c in p.headers)x.setRequestHeader(c,p.headers[c]);if(p.beforeSend&&(p.beforeSend.call(h,x,p)===!1||2===w))return x.abort();b="abort";for(c in{success:1,error:1,complete:1})x[c](p[c]);if(n=O(wt,p,t,x)){x.readyState=1,u&&d.trigger("ajaxSend",[x,p]),p.async&&p.timeout>0&&(a=setTimeout(function(){x.abort("timeout")},p.timeout));try{w=1,n.send(v,i)}catch(S){if(!(2>w))throw S;i(-1,S)}}else i(-1,"No Transport");return x},getJSON:function(e,t,i){return Z.get(e,t,i,"json")},getScript:function(e,t){return Z.get(e,void 0,t,"script")}}),Z.each(["get","post"],function(e,t){Z[t]=function(e,i,n,r){return Z.isFunction(i)&&(r=r||n,n=i,i=void 0),Z.ajax({url:e,type:t,dataType:r,data:i,success:n})}}),Z._evalUrl=function(e){return Z.ajax({url:e,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},Z.fn.extend({wrapAll:function(e){var t;return Z.isFunction(e)?this.each(function(t){Z(this).wrapAll(e.call(this,t))}):(this[0]&&(t=Z(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this)},wrapInner:function(e){return Z.isFunction(e)?this.each(function(t){Z(this).wrapInner(e.call(this,t))}):this.each(function(){var t=Z(this),i=t.contents();i.length?i.wrapAll(e):t.append(e)})},wrap:function(e){var t=Z.isFunction(e);return this.each(function(i){Z(this).wrapAll(t?e.call(this,i):e)})},unwrap:function(){return this.parent().each(function(){Z.nodeName(this,"body")||Z(this).replaceWith(this.childNodes)}).end()}}),Z.expr.filters.hidden=function(e){return e.offsetWidth<=0&&e.offsetHeight<=0},Z.expr.filters.visible=function(e){return!Z.expr.filters.hidden(e)};var Tt=/%20/g,Ct=/\[\]$/,kt=/\r?\n/g,Et=/^(?:submit|button|image|reset|file)$/i,Pt=/^(?:input|select|textarea|keygen)/i;Z.param=function(e,t){var i,n=[],r=function(e,t){t=Z.isFunction(t)?t():null==t?"":t,n[n.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(void 0===t&&(t=Z.ajaxSettings&&Z.ajaxSettings.traditional),Z.isArray(e)||e.jquery&&!Z.isPlainObject(e))Z.each(e,function(){r(this.name,this.value)});else for(i in e)H(i,e[i],t,r);return n.join("&").replace(Tt,"+")},Z.fn.extend({serialize:function(){return Z.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=Z.prop(this,"elements");return e?Z.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!Z(this).is(":disabled")&&Pt.test(this.nodeName)&&!Et.test(e)&&(this.checked||!Ce.test(e))}).map(function(e,t){var i=Z(this).val();return null==i?null:Z.isArray(i)?Z.map(i,function(e){return{name:t.name,value:e.replace(kt,"\r\n")}}):{name:t.name,value:i.replace(kt,"\r\n")}}).get()}}),Z.ajaxSettings.xhr=function(){try{return new XMLHttpRequest}catch(e){}};var At=0,_t={},Dt={0:200,1223:204},Lt=Z.ajaxSettings.xhr();e.attachEvent&&e.attachEvent("onunload",function(){for(var e in _t)_t[e]()}),K.cors=!!Lt&&"withCredentials"in Lt,K.ajax=Lt=!!Lt,Z.ajaxTransport(function(e){var t;return K.cors||Lt&&!e.crossDomain?{send:function(i,n){var r,s=e.xhr(),o=++At;if(s.open(e.type,e.url,e.async,e.username,e.password),e.xhrFields)for(r in e.xhrFields)s[r]=e.xhrFields[r];e.mimeType&&s.overrideMimeType&&s.overrideMimeType(e.mimeType),e.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");for(r in i)s.setRequestHeader(r,i[r]);t=function(e){return function(){t&&(delete _t[o],t=s.onload=s.onerror=null,"abort"===e?s.abort():"error"===e?n(s.status,s.statusText):n(Dt[s.status]||s.status,s.statusText,"string"==typeof s.responseText?{text:s.responseText}:void 0,s.getAllResponseHeaders()))}},s.onload=t(),s.onerror=t("error"),t=_t[o]=t("abort");try{s.send(e.hasContent&&e.data||null)}catch(a){if(t)throw a}},abort:function(){t&&t()}}:void 0}),Z.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(e){return Z.globalEval(e),e}}}),Z.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),Z.ajaxTransport("script",function(e){if(e.crossDomain){var t,i;return{send:function(n,r){t=Z("<script>").prop({async:!0,charset:e.scriptCharset,src:e.url}).on("load error",i=function(e){t.remove(),i=null,e&&r("error"===e.type?404:200,e.type)}),Q.head.appendChild(t[0])},abort:function(){i&&i()}}}});var Mt=[],Nt=/(=)\?(?=&|$)|\?\?/;Z.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Mt.pop()||Z.expando+"_"+ut++;return this[e]=!0,e}}),Z.ajaxPrefilter("json jsonp",function(t,i,n){var r,s,o,a=t.jsonp!==!1&&(Nt.test(t.url)?"url":"string"==typeof t.data&&!(t.contentType||"").indexOf("application/x-www-form-urlencoded")&&Nt.test(t.data)&&"data");return a||"jsonp"===t.dataTypes[0]?(r=t.jsonpCallback=Z.isFunction(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,a?t[a]=t[a].replace(Nt,"$1"+r):t.jsonp!==!1&&(t.url+=(ct.test(t.url)?"&":"?")+t.jsonp+"="+r),t.converters["script json"]=function(){return o||Z.error(r+" was not called"),o[0]},t.dataTypes[0]="json",s=e[r],e[r]=function(){o=arguments},n.always(function(){e[r]=s,t[r]&&(t.jsonpCallback=i.jsonpCallback,Mt.push(r)),o&&Z.isFunction(s)&&s(o[0]),o=s=void 0}),"script"):void 0}),Z.parseHTML=function(e,t,i){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(i=t,t=!1),t=t||Q;var n=oe.exec(e),r=!i&&[];return n?[t.createElement(n[1])]:(n=Z.buildFragment([e],t,r),r&&r.length&&Z(r).remove(),Z.merge([],n.childNodes))};var It=Z.fn.load;Z.fn.load=function(e,t,i){if("string"!=typeof e&&It)return It.apply(this,arguments);var n,r,s,o=this,a=e.indexOf(" ");return a>=0&&(n=Z.trim(e.slice(a)),e=e.slice(0,a)),Z.isFunction(t)?(i=t,t=void 0):t&&"object"==typeof t&&(r="POST"),o.length>0&&Z.ajax({url:e,type:r,dataType:"html",data:t}).done(function(e){s=arguments,o.html(n?Z("<div>").append(Z.parseHTML(e)).find(n):e)}).complete(i&&function(e,t){o.each(i,s||[e.responseText,t,e])}),this},Z.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){Z.fn[t]=function(e){return this.on(t,e)}}),Z.expr.filters.animated=function(e){return Z.grep(Z.timers,function(t){return e===t.elem}).length};var zt=e.document.documentElement;Z.offset={setOffset:function(e,t,i){var n,r,s,o,a,l,u,c=Z.css(e,"position"),p=Z(e),h={};"static"===c&&(e.style.position="relative"),a=p.offset(),s=Z.css(e,"top"),l=Z.css(e,"left"),u=("absolute"===c||"fixed"===c)&&(s+l).indexOf("auto")>-1,u?(n=p.position(),o=n.top,r=n.left):(o=parseFloat(s)||0,r=parseFloat(l)||0),Z.isFunction(t)&&(t=t.call(e,i,a)),null!=t.top&&(h.top=t.top-a.top+o),null!=t.left&&(h.left=t.left-a.left+r),"using"in t?t.using.call(e,h):p.css(h)}},Z.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each(function(t){Z.offset.setOffset(this,e,t)});var t,i,n=this[0],r={top:0,left:0},s=n&&n.ownerDocument;if(s)return t=s.documentElement,Z.contains(t,n)?(typeof n.getBoundingClientRect!==ke&&(r=n.getBoundingClientRect()),i=j(s),{top:r.top+i.pageYOffset-t.clientTop,left:r.left+i.pageXOffset-t.clientLeft}):r},position:function(){if(this[0]){var e,t,i=this[0],n={top:0,left:0};return"fixed"===Z.css(i,"position")?t=i.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),Z.nodeName(e[0],"html")||(n=e.offset()),n.top+=Z.css(e[0],"borderTopWidth",!0),n.left+=Z.css(e[0],"borderLeftWidth",!0)),{top:t.top-n.top-Z.css(i,"marginTop",!0),left:t.left-n.left-Z.css(i,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent||zt;e&&!Z.nodeName(e,"html")&&"static"===Z.css(e,"position");)e=e.offsetParent;return e||zt})}}),Z.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var n="pageYOffset"===i;Z.fn[t]=function(r){return ge(this,function(t,r,s){var o=j(t);return void 0===s?o?o[i]:t[r]:void(o?o.scrollTo(n?e.pageXOffset:s,n?s:e.pageYOffset):t[r]=s)},t,r,arguments.length,null)}}),Z.each(["top","left"],function(e,t){Z.cssHooks[t]=S(K.pixelPosition,function(e,i){return i?(i=x(e,t),Xe.test(i)?Z(e).position()[t]+"px":i):void 0})}),Z.each({Height:"height",Width:"width"},function(e,t){Z.each({padding:"inner"+e,content:t,"":"outer"+e},function(i,n){Z.fn[n]=function(n,r){var s=arguments.length&&(i||"boolean"!=typeof n),o=i||(n===!0||r===!0?"margin":"border");return ge(this,function(t,i,n){var r;return Z.isWindow(t)?t.document.documentElement["client"+e]:9===t.nodeType?(r=t.documentElement,Math.max(t.body["scroll"+e],r["scroll"+e],t.body["offset"+e],r["offset"+e],r["client"+e])):void 0===n?Z.css(t,i,o):Z.style(t,i,n,o)},t,s?n:void 0,s,null)}})}),Z.fn.size=function(){return this.length},Z.fn.andSelf=Z.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return Z});var Ot=e.jQuery,Bt=e.$;return Z.noConflict=function(t){return e.$===Z&&(e.$=Bt),t&&e.jQuery===Z&&(e.jQuery=Ot),Z},typeof t===ke&&(e.jQuery=e.$=Z),Z})}),define("mlellipsis",[],function(e,t,i){t.init=function(){Element.prototype.getText=function(){return void 0==this.innerText?this.textContent:this.innerText},Element.prototype.setText=function(e){void 0==this.innerText?this.textContent=e||"":this.innerText=e||""},Element.prototype.getFinalStyle=function(e,t){var i;return i=window.getComputedStyle?window.getComputedStyle(this,null)[e]:this.currentStyle[e],void 0!=t&&(i=i*t+"px"),i.substring(0,i.toString().length-2)},Element.prototype.mlellipsis=function(e){var t=this.getText(),i=this.getAttribute("title");null==i?this.setAttribute("title",t):this.setText(i);var n=this.getFinalStyle("fontSize");if(/msie/i.test(navigator.userAgent))var r=this.getFinalStyle("lineHeight",n);else var r=this.getFinalStyle("lineHeight");var s=this.clientHeight;"norm"==r?(r=Number(1.5*n),this.setAttribute("style","line-height:"+r+"px")):r=Number(r);var o=Math.floor(e*r);if(s>=o){for(t=this.getText();3*o<this.clientHeight;)this.setText(t.substring(0,t.length/2)),t=this.getText();for(;o<this.clientHeight;)t=this.getText(),this.setText(t.replace(/(\s)*([a-zA-Z0-9]+|\W)(\.\.\.)?$/,"..."))}},Element.prototype.getTextLineNumber=function(e){var t=this.getText(),i=this.getAttribute("title");null==i?this.setAttribute("title",t):this.setText(i);var n=this.getFinalStyle("fontSize");if(/msie/i.test(navigator.userAgent))var r=this.getFinalStyle("lineHeight",n);else var r=this.getFinalStyle("lineHeight");var s=this.clientHeight;return"norm"==r?(r=Number(1.5*n),this.setAttribute("style","line-height:"+r+"px")):r=Number(r),s/r}}}),define("swiper",[],function(e,t,i){e("swiper.css.js"),function(){"use strict";function e(e){e.fn.swiper=function(i){var n;return e(this).each(function(){var e=new t(this,i);n||(n=e)}),n}}var t=function(e,n){function r(){return"horizontal"===g.params.direction}function s(){g.autoplayTimeoutId=setTimeout(function(){g.params.loop?(g.fixLoop(),g._slideNext()):g.isEnd?n.autoplayStopOnLast?g.stopAutoplay():g._slideTo(0):g._slideNext()},g.params.autoplay)}function o(e,t){var i=v(e.target);if(!i.is(t))if("string"==typeof t)i=i.parents(t);else if(t.nodeType){var n;return i.parents().each(function(e,i){i===t&&(n=t)}),n?t:void 0}if(0!==i.length)return i[0]}function a(e,t){t=t||{};var i=window.MutationObserver||window.WebkitMutationObserver,n=new i(function(e){e.forEach(function(e){g.onResize(!0),g.emit("onObserverUpdate",g,e)})});n.observe(e,{attributes:"undefined"==typeof t.attributes?!0:t.attributes,childList:"undefined"==typeof t.childList?!0:t.childList,characterData:"undefined"==typeof t.characterData?!0:t.characterData}),g.observers.push(n)}function l(e){e.originalEvent&&(e=e.originalEvent);var t=e.keyCode||e.charCode;if(!g.params.allowSwipeToNext&&(r()&&39===t||!r()&&40===t))return!1;if(!g.params.allowSwipeToPrev&&(r()&&37===t||!r()&&38===t))return!1;if(!(e.shiftKey||e.altKey||e.ctrlKey||e.metaKey||document.activeElement&&document.activeElement.nodeName&&("input"===document.activeElement.nodeName.toLowerCase()||"textarea"===document.activeElement.nodeName.toLowerCase()))){if(37===t||39===t||38===t||40===t){var i=!1;if(g.container.parents(".swiper-slide").length>0&&0===g.container.parents(".swiper-slide-active").length)return;var n={left:window.pageXOffset,top:window.pageYOffset},s=window.innerWidth,o=window.innerHeight,a=g.container.offset();g.rtl&&(a.left=a.left-g.container[0].scrollLeft);for(var l=[[a.left,a.top],[a.left+g.width,a.top],[a.left,a.top+g.height],[a.left+g.width,a.top+g.height]],u=0;u<l.length;u++){var c=l[u];c[0]>=n.left&&c[0]<=n.left+s&&c[1]>=n.top&&c[1]<=n.top+o&&(i=!0)}if(!i)return}r()?((37===t||39===t)&&(e.preventDefault?e.preventDefault():e.returnValue=!1),(39===t&&!g.rtl||37===t&&g.rtl)&&g.slideNext(),(37===t&&!g.rtl||39===t&&g.rtl)&&g.slidePrev()):((38===t||40===t)&&(e.preventDefault?e.preventDefault():e.returnValue=!1),40===t&&g.slideNext(),38===t&&g.slidePrev())}}function u(e){e.originalEvent&&(e=e.originalEvent);var t=g.mousewheel.event,i=0;if(e.detail)i=-e.detail;else if("mousewheel"===t)if(g.params.mousewheelForceToAxis)if(r()){if(!(Math.abs(e.wheelDeltaX)>Math.abs(e.wheelDeltaY)))return;i=e.wheelDeltaX}else{if(!(Math.abs(e.wheelDeltaY)>Math.abs(e.wheelDeltaX)))return;i=e.wheelDeltaY}else i=e.wheelDelta;else if("DOMMouseScroll"===t)i=-e.detail;else if("wheel"===t)if(g.params.mousewheelForceToAxis)if(r()){if(!(Math.abs(e.deltaX)>Math.abs(e.deltaY)))return;i=-e.deltaX}else{if(!(Math.abs(e.deltaY)>Math.abs(e.deltaX)))return;i=-e.deltaY}else i=Math.abs(e.deltaX)>Math.abs(e.deltaY)?-e.deltaX:-e.deltaY;if(g.params.mousewheelInvert&&(i=-i),g.params.freeMode){var n=g.getWrapperTranslate()+i;if(n>0&&(n=0),n<g.maxTranslate()&&(n=g.maxTranslate()),g.setWrapperTransition(0),g.setWrapperTranslate(n),g.updateProgress(),g.updateActiveIndex(),g.params.freeModeSticky&&(clearTimeout(g.mousewheel.timeout),g.mousewheel.timeout=setTimeout(function(){g.slideReset()},300)),0===n||n===g.maxTranslate())return}else{if((new window.Date).getTime()-g.mousewheel.lastScrollTime>60)if(0>i)if(g.isEnd){if(g.params.mousewheelReleaseOnEdges)return!0; -}else g.slideNext();else if(g.isBeginning){if(g.params.mousewheelReleaseOnEdges)return!0}else g.slidePrev();g.mousewheel.lastScrollTime=(new window.Date).getTime()}return g.params.autoplay&&g.stopAutoplay(),e.preventDefault?e.preventDefault():e.returnValue=!1,!1}function c(e,t){e=v(e);var i,n,s;i=e.attr("data-swiper-parallax")||"0",n=e.attr("data-swiper-parallax-x"),s=e.attr("data-swiper-parallax-y"),n||s?(n=n||"0",s=s||"0"):r()?(n=i,s="0"):(s=i,n="0"),n=n.indexOf("%")>=0?parseInt(n,10)*t+"%":n*t+"px",s=s.indexOf("%")>=0?parseInt(s,10)*t+"%":s*t+"px",e.transform("translate3d("+n+", "+s+",0px)")}function p(e){return 0!==e.indexOf("on")&&(e=e[0]!==e[0].toUpperCase()?"on"+e[0].toUpperCase()+e.substring(1):"on"+e),e}if(!(this instanceof t))return new t(e,n);var h={direction:"horizontal",touchEventsTarget:"container",initialSlide:0,speed:300,autoplay:!1,autoplayDisableOnInteraction:!0,freeMode:!1,freeModeMomentum:!0,freeModeMomentumRatio:1,freeModeMomentumBounce:!0,freeModeMomentumBounceRatio:1,freeModeSticky:!1,setWrapperSize:!1,virtualTranslate:!1,effect:"slide",coverflow:{rotate:50,stretch:0,depth:100,modifier:1,slideShadows:!0},cube:{slideShadows:!0,shadow:!0,shadowOffset:20,shadowScale:.94},fade:{crossFade:!1},parallax:!1,scrollbar:null,scrollbarHide:!0,keyboardControl:!1,mousewheelControl:!1,mousewheelReleaseOnEdges:!1,mousewheelInvert:!1,mousewheelForceToAxis:!1,hashnav:!1,spaceBetween:0,slidesPerView:1,slidesPerColumn:1,slidesPerColumnFill:"column",slidesPerGroup:1,centeredSlides:!1,touchRatio:1,touchAngle:45,simulateTouch:!0,shortSwipes:!0,longSwipes:!0,longSwipesRatio:.5,longSwipesMs:300,followFinger:!0,onlyExternal:!1,threshold:0,touchMoveStopPropagation:!0,pagination:null,paginationClickable:!1,paginationHide:!1,paginationBulletRender:null,resistance:!0,resistanceRatio:.85,nextButton:null,prevButton:null,watchSlidesProgress:!1,watchSlidesVisibility:!1,grabCursor:!1,preventClicks:!0,preventClicksPropagation:!0,slideToClickedSlide:!1,lazyLoading:!1,lazyLoadingInPrevNext:!1,lazyLoadingOnTransitionStart:!1,preloadImages:!0,updateOnImagesReady:!0,loop:!1,loopAdditionalSlides:0,loopedSlides:null,control:void 0,controlInverse:!1,allowSwipeToPrev:!0,allowSwipeToNext:!0,swipeHandler:null,noSwiping:!0,noSwipingClass:"swiper-no-swiping",slideClass:"swiper-slide",slideActiveClass:"swiper-slide-active",slideVisibleClass:"swiper-slide-visible",slideDuplicateClass:"swiper-slide-duplicate",slideNextClass:"swiper-slide-next",slidePrevClass:"swiper-slide-prev",wrapperClass:"swiper-wrapper",bulletClass:"swiper-pagination-bullet",bulletActiveClass:"swiper-pagination-bullet-active",buttonDisabledClass:"swiper-button-disabled",paginationHiddenClass:"swiper-pagination-hidden",observer:!1,observeParents:!1,a11y:!1,prevSlideMessage:"Previous slide",nextSlideMessage:"Next slide",firstSlideMessage:"This is the first slide",lastSlideMessage:"This is the last slide",runCallbacksOnInit:!0},d=n&&n.virtualTranslate;n=n||{};for(var f in h)if("undefined"==typeof n[f])n[f]=h[f];else if("object"==typeof n[f])for(var m in h[f])"undefined"==typeof n[f][m]&&(n[f][m]=h[f][m]);var g=this;g.version="3.0.8",g.params=n,g.classNames=[];var v;if(v="undefined"==typeof i?window.Dom7||window.Zepto||window.jQuery:i,v&&(g.$=v,g.container=v(e),0!==g.container.length)){if(g.container.length>1)return void g.container.each(function(){new t(this,n)});g.container[0].swiper=g,g.container.data("swiper",g),g.classNames.push("swiper-container-"+g.params.direction),g.params.freeMode&&g.classNames.push("swiper-container-free-mode"),g.support.flexbox||(g.classNames.push("swiper-container-no-flexbox"),g.params.slidesPerColumn=1),(g.params.parallax||g.params.watchSlidesVisibility)&&(g.params.watchSlidesProgress=!0),["cube","coverflow"].indexOf(g.params.effect)>=0&&(g.support.transforms3d?(g.params.watchSlidesProgress=!0,g.classNames.push("swiper-container-3d")):g.params.effect="slide"),"slide"!==g.params.effect&&g.classNames.push("swiper-container-"+g.params.effect),"cube"===g.params.effect&&(g.params.resistanceRatio=0,g.params.slidesPerView=1,g.params.slidesPerColumn=1,g.params.slidesPerGroup=1,g.params.centeredSlides=!1,g.params.spaceBetween=0,g.params.virtualTranslate=!0,g.params.setWrapperSize=!1),"fade"===g.params.effect&&(g.params.slidesPerView=1,g.params.slidesPerColumn=1,g.params.slidesPerGroup=1,g.params.watchSlidesProgress=!0,g.params.spaceBetween=0,"undefined"==typeof d&&(g.params.virtualTranslate=!0)),g.params.grabCursor&&g.support.touch&&(g.params.grabCursor=!1),g.wrapper=g.container.children("."+g.params.wrapperClass),g.params.pagination&&(g.paginationContainer=v(g.params.pagination),g.params.paginationClickable&&g.paginationContainer.addClass("swiper-pagination-clickable")),g.rtl=r()&&("rtl"===g.container[0].dir.toLowerCase()||"rtl"===g.container.css("direction")),g.rtl&&g.classNames.push("swiper-container-rtl"),g.rtl&&(g.wrongRTL="-webkit-box"===g.wrapper.css("display")),g.params.slidesPerColumn>1&&g.classNames.push("swiper-container-multirow"),g.device.android&&g.classNames.push("swiper-container-android"),g.container.addClass(g.classNames.join(" ")),g.translate=0,g.progress=0,g.velocity=0,g.lockSwipeToNext=function(){g.params.allowSwipeToNext=!1},g.lockSwipeToPrev=function(){g.params.allowSwipeToPrev=!1},g.lockSwipes=function(){g.params.allowSwipeToNext=g.params.allowSwipeToPrev=!1},g.unlockSwipeToNext=function(){g.params.allowSwipeToNext=!0},g.unlockSwipeToPrev=function(){g.params.allowSwipeToPrev=!0},g.unlockSwipes=function(){g.params.allowSwipeToNext=g.params.allowSwipeToPrev=!0},g.params.grabCursor&&(g.container[0].style.cursor="move",g.container[0].style.cursor="-webkit-grab",g.container[0].style.cursor="-moz-grab",g.container[0].style.cursor="grab"),g.imagesToLoad=[],g.imagesLoaded=0,g.loadImage=function(e,t,i,n){function r(){n&&n()}var s;e.complete&&i?r():t?(s=new window.Image,s.onload=r,s.onerror=r,s.src=t):r()},g.preloadImages=function(){function e(){"undefined"!=typeof g&&null!==g&&(void 0!==g.imagesLoaded&&g.imagesLoaded++,g.imagesLoaded===g.imagesToLoad.length&&(g.params.updateOnImagesReady&&g.update(),g.emit("onImagesReady",g)))}g.imagesToLoad=g.container.find("img");for(var t=0;t<g.imagesToLoad.length;t++)g.loadImage(g.imagesToLoad[t],g.imagesToLoad[t].currentSrc||g.imagesToLoad[t].getAttribute("src"),!0,e)},g.autoplayTimeoutId=void 0,g.autoplaying=!1,g.autoplayPaused=!1,g.startAutoplay=function(){return"undefined"!=typeof g.autoplayTimeoutId?!1:g.params.autoplay?g.autoplaying?!1:(g.autoplaying=!0,g.emit("onAutoplayStart",g),void s()):!1},g.stopAutoplay=function(e){g.autoplayTimeoutId&&(g.autoplayTimeoutId&&clearTimeout(g.autoplayTimeoutId),g.autoplaying=!1,g.autoplayTimeoutId=void 0,g.emit("onAutoplayStop",g))},g.pauseAutoplay=function(e){g.autoplayPaused||(g.autoplayTimeoutId&&clearTimeout(g.autoplayTimeoutId),g.autoplayPaused=!0,0===e?(g.autoplayPaused=!1,s()):g.wrapper.transitionEnd(function(){g&&(g.autoplayPaused=!1,g.autoplaying?s():g.stopAutoplay())}))},g.minTranslate=function(){return-g.snapGrid[0]},g.maxTranslate=function(){return-g.snapGrid[g.snapGrid.length-1]},g.updateContainerSize=function(){var e,t;e="undefined"!=typeof g.params.width?g.params.width:g.container[0].clientWidth,t="undefined"!=typeof g.params.height?g.params.height:g.container[0].clientHeight,0===e&&r()||0===t&&!r()||(g.width=e,g.height=t,g.size=r()?g.width:g.height)},g.updateSlidesSize=function(){g.slides=g.wrapper.children("."+g.params.slideClass),g.snapGrid=[],g.slidesGrid=[],g.slidesSizesGrid=[];var e,t=g.params.spaceBetween,i=0,n=0,s=0;"string"==typeof t&&t.indexOf("%")>=0&&(t=parseFloat(t.replace("%",""))/100*g.size),g.virtualSize=-t,g.rtl?g.slides.css({marginLeft:"",marginTop:""}):g.slides.css({marginRight:"",marginBottom:""});var o;g.params.slidesPerColumn>1&&(o=Math.floor(g.slides.length/g.params.slidesPerColumn)===g.slides.length/g.params.slidesPerColumn?g.slides.length:Math.ceil(g.slides.length/g.params.slidesPerColumn)*g.params.slidesPerColumn);var a,l=g.params.slidesPerColumn,u=o/l,c=u-(g.params.slidesPerColumn*u-g.slides.length);for(e=0;e<g.slides.length;e++){a=0;var p=g.slides.eq(e);if(g.params.slidesPerColumn>1){var h,d,f;"column"===g.params.slidesPerColumnFill?(d=Math.floor(e/l),f=e-d*l,(d>c||d===c&&f===l-1)&&++f>=l&&(f=0,d++),h=d+f*o/l,p.css({"-webkit-box-ordinal-group":h,"-moz-box-ordinal-group":h,"-ms-flex-order":h,"-webkit-order":h,order:h})):(f=Math.floor(e/u),d=e-f*u),p.css({"margin-top":0!==f&&g.params.spaceBetween&&g.params.spaceBetween+"px"}).attr("data-swiper-column",d).attr("data-swiper-row",f)}"none"!==p.css("display")&&("auto"===g.params.slidesPerView?a=r()?p.outerWidth(!0):p.outerHeight(!0):(a=(g.size-(g.params.slidesPerView-1)*t)/g.params.slidesPerView,r()?g.slides[e].style.width=a+"px":g.slides[e].style.height=a+"px"),g.slides[e].swiperSlideSize=a,g.slidesSizesGrid.push(a),g.params.centeredSlides?(i=i+a/2+n/2+t,0===e&&(i=i-g.size/2-t),Math.abs(i)<.001&&(i=0),s%g.params.slidesPerGroup===0&&g.snapGrid.push(i),g.slidesGrid.push(i)):(s%g.params.slidesPerGroup===0&&g.snapGrid.push(i),g.slidesGrid.push(i),i=i+a+t),g.virtualSize+=a+t,n=a,s++)}g.virtualSize=Math.max(g.virtualSize,g.size);var m;if(g.rtl&&g.wrongRTL&&("slide"===g.params.effect||"coverflow"===g.params.effect)&&g.wrapper.css({width:g.virtualSize+g.params.spaceBetween+"px"}),(!g.support.flexbox||g.params.setWrapperSize)&&(r()?g.wrapper.css({width:g.virtualSize+g.params.spaceBetween+"px"}):g.wrapper.css({height:g.virtualSize+g.params.spaceBetween+"px"})),g.params.slidesPerColumn>1&&(g.virtualSize=(a+g.params.spaceBetween)*o,g.virtualSize=Math.ceil(g.virtualSize/g.params.slidesPerColumn)-g.params.spaceBetween,g.wrapper.css({width:g.virtualSize+g.params.spaceBetween+"px"}),g.params.centeredSlides)){for(m=[],e=0;e<g.snapGrid.length;e++)g.snapGrid[e]<g.virtualSize+g.snapGrid[0]&&m.push(g.snapGrid[e]);g.snapGrid=m}if(!g.params.centeredSlides){for(m=[],e=0;e<g.snapGrid.length;e++)g.snapGrid[e]<=g.virtualSize-g.size&&m.push(g.snapGrid[e]);g.snapGrid=m,Math.floor(g.virtualSize-g.size)>Math.floor(g.snapGrid[g.snapGrid.length-1])&&g.snapGrid.push(g.virtualSize-g.size)}0===g.snapGrid.length&&(g.snapGrid=[0]),0!==g.params.spaceBetween&&(r()?g.rtl?g.slides.css({marginLeft:t+"px"}):g.slides.css({marginRight:t+"px"}):g.slides.css({marginBottom:t+"px"})),g.params.watchSlidesProgress&&g.updateSlidesOffset()},g.updateSlidesOffset=function(){for(var e=0;e<g.slides.length;e++)g.slides[e].swiperSlideOffset=r()?g.slides[e].offsetLeft:g.slides[e].offsetTop},g.updateSlidesProgress=function(e){if("undefined"==typeof e&&(e=g.translate||0),0!==g.slides.length){"undefined"==typeof g.slides[0].swiperSlideOffset&&g.updateSlidesOffset();var t=g.params.centeredSlides?-e+g.size/2:-e;g.rtl&&(t=g.params.centeredSlides?e-g.size/2:e);g.container[0].getBoundingClientRect(),r()?"left":"top",r()?"right":"bottom";g.slides.removeClass(g.params.slideVisibleClass);for(var i=0;i<g.slides.length;i++){var n=g.slides[i],s=g.params.centeredSlides===!0?n.swiperSlideSize/2:0,o=(t-n.swiperSlideOffset-s)/(n.swiperSlideSize+g.params.spaceBetween);if(g.params.watchSlidesVisibility){var a=-(t-n.swiperSlideOffset-s),l=a+g.slidesSizesGrid[i],u=a>=0&&a<g.size||l>0&&l<=g.size||0>=a&&l>=g.size;u&&g.slides.eq(i).addClass(g.params.slideVisibleClass)}n.progress=g.rtl?-o:o}}},g.updateProgress=function(e){"undefined"==typeof e&&(e=g.translate||0);var t=g.maxTranslate()-g.minTranslate();0===t?(g.progress=0,g.isBeginning=g.isEnd=!0):(g.progress=(e-g.minTranslate())/t,g.isBeginning=g.progress<=0,g.isEnd=g.progress>=1),g.isBeginning&&g.emit("onReachBeginning",g),g.isEnd&&g.emit("onReachEnd",g),g.params.watchSlidesProgress&&g.updateSlidesProgress(e),g.emit("onProgress",g,g.progress)},g.updateActiveIndex=function(){var e,t,i,n=g.rtl?g.translate:-g.translate;for(t=0;t<g.slidesGrid.length;t++)"undefined"!=typeof g.slidesGrid[t+1]?n>=g.slidesGrid[t]&&n<g.slidesGrid[t+1]-(g.slidesGrid[t+1]-g.slidesGrid[t])/2?e=t:n>=g.slidesGrid[t]&&n<g.slidesGrid[t+1]&&(e=t+1):n>=g.slidesGrid[t]&&(e=t);(0>e||"undefined"==typeof e)&&(e=0),i=Math.floor(e/g.params.slidesPerGroup),i>=g.snapGrid.length&&(i=g.snapGrid.length-1),e!==g.activeIndex&&(g.snapIndex=i,g.previousIndex=g.activeIndex,g.activeIndex=e,g.updateClasses())},g.updateClasses=function(){g.slides.removeClass(g.params.slideActiveClass+" "+g.params.slideNextClass+" "+g.params.slidePrevClass);var e=g.slides.eq(g.activeIndex);if(e.addClass(g.params.slideActiveClass),e.next("."+g.params.slideClass).addClass(g.params.slideNextClass),e.prev("."+g.params.slideClass).addClass(g.params.slidePrevClass),g.bullets&&g.bullets.length>0){g.bullets.removeClass(g.params.bulletActiveClass);var t;g.params.loop?(t=Math.ceil(g.activeIndex-g.loopedSlides)/g.params.slidesPerGroup,t>g.slides.length-1-2*g.loopedSlides&&(t-=g.slides.length-2*g.loopedSlides),t>g.bullets.length-1&&(t-=g.bullets.length)):t="undefined"!=typeof g.snapIndex?g.snapIndex:g.activeIndex||0,g.paginationContainer.length>1?g.bullets.each(function(){v(this).index()===t&&v(this).addClass(g.params.bulletActiveClass)}):g.bullets.eq(t).addClass(g.params.bulletActiveClass)}g.params.loop||(g.params.prevButton&&(g.isBeginning?(v(g.params.prevButton).addClass(g.params.buttonDisabledClass),g.params.a11y&&g.a11y&&g.a11y.disable(v(g.params.prevButton))):(v(g.params.prevButton).removeClass(g.params.buttonDisabledClass),g.params.a11y&&g.a11y&&g.a11y.enable(v(g.params.prevButton)))),g.params.nextButton&&(g.isEnd?(v(g.params.nextButton).addClass(g.params.buttonDisabledClass),g.params.a11y&&g.a11y&&g.a11y.disable(v(g.params.nextButton))):(v(g.params.nextButton).removeClass(g.params.buttonDisabledClass),g.params.a11y&&g.a11y&&g.a11y.enable(v(g.params.nextButton)))))},g.updatePagination=function(){if(g.params.pagination&&g.paginationContainer&&g.paginationContainer.length>0){for(var e="",t=g.params.loop?Math.ceil((g.slides.length-2*g.loopedSlides)/g.params.slidesPerGroup):g.snapGrid.length,i=0;t>i;i++)e+=g.params.paginationBulletRender?g.params.paginationBulletRender(i,g.params.bulletClass):'<span class="'+g.params.bulletClass+'"></span>';g.paginationContainer.html(e),g.bullets=g.paginationContainer.find("."+g.params.bulletClass)}},g.update=function(e){function t(){n=Math.min(Math.max(g.translate,g.maxTranslate()),g.minTranslate()),g.setWrapperTranslate(n),g.updateActiveIndex(),g.updateClasses()}if(g.updateContainerSize(),g.updateSlidesSize(),g.updateProgress(),g.updatePagination(),g.updateClasses(),g.params.scrollbar&&g.scrollbar&&g.scrollbar.set(),e){var i,n;g.params.freeMode?t():(i="auto"===g.params.slidesPerView&&g.isEnd&&!g.params.centeredSlides?g.slideTo(g.slides.length-1,0,!1,!0):g.slideTo(g.activeIndex,0,!1,!0),i||t())}},g.onResize=function(e){if(g.updateContainerSize(),g.updateSlidesSize(),g.updateProgress(),("auto"===g.params.slidesPerView||g.params.freeMode||e)&&g.updatePagination(),g.params.scrollbar&&g.scrollbar&&g.scrollbar.set(),g.params.freeMode){var t=Math.min(Math.max(g.translate,g.maxTranslate()),g.minTranslate());g.setWrapperTranslate(t),g.updateActiveIndex(),g.updateClasses()}else g.updateClasses(),"auto"===g.params.slidesPerView&&g.isEnd&&!g.params.centeredSlides?g.slideTo(g.slides.length-1,0,!1,!0):g.slideTo(g.activeIndex,0,!1,!0)};var y=["mousedown","mousemove","mouseup"];window.navigator.pointerEnabled?y=["pointerdown","pointermove","pointerup"]:window.navigator.msPointerEnabled&&(y=["MSPointerDown","MSPointerMove","MSPointerUp"]),g.touchEvents={start:g.support.touch||!g.params.simulateTouch?"touchstart":y[0],move:g.support.touch||!g.params.simulateTouch?"touchmove":y[1],end:g.support.touch||!g.params.simulateTouch?"touchend":y[2]},(window.navigator.pointerEnabled||window.navigator.msPointerEnabled)&&("container"===g.params.touchEventsTarget?g.container:g.wrapper).addClass("swiper-wp8-"+g.params.direction),g.initEvents=function(e){var t=e?"off":"on",i=e?"removeEventListener":"addEventListener",r="container"===g.params.touchEventsTarget?g.container[0]:g.wrapper[0],s=g.support.touch?r:document,o=g.params.nested?!0:!1;g.browser.ie?(r[i](g.touchEvents.start,g.onTouchStart,!1),s[i](g.touchEvents.move,g.onTouchMove,o),s[i](g.touchEvents.end,g.onTouchEnd,!1)):(g.support.touch&&(r[i](g.touchEvents.start,g.onTouchStart,!1),r[i](g.touchEvents.move,g.onTouchMove,o),r[i](g.touchEvents.end,g.onTouchEnd,!1)),!n.simulateTouch||g.device.ios||g.device.android||(r[i]("mousedown",g.onTouchStart,!1),document[i]("mousemove",g.onTouchMove,o),document[i]("mouseup",g.onTouchEnd,!1))),window[i]("resize",g.onResize),g.params.nextButton&&(v(g.params.nextButton)[t]("click",g.onClickNext),g.params.a11y&&g.a11y&&v(g.params.nextButton)[t]("keydown",g.a11y.onEnterKey)),g.params.prevButton&&(v(g.params.prevButton)[t]("click",g.onClickPrev),g.params.a11y&&g.a11y&&v(g.params.prevButton)[t]("keydown",g.a11y.onEnterKey)),g.params.pagination&&g.params.paginationClickable&&v(g.paginationContainer)[t]("click","."+g.params.bulletClass,g.onClickIndex),(g.params.preventClicks||g.params.preventClicksPropagation)&&r[i]("click",g.preventClicks,!0)},g.attachEvents=function(e){g.initEvents()},g.detachEvents=function(){g.initEvents(!0)},g.allowClick=!0,g.preventClicks=function(e){g.allowClick||(g.params.preventClicks&&e.preventDefault(),g.params.preventClicksPropagation&&g.animating&&(e.stopPropagation(),e.stopImmediatePropagation()))},g.onClickNext=function(e){e.preventDefault(),g.slideNext()},g.onClickPrev=function(e){e.preventDefault(),g.slidePrev()},g.onClickIndex=function(e){e.preventDefault();var t=v(this).index()*g.params.slidesPerGroup;g.params.loop&&(t+=g.loopedSlides),g.slideTo(t)},g.updateClickedSlide=function(e){var t=o(e,"."+g.params.slideClass),i=!1;if(t)for(var n=0;n<g.slides.length;n++)g.slides[n]===t&&(i=!0);if(!t||!i)return g.clickedSlide=void 0,void(g.clickedIndex=void 0);if(g.clickedSlide=t,g.clickedIndex=v(t).index(),g.params.slideToClickedSlide&&void 0!==g.clickedIndex&&g.clickedIndex!==g.activeIndex){var r,s=g.clickedIndex;if(g.params.loop)if(r=v(g.clickedSlide).attr("data-swiper-slide-index"),s>g.slides.length-g.params.slidesPerView)g.fixLoop(),s=g.wrapper.children("."+g.params.slideClass+'[data-swiper-slide-index="'+r+'"]').eq(0).index(),setTimeout(function(){g.slideTo(s)},0);else if(s<g.params.slidesPerView-1){g.fixLoop();var a=g.wrapper.children("."+g.params.slideClass+'[data-swiper-slide-index="'+r+'"]');s=a.eq(a.length-1).index(),setTimeout(function(){g.slideTo(s)},0)}else g.slideTo(s);else g.slideTo(s)}};var w,b,x,S,T,C,k,E,P,A="input, select, textarea, button",_=Date.now(),D=[];g.animating=!1,g.touches={startX:0,startY:0,currentX:0,currentY:0,diff:0};var L,M;if(g.onTouchStart=function(e){if(e.originalEvent&&(e=e.originalEvent),L="touchstart"===e.type,L||!("which"in e)||3!==e.which){if(g.params.noSwiping&&o(e,"."+g.params.noSwipingClass))return void(g.allowClick=!0);if(!g.params.swipeHandler||o(e,g.params.swipeHandler)){if(w=!0,b=!1,S=void 0,M=void 0,g.touches.startX=g.touches.currentX="touchstart"===e.type?e.targetTouches[0].pageX:e.pageX,g.touches.startY=g.touches.currentY="touchstart"===e.type?e.targetTouches[0].pageY:e.pageY,x=Date.now(),g.allowClick=!0,g.updateContainerSize(),g.swipeDirection=void 0,g.params.threshold>0&&(k=!1),"touchstart"!==e.type){var t=!0;v(e.target).is(A)&&(t=!1),document.activeElement&&v(document.activeElement).is(A)&&document.activeElement.blur(),t&&e.preventDefault()}g.emit("onTouchStart",g,e)}}},g.onTouchMove=function(e){if(e.originalEvent&&(e=e.originalEvent),!(L&&"mousemove"===e.type||e.preventedByNestedSwiper)){if(g.params.onlyExternal)return b=!0,void(g.allowClick=!1);if(L&&document.activeElement&&e.target===document.activeElement&&v(e.target).is(A))return b=!0,void(g.allowClick=!1);if(g.emit("onTouchMove",g,e),!(e.targetTouches&&e.targetTouches.length>1)){if(g.touches.currentX="touchmove"===e.type?e.targetTouches[0].pageX:e.pageX,g.touches.currentY="touchmove"===e.type?e.targetTouches[0].pageY:e.pageY,"undefined"==typeof S){var t=180*Math.atan2(Math.abs(g.touches.currentY-g.touches.startY),Math.abs(g.touches.currentX-g.touches.startX))/Math.PI;S=r()?t>g.params.touchAngle:90-t>g.params.touchAngle}if(S&&g.emit("onTouchMoveOpposite",g,e),"undefined"==typeof M&&g.browser.ieTouch&&(g.touches.currentX!==g.touches.startX||g.touches.currentY!==g.touches.startY)&&(M=!0),w){if(S)return void(w=!1);if(M||!g.browser.ieTouch){g.allowClick=!1,g.emit("onSliderMove",g,e),e.preventDefault(),g.params.touchMoveStopPropagation&&!g.params.nested&&e.stopPropagation(),b||(n.loop&&g.fixLoop(),C=g.getWrapperTranslate(),g.setWrapperTransition(0),g.animating&&g.wrapper.trigger("webkitTransitionEnd transitionend oTransitionEnd MSTransitionEnd msTransitionEnd"),g.params.autoplay&&g.autoplaying&&(g.params.autoplayDisableOnInteraction?g.stopAutoplay():g.pauseAutoplay()),P=!1,g.params.grabCursor&&(g.container[0].style.cursor="move",g.container[0].style.cursor="-webkit-grabbing",g.container[0].style.cursor="-moz-grabbin",g.container[0].style.cursor="grabbing")),b=!0;var i=g.touches.diff=r()?g.touches.currentX-g.touches.startX:g.touches.currentY-g.touches.startY;i*=g.params.touchRatio,g.rtl&&(i=-i),g.swipeDirection=i>0?"prev":"next",T=i+C;var s=!0;if(i>0&&T>g.minTranslate()?(s=!1,g.params.resistance&&(T=g.minTranslate()-1+Math.pow(-g.minTranslate()+C+i,g.params.resistanceRatio))):0>i&&T<g.maxTranslate()&&(s=!1,g.params.resistance&&(T=g.maxTranslate()+1-Math.pow(g.maxTranslate()-C-i,g.params.resistanceRatio))),s&&(e.preventedByNestedSwiper=!0),!g.params.allowSwipeToNext&&"next"===g.swipeDirection&&C>T&&(T=C),!g.params.allowSwipeToPrev&&"prev"===g.swipeDirection&&T>C&&(T=C),g.params.followFinger){if(g.params.threshold>0){if(!(Math.abs(i)>g.params.threshold||k))return void(T=C);if(!k)return k=!0,g.touches.startX=g.touches.currentX,g.touches.startY=g.touches.currentY,T=C,void(g.touches.diff=r()?g.touches.currentX-g.touches.startX:g.touches.currentY-g.touches.startY)}(g.params.freeMode||g.params.watchSlidesProgress)&&g.updateActiveIndex(),g.params.freeMode&&(0===D.length&&D.push({position:g.touches[r()?"startX":"startY"],time:x}),D.push({position:g.touches[r()?"currentX":"currentY"],time:(new window.Date).getTime()})),g.updateProgress(T),g.setWrapperTranslate(T)}}}}}},g.onTouchEnd=function(e){if(e.originalEvent&&(e=e.originalEvent),g.emit("onTouchEnd",g,e),w){g.params.grabCursor&&b&&w&&(g.container[0].style.cursor="move",g.container[0].style.cursor="-webkit-grab",g.container[0].style.cursor="-moz-grab",g.container[0].style.cursor="grab");var t=Date.now(),i=t-x;if(g.allowClick&&(g.updateClickedSlide(e),g.emit("onTap",g,e),300>i&&t-_>300&&(E&&clearTimeout(E),E=setTimeout(function(){g&&(g.params.paginationHide&&g.paginationContainer.length>0&&!v(e.target).hasClass(g.params.bulletClass)&&g.paginationContainer.toggleClass(g.params.paginationHiddenClass),g.emit("onClick",g,e))},300)),300>i&&300>t-_&&(E&&clearTimeout(E),g.emit("onDoubleTap",g,e))),_=Date.now(),setTimeout(function(){g&&(g.allowClick=!0)},0),!w||!b||!g.swipeDirection||0===g.touches.diff||T===C)return void(w=b=!1);w=b=!1;var n;if(n=g.params.followFinger?g.rtl?g.translate:-g.translate:-T,g.params.freeMode){if(n<-g.minTranslate())return void g.slideTo(g.activeIndex);if(n>-g.maxTranslate())return void(g.slides.length<g.snapGrid.length?g.slideTo(g.snapGrid.length-1):g.slideTo(g.slides.length-1));if(g.params.freeModeMomentum){if(D.length>1){var r=D.pop(),s=D.pop(),o=r.position-s.position,a=r.time-s.time;g.velocity=o/a,g.velocity=g.velocity/2,Math.abs(g.velocity)<.02&&(g.velocity=0),(a>150||(new window.Date).getTime()-r.time>300)&&(g.velocity=0)}else g.velocity=0;D.length=0;var l=1e3*g.params.freeModeMomentumRatio,u=g.velocity*l,c=g.translate+u;g.rtl&&(c=-c);var p,h=!1,d=20*Math.abs(g.velocity)*g.params.freeModeMomentumBounceRatio;if(c<g.maxTranslate())g.params.freeModeMomentumBounce?(c+g.maxTranslate()<-d&&(c=g.maxTranslate()-d),p=g.maxTranslate(),h=!0,P=!0):c=g.maxTranslate();else if(c>g.minTranslate())g.params.freeModeMomentumBounce?(c-g.minTranslate()>d&&(c=g.minTranslate()+d),p=g.minTranslate(),h=!0,P=!0):c=g.minTranslate();else if(g.params.freeModeSticky){var f,m=0;for(m=0;m<g.snapGrid.length;m+=1)if(g.snapGrid[m]>-c){f=m;break}c=Math.abs(g.snapGrid[f]-c)<Math.abs(g.snapGrid[f-1]-c)||"next"===g.swipeDirection?g.snapGrid[f]:g.snapGrid[f-1],g.rtl||(c=-c)}if(0!==g.velocity)l=g.rtl?Math.abs((-c-g.translate)/g.velocity):Math.abs((c-g.translate)/g.velocity);else if(g.params.freeModeSticky)return void g.slideReset();g.params.freeModeMomentumBounce&&h?(g.updateProgress(p),g.setWrapperTransition(l),g.setWrapperTranslate(c),g.onTransitionStart(),g.animating=!0,g.wrapper.transitionEnd(function(){g&&P&&(g.emit("onMomentumBounce",g),g.setWrapperTransition(g.params.speed),g.setWrapperTranslate(p),g.wrapper.transitionEnd(function(){g&&g.onTransitionEnd()}))})):g.velocity?(g.updateProgress(c),g.setWrapperTransition(l),g.setWrapperTranslate(c),g.onTransitionStart(),g.animating||(g.animating=!0,g.wrapper.transitionEnd(function(){g&&g.onTransitionEnd()}))):g.updateProgress(c),g.updateActiveIndex()}return void((!g.params.freeModeMomentum||i>=g.params.longSwipesMs)&&(g.updateProgress(),g.updateActiveIndex()))}var y,S=0,k=g.slidesSizesGrid[0];for(y=0;y<g.slidesGrid.length;y+=g.params.slidesPerGroup)"undefined"!=typeof g.slidesGrid[y+g.params.slidesPerGroup]?n>=g.slidesGrid[y]&&n<g.slidesGrid[y+g.params.slidesPerGroup]&&(S=y,k=g.slidesGrid[y+g.params.slidesPerGroup]-g.slidesGrid[y]):n>=g.slidesGrid[y]&&(S=y,k=g.slidesGrid[g.slidesGrid.length-1]-g.slidesGrid[g.slidesGrid.length-2]);var A=(n-g.slidesGrid[S])/k;if(i>g.params.longSwipesMs){if(!g.params.longSwipes)return void g.slideTo(g.activeIndex);"next"===g.swipeDirection&&(A>=g.params.longSwipesRatio?g.slideTo(S+g.params.slidesPerGroup):g.slideTo(S)),"prev"===g.swipeDirection&&(A>1-g.params.longSwipesRatio?g.slideTo(S+g.params.slidesPerGroup):g.slideTo(S))}else{if(!g.params.shortSwipes)return void g.slideTo(g.activeIndex);"next"===g.swipeDirection&&g.slideTo(S+g.params.slidesPerGroup),"prev"===g.swipeDirection&&g.slideTo(S)}}},g._slideTo=function(e,t){return g.slideTo(e,t,!0,!0)},g.slideTo=function(e,t,i,n){"undefined"==typeof i&&(i=!0),"undefined"==typeof e&&(e=0),0>e&&(e=0),g.snapIndex=Math.floor(e/g.params.slidesPerGroup),g.snapIndex>=g.snapGrid.length&&(g.snapIndex=g.snapGrid.length-1);var s=-g.snapGrid[g.snapIndex];if(!g.params.allowSwipeToNext&&s<g.translate&&s<g.minTranslate())return!1;if(!g.params.allowSwipeToPrev&&s>g.translate&&s>g.maxTranslate())return!1;g.params.autoplay&&g.autoplaying&&(n||!g.params.autoplayDisableOnInteraction?g.pauseAutoplay(t):g.stopAutoplay()),g.updateProgress(s);for(var o=0;o<g.slidesGrid.length;o++)-s>=g.slidesGrid[o]&&(e=o);if("undefined"==typeof t&&(t=g.params.speed),g.previousIndex=g.activeIndex||0,g.activeIndex=e,s===g.translate)return g.updateClasses(),!1;g.updateClasses(),g.onTransitionStart(i);r()?s:0,r()?0:s;return 0===t?(g.setWrapperTransition(0),g.setWrapperTranslate(s),g.onTransitionEnd(i)):(g.setWrapperTransition(t),g.setWrapperTranslate(s),g.animating||(g.animating=!0,g.wrapper.transitionEnd(function(){g&&g.onTransitionEnd(i)}))),!0},g.onTransitionStart=function(e){"undefined"==typeof e&&(e=!0),g.lazy&&g.lazy.onTransitionStart(),e&&(g.emit("onTransitionStart",g),g.activeIndex!==g.previousIndex&&g.emit("onSlideChangeStart",g))},g.onTransitionEnd=function(e){g.animating=!1,g.setWrapperTransition(0),"undefined"==typeof e&&(e=!0),g.lazy&&g.lazy.onTransitionEnd(),e&&(g.emit("onTransitionEnd",g),g.activeIndex!==g.previousIndex&&g.emit("onSlideChangeEnd",g)),g.params.hashnav&&g.hashnav&&g.hashnav.setHash()},g.slideNext=function(e,t,i){if(g.params.loop){if(g.animating)return!1;g.fixLoop();g.container[0].clientLeft;return g.slideTo(g.activeIndex+g.params.slidesPerGroup,t,e,i)}return g.slideTo(g.activeIndex+g.params.slidesPerGroup,t,e,i)},g._slideNext=function(e){return g.slideNext(!0,e,!0)},g.slidePrev=function(e,t,i){if(g.params.loop){if(g.animating)return!1;g.fixLoop();g.container[0].clientLeft;return g.slideTo(g.activeIndex-1,t,e,i)}return g.slideTo(g.activeIndex-1,t,e,i)},g._slidePrev=function(e){return g.slidePrev(!0,e,!0)},g.slideReset=function(e,t,i){return g.slideTo(g.activeIndex,t,e)},g.setWrapperTransition=function(e,t){g.wrapper.transition(e),"slide"!==g.params.effect&&g.effects[g.params.effect]&&g.effects[g.params.effect].setTransition(e),g.params.parallax&&g.parallax&&g.parallax.setTransition(e),g.params.scrollbar&&g.scrollbar&&g.scrollbar.setTransition(e),g.params.control&&g.controller&&g.controller.setTransition(e,t),g.emit("onSetTransition",g,e)},g.setWrapperTranslate=function(e,t,i){var n=0,s=0,o=0;r()?n=g.rtl?-e:e:s=e,g.params.virtualTranslate||(g.support.transforms3d?g.wrapper.transform("translate3d("+n+"px, "+s+"px, "+o+"px)"):g.wrapper.transform("translate("+n+"px, "+s+"px)")),g.translate=r()?n:s,t&&g.updateActiveIndex(),"slide"!==g.params.effect&&g.effects[g.params.effect]&&g.effects[g.params.effect].setTranslate(g.translate),g.params.parallax&&g.parallax&&g.parallax.setTranslate(g.translate),g.params.scrollbar&&g.scrollbar&&g.scrollbar.setTranslate(g.translate),g.params.control&&g.controller&&g.controller.setTranslate(g.translate,i),g.emit("onSetTranslate",g,g.translate)},g.getTranslate=function(e,t){var i,n,r,s;return"undefined"==typeof t&&(t="x"),g.params.virtualTranslate?g.rtl?-g.translate:g.translate:(r=window.getComputedStyle(e,null),window.WebKitCSSMatrix?s=new window.WebKitCSSMatrix("none"===r.webkitTransform?"":r.webkitTransform):(s=r.MozTransform||r.OTransform||r.MsTransform||r.msTransform||r.transform||r.getPropertyValue("transform").replace("translate(","matrix(1, 0, 0, 1,"),i=s.toString().split(",")),"x"===t&&(n=window.WebKitCSSMatrix?s.m41:16===i.length?parseFloat(i[12]):parseFloat(i[4])),"y"===t&&(n=window.WebKitCSSMatrix?s.m42:16===i.length?parseFloat(i[13]):parseFloat(i[5])),g.rtl&&n&&(n=-n),n||0)},g.getWrapperTranslate=function(e){return"undefined"==typeof e&&(e=r()?"x":"y"),g.getTranslate(g.wrapper[0],e)},g.observers=[],g.initObservers=function(){if(g.params.observeParents)for(var e=g.container.parents(),t=0;t<e.length;t++)a(e[t]);a(g.container[0],{childList:!1}),a(g.wrapper[0],{attributes:!1})},g.disconnectObservers=function(){for(var e=0;e<g.observers.length;e++)g.observers[e].disconnect();g.observers=[]},g.createLoop=function(){g.wrapper.children("."+g.params.slideClass+"."+g.params.slideDuplicateClass).remove();var e=g.wrapper.children("."+g.params.slideClass);g.loopedSlides=parseInt(g.params.loopedSlides||g.params.slidesPerView,10),g.loopedSlides=g.loopedSlides+g.params.loopAdditionalSlides,g.loopedSlides>e.length&&(g.loopedSlides=e.length);var t,i=[],n=[];for(e.each(function(t,r){var s=v(this);t<g.loopedSlides&&n.push(r),t<e.length&&t>=e.length-g.loopedSlides&&i.push(r),s.attr("data-swiper-slide-index",t)}),t=0;t<n.length;t++)g.wrapper.append(v(n[t].cloneNode(!0)).addClass(g.params.slideDuplicateClass));for(t=i.length-1;t>=0;t--)g.wrapper.prepend(v(i[t].cloneNode(!0)).addClass(g.params.slideDuplicateClass))},g.destroyLoop=function(){g.wrapper.children("."+g.params.slideClass+"."+g.params.slideDuplicateClass).remove(),g.slides.removeAttr("data-swiper-slide-index")},g.fixLoop=function(){var e;g.activeIndex<g.loopedSlides?(e=g.slides.length-3*g.loopedSlides+g.activeIndex,e+=g.loopedSlides,g.slideTo(e,0,!1,!0)):("auto"===g.params.slidesPerView&&g.activeIndex>=2*g.loopedSlides||g.activeIndex>g.slides.length-2*g.params.slidesPerView)&&(e=-g.slides.length+g.activeIndex+g.loopedSlides,e+=g.loopedSlides,g.slideTo(e,0,!1,!0))},g.appendSlide=function(e){if(g.params.loop&&g.destroyLoop(),"object"==typeof e&&e.length)for(var t=0;t<e.length;t++)e[t]&&g.wrapper.append(e[t]);else g.wrapper.append(e);g.params.loop&&g.createLoop(),g.params.observer&&g.support.observer||g.update(!0)},g.prependSlide=function(e){g.params.loop&&g.destroyLoop();var t=g.activeIndex+1;if("object"==typeof e&&e.length){for(var i=0;i<e.length;i++)e[i]&&g.wrapper.prepend(e[i]);t=g.activeIndex+e.length}else g.wrapper.prepend(e);g.params.loop&&g.createLoop(),g.params.observer&&g.support.observer||g.update(!0),g.slideTo(t,0,!1); -},g.removeSlide=function(e){g.params.loop&&(g.destroyLoop(),g.slides=g.wrapper.children("."+g.params.slideClass));var t,i=g.activeIndex;if("object"==typeof e&&e.length){for(var n=0;n<e.length;n++)t=e[n],g.slides[t]&&g.slides.eq(t).remove(),i>t&&i--;i=Math.max(i,0)}else t=e,g.slides[t]&&g.slides.eq(t).remove(),i>t&&i--,i=Math.max(i,0);g.params.loop&&g.createLoop(),g.params.observer&&g.support.observer||g.update(!0),g.params.loop?g.slideTo(i+g.loopedSlides,0,!1):g.slideTo(i,0,!1)},g.removeAllSlides=function(){for(var e=[],t=0;t<g.slides.length;t++)e.push(t);g.removeSlide(e)},g.effects={fade:{setTranslate:function(){for(var e=0;e<g.slides.length;e++){var t=g.slides.eq(e),i=t[0].swiperSlideOffset,n=-i;g.params.virtualTranslate||(n-=g.translate);var s=0;r()||(s=n,n=0);var o=g.params.fade.crossFade?Math.max(1-Math.abs(t[0].progress),0):1+Math.min(Math.max(t[0].progress,-1),0);t.css({opacity:o}).transform("translate3d("+n+"px, "+s+"px, 0px)")}},setTransition:function(e){if(g.slides.transition(e),g.params.virtualTranslate&&0!==e){var t=!1;g.slides.transitionEnd(function(){if(!t&&g){t=!0,g.animating=!1;for(var e=["webkitTransitionEnd","transitionend","oTransitionEnd","MSTransitionEnd","msTransitionEnd"],i=0;i<e.length;i++)g.wrapper.trigger(e[i])}})}}},cube:{setTranslate:function(){var e,t=0;g.params.cube.shadow&&(r()?(e=g.wrapper.find(".swiper-cube-shadow"),0===e.length&&(e=v('<div class="swiper-cube-shadow"></div>'),g.wrapper.append(e)),e.css({height:g.width+"px"})):(e=g.container.find(".swiper-cube-shadow"),0===e.length&&(e=v('<div class="swiper-cube-shadow"></div>'),g.container.append(e))));for(var i=0;i<g.slides.length;i++){var n=g.slides.eq(i),s=90*i,o=Math.floor(s/360);g.rtl&&(s=-s,o=Math.floor(-s/360));var a=Math.max(Math.min(n[0].progress,1),-1),l=0,u=0,c=0;i%4===0?(l=4*-o*g.size,c=0):(i-1)%4===0?(l=0,c=4*-o*g.size):(i-2)%4===0?(l=g.size+4*o*g.size,c=g.size):(i-3)%4===0&&(l=-g.size,c=3*g.size+4*g.size*o),g.rtl&&(l=-l),r()||(u=l,l=0);var p="rotateX("+(r()?0:-s)+"deg) rotateY("+(r()?s:0)+"deg) translate3d("+l+"px, "+u+"px, "+c+"px)";if(1>=a&&a>-1&&(t=90*i+90*a,g.rtl&&(t=90*-i-90*a)),n.transform(p),g.params.cube.slideShadows){var h=r()?n.find(".swiper-slide-shadow-left"):n.find(".swiper-slide-shadow-top"),d=r()?n.find(".swiper-slide-shadow-right"):n.find(".swiper-slide-shadow-bottom");0===h.length&&(h=v('<div class="swiper-slide-shadow-'+(r()?"left":"top")+'"></div>'),n.append(h)),0===d.length&&(d=v('<div class="swiper-slide-shadow-'+(r()?"right":"bottom")+'"></div>'),n.append(d));n[0].progress;h.length&&(h[0].style.opacity=-n[0].progress),d.length&&(d[0].style.opacity=n[0].progress)}}if(g.wrapper.css({"-webkit-transform-origin":"50% 50% -"+g.size/2+"px","-moz-transform-origin":"50% 50% -"+g.size/2+"px","-ms-transform-origin":"50% 50% -"+g.size/2+"px","transform-origin":"50% 50% -"+g.size/2+"px"}),g.params.cube.shadow)if(r())e.transform("translate3d(0px, "+(g.width/2+g.params.cube.shadowOffset)+"px, "+-g.width/2+"px) rotateX(90deg) rotateZ(0deg) scale("+g.params.cube.shadowScale+")");else{var f=Math.abs(t)-90*Math.floor(Math.abs(t)/90),m=1.5-(Math.sin(2*f*Math.PI/360)/2+Math.cos(2*f*Math.PI/360)/2),y=g.params.cube.shadowScale,w=g.params.cube.shadowScale/m,b=g.params.cube.shadowOffset;e.transform("scale3d("+y+", 1, "+w+") translate3d(0px, "+(g.height/2+b)+"px, "+-g.height/2/w+"px) rotateX(-90deg)")}var x=g.isSafari||g.isUiWebView?-g.size/2:0;g.wrapper.transform("translate3d(0px,0,"+x+"px) rotateX("+(r()?0:t)+"deg) rotateY("+(r()?-t:0)+"deg)")},setTransition:function(e){g.slides.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e),g.params.cube.shadow&&!r()&&g.container.find(".swiper-cube-shadow").transition(e)}},coverflow:{setTranslate:function(){for(var e=g.translate,t=r()?-e+g.width/2:-e+g.height/2,i=r()?g.params.coverflow.rotate:-g.params.coverflow.rotate,n=g.params.coverflow.depth,s=0,o=g.slides.length;o>s;s++){var a=g.slides.eq(s),l=g.slidesSizesGrid[s],u=a[0].swiperSlideOffset,c=(t-u-l/2)/l*g.params.coverflow.modifier,p=r()?i*c:0,h=r()?0:i*c,d=-n*Math.abs(c),f=r()?0:g.params.coverflow.stretch*c,m=r()?g.params.coverflow.stretch*c:0;Math.abs(m)<.001&&(m=0),Math.abs(f)<.001&&(f=0),Math.abs(d)<.001&&(d=0),Math.abs(p)<.001&&(p=0),Math.abs(h)<.001&&(h=0);var y="translate3d("+m+"px,"+f+"px,"+d+"px) rotateX("+h+"deg) rotateY("+p+"deg)";if(a.transform(y),a[0].style.zIndex=-Math.abs(Math.round(c))+1,g.params.coverflow.slideShadows){var w=r()?a.find(".swiper-slide-shadow-left"):a.find(".swiper-slide-shadow-top"),b=r()?a.find(".swiper-slide-shadow-right"):a.find(".swiper-slide-shadow-bottom");0===w.length&&(w=v('<div class="swiper-slide-shadow-'+(r()?"left":"top")+'"></div>'),a.append(w)),0===b.length&&(b=v('<div class="swiper-slide-shadow-'+(r()?"right":"bottom")+'"></div>'),a.append(b)),w.length&&(w[0].style.opacity=c>0?c:0),b.length&&(b[0].style.opacity=-c>0?-c:0)}}if(g.browser.ie){var x=g.wrapper[0].style;x.perspectiveOrigin=t+"px 50%"}},setTransition:function(e){g.slides.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e)}}},g.lazy={initialImageLoaded:!1,loadImageInSlide:function(e,t){if("undefined"!=typeof e&&("undefined"==typeof t&&(t=!0),0!==g.slides.length)){var i=g.slides.eq(e),n=i.find(".swiper-lazy:not(.swiper-lazy-loaded):not(.swiper-lazy-loading)");!i.hasClass("swiper-lazy")||i.hasClass("swiper-lazy-loaded")||i.hasClass("swiper-lazy-loading")||n.add(i[0]),0!==n.length&&n.each(function(){var e=v(this);e.addClass("swiper-lazy-loading");var n=e.attr("data-background"),r=e.attr("data-src");g.loadImage(e[0],r||n,!1,function(){if(n?(e.css("background-image","url("+n+")"),e.removeAttr("data-background")):(e.attr("src",r),e.removeAttr("data-src")),e.addClass("swiper-lazy-loaded").removeClass("swiper-lazy-loading"),i.find(".swiper-lazy-preloader, .preloader").remove(),g.params.loop&&t){var s=i.attr("data-swiper-slide-index");if(i.hasClass(g.params.slideDuplicateClass)){var o=g.wrapper.children('[data-swiper-slide-index="'+s+'"]:not(.'+g.params.slideDuplicateClass+")");g.lazy.loadImageInSlide(o.index(),!1)}else{var a=g.wrapper.children("."+g.params.slideDuplicateClass+'[data-swiper-slide-index="'+s+'"]');g.lazy.loadImageInSlide(a.index(),!1)}}g.emit("onLazyImageReady",g,i[0],e[0])}),g.emit("onLazyImageLoad",g,i[0],e[0])})}},load:function(){var e;if(g.params.watchSlidesVisibility)g.wrapper.children("."+g.params.slideVisibleClass).each(function(){g.lazy.loadImageInSlide(v(this).index())});else if(g.params.slidesPerView>1)for(e=g.activeIndex;e<g.activeIndex+g.params.slidesPerView;e++)g.slides[e]&&g.lazy.loadImageInSlide(e);else g.lazy.loadImageInSlide(g.activeIndex);if(g.params.lazyLoadingInPrevNext)if(g.params.slidesPerView>1){for(e=g.activeIndex+g.params.slidesPerView;e<g.activeIndex+g.params.slidesPerView+g.params.slidesPerView;e++)g.slides[e]&&g.lazy.loadImageInSlide(e);for(e=g.activeIndex-g.params.slidesPerView;e<g.activeIndex;e++)g.slides[e]&&g.lazy.loadImageInSlide(e)}else{var t=g.wrapper.children("."+g.params.slideNextClass);t.length>0&&g.lazy.loadImageInSlide(t.index());var i=g.wrapper.children("."+g.params.slidePrevClass);i.length>0&&g.lazy.loadImageInSlide(i.index())}},onTransitionStart:function(){g.params.lazyLoading&&(g.params.lazyLoadingOnTransitionStart||!g.params.lazyLoadingOnTransitionStart&&!g.lazy.initialImageLoaded)&&g.lazy.load()},onTransitionEnd:function(){g.params.lazyLoading&&!g.params.lazyLoadingOnTransitionStart&&g.lazy.load()}},g.scrollbar={set:function(){if(g.params.scrollbar){var e=g.scrollbar;e.track=v(g.params.scrollbar),e.drag=e.track.find(".swiper-scrollbar-drag"),0===e.drag.length&&(e.drag=v('<div class="swiper-scrollbar-drag"></div>'),e.track.append(e.drag)),e.drag[0].style.width="",e.drag[0].style.height="",e.trackSize=r()?e.track[0].offsetWidth:e.track[0].offsetHeight,e.divider=g.size/g.virtualSize,e.moveDivider=e.divider*(e.trackSize/g.size),e.dragSize=e.trackSize*e.divider,r()?e.drag[0].style.width=e.dragSize+"px":e.drag[0].style.height=e.dragSize+"px",e.divider>=1?e.track[0].style.display="none":e.track[0].style.display="",g.params.scrollbarHide&&(e.track[0].style.opacity=0)}},setTranslate:function(){if(g.params.scrollbar){var e,t=g.scrollbar,i=(g.translate||0,t.dragSize);e=(t.trackSize-t.dragSize)*g.progress,g.rtl&&r()?(e=-e,e>0?(i=t.dragSize-e,e=0):-e+t.dragSize>t.trackSize&&(i=t.trackSize+e)):0>e?(i=t.dragSize+e,e=0):e+t.dragSize>t.trackSize&&(i=t.trackSize-e),r()?(g.support.transforms3d?t.drag.transform("translate3d("+e+"px, 0, 0)"):t.drag.transform("translateX("+e+"px)"),t.drag[0].style.width=i+"px"):(g.support.transforms3d?t.drag.transform("translate3d(0px, "+e+"px, 0)"):t.drag.transform("translateY("+e+"px)"),t.drag[0].style.height=i+"px"),g.params.scrollbarHide&&(clearTimeout(t.timeout),t.track[0].style.opacity=1,t.timeout=setTimeout(function(){t.track[0].style.opacity=0,t.track.transition(400)},1e3))}},setTransition:function(e){g.params.scrollbar&&g.scrollbar.drag.transition(e)}},g.controller={setTranslate:function(e,i){function n(t){e=t.rtl&&"horizontal"===t.params.direction?-g.translate:g.translate,r=(t.maxTranslate()-t.minTranslate())/(g.maxTranslate()-g.minTranslate()),s=(e-g.minTranslate())*r+t.minTranslate(),g.params.controlInverse&&(s=t.maxTranslate()-s),t.updateProgress(s),t.setWrapperTranslate(s,!1,g),t.updateActiveIndex()}var r,s,o=g.params.control;if(g.isArray(o))for(var a=0;a<o.length;a++)o[a]!==i&&o[a]instanceof t&&n(o[a]);else o instanceof t&&i!==o&&n(o)},setTransition:function(e,i){function n(t){t.setWrapperTransition(e,g),0!==e&&(t.onTransitionStart(),t.wrapper.transitionEnd(function(){s&&t.onTransitionEnd()}))}var r,s=g.params.control;if(g.isArray(s))for(r=0;r<s.length;r++)s[r]!==i&&s[r]instanceof t&&n(s[r]);else s instanceof t&&i!==s&&n(s)}},g.hashnav={init:function(){if(g.params.hashnav){g.hashnav.initialized=!0;var e=document.location.hash.replace("#","");if(e)for(var t=0,i=0,n=g.slides.length;n>i;i++){var r=g.slides.eq(i),s=r.attr("data-hash");if(s===e&&!r.hasClass(g.params.slideDuplicateClass)){var o=r.index();g.slideTo(o,t,g.params.runCallbacksOnInit,!0)}}}},setHash:function(){g.hashnav.initialized&&g.params.hashnav&&(document.location.hash=g.slides.eq(g.activeIndex).attr("data-hash")||"")}},g.disableKeyboardControl=function(){v(document).off("keydown",l)},g.enableKeyboardControl=function(){v(document).on("keydown",l)},g.mousewheel={event:!1,lastScrollTime:(new window.Date).getTime()},g.params.mousewheelControl){if(void 0!==document.onmousewheel&&(g.mousewheel.event="mousewheel"),!g.mousewheel.event)try{new window.WheelEvent("wheel"),g.mousewheel.event="wheel"}catch(N){}g.mousewheel.event||(g.mousewheel.event="DOMMouseScroll")}g.disableMousewheelControl=function(){return g.mousewheel.event?(g.container.off(g.mousewheel.event,u),!0):!1},g.enableMousewheelControl=function(){return g.mousewheel.event?(g.container.on(g.mousewheel.event,u),!0):!1},g.parallax={setTranslate:function(){g.container.children("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]").each(function(){c(this,g.progress)}),g.slides.each(function(){var e=v(this);e.find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]").each(function(){var t=Math.min(Math.max(e[0].progress,-1),1);c(this,t)})})},setTransition:function(e){"undefined"==typeof e&&(e=g.params.speed),g.container.find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]").each(function(){var t=v(this),i=parseInt(t.attr("data-swiper-parallax-duration"),10)||e;0===e&&(i=0),t.transition(i)})}},g._plugins=[];for(var I in g.plugins){var z=g.plugins[I](g,g.params[I]);z&&g._plugins.push(z)}return g.callPlugins=function(e){for(var t=0;t<g._plugins.length;t++)e in g._plugins[t]&&g._plugins[t][e](arguments[1],arguments[2],arguments[3],arguments[4],arguments[5])},g.emitterEventListeners={},g.emit=function(e){g.params[e]&&g.params[e](arguments[1],arguments[2],arguments[3],arguments[4],arguments[5]);var t;if(g.emitterEventListeners[e])for(t=0;t<g.emitterEventListeners[e].length;t++)g.emitterEventListeners[e][t](arguments[1],arguments[2],arguments[3],arguments[4],arguments[5]);g.callPlugins&&g.callPlugins(e,arguments[1],arguments[2],arguments[3],arguments[4],arguments[5])},g.on=function(e,t){return e=p(e),g.emitterEventListeners[e]||(g.emitterEventListeners[e]=[]),g.emitterEventListeners[e].push(t),g},g.off=function(e,t){var i;if(e=p(e),"undefined"==typeof t)return g.emitterEventListeners[e]=[],g;if(g.emitterEventListeners[e]&&0!==g.emitterEventListeners[e].length){for(i=0;i<g.emitterEventListeners[e].length;i++)g.emitterEventListeners[e][i]===t&&g.emitterEventListeners[e].splice(i,1);return g}},g.once=function(e,t){e=p(e);var i=function(){t(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4]),g.off(e,i)};return g.on(e,i),g},g.a11y={makeFocusable:function(e){return e[0].tabIndex="0",e},addRole:function(e,t){return e.attr("role",t),e},addLabel:function(e,t){return e.attr("aria-label",t),e},disable:function(e){return e.attr("aria-disabled",!0),e},enable:function(e){return e.attr("aria-disabled",!1),e},onEnterKey:function(e){13===e.keyCode&&(v(e.target).is(g.params.nextButton)?(g.onClickNext(e),g.isEnd?g.a11y.notify(g.params.lastSlideMsg):g.a11y.notify(g.params.nextSlideMsg)):v(e.target).is(g.params.prevButton)&&(g.onClickPrev(e),g.isBeginning?g.a11y.notify(g.params.firstSlideMsg):g.a11y.notify(g.params.prevSlideMsg)))},liveRegion:v('<span class="swiper-notification" aria-live="assertive" aria-atomic="true"></span>'),notify:function(e){var t=g.a11y.liveRegion;0!==t.length&&(t.html(""),t.html(e))},init:function(){if(g.params.nextButton){var e=v(g.params.nextButton);g.a11y.makeFocusable(e),g.a11y.addRole(e,"button"),g.a11y.addLabel(e,g.params.nextSlideMsg)}if(g.params.prevButton){var t=v(g.params.prevButton);g.a11y.makeFocusable(t),g.a11y.addRole(t,"button"),g.a11y.addLabel(t,g.params.prevSlideMsg)}v(g.container).append(g.a11y.liveRegion)},destroy:function(){g.a11y.liveRegion&&g.a11y.liveRegion.length>0&&g.a11y.liveRegion.remove()}},g.init=function(){g.params.loop&&g.createLoop(),g.updateContainerSize(),g.updateSlidesSize(),g.updatePagination(),g.params.scrollbar&&g.scrollbar&&g.scrollbar.set(),"slide"!==g.params.effect&&g.effects[g.params.effect]&&(g.params.loop||g.updateProgress(),g.effects[g.params.effect].setTranslate()),g.params.loop?g.slideTo(g.params.initialSlide+g.loopedSlides,0,g.params.runCallbacksOnInit):(g.slideTo(g.params.initialSlide,0,g.params.runCallbacksOnInit),0===g.params.initialSlide&&(g.parallax&&g.params.parallax&&g.parallax.setTranslate(),g.lazy&&g.params.lazyLoading&&(g.lazy.load(),g.lazy.initialImageLoaded=!0))),g.attachEvents(),g.params.observer&&g.support.observer&&g.initObservers(),g.params.preloadImages&&!g.params.lazyLoading&&g.preloadImages(),g.params.autoplay&&g.startAutoplay(),g.params.keyboardControl&&g.enableKeyboardControl&&g.enableKeyboardControl(),g.params.mousewheelControl&&g.enableMousewheelControl&&g.enableMousewheelControl(),g.params.hashnav&&g.hashnav&&g.hashnav.init(),g.params.a11y&&g.a11y&&g.a11y.init(),g.emit("onInit",g)},g.cleanupStyles=function(){g.container.removeClass(g.classNames.join(" ")).removeAttr("style"),g.wrapper.removeAttr("style"),g.slides&&g.slides.length&&g.slides.removeClass([g.params.slideVisibleClass,g.params.slideActiveClass,g.params.slideNextClass,g.params.slidePrevClass].join(" ")).removeAttr("style").removeAttr("data-swiper-column").removeAttr("data-swiper-row"),g.paginationContainer&&g.paginationContainer.length&&g.paginationContainer.removeClass(g.params.paginationHiddenClass),g.bullets&&g.bullets.length&&g.bullets.removeClass(g.params.bulletActiveClass),g.params.prevButton&&v(g.params.prevButton).removeClass(g.params.buttonDisabledClass),g.params.nextButton&&v(g.params.nextButton).removeClass(g.params.buttonDisabledClass),g.params.scrollbar&&g.scrollbar&&(g.scrollbar.track&&g.scrollbar.track.length&&g.scrollbar.track.removeAttr("style"),g.scrollbar.drag&&g.scrollbar.drag.length&&g.scrollbar.drag.removeAttr("style"))},g.destroy=function(e,t){g.detachEvents(),g.stopAutoplay(),g.params.loop&&g.destroyLoop(),t&&g.cleanupStyles(),g.disconnectObservers(),g.params.keyboardControl&&g.disableKeyboardControl&&g.disableKeyboardControl(),g.params.mousewheelControl&&g.disableMousewheelControl&&g.disableMousewheelControl(),g.params.a11y&&g.a11y&&g.a11y.destroy(),g.emit("onDestroy"),e!==!1&&(g=null)},g.init(),g}};t.prototype={isSafari:function(){var e=navigator.userAgent.toLowerCase();return e.indexOf("safari")>=0&&e.indexOf("chrome")<0&&e.indexOf("android")<0}(),isUiWebView:/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(navigator.userAgent),isArray:function(e){return"[object Array]"===Object.prototype.toString.apply(e)},browser:{ie:window.navigator.pointerEnabled||window.navigator.msPointerEnabled,ieTouch:window.navigator.msPointerEnabled&&window.navigator.msMaxTouchPoints>1||window.navigator.pointerEnabled&&window.navigator.maxTouchPoints>1},device:function(){var e=navigator.userAgent,t=e.match(/(Android);?[\s\/]+([\d.]+)?/),i=e.match(/(iPad).*OS\s([\d_]+)/),n=(e.match(/(iPod)(.*OS\s([\d_]+))?/),!i&&e.match(/(iPhone\sOS)\s([\d_]+)/));return{ios:i||n||i,android:t}}(),support:{touch:window.Modernizr&&Modernizr.touch===!0||function(){return!!("ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch)}(),transforms3d:window.Modernizr&&Modernizr.csstransforms3d===!0||function(){var e=document.createElement("div").style;return"webkitPerspective"in e||"MozPerspective"in e||"OPerspective"in e||"MsPerspective"in e||"perspective"in e}(),flexbox:function(){for(var e=document.createElement("div").style,t="alignItems webkitAlignItems webkitBoxAlign msFlexAlign mozBoxAlign webkitFlexDirection msFlexDirection mozBoxDirection mozBoxOrient webkitBoxDirection webkitBoxOrient".split(" "),i=0;i<t.length;i++)if(t[i]in e)return!0}(),observer:function(){return"MutationObserver"in window||"WebkitMutationObserver"in window}()},plugins:{}};for(var i=(function(){var e=function(e){var t=this,i=0;for(i=0;i<e.length;i++)t[i]=e[i];return t.length=e.length,this},t=function(t,i){var n=[],r=0;if(t&&!i&&t instanceof e)return t;if(t)if("string"==typeof t){var s,o,a=t.trim();if(a.indexOf("<")>=0&&a.indexOf(">")>=0){var l="div";for(0===a.indexOf("<li")&&(l="ul"),0===a.indexOf("<tr")&&(l="tbody"),(0===a.indexOf("<td")||0===a.indexOf("<th"))&&(l="tr"),0===a.indexOf("<tbody")&&(l="table"),0===a.indexOf("<option")&&(l="select"),o=document.createElement(l),o.innerHTML=t,r=0;r<o.childNodes.length;r++)n.push(o.childNodes[r])}else for(s=i||"#"!==t[0]||t.match(/[ .<>:~]/)?(i||document).querySelectorAll(t):[document.getElementById(t.split("#")[1])],r=0;r<s.length;r++)s[r]&&n.push(s[r])}else if(t.nodeType||t===window||t===document)n.push(t);else if(t.length>0&&t[0].nodeType)for(r=0;r<t.length;r++)n.push(t[r]);return new e(n)};return e.prototype={addClass:function(e){if("undefined"==typeof e)return this;for(var t=e.split(" "),i=0;i<t.length;i++)for(var n=0;n<this.length;n++)this[n].classList.add(t[i]);return this},removeClass:function(e){for(var t=e.split(" "),i=0;i<t.length;i++)for(var n=0;n<this.length;n++)this[n].classList.remove(t[i]);return this},hasClass:function(e){return this[0]?this[0].classList.contains(e):!1},toggleClass:function(e){for(var t=e.split(" "),i=0;i<t.length;i++)for(var n=0;n<this.length;n++)this[n].classList.toggle(t[i]);return this},attr:function(e,t){if(1===arguments.length&&"string"==typeof e)return this[0]?this[0].getAttribute(e):void 0;for(var i=0;i<this.length;i++)if(2===arguments.length)this[i].setAttribute(e,t);else for(var n in e)this[i][n]=e[n],this[i].setAttribute(n,e[n]);return this},removeAttr:function(e){for(var t=0;t<this.length;t++)this[t].removeAttribute(e);return this},data:function(e,t){if("undefined"!=typeof t){for(var i=0;i<this.length;i++){var n=this[i];n.dom7ElementDataStorage||(n.dom7ElementDataStorage={}),n.dom7ElementDataStorage[e]=t}return this}if(this[0]){var r=this[0].getAttribute("data-"+e);return r?r:this[0].dom7ElementDataStorage&&e in this[0].dom7ElementDataStorage?this[0].dom7ElementDataStorage[e]:void 0}},transform:function(e){for(var t=0;t<this.length;t++){var i=this[t].style;i.webkitTransform=i.MsTransform=i.msTransform=i.MozTransform=i.OTransform=i.transform=e}return this},transition:function(e){"string"!=typeof e&&(e+="ms");for(var t=0;t<this.length;t++){var i=this[t].style;i.webkitTransitionDuration=i.MsTransitionDuration=i.msTransitionDuration=i.MozTransitionDuration=i.OTransitionDuration=i.transitionDuration=e}return this},on:function(e,i,n,r){function s(e){var r=e.target;if(t(r).is(i))n.call(r,e);else for(var s=t(r).parents(),o=0;o<s.length;o++)t(s[o]).is(i)&&n.call(s[o],e)}var o,a,l=e.split(" ");for(o=0;o<this.length;o++)if("function"==typeof i||i===!1)for("function"==typeof i&&(n=arguments[1],r=arguments[2]||!1),a=0;a<l.length;a++)this[o].addEventListener(l[a],n,r);else for(a=0;a<l.length;a++)this[o].dom7LiveListeners||(this[o].dom7LiveListeners=[]),this[o].dom7LiveListeners.push({listener:n,liveListener:s}),this[o].addEventListener(l[a],s,r);return this},off:function(e,t,i,n){for(var r=e.split(" "),s=0;s<r.length;s++)for(var o=0;o<this.length;o++)if("function"==typeof t||t===!1)"function"==typeof t&&(i=arguments[1],n=arguments[2]||!1),this[o].removeEventListener(r[s],i,n);else if(this[o].dom7LiveListeners)for(var a=0;a<this[o].dom7LiveListeners.length;a++)this[o].dom7LiveListeners[a].listener===i&&this[o].removeEventListener(r[s],this[o].dom7LiveListeners[a].liveListener,n);return this},once:function(e,t,i,n){function r(o){i(o),s.off(e,t,r,n)}var s=this;"function"==typeof t&&(t=!1,i=arguments[1],n=arguments[2]),s.on(e,t,r,n)},trigger:function(e,t){for(var i=0;i<this.length;i++){var n;try{n=new window.CustomEvent(e,{detail:t,bubbles:!0,cancelable:!0})}catch(r){n=document.createEvent("Event"),n.initEvent(e,!0,!0),n.detail=t}this[i].dispatchEvent(n)}return this},transitionEnd:function(e){function t(s){if(s.target===this)for(e.call(this,s),i=0;i<n.length;i++)r.off(n[i],t)}var i,n=["webkitTransitionEnd","transitionend","oTransitionEnd","MSTransitionEnd","msTransitionEnd"],r=this;if(e)for(i=0;i<n.length;i++)r.on(n[i],t);return this},width:function(){return this[0]===window?window.innerWidth:this.length>0?parseFloat(this.css("width")):null},outerWidth:function(e){return this.length>0?e?this[0].offsetWidth+parseFloat(this.css("margin-right"))+parseFloat(this.css("margin-left")):this[0].offsetWidth:null},height:function(){return this[0]===window?window.innerHeight:this.length>0?parseFloat(this.css("height")):null},outerHeight:function(e){return this.length>0?e?this[0].offsetHeight+parseFloat(this.css("margin-top"))+parseFloat(this.css("margin-bottom")):this[0].offsetHeight:null},offset:function(){if(this.length>0){var e=this[0],t=e.getBoundingClientRect(),i=document.body,n=e.clientTop||i.clientTop||0,r=e.clientLeft||i.clientLeft||0,s=window.pageYOffset||e.scrollTop,o=window.pageXOffset||e.scrollLeft;return{top:t.top+s-n,left:t.left+o-r}}return null},css:function(e,t){var i;if(1===arguments.length){if("string"!=typeof e){for(i=0;i<this.length;i++)for(var n in e)this[i].style[n]=e[n];return this}if(this[0])return window.getComputedStyle(this[0],null).getPropertyValue(e)}if(2===arguments.length&&"string"==typeof e){for(i=0;i<this.length;i++)this[i].style[e]=t;return this}return this},each:function(e){for(var t=0;t<this.length;t++)e.call(this[t],t,this[t]);return this},html:function(e){if("undefined"==typeof e)return this[0]?this[0].innerHTML:void 0;for(var t=0;t<this.length;t++)this[t].innerHTML=e;return this},is:function(i){if(!this[0])return!1;var n,r;if("string"==typeof i){var s=this[0];if(s===document)return i===document;if(s===window)return i===window;if(s.matches)return s.matches(i);if(s.webkitMatchesSelector)return s.webkitMatchesSelector(i);if(s.mozMatchesSelector)return s.mozMatchesSelector(i);if(s.msMatchesSelector)return s.msMatchesSelector(i);for(n=t(i),r=0;r<n.length;r++)if(n[r]===this[0])return!0;return!1}if(i===document)return this[0]===document;if(i===window)return this[0]===window;if(i.nodeType||i instanceof e){for(n=i.nodeType?[i]:i,r=0;r<n.length;r++)if(n[r]===this[0])return!0;return!1}return!1},index:function(){if(this[0]){for(var e=this[0],t=0;null!==(e=e.previousSibling);)1===e.nodeType&&t++;return t}},eq:function(t){if("undefined"==typeof t)return this;var i,n=this.length;return t>n-1?new e([]):0>t?(i=n+t,new e(0>i?[]:[this[i]])):new e([this[t]])},append:function(t){var i,n;for(i=0;i<this.length;i++)if("string"==typeof t){var r=document.createElement("div");for(r.innerHTML=t;r.firstChild;)this[i].appendChild(r.firstChild)}else if(t instanceof e)for(n=0;n<t.length;n++)this[i].appendChild(t[n]);else this[i].appendChild(t);return this},prepend:function(t){var i,n;for(i=0;i<this.length;i++)if("string"==typeof t){var r=document.createElement("div");for(r.innerHTML=t,n=r.childNodes.length-1;n>=0;n--)this[i].insertBefore(r.childNodes[n],this[i].childNodes[0])}else if(t instanceof e)for(n=0;n<t.length;n++)this[i].insertBefore(t[n],this[i].childNodes[0]);else this[i].insertBefore(t,this[i].childNodes[0]);return this},insertBefore:function(e){for(var i=t(e),n=0;n<this.length;n++)if(1===i.length)i[0].parentNode.insertBefore(this[n],i[0]);else if(i.length>1)for(var r=0;r<i.length;r++)i[r].parentNode.insertBefore(this[n].cloneNode(!0),i[r])},insertAfter:function(e){for(var i=t(e),n=0;n<this.length;n++)if(1===i.length)i[0].parentNode.insertBefore(this[n],i[0].nextSibling);else if(i.length>1)for(var r=0;r<i.length;r++)i[r].parentNode.insertBefore(this[n].cloneNode(!0),i[r].nextSibling)},next:function(i){return new e(this.length>0?i?this[0].nextElementSibling&&t(this[0].nextElementSibling).is(i)?[this[0].nextElementSibling]:[]:this[0].nextElementSibling?[this[0].nextElementSibling]:[]:[])},nextAll:function(i){var n=[],r=this[0];if(!r)return new e([]);for(;r.nextElementSibling;){var s=r.nextElementSibling;i?t(s).is(i)&&n.push(s):n.push(s),r=s}return new e(n)},prev:function(i){return new e(this.length>0?i?this[0].previousElementSibling&&t(this[0].previousElementSibling).is(i)?[this[0].previousElementSibling]:[]:this[0].previousElementSibling?[this[0].previousElementSibling]:[]:[])},prevAll:function(i){var n=[],r=this[0];if(!r)return new e([]);for(;r.previousElementSibling;){var s=r.previousElementSibling;i?t(s).is(i)&&n.push(s):n.push(s),r=s}return new e(n)},parent:function(e){for(var i=[],n=0;n<this.length;n++)e?t(this[n].parentNode).is(e)&&i.push(this[n].parentNode):i.push(this[n].parentNode);return t(t.unique(i))},parents:function(e){for(var i=[],n=0;n<this.length;n++)for(var r=this[n].parentNode;r;)e?t(r).is(e)&&i.push(r):i.push(r),r=r.parentNode;return t(t.unique(i))},find:function(t){for(var i=[],n=0;n<this.length;n++)for(var r=this[n].querySelectorAll(t),s=0;s<r.length;s++)i.push(r[s]);return new e(i)},children:function(i){for(var n=[],r=0;r<this.length;r++)for(var s=this[r].childNodes,o=0;o<s.length;o++)i?1===s[o].nodeType&&t(s[o]).is(i)&&n.push(s[o]):1===s[o].nodeType&&n.push(s[o]);return new e(t.unique(n))},remove:function(){for(var e=0;e<this.length;e++)this[e].parentNode&&this[e].parentNode.removeChild(this[e]);return this},add:function(){var e,i,n=this;for(e=0;e<arguments.length;e++){var r=t(arguments[e]);for(i=0;i<r.length;i++)n[n.length]=r[i],n.length++}return n}},t.fn=e.prototype,t.unique=function(e){for(var t=[],i=0;i<e.length;i++)-1===t.indexOf(e[i])&&t.push(e[i]);return t},t}()),n=["jQuery","Zepto","Dom7"],r=0;r<n.length;r++)window[n[r]]&&e(window[n[r]]);var s;s="undefined"==typeof i?window.Dom7||window.Zepto||window.jQuery:i,s&&("transitionEnd"in s.fn||(s.fn.transitionEnd=function(e){function t(s){if(s.target===this)for(e.call(this,s),i=0;i<n.length;i++)r.off(n[i],t)}var i,n=["webkitTransitionEnd","transitionend","oTransitionEnd","MSTransitionEnd","msTransitionEnd"],r=this;if(e)for(i=0;i<n.length;i++)r.on(n[i],t);return this}),"transform"in s.fn||(s.fn.transform=function(e){for(var t=0;t<this.length;t++){var i=this[t].style;i.webkitTransform=i.MsTransform=i.msTransform=i.MozTransform=i.OTransform=i.transform=e}return this}),"transition"in s.fn||(s.fn.transition=function(e){"string"!=typeof e&&(e+="ms");for(var t=0;t<this.length;t++){var i=this[t].style;i.webkitTransitionDuration=i.MsTransitionDuration=i.msTransitionDuration=i.MozTransitionDuration=i.OTransitionDuration=i.transitionDuration=e}return this})),window.Swiper=t}(),"undefined"!=typeof i?i.exports=window.Swiper:"function"==typeof define&&define.amd&&define([],function(){"use strict";return window.Swiper})}),define("swiper.css.js",[],function(e,t,i){e("index")('.swiper-container{margin:0 auto;position:relative;overflow:hidden;z-index:1;}.swiper-container-no-flexbox .swiper-slide{float:left;}.swiper-container-vertical > .swiper-wrapper{-webkit-box-orient:vertical;-moz-box-orient:vertical;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-transform-style:preserve-3d;-moz-transform-style:preserve-3d;-ms-transform-style:preserve-3d;transform-style:preserve-3d;-webkit-transition-property:-webkit-transform;-moz-transition-property:-moz-transform;-o-transition-property:-o-transform;-ms-transition-property:-ms-transform;transition-property:transform;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;}.swiper-container-android .swiper-slide,.swiper-wrapper{-webkit-transform:translate3d(0px, 0, 0);-moz-transform:translate3d(0px, 0, 0);-o-transform:translate(0px, 0px);-ms-transform:translate3d(0px, 0, 0);transform:translate3d(0px, 0, 0);}.swiper-container-multirow > .swiper-wrapper{-webkit-box-lines:multiple;-moz-box-lines:multiple;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap;}.swiper-container-free-mode > .swiper-wrapper{-webkit-transition-timing-function:ease-out;-moz-transition-timing-function:ease-out;-ms-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;margin:0 auto;}.swiper-slide{-webkit-transform-style:preserve-3d;-moz-transform-style:preserve-3d;-ms-transform-style:preserve-3d;transform-style:preserve-3d;-webkit-flex-shrink:0;-ms-flex:0 0 auto;flex-shrink:0;width:100%;height:100%;position:relative;}.swiper-container .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000;}.swiper-wp8-horizontal{-ms-touch-action:pan-y;touch-action:pan-y;}.swiper-wp8-vertical{-ms-touch-action:pan-x;touch-action:pan-x;}.swiper-button-prev,.swiper-button-next{position:absolute;top:50%;width:27px;height:44px;margin-top:-22px;z-index:10;cursor:pointer;-moz-background-size:27px 44px;-webkit-background-size:27px 44px;background-size:27px 44px;background-position:center;background-repeat:no-repeat;}.swiper-button-prev.swiper-button-disabled,.swiper-button-next.swiper-button-disabled{opacity:0.35;cursor:auto;pointer-events:none;}.swiper-button-prev,.swiper-container-rtl .swiper-button-next{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D"http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg"%20viewBox%3D"0%200%2027%2044"%3E%3Cpath%20d%3D"M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z"%20fill%3D"%23007aff"%2F%3E%3C%2Fsvg%3E");left:10px;right:auto;}.swiper-button-prev.swiper-button-black,.swiper-container-rtl .swiper-button-next.swiper-button-black{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D"http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg"%20viewBox%3D"0%200%2027%2044"%3E%3Cpath%20d%3D"M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z"%20fill%3D"%23000000"%2F%3E%3C%2Fsvg%3E");}.swiper-button-prev.swiper-button-white,.swiper-container-rtl .swiper-button-next.swiper-button-white{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D"http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg"%20viewBox%3D"0%200%2027%2044"%3E%3Cpath%20d%3D"M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z"%20fill%3D"%23ffffff"%2F%3E%3C%2Fsvg%3E");}.swiper-button-next,.swiper-container-rtl .swiper-button-prev{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D"http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg"%20viewBox%3D"0%200%2027%2044"%3E%3Cpath%20d%3D"M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z"%20fill%3D"%23007aff"%2F%3E%3C%2Fsvg%3E");right:10px;left:auto;}.swiper-button-next.swiper-button-black,.swiper-container-rtl .swiper-button-prev.swiper-button-black{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D"http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg"%20viewBox%3D"0%200%2027%2044"%3E%3Cpath%20d%3D"M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z"%20fill%3D"%23000000"%2F%3E%3C%2Fsvg%3E");}.swiper-button-next.swiper-button-white,.swiper-container-rtl .swiper-button-prev.swiper-button-white{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D"http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg"%20viewBox%3D"0%200%2027%2044"%3E%3Cpath%20d%3D"M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z"%20fill%3D"%23ffffff"%2F%3E%3C%2Fsvg%3E");}.swiper-pagination{position:absolute;text-align:center;-webkit-transition:300ms;-moz-transition:300ms;-o-transition:300ms;transition:300ms;-webkit-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-o-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);z-index:10;}.swiper-pagination.swiper-pagination-hidden{opacity:0;}.swiper-pagination-bullet{width:8px;height:8px;display:inline-block;border-radius:100%;background:#000;opacity:0.2;}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer;}.swiper-pagination-white .swiper-pagination-bullet{background:#fff;}.swiper-pagination-bullet-active{opacity:1;background:#007aff;}.swiper-pagination-white .swiper-pagination-bullet-active{background:#fff;}.swiper-pagination-black .swiper-pagination-bullet-active{background:#000;}.swiper-container-vertical > .swiper-pagination{right:10px;top:50%;-webkit-transform:translate3d(0px, -50%, 0);-moz-transform:translate3d(0px, -50%, 0);-o-transform:translate(0px, -50%);-ms-transform:translate3d(0px, -50%, 0);transform:translate3d(0px, -50%, 0);}.swiper-container-vertical > .swiper-pagination .swiper-pagination-bullet{margin:5px 0;display:block;}.swiper-container-horizontal > .swiper-pagination{bottom:10px;left:0;width:100%;}.swiper-container-horizontal > .swiper-pagination .swiper-pagination-bullet{margin:0 5px;}.swiper-container-3d{-webkit-perspective:1200px;-moz-perspective:1200px;-o-perspective:1200px;perspective:1200px;}.swiper-container-3d .swiper-wrapper,.swiper-container-3d .swiper-slide,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top,.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-cube-shadow{-webkit-transform-style:preserve-3d;-moz-transform-style:preserve-3d;-ms-transform-style:preserve-3d;transform-style:preserve-3d;}.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top,.swiper-container-3d .swiper-slide-shadow-bottom{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10;}.swiper-container-3d .swiper-slide-shadow-left{background-image:-webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));background-image:-webkit-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:-moz-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:-o-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));}.swiper-container-3d .swiper-slide-shadow-right{background-image:-webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));background-image:-webkit-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:-moz-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:-o-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));}.swiper-container-3d .swiper-slide-shadow-top{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));background-image:-webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:-moz-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:-o-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));}.swiper-container-3d .swiper-slide-shadow-bottom{background-image:-webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));background-image:-webkit-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:-moz-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:-o-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));}.swiper-container-coverflow .swiper-wrapper{-ms-perspective:1200px;}.swiper-container-fade.swiper-container-free-mode .swiper-slide{-webkit-transition-timing-function:ease-out;-moz-transition-timing-function:ease-out;-ms-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;}.swiper-container-fade .swiper-slide{pointer-events:none;}.swiper-container-fade .swiper-slide .swiper-slide{pointer-events:none;}.swiper-container-fade .swiper-slide-active,.swiper-container-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto;}.swiper-container-cube{overflow:visible;}.swiper-container-cube .swiper-slide{pointer-events:none;visibility:hidden;-webkit-transform-origin:0 0;-moz-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;backface-visibility:hidden;width:100%;height:100%;}.swiper-container-cube.swiper-container-rtl .swiper-slide{-webkit-transform-origin:100% 0;-moz-transform-origin:100% 0;-ms-transform-origin:100% 0;transform-origin:100% 0;}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-next,.swiper-container-cube .swiper-slide-prev,.swiper-container-cube .swiper-slide-next + .swiper-slide{pointer-events:auto;visibility:visible;}.swiper-container-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0px;width:100%;height:100%;background:#000;opacity:0.6;-webkit-filter:blur(50px);filter:blur(50px);}.swiper-container-cube.swiper-container-vertical .swiper-cube-shadow{z-index:0;}.swiper-scrollbar{border-radius:10px;position:relative;-ms-touch-action:none;background:rgba(0, 0, 0, 0.1);}.swiper-container-horizontal > .swiper-scrollbar{position:absolute;left:1%;bottom:3px;z-index:50;height:5px;width:98%;}.swiper-container-vertical > .swiper-scrollbar{position:absolute;right:3px;top:1%;z-index:50;width:5px;height:98%;}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:rgba(0, 0, 0, 0.5);border-radius:10px;left:0;top:0;}.swiper-scrollbar-cursor-drag{cursor:move;}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;-webkit-transform-origin:50%;-moz-transform-origin:50%;transform-origin:50%;-webkit-animation:swiper-preloader-spin 1s steps(12, end) infinite;-moz-animation:swiper-preloader-spin 1s steps(12, end) infinite;animation:swiper-preloader-spin 1s steps(12, end) infinite;}.swiper-lazy-preloader:after{display:block;content:"";width:100%;height:100%;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D"0%200%20120%20120"%20xmlns%3D"http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg"%20xmlns%3Axlink%3D"http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink"%3E%3Cdefs%3E%3Cline%20id%3D"l"%20x1%3D"60"%20x2%3D"60"%20y1%3D"7"%20y2%3D"27"%20stroke%3D"%236c6c6c"%20stroke-width%3D"11"%20stroke-linecap%3D"round"%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D"%23l"%20opacity%3D".27"%2F%3E%3Cuse%20xlink%3Ahref%3D"%23l"%20opacity%3D".27"%20transform%3D"rotate(30%2060%2C60)"%2F%3E%3Cuse%20xlink%3Ahref%3D"%23l"%20opacity%3D".27"%20transform%3D"rotate(60%2060%2C60)"%2F%3E%3Cuse%20xlink%3Ahref%3D"%23l"%20opacity%3D".27"%20transform%3D"rotate(90%2060%2C60)"%2F%3E%3Cuse%20xlink%3Ahref%3D"%23l"%20opacity%3D".27"%20transform%3D"rotate(120%2060%2C60)"%2F%3E%3Cuse%20xlink%3Ahref%3D"%23l"%20opacity%3D".27"%20transform%3D"rotate(150%2060%2C60)"%2F%3E%3Cuse%20xlink%3Ahref%3D"%23l"%20opacity%3D".37"%20transform%3D"rotate(180%2060%2C60)"%2F%3E%3Cuse%20xlink%3Ahref%3D"%23l"%20opacity%3D".46"%20transform%3D"rotate(210%2060%2C60)"%2F%3E%3Cuse%20xlink%3Ahref%3D"%23l"%20opacity%3D".56"%20transform%3D"rotate(240%2060%2C60)"%2F%3E%3Cuse%20xlink%3Ahref%3D"%23l"%20opacity%3D".66"%20transform%3D"rotate(270%2060%2C60)"%2F%3E%3Cuse%20xlink%3Ahref%3D"%23l"%20opacity%3D".75"%20transform%3D"rotate(300%2060%2C60)"%2F%3E%3Cuse%20xlink%3Ahref%3D"%23l"%20opacity%3D".85"%20transform%3D"rotate(330%2060%2C60)"%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");background-position:50%;-webkit-background-size:100%;background-size:100%;background-repeat:no-repeat;}.swiper-lazy-preloader-white:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D"0%200%20120%20120"%20xmlns%3D"http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg"%20xmlns%3Axlink%3D"http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink"%3E%3Cdefs%3E%3Cline%20id%3D"l"%20x1%3D"60"%20x2%3D"60"%20y1%3D"7"%20y2%3D"27"%20stroke%3D"%23fff"%20stroke-width%3D"11"%20stroke-linecap%3D"round"%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D"%23l"%20opacity%3D".27"%2F%3E%3Cuse%20xlink%3Ahref%3D"%23l"%20opacity%3D".27"%20transform%3D"rotate(30%2060%2C60)"%2F%3E%3Cuse%20xlink%3Ahref%3D"%23l"%20opacity%3D".27"%20transform%3D"rotate(60%2060%2C60)"%2F%3E%3Cuse%20xlink%3Ahref%3D"%23l"%20opacity%3D".27"%20transform%3D"rotate(90%2060%2C60)"%2F%3E%3Cuse%20xlink%3Ahref%3D"%23l"%20opacity%3D".27"%20transform%3D"rotate(120%2060%2C60)"%2F%3E%3Cuse%20xlink%3Ahref%3D"%23l"%20opacity%3D".27"%20transform%3D"rotate(150%2060%2C60)"%2F%3E%3Cuse%20xlink%3Ahref%3D"%23l"%20opacity%3D".37"%20transform%3D"rotate(180%2060%2C60)"%2F%3E%3Cuse%20xlink%3Ahref%3D"%23l"%20opacity%3D".46"%20transform%3D"rotate(210%2060%2C60)"%2F%3E%3Cuse%20xlink%3Ahref%3D"%23l"%20opacity%3D".56"%20transform%3D"rotate(240%2060%2C60)"%2F%3E%3Cuse%20xlink%3Ahref%3D"%23l"%20opacity%3D".66"%20transform%3D"rotate(270%2060%2C60)"%2F%3E%3Cuse%20xlink%3Ahref%3D"%23l"%20opacity%3D".75"%20transform%3D"rotate(300%2060%2C60)"%2F%3E%3Cuse%20xlink%3Ahref%3D"%23l"%20opacity%3D".85"%20transform%3D"rotate(330%2060%2C60)"%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");}@-webkit-keyframes swiper-preloader-spin{100%{-webkit-transform:rotate(360deg);}}@keyframes swiper-preloader-spin{100%{transform:rotate(360deg);}}'); -}),define("iscroll-probe",[],function(e,t,i){!function(e,t,n){function r(e,i){this.wrapper="string"==typeof e?t.querySelector(e):e,this.scroller=this.wrapper.children[0],this.scrollerStyle=this.scroller.style,this.options={resizeScrollbars:!0,mouseWheelSpeed:20,snapThreshold:.334,startX:0,startY:0,scrollY:!0,directionLockThreshold:5,momentum:!0,bounce:!0,bounceTime:600,bounceEasing:"",preventDefault:!0,preventDefaultException:{tagName:/^(INPUT|TEXTAREA|BUTTON|SELECT)$/},HWCompositing:!0,useTransition:!0,useTransform:!0};for(var n in i)this.options[n]=i[n];this.translateZ=this.options.HWCompositing&&l.hasPerspective?" translateZ(0)":"",this.options.useTransition=l.hasTransition&&this.options.useTransition,this.options.useTransform=l.hasTransform&&this.options.useTransform,this.options.eventPassthrough=this.options.eventPassthrough===!0?"vertical":this.options.eventPassthrough,this.options.preventDefault=!this.options.eventPassthrough&&this.options.preventDefault,this.options.scrollY="vertical"==this.options.eventPassthrough?!1:this.options.scrollY,this.options.scrollX="horizontal"==this.options.eventPassthrough?!1:this.options.scrollX,this.options.freeScroll=this.options.freeScroll&&!this.options.eventPassthrough,this.options.directionLockThreshold=this.options.eventPassthrough?0:this.options.directionLockThreshold,this.options.bounceEasing="string"==typeof this.options.bounceEasing?l.ease[this.options.bounceEasing]||l.ease.circular:this.options.bounceEasing,this.options.resizePolling=void 0===this.options.resizePolling?60:this.options.resizePolling,this.options.tap===!0&&(this.options.tap="tap"),"scale"==this.options.shrinkScrollbars&&(this.options.useTransition=!1),this.options.invertWheelDirection=this.options.invertWheelDirection?-1:1,3==this.options.probeType&&(this.options.useTransition=!1),this.x=0,this.y=0,this.directionX=0,this.directionY=0,this._events={},this._init(),this.refresh(),this.scrollTo(this.options.startX,this.options.startY),this.enable()}function s(e,i,n){var r=t.createElement("div"),s=t.createElement("div");return n===!0&&(r.style.cssText="position:absolute;z-index:9999",s.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:absolute;background:rgba(0,0,0,0.5);border:1px solid rgba(255,255,255,0.9);border-radius:3px"),s.className="iScrollIndicator","h"==e?(n===!0&&(r.style.cssText+=";height:7px;left:2px;right:2px;bottom:0",s.style.height="100%"),r.className="iScrollHorizontalScrollbar"):(n===!0&&(r.style.cssText+=";width:7px;bottom:2px;top:2px;right:1px",s.style.width="100%"),r.className="iScrollVerticalScrollbar"),r.style.cssText+=";overflow:hidden",i||(r.style.pointerEvents="none"),r.appendChild(s),r}function o(i,n){this.wrapper="string"==typeof n.el?t.querySelector(n.el):n.el,this.wrapperStyle=this.wrapper.style,this.indicator=this.wrapper.children[0],this.indicatorStyle=this.indicator.style,this.scroller=i,this.options={listenX:!0,listenY:!0,interactive:!1,resize:!0,defaultScrollbars:!1,shrink:!1,fade:!1,speedRatioX:0,speedRatioY:0};for(var r in n)this.options[r]=n[r];this.sizeRatioX=1,this.sizeRatioY=1,this.maxPosX=0,this.maxPosY=0,this.options.interactive&&(this.options.disableTouch||(l.addEvent(this.indicator,"touchstart",this),l.addEvent(e,"touchend",this)),this.options.disablePointer||(l.addEvent(this.indicator,l.prefixPointerEvent("pointerdown"),this),l.addEvent(e,l.prefixPointerEvent("pointerup"),this)),this.options.disableMouse||(l.addEvent(this.indicator,"mousedown",this),l.addEvent(e,"mouseup",this))),this.options.fade&&(this.wrapperStyle[l.style.transform]=this.scroller.translateZ,this.wrapperStyle[l.style.transitionDuration]=l.isBadAndroid?"0.001s":"0ms",this.wrapperStyle.opacity="0")}var a=e.requestAnimationFrame||e.webkitRequestAnimationFrame||e.mozRequestAnimationFrame||e.oRequestAnimationFrame||e.msRequestAnimationFrame||function(t){e.setTimeout(t,1e3/60)},l=function(){function i(e){return o===!1?!1:""===o?e:o+e.charAt(0).toUpperCase()+e.substr(1)}var r={},s=t.createElement("div").style,o=function(){for(var e,t=["t","webkitT","MozT","msT","OT"],i=0,n=t.length;n>i;i++)if(e=t[i]+"ransform",e in s)return t[i].substr(0,t[i].length-1);return!1}();r.getTime=Date.now||function(){return(new Date).getTime()},r.extend=function(e,t){for(var i in t)e[i]=t[i]},r.addEvent=function(e,t,i,n){e.addEventListener(t,i,!!n)},r.removeEvent=function(e,t,i,n){e.removeEventListener(t,i,!!n)},r.prefixPointerEvent=function(t){return e.MSPointerEvent?"MSPointer"+t.charAt(9).toUpperCase()+t.substr(10):t},r.momentum=function(e,t,i,r,s,o){var a,l,u=e-t,c=n.abs(u)/i;return o=void 0===o?6e-4:o,a=e+c*c/(2*o)*(0>u?-1:1),l=c/o,r>a?(a=s?r-s/2.5*(c/8):r,u=n.abs(a-e),l=u/c):a>0&&(a=s?s/2.5*(c/8):0,u=n.abs(e)+a,l=u/c),{destination:n.round(a),duration:l}};var a=i("transform");return r.extend(r,{hasTransform:a!==!1,hasPerspective:i("perspective")in s,hasTouch:"ontouchstart"in e,hasPointer:e.PointerEvent||e.MSPointerEvent,hasTransition:i("transition")in s}),r.isBadAndroid=/Android /.test(e.navigator.appVersion)&&!/Chrome\/\d/.test(e.navigator.appVersion),r.extend(r.style={},{transform:a,transitionTimingFunction:i("transitionTimingFunction"),transitionDuration:i("transitionDuration"),transitionDelay:i("transitionDelay"),transformOrigin:i("transformOrigin")}),r.hasClass=function(e,t){var i=new RegExp("(^|\\s)"+t+"(\\s|$)");return i.test(e.className)},r.addClass=function(e,t){if(!r.hasClass(e,t)){var i=e.className.split(" ");i.push(t),e.className=i.join(" ")}},r.removeClass=function(e,t){if(r.hasClass(e,t)){var i=new RegExp("(^|\\s)"+t+"(\\s|$)","g");e.className=e.className.replace(i," ")}},r.offset=function(e){for(var t=-e.offsetLeft,i=-e.offsetTop;e=e.offsetParent;)t-=e.offsetLeft,i-=e.offsetTop;return{left:t,top:i}},r.preventDefaultException=function(e,t){for(var i in t)if(t[i].test(e[i]))return!0;return!1},r.extend(r.eventType={},{touchstart:1,touchmove:1,touchend:1,mousedown:2,mousemove:2,mouseup:2,pointerdown:3,pointermove:3,pointerup:3,MSPointerDown:3,MSPointerMove:3,MSPointerUp:3}),r.extend(r.ease={},{quadratic:{style:"cubic-bezier(0.25, 0.46, 0.45, 0.94)",fn:function(e){return e*(2-e)}},circular:{style:"cubic-bezier(0.1, 0.57, 0.1, 1)",fn:function(e){return n.sqrt(1- --e*e)}},back:{style:"cubic-bezier(0.175, 0.885, 0.32, 1.275)",fn:function(e){var t=4;return(e-=1)*e*((t+1)*e+t)+1}},bounce:{style:"",fn:function(e){return(e/=1)<1/2.75?7.5625*e*e:2/2.75>e?7.5625*(e-=1.5/2.75)*e+.75:2.5/2.75>e?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375}},elastic:{style:"",fn:function(e){var t=.22,i=.4;return 0===e?0:1==e?1:i*n.pow(2,-10*e)*n.sin((e-t/4)*(2*n.PI)/t)+1}}}),r.tap=function(e,i){var n=t.createEvent("Event");n.initEvent(i,!0,!0),n.pageX=e.pageX,n.pageY=e.pageY,e.target.dispatchEvent(n)},r.click=function(e){var i,n=e.target;/(SELECT|INPUT|TEXTAREA)/i.test(n.tagName)||(i=t.createEvent("MouseEvents"),i.initMouseEvent("click",!0,!0,e.view,1,n.screenX,n.screenY,n.clientX,n.clientY,e.ctrlKey,e.altKey,e.shiftKey,e.metaKey,0,null),i._constructed=!0,n.dispatchEvent(i))},r}();r.prototype={version:"5.1.2",_init:function(){this._initEvents(),(this.options.scrollbars||this.options.indicators)&&this._initIndicators(),this.options.mouseWheel&&this._initWheel(),this.options.snap&&this._initSnap(),this.options.keyBindings&&this._initKeys()},destroy:function(){this._initEvents(!0),this._execEvent("destroy")},_transitionEnd:function(e){e.target==this.scroller&&this.isInTransition&&(this._transitionTime(),this.resetPosition(this.options.bounceTime)||(this.isInTransition=!1,this._execEvent("scrollEnd")))},_start:function(e){if((1==l.eventType[e.type]||0===e.button)&&this.enabled&&(!this.initiated||l.eventType[e.type]===this.initiated)){!this.options.preventDefault||l.isBadAndroid||l.preventDefaultException(e.target,this.options.preventDefaultException)||e.preventDefault();var t,i=e.touches?e.touches[0]:e;this.initiated=l.eventType[e.type],this.moved=!1,this.distX=0,this.distY=0,this.directionX=0,this.directionY=0,this.directionLocked=0,this._transitionTime(),this.startTime=l.getTime(),this.options.useTransition&&this.isInTransition?(this.isInTransition=!1,t=this.getComputedPosition(),this._translate(n.round(t.x),n.round(t.y)),this._execEvent("scrollEnd")):!this.options.useTransition&&this.isAnimating&&(this.isAnimating=!1,this._execEvent("scrollEnd")),this.startX=this.x,this.startY=this.y,this.absStartX=this.x,this.absStartY=this.y,this.pointX=i.pageX,this.pointY=i.pageY,this._execEvent("beforeScrollStart")}},_move:function(e){if(this.enabled&&l.eventType[e.type]===this.initiated){this.options.preventDefault&&e.preventDefault();var t,i,r,s,o=e.touches?e.touches[0]:e,a=o.pageX-this.pointX,u=o.pageY-this.pointY,c=l.getTime();if(this.pointX=o.pageX,this.pointY=o.pageY,this.distX+=a,this.distY+=u,r=n.abs(this.distX),s=n.abs(this.distY),!(c-this.endTime>300&&10>r&&10>s)){if(this.directionLocked||this.options.freeScroll||(r>s+this.options.directionLockThreshold?this.directionLocked="h":s>=r+this.options.directionLockThreshold?this.directionLocked="v":this.directionLocked="n"),"h"==this.directionLocked){if("vertical"==this.options.eventPassthrough)e.preventDefault();else if("horizontal"==this.options.eventPassthrough)return void(this.initiated=!1);u=0}else if("v"==this.directionLocked){if("horizontal"==this.options.eventPassthrough)e.preventDefault();else if("vertical"==this.options.eventPassthrough)return void(this.initiated=!1);a=0}a=this.hasHorizontalScroll?a:0,u=this.hasVerticalScroll?u:0,t=this.x+a,i=this.y+u,(t>0||t<this.maxScrollX)&&(t=this.options.bounce?this.x+a/3:t>0?0:this.maxScrollX),(i>0||i<this.maxScrollY)&&(i=this.options.bounce?this.y+u/3:i>0?0:this.maxScrollY),this.directionX=a>0?-1:0>a?1:0,this.directionY=u>0?-1:0>u?1:0,this.moved||this._execEvent("scrollStart"),this.moved=!0,this._translate(t,i),c-this.startTime>300&&(this.startTime=c,this.startX=this.x,this.startY=this.y,1==this.options.probeType&&this._execEvent("scroll")),this.options.probeType>1&&this._execEvent("scroll")}}},_end:function(e){if(this.enabled&&l.eventType[e.type]===this.initiated){this.options.preventDefault&&!l.preventDefaultException(e.target,this.options.preventDefaultException)&&e.preventDefault();var t,i,r=(e.changedTouches?e.changedTouches[0]:e,l.getTime()-this.startTime),s=n.round(this.x),o=n.round(this.y),a=n.abs(s-this.startX),u=n.abs(o-this.startY),c=0,p="";if(this.isInTransition=0,this.initiated=0,this.endTime=l.getTime(),!this.resetPosition(this.options.bounceTime)){if(this.scrollTo(s,o),!this.moved)return this.options.tap&&l.tap(e,this.options.tap),this.options.click&&l.click(e),void this._execEvent("scrollCancel");if(this._events.flick&&200>r&&100>a&&100>u)return void this._execEvent("flick");if(this.options.momentum&&300>r&&(t=this.hasHorizontalScroll?l.momentum(this.x,this.startX,r,this.maxScrollX,this.options.bounce?this.wrapperWidth:0,this.options.deceleration):{destination:s,duration:0},i=this.hasVerticalScroll?l.momentum(this.y,this.startY,r,this.maxScrollY,this.options.bounce?this.wrapperHeight:0,this.options.deceleration):{destination:o,duration:0},s=t.destination,o=i.destination,c=n.max(t.duration,i.duration),this.isInTransition=1),this.options.snap){var h=this._nearestSnap(s,o);this.currentPage=h,c=this.options.snapSpeed||n.max(n.max(n.min(n.abs(s-h.x),1e3),n.min(n.abs(o-h.y),1e3)),300),s=h.x,o=h.y,this.directionX=0,this.directionY=0,p=this.options.bounceEasing}return s!=this.x||o!=this.y?((s>0||s<this.maxScrollX||o>0||o<this.maxScrollY)&&(p=l.ease.quadratic),void this.scrollTo(s,o,c,p)):void this._execEvent("scrollEnd")}}},_resize:function(){var e=this;clearTimeout(this.resizeTimeout),this.resizeTimeout=setTimeout(function(){e.refresh()},this.options.resizePolling)},resetPosition:function(e){var t=this.x,i=this.y;return e=e||0,!this.hasHorizontalScroll||this.x>0?t=0:this.x<this.maxScrollX&&(t=this.maxScrollX),!this.hasVerticalScroll||this.y>0?i=0:this.y<this.maxScrollY&&(i=this.maxScrollY),t==this.x&&i==this.y?!1:(this.scrollTo(t,i,e,this.options.bounceEasing),!0)},disable:function(){this.enabled=!1},enable:function(){this.enabled=!0},refresh:function(){this.wrapper.offsetHeight;this.wrapperWidth=this.wrapper.clientWidth,this.wrapperHeight=this.wrapper.clientHeight,this.scrollerWidth=this.scroller.offsetWidth,this.scrollerHeight=this.scroller.offsetHeight,this.maxScrollX=this.wrapperWidth-this.scrollerWidth,this.maxScrollY=this.wrapperHeight-this.scrollerHeight,this.hasHorizontalScroll=this.options.scrollX&&this.maxScrollX<0,this.hasVerticalScroll=this.options.scrollY&&this.maxScrollY<0,this.hasHorizontalScroll||(this.maxScrollX=0,this.scrollerWidth=this.wrapperWidth),this.hasVerticalScroll||(this.maxScrollY=0,this.scrollerHeight=this.wrapperHeight),this.endTime=0,this.directionX=0,this.directionY=0,this.wrapperOffset=l.offset(this.wrapper),this._execEvent("refresh"),this.resetPosition()},on:function(e,t){this._events[e]||(this._events[e]=[]),this._events[e].push(t)},off:function(e,t){if(this._events[e]){var i=this._events[e].indexOf(t);i>-1&&this._events[e].splice(i,1)}},_execEvent:function(e){if(this._events[e]){var t=0,i=this._events[e].length;if(i)for(;i>t;t++)this._events[e][t].apply(this,[].slice.call(arguments,1))}},scrollBy:function(e,t,i,n){e=this.x+e,t=this.y+t,i=i||0,this.scrollTo(e,t,i,n)},scrollTo:function(e,t,i,n){n=n||l.ease.circular,this.isInTransition=this.options.useTransition&&i>0,!i||this.options.useTransition&&n.style?(this._transitionTimingFunction(n.style),this._transitionTime(i),this._translate(e,t)):this._animate(e,t,i,n.fn)},scrollToElement:function(e,t,i,r,s){if(e=e.nodeType?e:this.scroller.querySelector(e)){var o=l.offset(e);o.left-=this.wrapperOffset.left,o.top-=this.wrapperOffset.top,i===!0&&(i=n.round(e.offsetWidth/2-this.wrapper.offsetWidth/2)),r===!0&&(r=n.round(e.offsetHeight/2-this.wrapper.offsetHeight/2)),o.left-=i||0,o.top-=r||0,o.left=o.left>0?0:o.left<this.maxScrollX?this.maxScrollX:o.left,o.top=o.top>0?0:o.top<this.maxScrollY?this.maxScrollY:o.top,t=void 0===t||null===t||"auto"===t?n.max(n.abs(this.x-o.left),n.abs(this.y-o.top)):t,this.scrollTo(o.left,o.top,t,s)}},_transitionTime:function(e){if(e=e||0,this.scrollerStyle[l.style.transitionDuration]=e+"ms",!e&&l.isBadAndroid&&(this.scrollerStyle[l.style.transitionDuration]="0.001s"),this.indicators)for(var t=this.indicators.length;t--;)this.indicators[t].transitionTime(e)},_transitionTimingFunction:function(e){if(this.scrollerStyle[l.style.transitionTimingFunction]=e,this.indicators)for(var t=this.indicators.length;t--;)this.indicators[t].transitionTimingFunction(e)},_translate:function(e,t){if(this.options.useTransform?this.scrollerStyle[l.style.transform]="translate("+e+"px,"+t+"px)"+this.translateZ:(e=n.round(e),t=n.round(t),this.scrollerStyle.left=e+"px",this.scrollerStyle.top=t+"px"),this.x=e,this.y=t,this.indicators)for(var i=this.indicators.length;i--;)this.indicators[i].updatePosition()},_initEvents:function(t){var i=t?l.removeEvent:l.addEvent,n=this.options.bindToWrapper?this.wrapper:e;i(e,"orientationchange",this),i(e,"resize",this),this.options.click&&i(this.wrapper,"click",this,!0),this.options.disableMouse||(i(this.wrapper,"mousedown",this),i(n,"mousemove",this),i(n,"mousecancel",this),i(n,"mouseup",this)),l.hasPointer&&!this.options.disablePointer&&(i(this.wrapper,l.prefixPointerEvent("pointerdown"),this),i(n,l.prefixPointerEvent("pointermove"),this),i(n,l.prefixPointerEvent("pointercancel"),this),i(n,l.prefixPointerEvent("pointerup"),this)),l.hasTouch&&!this.options.disableTouch&&(i(this.wrapper,"touchstart",this),i(n,"touchmove",this),i(n,"touchcancel",this),i(n,"touchend",this)),i(this.scroller,"transitionend",this),i(this.scroller,"webkitTransitionEnd",this),i(this.scroller,"oTransitionEnd",this),i(this.scroller,"MSTransitionEnd",this)},getComputedPosition:function(){var t,i,n=e.getComputedStyle(this.scroller,null);return this.options.useTransform?(n=n[l.style.transform].split(")")[0].split(", "),t=+(n[12]||n[4]),i=+(n[13]||n[5])):(t=+n.left.replace(/[^-\d.]/g,""),i=+n.top.replace(/[^-\d.]/g,"")),{x:t,y:i}},_initIndicators:function(){function e(e){for(var t=a.indicators.length;t--;)e.call(a.indicators[t])}var t,i=this.options.interactiveScrollbars,n="string"!=typeof this.options.scrollbars,r=[],a=this;this.indicators=[],this.options.scrollbars&&(this.options.scrollY&&(t={el:s("v",i,this.options.scrollbars),interactive:i,defaultScrollbars:!0,customStyle:n,resize:this.options.resizeScrollbars,shrink:this.options.shrinkScrollbars,fade:this.options.fadeScrollbars,listenX:!1},this.wrapper.appendChild(t.el),r.push(t)),this.options.scrollX&&(t={el:s("h",i,this.options.scrollbars),interactive:i,defaultScrollbars:!0,customStyle:n,resize:this.options.resizeScrollbars,shrink:this.options.shrinkScrollbars,fade:this.options.fadeScrollbars,listenY:!1},this.wrapper.appendChild(t.el),r.push(t))),this.options.indicators&&(r=r.concat(this.options.indicators));for(var l=r.length;l--;)this.indicators.push(new o(this,r[l]));this.options.fadeScrollbars&&(this.on("scrollEnd",function(){e(function(){this.fade()})}),this.on("scrollCancel",function(){e(function(){this.fade()})}),this.on("scrollStart",function(){e(function(){this.fade(1)})}),this.on("beforeScrollStart",function(){e(function(){this.fade(1,!0)})})),this.on("refresh",function(){e(function(){this.refresh()})}),this.on("destroy",function(){e(function(){this.destroy()}),delete this.indicators})},_initWheel:function(){l.addEvent(this.wrapper,"wheel",this),l.addEvent(this.wrapper,"mousewheel",this),l.addEvent(this.wrapper,"DOMMouseScroll",this),this.on("destroy",function(){l.removeEvent(this.wrapper,"wheel",this),l.removeEvent(this.wrapper,"mousewheel",this),l.removeEvent(this.wrapper,"DOMMouseScroll",this)})},_wheel:function(e){if(this.enabled){e.preventDefault(),e.stopPropagation();var t,i,r,s,o=this;if(void 0===this.wheelTimeout&&o._execEvent("scrollStart"),clearTimeout(this.wheelTimeout),this.wheelTimeout=setTimeout(function(){o._execEvent("scrollEnd"),o.wheelTimeout=void 0},400),"deltaX"in e)t=-e.deltaX,i=-e.deltaY;else if("wheelDeltaX"in e)t=e.wheelDeltaX/120*this.options.mouseWheelSpeed,i=e.wheelDeltaY/120*this.options.mouseWheelSpeed;else if("wheelDelta"in e)t=i=e.wheelDelta/120*this.options.mouseWheelSpeed;else{if(!("detail"in e))return;t=i=-e.detail/3*this.options.mouseWheelSpeed}if(t*=this.options.invertWheelDirection,i*=this.options.invertWheelDirection,this.hasVerticalScroll||(t=i,i=0),this.options.snap)return r=this.currentPage.pageX,s=this.currentPage.pageY,t>0?r--:0>t&&r++,i>0?s--:0>i&&s++,void this.goToPage(r,s);r=this.x+n.round(this.hasHorizontalScroll?t:0),s=this.y+n.round(this.hasVerticalScroll?i:0),r>0?r=0:r<this.maxScrollX&&(r=this.maxScrollX),s>0?s=0:s<this.maxScrollY&&(s=this.maxScrollY),this.scrollTo(r,s,0),this.options.probeType>1&&this._execEvent("scroll")}},_initSnap:function(){this.currentPage={},"string"==typeof this.options.snap&&(this.options.snap=this.scroller.querySelectorAll(this.options.snap)),this.on("refresh",function(){var e,t,i,r,s,o,a=0,l=0,u=0,c=this.options.snapStepX||this.wrapperWidth,p=this.options.snapStepY||this.wrapperHeight;if(this.pages=[],this.wrapperWidth&&this.wrapperHeight&&this.scrollerWidth&&this.scrollerHeight){if(this.options.snap===!0)for(i=n.round(c/2),r=n.round(p/2);u>-this.scrollerWidth;){for(this.pages[a]=[],e=0,s=0;s>-this.scrollerHeight;)this.pages[a][e]={x:n.max(u,this.maxScrollX),y:n.max(s,this.maxScrollY),width:c,height:p,cx:u-i,cy:s-r},s-=p,e++;u-=c,a++}else for(o=this.options.snap,e=o.length,t=-1;e>a;a++)(0===a||o[a].offsetLeft<=o[a-1].offsetLeft)&&(l=0,t++),this.pages[l]||(this.pages[l]=[]),u=n.max(-o[a].offsetLeft,this.maxScrollX),s=n.max(-o[a].offsetTop,this.maxScrollY),i=u-n.round(o[a].offsetWidth/2),r=s-n.round(o[a].offsetHeight/2),this.pages[l][t]={x:u,y:s,width:o[a].offsetWidth,height:o[a].offsetHeight,cx:i,cy:r},u>this.maxScrollX&&l++;this.goToPage(this.currentPage.pageX||0,this.currentPage.pageY||0,0),this.options.snapThreshold%1===0?(this.snapThresholdX=this.options.snapThreshold,this.snapThresholdY=this.options.snapThreshold):(this.snapThresholdX=n.round(this.pages[this.currentPage.pageX][this.currentPage.pageY].width*this.options.snapThreshold),this.snapThresholdY=n.round(this.pages[this.currentPage.pageX][this.currentPage.pageY].height*this.options.snapThreshold))}}),this.on("flick",function(){var e=this.options.snapSpeed||n.max(n.max(n.min(n.abs(this.x-this.startX),1e3),n.min(n.abs(this.y-this.startY),1e3)),300);this.goToPage(this.currentPage.pageX+this.directionX,this.currentPage.pageY+this.directionY,e)})},_nearestSnap:function(e,t){if(!this.pages.length)return{x:0,y:0,pageX:0,pageY:0};var i=0,r=this.pages.length,s=0;if(n.abs(e-this.absStartX)<this.snapThresholdX&&n.abs(t-this.absStartY)<this.snapThresholdY)return this.currentPage;for(e>0?e=0:e<this.maxScrollX&&(e=this.maxScrollX),t>0?t=0:t<this.maxScrollY&&(t=this.maxScrollY);r>i;i++)if(e>=this.pages[i][0].cx){e=this.pages[i][0].x;break}for(r=this.pages[i].length;r>s;s++)if(t>=this.pages[0][s].cy){t=this.pages[0][s].y;break}return i==this.currentPage.pageX&&(i+=this.directionX,0>i?i=0:i>=this.pages.length&&(i=this.pages.length-1),e=this.pages[i][0].x),s==this.currentPage.pageY&&(s+=this.directionY,0>s?s=0:s>=this.pages[0].length&&(s=this.pages[0].length-1),t=this.pages[0][s].y),{x:e,y:t,pageX:i,pageY:s}},goToPage:function(e,t,i,r){r=r||this.options.bounceEasing,e>=this.pages.length?e=this.pages.length-1:0>e&&(e=0),t>=this.pages[e].length?t=this.pages[e].length-1:0>t&&(t=0);var s=this.pages[e][t].x,o=this.pages[e][t].y;i=void 0===i?this.options.snapSpeed||n.max(n.max(n.min(n.abs(s-this.x),1e3),n.min(n.abs(o-this.y),1e3)),300):i,this.currentPage={x:s,y:o,pageX:e,pageY:t},this.scrollTo(s,o,i,r)},next:function(e,t){var i=this.currentPage.pageX,n=this.currentPage.pageY;i++,i>=this.pages.length&&this.hasVerticalScroll&&(i=0,n++),this.goToPage(i,n,e,t)},prev:function(e,t){var i=this.currentPage.pageX,n=this.currentPage.pageY;i--,0>i&&this.hasVerticalScroll&&(i=0,n--),this.goToPage(i,n,e,t)},_initKeys:function(t){var i,n={pageUp:33,pageDown:34,end:35,home:36,left:37,up:38,right:39,down:40};if("object"==typeof this.options.keyBindings)for(i in this.options.keyBindings)"string"==typeof this.options.keyBindings[i]&&(this.options.keyBindings[i]=this.options.keyBindings[i].toUpperCase().charCodeAt(0));else this.options.keyBindings={};for(i in n)this.options.keyBindings[i]=this.options.keyBindings[i]||n[i];l.addEvent(e,"keydown",this),this.on("destroy",function(){l.removeEvent(e,"keydown",this)})},_key:function(e){if(this.enabled){var t,i=this.options.snap,r=i?this.currentPage.pageX:this.x,s=i?this.currentPage.pageY:this.y,o=l.getTime(),a=this.keyTime||0,u=.25;switch(this.options.useTransition&&this.isInTransition&&(t=this.getComputedPosition(),this._translate(n.round(t.x),n.round(t.y)),this.isInTransition=!1),this.keyAcceleration=200>o-a?n.min(this.keyAcceleration+u,50):0,e.keyCode){case this.options.keyBindings.pageUp:this.hasHorizontalScroll&&!this.hasVerticalScroll?r+=i?1:this.wrapperWidth:s+=i?1:this.wrapperHeight;break;case this.options.keyBindings.pageDown:this.hasHorizontalScroll&&!this.hasVerticalScroll?r-=i?1:this.wrapperWidth:s-=i?1:this.wrapperHeight;break;case this.options.keyBindings.end:r=i?this.pages.length-1:this.maxScrollX,s=i?this.pages[0].length-1:this.maxScrollY;break;case this.options.keyBindings.home:r=0,s=0;break;case this.options.keyBindings.left:r+=i?-1:5+this.keyAcceleration>>0;break;case this.options.keyBindings.up:s+=i?1:5+this.keyAcceleration>>0;break;case this.options.keyBindings.right:r-=i?-1:5+this.keyAcceleration>>0;break;case this.options.keyBindings.down:s-=i?1:5+this.keyAcceleration>>0;break;default:return}if(i)return void this.goToPage(r,s);r>0?(r=0,this.keyAcceleration=0):r<this.maxScrollX&&(r=this.maxScrollX,this.keyAcceleration=0),s>0?(s=0,this.keyAcceleration=0):s<this.maxScrollY&&(s=this.maxScrollY,this.keyAcceleration=0),this.scrollTo(r,s,0),this.keyTime=o}},_animate:function(e,t,i,n){function r(){var h,d,f,m=l.getTime();return m>=p?(s.isAnimating=!1,s._translate(e,t),void(s.resetPosition(s.options.bounceTime)||s._execEvent("scrollEnd"))):(m=(m-c)/i,f=n(m),h=(e-o)*f+o,d=(t-u)*f+u,s._translate(h,d),s.isAnimating&&a(r),void(3==s.options.probeType&&s._execEvent("scroll")))}var s=this,o=this.x,u=this.y,c=l.getTime(),p=c+i;this.isAnimating=!0,r()},handleEvent:function(e){switch(e.type){case"touchstart":case"pointerdown":case"MSPointerDown":case"mousedown":this._start(e);break;case"touchmove":case"pointermove":case"MSPointerMove":case"mousemove":this._move(e);break;case"touchend":case"pointerup":case"MSPointerUp":case"mouseup":case"touchcancel":case"pointercancel":case"MSPointerCancel":case"mousecancel":this._end(e);break;case"orientationchange":case"resize":this._resize();break;case"transitionend":case"webkitTransitionEnd":case"oTransitionEnd":case"MSTransitionEnd":this._transitionEnd(e);break;case"wheel":case"DOMMouseScroll":case"mousewheel":this._wheel(e);break;case"keydown":this._key(e);break;case"click":e._constructed||(e.preventDefault(),e.stopPropagation())}}},o.prototype={handleEvent:function(e){switch(e.type){case"touchstart":case"pointerdown":case"MSPointerDown":case"mousedown":this._start(e);break;case"touchmove":case"pointermove":case"MSPointerMove":case"mousemove":this._move(e);break;case"touchend":case"pointerup":case"MSPointerUp":case"mouseup":case"touchcancel":case"pointercancel":case"MSPointerCancel":case"mousecancel":this._end(e)}},destroy:function(){this.options.interactive&&(l.removeEvent(this.indicator,"touchstart",this),l.removeEvent(this.indicator,l.prefixPointerEvent("pointerdown"),this),l.removeEvent(this.indicator,"mousedown",this),l.removeEvent(e,"touchmove",this),l.removeEvent(e,l.prefixPointerEvent("pointermove"),this),l.removeEvent(e,"mousemove",this),l.removeEvent(e,"touchend",this),l.removeEvent(e,l.prefixPointerEvent("pointerup"),this),l.removeEvent(e,"mouseup",this)),this.options.defaultScrollbars&&this.wrapper.parentNode.removeChild(this.wrapper)},_start:function(t){var i=t.touches?t.touches[0]:t;t.preventDefault(),t.stopPropagation(),this.transitionTime(),this.initiated=!0,this.moved=!1,this.lastPointX=i.pageX,this.lastPointY=i.pageY,this.startTime=l.getTime(),this.options.disableTouch||l.addEvent(e,"touchmove",this),this.options.disablePointer||l.addEvent(e,l.prefixPointerEvent("pointermove"),this),this.options.disableMouse||l.addEvent(e,"mousemove",this),this.scroller._execEvent("beforeScrollStart")},_move:function(e){var t,i,n,r,s=e.touches?e.touches[0]:e,o=l.getTime();this.moved||this.scroller._execEvent("scrollStart"),this.moved=!0,t=s.pageX-this.lastPointX,this.lastPointX=s.pageX,i=s.pageY-this.lastPointY,this.lastPointY=s.pageY,n=this.x+t,r=this.y+i,this._pos(n,r),1==this.scroller.options.probeType&&o-this.startTime>300?(this.startTime=o,this.scroller._execEvent("scroll")):this.scroller.options.probeType>1&&this.scroller._execEvent("scroll"),e.preventDefault(),e.stopPropagation()},_end:function(t){if(this.initiated){if(this.initiated=!1,t.preventDefault(),t.stopPropagation(),l.removeEvent(e,"touchmove",this),l.removeEvent(e,l.prefixPointerEvent("pointermove"),this),l.removeEvent(e,"mousemove",this),this.scroller.options.snap){var i=this.scroller._nearestSnap(this.scroller.x,this.scroller.y),r=this.options.snapSpeed||n.max(n.max(n.min(n.abs(this.scroller.x-i.x),1e3),n.min(n.abs(this.scroller.y-i.y),1e3)),300);(this.scroller.x!=i.x||this.scroller.y!=i.y)&&(this.scroller.directionX=0,this.scroller.directionY=0,this.scroller.currentPage=i,this.scroller.scrollTo(i.x,i.y,r,this.scroller.options.bounceEasing))}this.moved&&this.scroller._execEvent("scrollEnd")}},transitionTime:function(e){e=e||0,this.indicatorStyle[l.style.transitionDuration]=e+"ms",!e&&l.isBadAndroid&&(this.indicatorStyle[l.style.transitionDuration]="0.001s")},transitionTimingFunction:function(e){this.indicatorStyle[l.style.transitionTimingFunction]=e},refresh:function(){this.transitionTime(),this.options.listenX&&!this.options.listenY?this.indicatorStyle.display=this.scroller.hasHorizontalScroll?"block":"none":this.options.listenY&&!this.options.listenX?this.indicatorStyle.display=this.scroller.hasVerticalScroll?"block":"none":this.indicatorStyle.display=this.scroller.hasHorizontalScroll||this.scroller.hasVerticalScroll?"block":"none",this.scroller.hasHorizontalScroll&&this.scroller.hasVerticalScroll?(l.addClass(this.wrapper,"iScrollBothScrollbars"),l.removeClass(this.wrapper,"iScrollLoneScrollbar"),this.options.defaultScrollbars&&this.options.customStyle&&(this.options.listenX?this.wrapper.style.right="8px":this.wrapper.style.bottom="8px")):(l.removeClass(this.wrapper,"iScrollBothScrollbars"),l.addClass(this.wrapper,"iScrollLoneScrollbar"),this.options.defaultScrollbars&&this.options.customStyle&&(this.options.listenX?this.wrapper.style.right="2px":this.wrapper.style.bottom="2px"));this.wrapper.offsetHeight;this.options.listenX&&(this.wrapperWidth=this.wrapper.clientWidth,this.options.resize?(this.indicatorWidth=n.max(n.round(this.wrapperWidth*this.wrapperWidth/(this.scroller.scrollerWidth||this.wrapperWidth||1)),8),this.indicatorStyle.width=this.indicatorWidth+"px"):this.indicatorWidth=this.indicator.clientWidth,this.maxPosX=this.wrapperWidth-this.indicatorWidth,"clip"==this.options.shrink?(this.minBoundaryX=-this.indicatorWidth+8,this.maxBoundaryX=this.wrapperWidth-8):(this.minBoundaryX=0,this.maxBoundaryX=this.maxPosX),this.sizeRatioX=this.options.speedRatioX||this.scroller.maxScrollX&&this.maxPosX/this.scroller.maxScrollX),this.options.listenY&&(this.wrapperHeight=this.wrapper.clientHeight,this.options.resize?(this.indicatorHeight=n.max(n.round(this.wrapperHeight*this.wrapperHeight/(this.scroller.scrollerHeight||this.wrapperHeight||1)),8),this.indicatorStyle.height=this.indicatorHeight+"px"):this.indicatorHeight=this.indicator.clientHeight,this.maxPosY=this.wrapperHeight-this.indicatorHeight,"clip"==this.options.shrink?(this.minBoundaryY=-this.indicatorHeight+8,this.maxBoundaryY=this.wrapperHeight-8):(this.minBoundaryY=0,this.maxBoundaryY=this.maxPosY),this.maxPosY=this.wrapperHeight-this.indicatorHeight,this.sizeRatioY=this.options.speedRatioY||this.scroller.maxScrollY&&this.maxPosY/this.scroller.maxScrollY),this.updatePosition()},updatePosition:function(){var e=this.options.listenX&&n.round(this.sizeRatioX*this.scroller.x)||0,t=this.options.listenY&&n.round(this.sizeRatioY*this.scroller.y)||0;this.options.ignoreBoundaries||(e<this.minBoundaryX?("scale"==this.options.shrink&&(this.width=n.max(this.indicatorWidth+e,8),this.indicatorStyle.width=this.width+"px"),e=this.minBoundaryX):e>this.maxBoundaryX?"scale"==this.options.shrink?(this.width=n.max(this.indicatorWidth-(e-this.maxPosX),8),this.indicatorStyle.width=this.width+"px",e=this.maxPosX+this.indicatorWidth-this.width):e=this.maxBoundaryX:"scale"==this.options.shrink&&this.width!=this.indicatorWidth&&(this.width=this.indicatorWidth,this.indicatorStyle.width=this.width+"px"),t<this.minBoundaryY?("scale"==this.options.shrink&&(this.height=n.max(this.indicatorHeight+3*t,8),this.indicatorStyle.height=this.height+"px"),t=this.minBoundaryY):t>this.maxBoundaryY?"scale"==this.options.shrink?(this.height=n.max(this.indicatorHeight-3*(t-this.maxPosY),8),this.indicatorStyle.height=this.height+"px",t=this.maxPosY+this.indicatorHeight-this.height):t=this.maxBoundaryY:"scale"==this.options.shrink&&this.height!=this.indicatorHeight&&(this.height=this.indicatorHeight,this.indicatorStyle.height=this.height+"px")),this.x=e,this.y=t,this.scroller.options.useTransform?this.indicatorStyle[l.style.transform]="translate("+e+"px,"+t+"px)"+this.scroller.translateZ:(this.indicatorStyle.left=e+"px",this.indicatorStyle.top=t+"px")},_pos:function(e,t){0>e?e=0:e>this.maxPosX&&(e=this.maxPosX),0>t?t=0:t>this.maxPosY&&(t=this.maxPosY),e=this.options.listenX?n.round(e/this.sizeRatioX):this.scroller.x,t=this.options.listenY?n.round(t/this.sizeRatioY):this.scroller.y,this.scroller.scrollTo(e,t)},fade:function(e,t){ -if(!t||this.visible){clearTimeout(this.fadeTimeout),this.fadeTimeout=null;var i=e?250:500,n=e?0:300;e=e?"1":"0",this.wrapperStyle[l.style.transitionDuration]=i+"ms",this.fadeTimeout=setTimeout(function(e){this.wrapperStyle.opacity=e,this.visible=+e}.bind(this,e),n)}}},r.utils=l,"undefined"!=typeof i&&i.exports?i.exports=r:e.IScroll=r}(window,document,Math)}),define("index",[],function(e,t,i){function n(e,t){if(!t||(t=t.replace(s,"-"),!o.getElementById(t))){var i;if(!r||t?(i=o.createElement("style"),t&&(i.id=t),a.appendChild(i)):i=r,i.styleSheet){if(o.getElementsByTagName("style").length>31)throw new Error("Exceed the maximal count of style tags in IE");i.styleSheet.cssText+=e}else i.appendChild(o.createTextNode(e));t||(r=i)}}var r,s=/\W/g,o=document,a=document.getElementsByTagName("head")[0]||document.documentElement;i.exports=n}),define("lazyload",[],function(e,t,i){var n=e("jquery");e("lib/jquery.lazyload"),i.exports=function(e,t){var i,r={effect:"fadeIn",effect_speed:10,placeholder:"data:image/gif;base64,R0lGODlhAQABAJEAAAAAAP///93d3f///yH5BAEAAAMALAAAAAABAAEAAAICVAEAOw==",skip_invisible:!1},s=arguments.length;!function(){switch(s){case 0:i=n("img.lazy");break;case 1:e instanceof n?i=e:(i=n("img.lazy"),n.extend(r,e));break;case 2:i=e,r=n.extend(r,t)}}(),i.lazyload(r)}}),define("lib/jquery.lazyload",[],function(e,t,i){var n=e("jquery");!function(e,t,i,n){var r=e(t);e.fn.lazyload=function(s){function o(){var t=0;l.each(function(){var i=e(this);if(!u.skip_invisible||i.is(":visible"))if(e.abovethetop(this,u)||e.leftofbegin(this,u));else if(e.belowthefold(this,u)||e.rightoffold(this,u)){if(++t>u.failure_limit)return!1}else i.trigger("appear"),t=0})}var a,l=this,u={threshold:0,failure_limit:0,event:"scroll",effect:"show",container:t,data_attribute:"original",skip_invisible:!0,appear:null,load:null,yasPath:"/web/",yasImgDomain:"http://analytics.yhurl.com/yas.gif",placeholder:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC",try_again_css:null};return s&&(n!==s.failurelimit&&(s.failure_limit=s.failurelimit,delete s.failurelimit),n!==s.effectspeed&&(s.effect_speed=s.effectspeed,delete s.effectspeed),e.extend(u,s)),a=u.container===n||u.container===t?r:e(u.container),0===u.event.indexOf("scroll")&&a.bind(u.event,function(){return o()}),this.each(function(){var t=this,i=e(t);t.loaded=!1,(i.attr("src")===n||i.attr("src")===!1||""===i.attr("src"))&&i.is("img")&&i.attr("src",u.placeholder),i.one("appear",function(){if(i.timerid&&clearTimeout(i.timerid),!this.loaded){if(u.appear){var n=l.length;u.appear.call(t,n,u)}e("<img />").bind("error abort",function(){i.attr("src",u.placeholder),s({info:"error"})}).bind("load",function(){if(!i.loadtimeout){clearTimeout(i.timerid),i.attr("pfmrpt");var n=i.attr("data-"+u.data_attribute);i.hide(),i.is("img")?i.attr("src",n):i.css("background-image","url('"+n+"')"),i[u.effect](u.effect_speed),t.loaded=!0;var r=e.grep(l,function(e){return!e.loaded});if(l=e(r),u.load){var s=l.length;u.load.call(t,s,u)}}}).attr("src",i.attr("data-"+u.data_attribute)),i.src=i.attr("data-"+u.data_attribute),i.attr("pfmrpt")&&_yas&&_yas.add;var r=function(e){i.loadtimeout=!0,i.attr("pfmrpt")&&_yas&&_yas.add&&e.info,i.attr("src",""),setTimeout(function(){i.attr("src",i.src)},50)},s=function(t){i.loadtimeout=!0,i.attr("pfmrpt")&&_yas&&_yas.add&&t.info;var n=i.width(),s=i.height();if(u.try_again_css)var o=e("<div class="+u.try_again_css+" style='width:"+n+"px;height:"+s+"px;'></div>");else var o=e("<div style='background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC) ;text-align: center;position:relative;width:"+n+"px;height:"+s+"px;background-size:100%;'>加载失败</div>");o.addClass(i.attr("class")),i.replaceWith(o),i.timerid=setTimeout(r,5e3)}}}),0!==u.event.indexOf("scroll")&&i.bind(u.event,function(){t.loaded||i.trigger("appear")})}),r.bind("resize",function(){o()}),/(?:iphone|ipod|ipad).*os 5/gi.test(navigator.appVersion)&&r.bind("pageshow",function(t){t.originalEvent&&t.originalEvent.persisted&&l.each(function(){e(this).trigger("appear")})}),e(i).ready(function(){o()}),this},e.belowthefold=function(i,s){var o;return o=s.container===n||s.container===t?(t.innerHeight?t.innerHeight:r.height())+r.scrollTop():e(s.container).offset().top+e(s.container).height(),o<=e(i).offset().top-s.threshold},e.rightoffold=function(i,s){var o;return o=s.container===n||s.container===t?r.width()+r.scrollLeft():e(s.container).offset().left+e(s.container).width(),o<=e(i).offset().left-s.threshold},e.abovethetop=function(i,s){var o;return o=s.container===n||s.container===t?r.scrollTop():e(s.container).offset().top,o>=e(i).offset().top+s.threshold+e(i).height()},e.leftofbegin=function(i,s){var o;return o=s.container===n||s.container===t?r.scrollLeft():e(s.container).offset().left,o>=e(i).offset().left+s.threshold+e(i).width()},e.inviewport=function(t,i){return!(e.rightoffold(t,i)||e.leftofbegin(t,i)||e.belowthefold(t,i)||e.abovethetop(t,i))}}(n,window,document)}),define("handlebars",[],function(e,t,i){!function(e,n){"object"==typeof t&&"object"==typeof i?i.exports=n():"function"==typeof define&&define.amd?define(n):"object"==typeof t?t.Handlebars=n():e.Handlebars=n()}(this,function(){return function(e){function t(n){if(i[n])return i[n].exports;var r=i[n]={exports:{},id:n,loaded:!1};return e[n].call(r.exports,r,r.exports,t),r.loaded=!0,r.exports}var i={};return t.m=e,t.c=i,t.p="",t(0)}([function(e,t,i){"use strict";function n(){var e=v();return e.compile=function(t,i){return c.compile(t,i,e)},e.precompile=function(t,i){return c.precompile(t,i,e)},e.AST=l["default"],e.Compiler=c.Compiler,e.JavaScriptCompiler=h["default"],e.Parser=u.parser,e.parse=u.parse,e}var r=i(8)["default"];t.__esModule=!0;var s=i(1),o=r(s),a=i(2),l=r(a),u=i(3),c=i(4),p=i(5),h=r(p),d=i(6),f=r(d),m=i(7),g=r(m),v=o["default"].create,y=n();y.create=n,g["default"](y),y.Visitor=f["default"],y["default"]=y,t["default"]=y,e.exports=t["default"]},function(e,t,i){"use strict";function n(){var e=new a.HandlebarsEnvironment;return d.extend(e,a),e.SafeString=u["default"],e.Exception=p["default"],e.Utils=d,e.escapeExpression=d.escapeExpression,e.VM=m,e.template=function(t){return m.template(t,e)},e}var r=i(9)["default"],s=i(8)["default"];t.__esModule=!0;var o=i(10),a=r(o),l=i(11),u=s(l),c=i(12),p=s(c),h=i(13),d=r(h),f=i(14),m=r(f),g=i(7),v=s(g),y=n();y.create=n,v["default"](y),y["default"]=y,t["default"]=y,e.exports=t["default"]},function(e,t,i){"use strict";t.__esModule=!0;var n={Program:function(e,t,i,n){this.loc=n,this.type="Program",this.body=e,this.blockParams=t,this.strip=i},MustacheStatement:function(e,t,i,n,r,s){this.loc=s,this.type="MustacheStatement",this.path=e,this.params=t||[],this.hash=i,this.escaped=n,this.strip=r},BlockStatement:function(e,t,i,n,r,s,o,a,l){this.loc=l,this.type="BlockStatement",this.path=e,this.params=t||[],this.hash=i,this.program=n,this.inverse=r,this.openStrip=s,this.inverseStrip=o,this.closeStrip=a},PartialStatement:function(e,t,i,n,r){this.loc=r,this.type="PartialStatement",this.name=e,this.params=t||[],this.hash=i,this.indent="",this.strip=n},ContentStatement:function(e,t){this.loc=t,this.type="ContentStatement",this.original=this.value=e},CommentStatement:function(e,t,i){this.loc=i,this.type="CommentStatement",this.value=e,this.strip=t},SubExpression:function(e,t,i,n){this.loc=n,this.type="SubExpression",this.path=e,this.params=t||[],this.hash=i},PathExpression:function(e,t,i,n,r){this.loc=r,this.type="PathExpression",this.data=e,this.original=n,this.parts=i,this.depth=t},StringLiteral:function(e,t){this.loc=t,this.type="StringLiteral",this.original=this.value=e},NumberLiteral:function(e,t){this.loc=t,this.type="NumberLiteral",this.original=this.value=Number(e)},BooleanLiteral:function(e,t){this.loc=t,this.type="BooleanLiteral",this.original=this.value="true"===e},UndefinedLiteral:function(e){this.loc=e,this.type="UndefinedLiteral",this.original=this.value=void 0},NullLiteral:function(e){this.loc=e,this.type="NullLiteral",this.original=this.value=null},Hash:function(e,t){this.loc=t,this.type="Hash",this.pairs=e},HashPair:function(e,t,i){this.loc=i,this.type="HashPair",this.key=e,this.value=t},helpers:{helperExpression:function(e){return!("SubExpression"!==e.type&&!e.params.length&&!e.hash)},scopedId:function(e){return/^\.|this\b/.test(e.original)},simpleId:function(e){return 1===e.parts.length&&!n.helpers.scopedId(e)&&!e.depth}}};t["default"]=n,e.exports=t["default"]},function(e,t,i){"use strict";function n(e,t){if("Program"===e.type)return e;a["default"].yy=m,m.locInfo=function(e){return new m.SourceLocation(t&&t.srcName,e)};var i=new p["default"];return i.accept(a["default"].parse(e))}var r=i(8)["default"],s=i(9)["default"];t.__esModule=!0,t.parse=n;var o=i(15),a=r(o),l=i(2),u=r(l),c=i(16),p=r(c),h=i(17),d=s(h),f=i(13);t.parser=a["default"];var m={};f.extend(m,d,u["default"])},function(e,t,i){"use strict";function n(){}function r(e,t,i){if(null==e||"string"!=typeof e&&"Program"!==e.type)throw new c["default"]("You must pass a string or Handlebars AST to Handlebars.precompile. You passed "+e);t=t||{},"data"in t||(t.data=!0),t.compat&&(t.useDepths=!0);var n=i.parse(e,t),r=(new i.Compiler).compile(n,t);return(new i.JavaScriptCompiler).compile(r,t)}function s(e,t,i){function n(){var t=i.parse(e,s),n=(new i.Compiler).compile(t,s),r=(new i.JavaScriptCompiler).compile(n,s,void 0,!0);return i.template(r)}function r(e,t){return o||(o=n()),o.call(this,e,t)}var s=void 0===arguments[1]?{}:arguments[1];if(null==e||"string"!=typeof e&&"Program"!==e.type)throw new c["default"]("You must pass a string or Handlebars AST to Handlebars.compile. You passed "+e);"data"in s||(s.data=!0),s.compat&&(s.useDepths=!0);var o=void 0;return r._setup=function(e){return o||(o=n()),o._setup(e)},r._child=function(e,t,i,r){return o||(o=n()),o._child(e,t,i,r)},r}function o(e,t){if(e===t)return!0;if(p.isArray(e)&&p.isArray(t)&&e.length===t.length){for(var i=0;i<e.length;i++)if(!o(e[i],t[i]))return!1;return!0}}function a(e){if(!e.path.parts){var t=e.path;e.path=new d["default"].PathExpression(!1,0,[t.original+""],t.original+"",t.loc)}}var l=i(8)["default"];t.__esModule=!0,t.Compiler=n,t.precompile=r,t.compile=s;var u=i(12),c=l(u),p=i(13),h=i(2),d=l(h),f=[].slice;n.prototype={compiler:n,equals:function(e){var t=this.opcodes.length;if(e.opcodes.length!==t)return!1;for(var i=0;t>i;i++){var n=this.opcodes[i],r=e.opcodes[i];if(n.opcode!==r.opcode||!o(n.args,r.args))return!1}t=this.children.length;for(var i=0;t>i;i++)if(!this.children[i].equals(e.children[i]))return!1;return!0},guid:0,compile:function(e,t){this.sourceNode=[],this.opcodes=[],this.children=[],this.options=t,this.stringParams=t.stringParams,this.trackIds=t.trackIds,t.blockParams=t.blockParams||[];var i=t.knownHelpers;if(t.knownHelpers={helperMissing:!0,blockHelperMissing:!0,each:!0,"if":!0,unless:!0,"with":!0,log:!0,lookup:!0},i)for(var n in i)n in i&&(t.knownHelpers[n]=i[n]);return this.accept(e)},compileProgram:function(e){var t=new this.compiler,i=t.compile(e,this.options),n=this.guid++;return this.usePartial=this.usePartial||i.usePartial,this.children[n]=i,this.useDepths=this.useDepths||i.useDepths,n},accept:function(e){this.sourceNode.unshift(e);var t=this[e.type](e);return this.sourceNode.shift(),t},Program:function(e){this.options.blockParams.unshift(e.blockParams);for(var t=e.body,i=t.length,n=0;i>n;n++)this.accept(t[n]);return this.options.blockParams.shift(),this.isSimple=1===i,this.blockParams=e.blockParams?e.blockParams.length:0,this},BlockStatement:function(e){a(e);var t=e.program,i=e.inverse;t=t&&this.compileProgram(t),i=i&&this.compileProgram(i);var n=this.classifySexpr(e);"helper"===n?this.helperSexpr(e,t,i):"simple"===n?(this.simpleSexpr(e),this.opcode("pushProgram",t),this.opcode("pushProgram",i),this.opcode("emptyHash"),this.opcode("blockValue",e.path.original)):(this.ambiguousSexpr(e,t,i),this.opcode("pushProgram",t),this.opcode("pushProgram",i),this.opcode("emptyHash"),this.opcode("ambiguousBlockValue")),this.opcode("append")},PartialStatement:function(e){this.usePartial=!0;var t=e.params;if(t.length>1)throw new c["default"]("Unsupported number of partial arguments: "+t.length,e);t.length||t.push({type:"PathExpression",parts:[],depth:0});var i=e.name.original,n="SubExpression"===e.name.type;n&&this.accept(e.name),this.setupFullMustacheParams(e,void 0,void 0,!0);var r=e.indent||"";this.options.preventIndent&&r&&(this.opcode("appendContent",r),r=""),this.opcode("invokePartial",n,i,r),this.opcode("append")},MustacheStatement:function(e){this.SubExpression(e),e.escaped&&!this.options.noEscape?this.opcode("appendEscaped"):this.opcode("append")},ContentStatement:function(e){e.value&&this.opcode("appendContent",e.value)},CommentStatement:function(){},SubExpression:function(e){a(e);var t=this.classifySexpr(e);"simple"===t?this.simpleSexpr(e):"helper"===t?this.helperSexpr(e):this.ambiguousSexpr(e)},ambiguousSexpr:function(e,t,i){var n=e.path,r=n.parts[0],s=null!=t||null!=i;this.opcode("getContext",n.depth),this.opcode("pushProgram",t),this.opcode("pushProgram",i),this.accept(n),this.opcode("invokeAmbiguous",r,s)},simpleSexpr:function(e){this.accept(e.path),this.opcode("resolvePossibleLambda")},helperSexpr:function(e,t,i){var n=this.setupFullMustacheParams(e,t,i),r=e.path,s=r.parts[0];if(this.options.knownHelpers[s])this.opcode("invokeKnownHelper",n.length,s);else{if(this.options.knownHelpersOnly)throw new c["default"]("You specified knownHelpersOnly, but used the unknown helper "+s,e);r.falsy=!0,this.accept(r),this.opcode("invokeHelper",n.length,r.original,d["default"].helpers.simpleId(r))}},PathExpression:function(e){this.addDepth(e.depth),this.opcode("getContext",e.depth);var t=e.parts[0],i=d["default"].helpers.scopedId(e),n=!e.depth&&!i&&this.blockParamIndex(t);n?this.opcode("lookupBlockParam",n,e.parts):t?e.data?(this.options.data=!0,this.opcode("lookupData",e.depth,e.parts)):this.opcode("lookupOnContext",e.parts,e.falsy,i):this.opcode("pushContext")},StringLiteral:function(e){this.opcode("pushString",e.value)},NumberLiteral:function(e){this.opcode("pushLiteral",e.value)},BooleanLiteral:function(e){this.opcode("pushLiteral",e.value)},UndefinedLiteral:function(){this.opcode("pushLiteral","undefined")},NullLiteral:function(){this.opcode("pushLiteral","null")},Hash:function(e){var t=e.pairs,i=0,n=t.length;for(this.opcode("pushHash");n>i;i++)this.pushParam(t[i].value);for(;i--;)this.opcode("assignToHash",t[i].key);this.opcode("popHash")},opcode:function(e){this.opcodes.push({opcode:e,args:f.call(arguments,1),loc:this.sourceNode[0].loc})},addDepth:function(e){e&&(this.useDepths=!0)},classifySexpr:function(e){var t=d["default"].helpers.simpleId(e.path),i=t&&!!this.blockParamIndex(e.path.parts[0]),n=!i&&d["default"].helpers.helperExpression(e),r=!i&&(n||t);if(r&&!n){var s=e.path.parts[0],o=this.options;o.knownHelpers[s]?n=!0:o.knownHelpersOnly&&(r=!1)}return n?"helper":r?"ambiguous":"simple"},pushParams:function(e){for(var t=0,i=e.length;i>t;t++)this.pushParam(e[t])},pushParam:function(e){var t=null!=e.value?e.value:e.original||"";if(this.stringParams)t.replace&&(t=t.replace(/^(\.?\.\/)*/g,"").replace(/\//g,".")),e.depth&&this.addDepth(e.depth),this.opcode("getContext",e.depth||0),this.opcode("pushStringParam",t,e.type),"SubExpression"===e.type&&this.accept(e);else{if(this.trackIds){var i=void 0;if(!e.parts||d["default"].helpers.scopedId(e)||e.depth||(i=this.blockParamIndex(e.parts[0])),i){var n=e.parts.slice(1).join(".");this.opcode("pushId","BlockParam",i,n)}else t=e.original||t,t.replace&&(t=t.replace(/^\.\//g,"").replace(/^\.$/g,"")),this.opcode("pushId",e.type,t)}this.accept(e)}},setupFullMustacheParams:function(e,t,i,n){var r=e.params;return this.pushParams(r),this.opcode("pushProgram",t),this.opcode("pushProgram",i),e.hash?this.accept(e.hash):this.opcode("emptyHash",n),r},blockParamIndex:function(e){for(var t=0,i=this.options.blockParams.length;i>t;t++){var n=this.options.blockParams[t],r=n&&p.indexOf(n,e);if(n&&r>=0)return[t,r]}}}},function(e,t,i){"use strict";function n(e){this.value=e}function r(){}function s(e,t,i,n){var r=t.popStack(),s=0,o=i.length;for(e&&o--;o>s;s++)r=t.nameLookup(r,i[s],n);return e?[t.aliasable("this.strict"),"(",r,", ",t.quotedString(i[s]),")"]:r}var o=i(8)["default"];t.__esModule=!0;var a=i(10),l=i(12),u=o(l),c=i(13),p=i(18),h=o(p);r.prototype={nameLookup:function(e,t){return r.isValidJavaScriptVariableName(t)?[e,".",t]:[e,"['",t,"']"]},depthedLookup:function(e){return[this.aliasable("this.lookup"),'(depths, "',e,'")']},compilerInfo:function(){var e=a.COMPILER_REVISION,t=a.REVISION_CHANGES[e];return[e,t]},appendToBuffer:function(e,t,i){return c.isArray(e)||(e=[e]),e=this.source.wrap(e,t),this.environment.isSimple?["return ",e,";"]:i?["buffer += ",e,";"]:(e.appendToBuffer=!0,e)},initializeBuffer:function(){return this.quotedString("")},compile:function(e,t,i,n){this.environment=e,this.options=t,this.stringParams=this.options.stringParams,this.trackIds=this.options.trackIds,this.precompile=!n,this.name=this.environment.name,this.isChild=!!i,this.context=i||{programs:[],environments:[]},this.preamble(),this.stackSlot=0,this.stackVars=[],this.aliases={},this.registers={list:[]},this.hashes=[],this.compileStack=[],this.inlineStack=[],this.blockParams=[],this.compileChildren(e,t),this.useDepths=this.useDepths||e.useDepths||this.options.compat,this.useBlockParams=this.useBlockParams||e.useBlockParams;var r=e.opcodes,s=void 0,o=void 0,a=void 0,l=void 0;for(a=0,l=r.length;l>a;a++)s=r[a],this.source.currentLocation=s.loc,o=o||s.loc,this[s.opcode].apply(this,s.args);if(this.source.currentLocation=o,this.pushSource(""),this.stackSlot||this.inlineStack.length||this.compileStack.length)throw new u["default"]("Compile completed with content left on stack");var c=this.createFunctionContext(n);if(this.isChild)return c;var p={compiler:this.compilerInfo(),main:c},h=this.context.programs;for(a=0,l=h.length;l>a;a++)h[a]&&(p[a]=h[a]);return this.environment.usePartial&&(p.usePartial=!0),this.options.data&&(p.useData=!0),this.useDepths&&(p.useDepths=!0),this.useBlockParams&&(p.useBlockParams=!0),this.options.compat&&(p.compat=!0),n?p.compilerOptions=this.options:(p.compiler=JSON.stringify(p.compiler),this.source.currentLocation={start:{line:1,column:0}},p=this.objectLiteral(p),t.srcName?(p=p.toStringWithSourceMap({file:t.destName}),p.map=p.map&&p.map.toString()):p=p.toString()),p},preamble:function(){this.lastContext=0,this.source=new h["default"](this.options.srcName)},createFunctionContext:function(e){var t="",i=this.stackVars.concat(this.registers.list);i.length>0&&(t+=", "+i.join(", "));var n=0;for(var r in this.aliases){var s=this.aliases[r];this.aliases.hasOwnProperty(r)&&s.children&&s.referenceCount>1&&(t+=", alias"+ ++n+"="+r,s.children[0]="alias"+n)}var o=["depth0","helpers","partials","data"];(this.useBlockParams||this.useDepths)&&o.push("blockParams"),this.useDepths&&o.push("depths");var a=this.mergeSource(t);return e?(o.push(a),Function.apply(this,o)):this.source.wrap(["function(",o.join(","),") {\n ",a,"}"])},mergeSource:function(e){var t=this.environment.isSimple,i=!this.forceBuffer,n=void 0,r=void 0,s=void 0,o=void 0;return this.source.each(function(e){e.appendToBuffer?(s?e.prepend(" + "):s=e,o=e):(s&&(r?s.prepend("buffer += "):n=!0,o.add(";"),s=o=void 0),r=!0,t||(i=!1))}),i?s?(s.prepend("return "),o.add(";")):r||this.source.push('return "";'):(e+=", buffer = "+(n?"":this.initializeBuffer()),s?(s.prepend("return buffer + "),o.add(";")):this.source.push("return buffer;")),e&&this.source.prepend("var "+e.substring(2)+(n?"":";\n")),this.source.merge()},blockValue:function(e){var t=this.aliasable("helpers.blockHelperMissing"),i=[this.contextName(0)];this.setupHelperArgs(e,0,i);var n=this.popStack();i.splice(1,0,n),this.push(this.source.functionCall(t,"call",i))},ambiguousBlockValue:function(){var e=this.aliasable("helpers.blockHelperMissing"),t=[this.contextName(0)];this.setupHelperArgs("",0,t,!0),this.flushInline();var i=this.topStack();t.splice(1,0,i),this.pushSource(["if (!",this.lastHelper,") { ",i," = ",this.source.functionCall(e,"call",t),"}"])},appendContent:function(e){this.pendingContent?e=this.pendingContent+e:this.pendingLocation=this.source.currentLocation,this.pendingContent=e},append:function(){if(this.isInline())this.replaceStack(function(e){return[" != null ? ",e,' : ""']}),this.pushSource(this.appendToBuffer(this.popStack()));else{var e=this.popStack();this.pushSource(["if (",e," != null) { ",this.appendToBuffer(e,void 0,!0)," }"]),this.environment.isSimple&&this.pushSource(["else { ",this.appendToBuffer("''",void 0,!0)," }"])}},appendEscaped:function(){this.pushSource(this.appendToBuffer([this.aliasable("this.escapeExpression"),"(",this.popStack(),")"]))},getContext:function(e){this.lastContext=e},pushContext:function(){this.pushStackLiteral(this.contextName(this.lastContext))},lookupOnContext:function(e,t,i){var n=0;i||!this.options.compat||this.lastContext?this.pushContext():this.push(this.depthedLookup(e[n++])),this.resolvePath("context",e,n,t)},lookupBlockParam:function(e,t){this.useBlockParams=!0,this.push(["blockParams[",e[0],"][",e[1],"]"]),this.resolvePath("context",t,1)},lookupData:function(e,t){e?this.pushStackLiteral("this.data(data, "+e+")"):this.pushStackLiteral("data"),this.resolvePath("data",t,0,!0)},resolvePath:function(e,t,i,n){var r=this;if(this.options.strict||this.options.assumeObjects)return void this.push(s(this.options.strict,this,t,e));for(var o=t.length;o>i;i++)this.replaceStack(function(s){var o=r.nameLookup(s,t[i],e);return n?[" && ",o]:[" != null ? ",o," : ",s]})},resolvePossibleLambda:function(){this.push([this.aliasable("this.lambda"),"(",this.popStack(),", ",this.contextName(0),")"])},pushStringParam:function(e,t){this.pushContext(),this.pushString(t),"SubExpression"!==t&&("string"==typeof e?this.pushString(e):this.pushStackLiteral(e))},emptyHash:function(e){this.trackIds&&this.push("{}"),this.stringParams&&(this.push("{}"),this.push("{}")),this.pushStackLiteral(e?"undefined":"{}")},pushHash:function(){this.hash&&this.hashes.push(this.hash),this.hash={values:[],types:[],contexts:[],ids:[]}},popHash:function(){var e=this.hash;this.hash=this.hashes.pop(),this.trackIds&&this.push(this.objectLiteral(e.ids)),this.stringParams&&(this.push(this.objectLiteral(e.contexts)),this.push(this.objectLiteral(e.types))),this.push(this.objectLiteral(e.values))},pushString:function(e){this.pushStackLiteral(this.quotedString(e))},pushLiteral:function(e){this.pushStackLiteral(e)},pushProgram:function(e){null!=e?this.pushStackLiteral(this.programExpression(e)):this.pushStackLiteral(null)},invokeHelper:function(e,t,i){var n=this.popStack(),r=this.setupHelper(e,t),s=i?[r.name," || "]:"",o=["("].concat(s,n);this.options.strict||o.push(" || ",this.aliasable("helpers.helperMissing")),o.push(")"),this.push(this.source.functionCall(o,"call",r.callParams))},invokeKnownHelper:function(e,t){var i=this.setupHelper(e,t);this.push(this.source.functionCall(i.name,"call",i.callParams))},invokeAmbiguous:function(e,t){this.useRegister("helper");var i=this.popStack();this.emptyHash();var n=this.setupHelper(0,e,t),r=this.lastHelper=this.nameLookup("helpers",e,"helper"),s=["(","(helper = ",r," || ",i,")"];this.options.strict||(s[0]="(helper = ",s.push(" != null ? helper : ",this.aliasable("helpers.helperMissing"))),this.push(["(",s,n.paramsInit?["),(",n.paramsInit]:[],"),","(typeof helper === ",this.aliasable('"function"')," ? ",this.source.functionCall("helper","call",n.callParams)," : helper))"])},invokePartial:function(e,t,i){var n=[],r=this.setupParams(t,1,n,!1);e&&(t=this.popStack(),delete r.name),i&&(r.indent=JSON.stringify(i)),r.helpers="helpers",r.partials="partials",e?n.unshift(t):n.unshift(this.nameLookup("partials",t,"partial")),this.options.compat&&(r.depths="depths"),r=this.objectLiteral(r),n.push(r),this.push(this.source.functionCall("this.invokePartial","",n))},assignToHash:function(e){var t=this.popStack(),i=void 0,n=void 0,r=void 0;this.trackIds&&(r=this.popStack()),this.stringParams&&(n=this.popStack(),i=this.popStack());var s=this.hash;i&&(s.contexts[e]=i),n&&(s.types[e]=n),r&&(s.ids[e]=r),s.values[e]=t},pushId:function(e,t,i){"BlockParam"===e?this.pushStackLiteral("blockParams["+t[0]+"].path["+t[1]+"]"+(i?" + "+JSON.stringify("."+i):"")):"PathExpression"===e?this.pushString(t):"SubExpression"===e?this.pushStackLiteral("true"):this.pushStackLiteral("null")},compiler:r,compileChildren:function(e,t){for(var i=e.children,n=void 0,r=void 0,s=0,o=i.length;o>s;s++){n=i[s],r=new this.compiler;var a=this.matchExistingProgram(n);null==a?(this.context.programs.push(""),a=this.context.programs.length,n.index=a,n.name="program"+a,this.context.programs[a]=r.compile(n,t,this.context,!this.precompile),this.context.environments[a]=n,this.useDepths=this.useDepths||r.useDepths,this.useBlockParams=this.useBlockParams||r.useBlockParams):(n.index=a,n.name="program"+a,this.useDepths=this.useDepths||n.useDepths,this.useBlockParams=this.useBlockParams||n.useBlockParams)}},matchExistingProgram:function(e){for(var t=0,i=this.context.environments.length;i>t;t++){var n=this.context.environments[t];if(n&&n.equals(e))return t}},programExpression:function(e){var t=this.environment.children[e],i=[t.index,"data",t.blockParams];return(this.useBlockParams||this.useDepths)&&i.push("blockParams"),this.useDepths&&i.push("depths"),"this.program("+i.join(", ")+")"},useRegister:function(e){this.registers[e]||(this.registers[e]=!0,this.registers.list.push(e))},push:function(e){return e instanceof n||(e=this.source.wrap(e)),this.inlineStack.push(e),e},pushStackLiteral:function(e){this.push(new n(e))},pushSource:function(e){this.pendingContent&&(this.source.push(this.appendToBuffer(this.source.quotedString(this.pendingContent),this.pendingLocation)),this.pendingContent=void 0),e&&this.source.push(e)},replaceStack:function(e){var t=["("],i=void 0,r=void 0,s=void 0;if(!this.isInline())throw new u["default"]("replaceStack on non-inline");var o=this.popStack(!0);if(o instanceof n)i=[o.value],t=["(",i],s=!0;else{r=!0;var a=this.incrStack();t=["((",this.push(a)," = ",o,")"],i=this.topStack()}var l=e.call(this,i);s||this.popStack(),r&&this.stackSlot--,this.push(t.concat(l,")"))},incrStack:function(){return this.stackSlot++,this.stackSlot>this.stackVars.length&&this.stackVars.push("stack"+this.stackSlot),this.topStackName()},topStackName:function(){return"stack"+this.stackSlot},flushInline:function(){var e=this.inlineStack;this.inlineStack=[];for(var t=0,i=e.length;i>t;t++){var r=e[t];if(r instanceof n)this.compileStack.push(r);else{var s=this.incrStack();this.pushSource([s," = ",r,";"]),this.compileStack.push(s)}}},isInline:function(){return this.inlineStack.length},popStack:function(e){var t=this.isInline(),i=(t?this.inlineStack:this.compileStack).pop();if(!e&&i instanceof n)return i.value;if(!t){if(!this.stackSlot)throw new u["default"]("Invalid stack pop");this.stackSlot--}return i},topStack:function(){var e=this.isInline()?this.inlineStack:this.compileStack,t=e[e.length-1];return t instanceof n?t.value:t},contextName:function(e){return this.useDepths&&e?"depths["+e+"]":"depth"+e},quotedString:function(e){return this.source.quotedString(e)},objectLiteral:function(e){return this.source.objectLiteral(e)},aliasable:function(e){var t=this.aliases[e];return t?(t.referenceCount++,t):(t=this.aliases[e]=this.source.wrap(e),t.aliasable=!0,t.referenceCount=1,t)},setupHelper:function(e,t,i){var n=[],r=this.setupHelperArgs(t,e,n,i),s=this.nameLookup("helpers",t,"helper");return{params:n,paramsInit:r,name:s,callParams:[this.contextName(0)].concat(n)}},setupParams:function(e,t,i){var n={},r=[],s=[],o=[],a=void 0;n.name=this.quotedString(e),n.hash=this.popStack(),this.trackIds&&(n.hashIds=this.popStack()),this.stringParams&&(n.hashTypes=this.popStack(),n.hashContexts=this.popStack());var l=this.popStack(),u=this.popStack();(u||l)&&(n.fn=u||"this.noop",n.inverse=l||"this.noop");for(var c=t;c--;)a=this.popStack(),i[c]=a,this.trackIds&&(o[c]=this.popStack()),this.stringParams&&(s[c]=this.popStack(),r[c]=this.popStack());return this.trackIds&&(n.ids=this.source.generateArray(o)),this.stringParams&&(n.types=this.source.generateArray(s),n.contexts=this.source.generateArray(r)),this.options.data&&(n.data="data"),this.useBlockParams&&(n.blockParams="blockParams"),n},setupHelperArgs:function(e,t,i,n){var r=this.setupParams(e,t,i,!0);return r=this.objectLiteral(r),n?(this.useRegister("options"),i.push("options"),["options=",r]):(i.push(r),"")}},function(){for(var e="break else new var case finally return void catch for switch while continue function this with default if throw delete in try do instanceof typeof abstract enum int short boolean export interface static byte extends long super char final native synchronized class float package throws const goto private transient debugger implements protected volatile double import public let yield await null true false".split(" "),t=r.RESERVED_WORDS={},i=0,n=e.length;n>i;i++)t[e[i]]=!0}(),r.isValidJavaScriptVariableName=function(e){return!r.RESERVED_WORDS[e]&&/^[a-zA-Z_$][0-9a-zA-Z_$]*$/.test(e)},t["default"]=r,e.exports=t["default"]},function(e,t,i){"use strict";function n(){this.parents=[]}var r=i(8)["default"];t.__esModule=!0;var s=i(12),o=r(s),a=i(2),l=r(a);n.prototype={constructor:n,mutating:!1,acceptKey:function(e,t){var i=this.accept(e[t]);if(this.mutating){if(i&&(!i.type||!l["default"][i.type]))throw new o["default"]('Unexpected node type "'+i.type+'" found when accepting '+t+" on "+e.type);e[t]=i}},acceptRequired:function(e,t){if(this.acceptKey(e,t),!e[t])throw new o["default"](e.type+" requires "+t)},acceptArray:function(e){for(var t=0,i=e.length;i>t;t++)this.acceptKey(e,t),e[t]||(e.splice(t,1),t--,i--)},accept:function(e){if(e){this.current&&this.parents.unshift(this.current),this.current=e;var t=this[e.type](e);return this.current=this.parents.shift(),!this.mutating||t?t:t!==!1?e:void 0}},Program:function(e){this.acceptArray(e.body)},MustacheStatement:function(e){this.acceptRequired(e,"path"),this.acceptArray(e.params),this.acceptKey(e,"hash")},BlockStatement:function(e){this.acceptRequired(e,"path"),this.acceptArray(e.params),this.acceptKey(e,"hash"),this.acceptKey(e,"program"),this.acceptKey(e,"inverse")},PartialStatement:function(e){this.acceptRequired(e,"name"),this.acceptArray(e.params),this.acceptKey(e,"hash")},ContentStatement:function(){},CommentStatement:function(){},SubExpression:function(e){this.acceptRequired(e,"path"),this.acceptArray(e.params),this.acceptKey(e,"hash")},PathExpression:function(){},StringLiteral:function(){},NumberLiteral:function(){},BooleanLiteral:function(){},UndefinedLiteral:function(){},NullLiteral:function(){},Hash:function(e){this.acceptArray(e.pairs)},HashPair:function(e){this.acceptRequired(e,"value")}},t["default"]=n,e.exports=t["default"]},function(e,t,i){(function(i){"use strict";t.__esModule=!0,t["default"]=function(e){var t="undefined"!=typeof i?i:window,n=t.Handlebars;e.noConflict=function(){t.Handlebars===e&&(t.Handlebars=n)}},e.exports=t["default"]}).call(t,function(){return this}())},function(e,t,i){"use strict";t["default"]=function(e){return e&&e.__esModule?e:{"default":e}},t.__esModule=!0},function(e,t,i){"use strict";t["default"]=function(e){if(e&&e.__esModule)return e;var t={};if("object"==typeof e&&null!==e)for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t["default"]=e,t},t.__esModule=!0},function(e,t,i){"use strict";function n(e,t){this.helpers=e||{},this.partials=t||{},r(this)}function r(e){e.registerHelper("helperMissing",function(){if(1!==arguments.length)throw new p["default"]('Missing helper: "'+arguments[arguments.length-1].name+'"')}),e.registerHelper("blockHelperMissing",function(t,i){ -var n=i.inverse,r=i.fn;if(t===!0)return r(this);if(t===!1||null==t)return n(this);if(m(t))return t.length>0?(i.ids&&(i.ids=[i.name]),e.helpers.each(t,i)):n(this);if(i.data&&i.ids){var o=s(i.data);o.contextPath=u.appendContextPath(i.data.contextPath,i.name),i={data:o}}return r(t,i)}),e.registerHelper("each",function(e,t){function i(t,i,r){l&&(l.key=t,l.index=i,l.first=0===i,l.last=!!r,c&&(l.contextPath=c+t)),a+=n(e[t],{data:l,blockParams:u.blockParams([e[t],t],[c+t,null])})}if(!t)throw new p["default"]("Must pass iterator to #each");var n=t.fn,r=t.inverse,o=0,a="",l=void 0,c=void 0;if(t.data&&t.ids&&(c=u.appendContextPath(t.data.contextPath,t.ids[0])+"."),g(e)&&(e=e.call(this)),t.data&&(l=s(t.data)),e&&"object"==typeof e)if(m(e))for(var h=e.length;h>o;o++)i(o,o,o===e.length-1);else{var d=void 0;for(var f in e)e.hasOwnProperty(f)&&(d&&i(d,o-1),d=f,o++);d&&i(d,o-1,!0)}return 0===o&&(a=r(this)),a}),e.registerHelper("if",function(e,t){return g(e)&&(e=e.call(this)),!t.hash.includeZero&&!e||u.isEmpty(e)?t.inverse(this):t.fn(this)}),e.registerHelper("unless",function(t,i){return e.helpers["if"].call(this,t,{fn:i.inverse,inverse:i.fn,hash:i.hash})}),e.registerHelper("with",function(e,t){g(e)&&(e=e.call(this));var i=t.fn;if(u.isEmpty(e))return t.inverse(this);if(t.data&&t.ids){var n=s(t.data);n.contextPath=u.appendContextPath(t.data.contextPath,t.ids[0]),t={data:n}}return i(e,t)}),e.registerHelper("log",function(t,i){var n=i.data&&null!=i.data.level?parseInt(i.data.level,10):1;e.log(n,t)}),e.registerHelper("lookup",function(e,t){return e&&e[t]})}function s(e){var t=u.extend({},e);return t._parent=e,t}var o=i(9)["default"],a=i(8)["default"];t.__esModule=!0,t.HandlebarsEnvironment=n,t.createFrame=s;var l=i(13),u=o(l),c=i(12),p=a(c),h="3.0.1";t.VERSION=h;var d=6;t.COMPILER_REVISION=d;var f={1:"<= 1.0.rc.2",2:"== 1.0.0-rc.3",3:"== 1.0.0-rc.4",4:"== 1.x.x",5:"== 2.0.0-alpha.x",6:">= 2.0.0-beta.1"};t.REVISION_CHANGES=f;var m=u.isArray,g=u.isFunction,v=u.toString,y="[object Object]";n.prototype={constructor:n,logger:w,log:b,registerHelper:function(e,t){if(v.call(e)===y){if(t)throw new p["default"]("Arg not supported with multiple helpers");u.extend(this.helpers,e)}else this.helpers[e]=t},unregisterHelper:function(e){delete this.helpers[e]},registerPartial:function(e,t){if(v.call(e)===y)u.extend(this.partials,e);else{if("undefined"==typeof t)throw new p["default"]("Attempting to register a partial as undefined");this.partials[e]=t}},unregisterPartial:function(e){delete this.partials[e]}};var w={methodMap:{0:"debug",1:"info",2:"warn",3:"error"},DEBUG:0,INFO:1,WARN:2,ERROR:3,level:1,log:function(e,t){if("undefined"!=typeof console&&w.level<=e){var i=w.methodMap[e];(console[i]||console.log).call(console,t)}}};t.logger=w;var b=w.log;t.log=b},function(e,t,i){"use strict";function n(e){this.string=e}t.__esModule=!0,n.prototype.toString=n.prototype.toHTML=function(){return""+this.string},t["default"]=n,e.exports=t["default"]},function(e,t,i){"use strict";function n(e,t){var i=t&&t.loc,s=void 0,o=void 0;i&&(s=i.start.line,o=i.start.column,e+=" - "+s+":"+o);for(var a=Error.prototype.constructor.call(this,e),l=0;l<r.length;l++)this[r[l]]=a[r[l]];Error.captureStackTrace&&Error.captureStackTrace(this,n),i&&(this.lineNumber=s,this.column=o)}t.__esModule=!0;var r=["description","fileName","lineNumber","message","name","number","stack"];n.prototype=new Error,t["default"]=n,e.exports=t["default"]},function(e,t,i){"use strict";function n(e){return c[e]}function r(e){for(var t=1;t<arguments.length;t++)for(var i in arguments[t])Object.prototype.hasOwnProperty.call(arguments[t],i)&&(e[i]=arguments[t][i]);return e}function s(e,t){for(var i=0,n=e.length;n>i;i++)if(e[i]===t)return i;return-1}function o(e){if("string"!=typeof e){if(e&&e.toHTML)return e.toHTML();if(null==e)return"";if(!e)return e+"";e=""+e}return h.test(e)?e.replace(p,n):e}function a(e){return e||0===e?m(e)&&0===e.length?!0:!1:!0}function l(e,t){return e.path=t,e}function u(e,t){return(e?e+".":"")+t}t.__esModule=!0,t.extend=r,t.indexOf=s,t.escapeExpression=o,t.isEmpty=a,t.blockParams=l,t.appendContextPath=u;var c={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},p=/[&<>"'`]/g,h=/[&<>"'`]/,d=Object.prototype.toString;t.toString=d;var f=function(e){return"function"==typeof e};f(/x/)&&(t.isFunction=f=function(e){return"function"==typeof e&&"[object Function]"===d.call(e)});var f;t.isFunction=f;var m=Array.isArray||function(e){return e&&"object"==typeof e?"[object Array]"===d.call(e):!1};t.isArray=m},function(e,t,i){"use strict";function n(e){var t=e&&e[0]||1,i=g.COMPILER_REVISION;if(t!==i){if(i>t){var n=g.REVISION_CHANGES[i],r=g.REVISION_CHANGES[t];throw new m["default"]("Template was precompiled with an older version of Handlebars than the current runtime. Please update your precompiler to a newer version ("+n+") or downgrade your runtime to an older version ("+r+").")}throw new m["default"]("Template was precompiled with a newer version of Handlebars than the current runtime. Please update your runtime to a newer version ("+e[1]+").")}}function r(e,t){function i(i,n,r){r.hash&&(n=d.extend({},n,r.hash)),i=t.VM.resolvePartial.call(this,i,n,r);var s=t.VM.invokePartial.call(this,i,n,r);if(null==s&&t.compile&&(r.partials[r.name]=t.compile(i,e.compilerOptions,t),s=r.partials[r.name](n,r)),null!=s){if(r.indent){for(var o=s.split("\n"),a=0,l=o.length;l>a&&(o[a]||a+1!==l);a++)o[a]=r.indent+o[a];s=o.join("\n")}return s}throw new m["default"]("The partial "+r.name+" could not be compiled when running in runtime-only mode")}function n(t){var i=void 0===arguments[1]?{}:arguments[1],s=i.data;n._setup(i),!i.partial&&e.useData&&(s=u(t,s));var o=void 0,a=e.useBlockParams?[]:void 0;return e.useDepths&&(o=i.depths?[t].concat(i.depths):[t]),e.main.call(r,t,r.helpers,r.partials,s,a,o)}if(!t)throw new m["default"]("No environment passed to template");if(!e||!e.main)throw new m["default"]("Unknown template object: "+typeof e);t.VM.checkRevision(e.compiler);var r={strict:function(e,t){if(!(t in e))throw new m["default"]('"'+t+'" not defined in '+e);return e[t]},lookup:function(e,t){for(var i=e.length,n=0;i>n;n++)if(e[n]&&null!=e[n][t])return e[n][t]},lambda:function(e,t){return"function"==typeof e?e.call(t):e},escapeExpression:d.escapeExpression,invokePartial:i,fn:function(t){return e[t]},programs:[],program:function(e,t,i,n,r){var o=this.programs[e],a=this.fn(e);return t||r||n||i?o=s(this,e,a,t,i,n,r):o||(o=this.programs[e]=s(this,e,a)),o},data:function(e,t){for(;e&&t--;)e=e._parent;return e},merge:function(e,t){var i=e||t;return e&&t&&e!==t&&(i=d.extend({},t,e)),i},noop:t.VM.noop,compilerInfo:e.compiler};return n.isTop=!0,n._setup=function(i){i.partial?(r.helpers=i.helpers,r.partials=i.partials):(r.helpers=r.merge(i.helpers,t.helpers),e.usePartial&&(r.partials=r.merge(i.partials,t.partials)))},n._child=function(t,i,n,o){if(e.useBlockParams&&!n)throw new m["default"]("must pass block params");if(e.useDepths&&!o)throw new m["default"]("must pass parent depths");return s(r,t,e[t],i,0,n,o)},n}function s(e,t,i,n,r,s,o){function a(t){var r=void 0===arguments[1]?{}:arguments[1];return i.call(e,t,e.helpers,e.partials,r.data||n,s&&[r.blockParams].concat(s),o&&[t].concat(o))}return a.program=t,a.depth=o?o.length:0,a.blockParams=r||0,a}function o(e,t,i){return e?e.call||i.name||(i.name=e,e=i.partials[e]):e=i.partials[i.name],e}function a(e,t,i){if(i.partial=!0,void 0===e)throw new m["default"]("The partial "+i.name+" could not be found");return e instanceof Function?e(t,i):void 0}function l(){return""}function u(e,t){return t&&"root"in t||(t=t?g.createFrame(t):{},t.root=e),t}var c=i(9)["default"],p=i(8)["default"];t.__esModule=!0,t.checkRevision=n,t.template=r,t.wrapProgram=s,t.resolvePartial=o,t.invokePartial=a,t.noop=l;var h=i(13),d=c(h),f=i(12),m=p(f),g=i(10)},function(e,t,i){"use strict";t.__esModule=!0;var n=function(){function e(){this.yy={}}var t={trace:function(){},yy:{},symbols_:{error:2,root:3,program:4,EOF:5,program_repetition0:6,statement:7,mustache:8,block:9,rawBlock:10,partial:11,content:12,COMMENT:13,CONTENT:14,openRawBlock:15,END_RAW_BLOCK:16,OPEN_RAW_BLOCK:17,helperName:18,openRawBlock_repetition0:19,openRawBlock_option0:20,CLOSE_RAW_BLOCK:21,openBlock:22,block_option0:23,closeBlock:24,openInverse:25,block_option1:26,OPEN_BLOCK:27,openBlock_repetition0:28,openBlock_option0:29,openBlock_option1:30,CLOSE:31,OPEN_INVERSE:32,openInverse_repetition0:33,openInverse_option0:34,openInverse_option1:35,openInverseChain:36,OPEN_INVERSE_CHAIN:37,openInverseChain_repetition0:38,openInverseChain_option0:39,openInverseChain_option1:40,inverseAndProgram:41,INVERSE:42,inverseChain:43,inverseChain_option0:44,OPEN_ENDBLOCK:45,OPEN:46,mustache_repetition0:47,mustache_option0:48,OPEN_UNESCAPED:49,mustache_repetition1:50,mustache_option1:51,CLOSE_UNESCAPED:52,OPEN_PARTIAL:53,partialName:54,partial_repetition0:55,partial_option0:56,param:57,sexpr:58,OPEN_SEXPR:59,sexpr_repetition0:60,sexpr_option0:61,CLOSE_SEXPR:62,hash:63,hash_repetition_plus0:64,hashSegment:65,ID:66,EQUALS:67,blockParams:68,OPEN_BLOCK_PARAMS:69,blockParams_repetition_plus0:70,CLOSE_BLOCK_PARAMS:71,path:72,dataName:73,STRING:74,NUMBER:75,BOOLEAN:76,UNDEFINED:77,NULL:78,DATA:79,pathSegments:80,SEP:81,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",13:"COMMENT",14:"CONTENT",16:"END_RAW_BLOCK",17:"OPEN_RAW_BLOCK",21:"CLOSE_RAW_BLOCK",27:"OPEN_BLOCK",31:"CLOSE",32:"OPEN_INVERSE",37:"OPEN_INVERSE_CHAIN",42:"INVERSE",45:"OPEN_ENDBLOCK",46:"OPEN",49:"OPEN_UNESCAPED",52:"CLOSE_UNESCAPED",53:"OPEN_PARTIAL",59:"OPEN_SEXPR",62:"CLOSE_SEXPR",66:"ID",67:"EQUALS",69:"OPEN_BLOCK_PARAMS",71:"CLOSE_BLOCK_PARAMS",74:"STRING",75:"NUMBER",76:"BOOLEAN",77:"UNDEFINED",78:"NULL",79:"DATA",81:"SEP"},productions_:[0,[3,2],[4,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[12,1],[10,3],[15,5],[9,4],[9,4],[22,6],[25,6],[36,6],[41,2],[43,3],[43,1],[24,3],[8,5],[8,5],[11,5],[57,1],[57,1],[58,5],[63,1],[65,3],[68,3],[18,1],[18,1],[18,1],[18,1],[18,1],[18,1],[18,1],[54,1],[54,1],[73,2],[72,1],[80,3],[80,1],[6,0],[6,2],[19,0],[19,2],[20,0],[20,1],[23,0],[23,1],[26,0],[26,1],[28,0],[28,2],[29,0],[29,1],[30,0],[30,1],[33,0],[33,2],[34,0],[34,1],[35,0],[35,1],[38,0],[38,2],[39,0],[39,1],[40,0],[40,1],[44,0],[44,1],[47,0],[47,2],[48,0],[48,1],[50,0],[50,2],[51,0],[51,1],[55,0],[55,2],[56,0],[56,1],[60,0],[60,2],[61,0],[61,1],[64,1],[64,2],[70,1],[70,2]],performAction:function(e,t,i,n,r,s,o){var a=s.length-1;switch(r){case 1:return s[a-1];case 2:this.$=new n.Program(s[a],null,{},n.locInfo(this._$));break;case 3:this.$=s[a];break;case 4:this.$=s[a];break;case 5:this.$=s[a];break;case 6:this.$=s[a];break;case 7:this.$=s[a];break;case 8:this.$=new n.CommentStatement(n.stripComment(s[a]),n.stripFlags(s[a],s[a]),n.locInfo(this._$));break;case 9:this.$=new n.ContentStatement(s[a],n.locInfo(this._$));break;case 10:this.$=n.prepareRawBlock(s[a-2],s[a-1],s[a],this._$);break;case 11:this.$={path:s[a-3],params:s[a-2],hash:s[a-1]};break;case 12:this.$=n.prepareBlock(s[a-3],s[a-2],s[a-1],s[a],!1,this._$);break;case 13:this.$=n.prepareBlock(s[a-3],s[a-2],s[a-1],s[a],!0,this._$);break;case 14:this.$={path:s[a-4],params:s[a-3],hash:s[a-2],blockParams:s[a-1],strip:n.stripFlags(s[a-5],s[a])};break;case 15:this.$={path:s[a-4],params:s[a-3],hash:s[a-2],blockParams:s[a-1],strip:n.stripFlags(s[a-5],s[a])};break;case 16:this.$={path:s[a-4],params:s[a-3],hash:s[a-2],blockParams:s[a-1],strip:n.stripFlags(s[a-5],s[a])};break;case 17:this.$={strip:n.stripFlags(s[a-1],s[a-1]),program:s[a]};break;case 18:var l=n.prepareBlock(s[a-2],s[a-1],s[a],s[a],!1,this._$),u=new n.Program([l],null,{},n.locInfo(this._$));u.chained=!0,this.$={strip:s[a-2].strip,program:u,chain:!0};break;case 19:this.$=s[a];break;case 20:this.$={path:s[a-1],strip:n.stripFlags(s[a-2],s[a])};break;case 21:this.$=n.prepareMustache(s[a-3],s[a-2],s[a-1],s[a-4],n.stripFlags(s[a-4],s[a]),this._$);break;case 22:this.$=n.prepareMustache(s[a-3],s[a-2],s[a-1],s[a-4],n.stripFlags(s[a-4],s[a]),this._$);break;case 23:this.$=new n.PartialStatement(s[a-3],s[a-2],s[a-1],n.stripFlags(s[a-4],s[a]),n.locInfo(this._$));break;case 24:this.$=s[a];break;case 25:this.$=s[a];break;case 26:this.$=new n.SubExpression(s[a-3],s[a-2],s[a-1],n.locInfo(this._$));break;case 27:this.$=new n.Hash(s[a],n.locInfo(this._$));break;case 28:this.$=new n.HashPair(n.id(s[a-2]),s[a],n.locInfo(this._$));break;case 29:this.$=n.id(s[a-1]);break;case 30:this.$=s[a];break;case 31:this.$=s[a];break;case 32:this.$=new n.StringLiteral(s[a],n.locInfo(this._$));break;case 33:this.$=new n.NumberLiteral(s[a],n.locInfo(this._$));break;case 34:this.$=new n.BooleanLiteral(s[a],n.locInfo(this._$));break;case 35:this.$=new n.UndefinedLiteral(n.locInfo(this._$));break;case 36:this.$=new n.NullLiteral(n.locInfo(this._$));break;case 37:this.$=s[a];break;case 38:this.$=s[a];break;case 39:this.$=n.preparePath(!0,s[a],this._$);break;case 40:this.$=n.preparePath(!1,s[a],this._$);break;case 41:s[a-2].push({part:n.id(s[a]),original:s[a],separator:s[a-1]}),this.$=s[a-2];break;case 42:this.$=[{part:n.id(s[a]),original:s[a]}];break;case 43:this.$=[];break;case 44:s[a-1].push(s[a]);break;case 45:this.$=[];break;case 46:s[a-1].push(s[a]);break;case 53:this.$=[];break;case 54:s[a-1].push(s[a]);break;case 59:this.$=[];break;case 60:s[a-1].push(s[a]);break;case 65:this.$=[];break;case 66:s[a-1].push(s[a]);break;case 73:this.$=[];break;case 74:s[a-1].push(s[a]);break;case 77:this.$=[];break;case 78:s[a-1].push(s[a]);break;case 81:this.$=[];break;case 82:s[a-1].push(s[a]);break;case 85:this.$=[];break;case 86:s[a-1].push(s[a]);break;case 89:this.$=[s[a]];break;case 90:s[a-1].push(s[a]);break;case 91:this.$=[s[a]];break;case 92:s[a-1].push(s[a])}},table:[{3:1,4:2,5:[2,43],6:3,13:[2,43],14:[2,43],17:[2,43],27:[2,43],32:[2,43],46:[2,43],49:[2,43],53:[2,43]},{1:[3]},{5:[1,4]},{5:[2,2],7:5,8:6,9:7,10:8,11:9,12:10,13:[1,11],14:[1,18],15:16,17:[1,21],22:14,25:15,27:[1,19],32:[1,20],37:[2,2],42:[2,2],45:[2,2],46:[1,12],49:[1,13],53:[1,17]},{1:[2,1]},{5:[2,44],13:[2,44],14:[2,44],17:[2,44],27:[2,44],32:[2,44],37:[2,44],42:[2,44],45:[2,44],46:[2,44],49:[2,44],53:[2,44]},{5:[2,3],13:[2,3],14:[2,3],17:[2,3],27:[2,3],32:[2,3],37:[2,3],42:[2,3],45:[2,3],46:[2,3],49:[2,3],53:[2,3]},{5:[2,4],13:[2,4],14:[2,4],17:[2,4],27:[2,4],32:[2,4],37:[2,4],42:[2,4],45:[2,4],46:[2,4],49:[2,4],53:[2,4]},{5:[2,5],13:[2,5],14:[2,5],17:[2,5],27:[2,5],32:[2,5],37:[2,5],42:[2,5],45:[2,5],46:[2,5],49:[2,5],53:[2,5]},{5:[2,6],13:[2,6],14:[2,6],17:[2,6],27:[2,6],32:[2,6],37:[2,6],42:[2,6],45:[2,6],46:[2,6],49:[2,6],53:[2,6]},{5:[2,7],13:[2,7],14:[2,7],17:[2,7],27:[2,7],32:[2,7],37:[2,7],42:[2,7],45:[2,7],46:[2,7],49:[2,7],53:[2,7]},{5:[2,8],13:[2,8],14:[2,8],17:[2,8],27:[2,8],32:[2,8],37:[2,8],42:[2,8],45:[2,8],46:[2,8],49:[2,8],53:[2,8]},{18:22,66:[1,32],72:23,73:24,74:[1,25],75:[1,26],76:[1,27],77:[1,28],78:[1,29],79:[1,31],80:30},{18:33,66:[1,32],72:23,73:24,74:[1,25],75:[1,26],76:[1,27],77:[1,28],78:[1,29],79:[1,31],80:30},{4:34,6:3,13:[2,43],14:[2,43],17:[2,43],27:[2,43],32:[2,43],37:[2,43],42:[2,43],45:[2,43],46:[2,43],49:[2,43],53:[2,43]},{4:35,6:3,13:[2,43],14:[2,43],17:[2,43],27:[2,43],32:[2,43],42:[2,43],45:[2,43],46:[2,43],49:[2,43],53:[2,43]},{12:36,14:[1,18]},{18:38,54:37,58:39,59:[1,40],66:[1,32],72:23,73:24,74:[1,25],75:[1,26],76:[1,27],77:[1,28],78:[1,29],79:[1,31],80:30},{5:[2,9],13:[2,9],14:[2,9],16:[2,9],17:[2,9],27:[2,9],32:[2,9],37:[2,9],42:[2,9],45:[2,9],46:[2,9],49:[2,9],53:[2,9]},{18:41,66:[1,32],72:23,73:24,74:[1,25],75:[1,26],76:[1,27],77:[1,28],78:[1,29],79:[1,31],80:30},{18:42,66:[1,32],72:23,73:24,74:[1,25],75:[1,26],76:[1,27],77:[1,28],78:[1,29],79:[1,31],80:30},{18:43,66:[1,32],72:23,73:24,74:[1,25],75:[1,26],76:[1,27],77:[1,28],78:[1,29],79:[1,31],80:30},{31:[2,73],47:44,59:[2,73],66:[2,73],74:[2,73],75:[2,73],76:[2,73],77:[2,73],78:[2,73],79:[2,73]},{21:[2,30],31:[2,30],52:[2,30],59:[2,30],62:[2,30],66:[2,30],69:[2,30],74:[2,30],75:[2,30],76:[2,30],77:[2,30],78:[2,30],79:[2,30]},{21:[2,31],31:[2,31],52:[2,31],59:[2,31],62:[2,31],66:[2,31],69:[2,31],74:[2,31],75:[2,31],76:[2,31],77:[2,31],78:[2,31],79:[2,31]},{21:[2,32],31:[2,32],52:[2,32],59:[2,32],62:[2,32],66:[2,32],69:[2,32],74:[2,32],75:[2,32],76:[2,32],77:[2,32],78:[2,32],79:[2,32]},{21:[2,33],31:[2,33],52:[2,33],59:[2,33],62:[2,33],66:[2,33],69:[2,33],74:[2,33],75:[2,33],76:[2,33],77:[2,33],78:[2,33],79:[2,33]},{21:[2,34],31:[2,34],52:[2,34],59:[2,34],62:[2,34],66:[2,34],69:[2,34],74:[2,34],75:[2,34],76:[2,34],77:[2,34],78:[2,34],79:[2,34]},{21:[2,35],31:[2,35],52:[2,35],59:[2,35],62:[2,35],66:[2,35],69:[2,35],74:[2,35],75:[2,35],76:[2,35],77:[2,35],78:[2,35],79:[2,35]},{21:[2,36],31:[2,36],52:[2,36],59:[2,36],62:[2,36],66:[2,36],69:[2,36],74:[2,36],75:[2,36],76:[2,36],77:[2,36],78:[2,36],79:[2,36]},{21:[2,40],31:[2,40],52:[2,40],59:[2,40],62:[2,40],66:[2,40],69:[2,40],74:[2,40],75:[2,40],76:[2,40],77:[2,40],78:[2,40],79:[2,40],81:[1,45]},{66:[1,32],80:46},{21:[2,42],31:[2,42],52:[2,42],59:[2,42],62:[2,42],66:[2,42],69:[2,42],74:[2,42],75:[2,42],76:[2,42],77:[2,42],78:[2,42],79:[2,42],81:[2,42]},{50:47,52:[2,77],59:[2,77],66:[2,77],74:[2,77],75:[2,77],76:[2,77],77:[2,77],78:[2,77],79:[2,77]},{23:48,36:50,37:[1,52],41:51,42:[1,53],43:49,45:[2,49]},{26:54,41:55,42:[1,53],45:[2,51]},{16:[1,56]},{31:[2,81],55:57,59:[2,81],66:[2,81],74:[2,81],75:[2,81],76:[2,81],77:[2,81],78:[2,81],79:[2,81]},{31:[2,37],59:[2,37],66:[2,37],74:[2,37],75:[2,37],76:[2,37],77:[2,37],78:[2,37],79:[2,37]},{31:[2,38],59:[2,38],66:[2,38],74:[2,38],75:[2,38],76:[2,38],77:[2,38],78:[2,38],79:[2,38]},{18:58,66:[1,32],72:23,73:24,74:[1,25],75:[1,26],76:[1,27],77:[1,28],78:[1,29],79:[1,31],80:30},{28:59,31:[2,53],59:[2,53],66:[2,53],69:[2,53],74:[2,53],75:[2,53],76:[2,53],77:[2,53],78:[2,53],79:[2,53]},{31:[2,59],33:60,59:[2,59],66:[2,59],69:[2,59],74:[2,59],75:[2,59],76:[2,59],77:[2,59],78:[2,59],79:[2,59]},{19:61,21:[2,45],59:[2,45],66:[2,45],74:[2,45],75:[2,45],76:[2,45],77:[2,45],78:[2,45],79:[2,45]},{18:65,31:[2,75],48:62,57:63,58:66,59:[1,40],63:64,64:67,65:68,66:[1,69],72:23,73:24,74:[1,25],75:[1,26],76:[1,27],77:[1,28],78:[1,29],79:[1,31],80:30},{66:[1,70]},{21:[2,39],31:[2,39],52:[2,39],59:[2,39],62:[2,39],66:[2,39],69:[2,39],74:[2,39],75:[2,39],76:[2,39],77:[2,39],78:[2,39],79:[2,39],81:[1,45]},{18:65,51:71,52:[2,79],57:72,58:66,59:[1,40],63:73,64:67,65:68,66:[1,69],72:23,73:24,74:[1,25],75:[1,26],76:[1,27],77:[1,28],78:[1,29],79:[1,31],80:30},{24:74,45:[1,75]},{45:[2,50]},{4:76,6:3,13:[2,43],14:[2,43],17:[2,43],27:[2,43],32:[2,43],37:[2,43],42:[2,43],45:[2,43],46:[2,43],49:[2,43],53:[2,43]},{45:[2,19]},{18:77,66:[1,32],72:23,73:24,74:[1,25],75:[1,26],76:[1,27],77:[1,28],78:[1,29],79:[1,31],80:30},{4:78,6:3,13:[2,43],14:[2,43],17:[2,43],27:[2,43],32:[2,43],45:[2,43],46:[2,43],49:[2,43],53:[2,43]},{24:79,45:[1,75]},{45:[2,52]},{5:[2,10],13:[2,10],14:[2,10],17:[2,10],27:[2,10],32:[2,10],37:[2,10],42:[2,10],45:[2,10],46:[2,10],49:[2,10],53:[2,10]},{18:65,31:[2,83],56:80,57:81,58:66,59:[1,40],63:82,64:67,65:68,66:[1,69],72:23,73:24,74:[1,25],75:[1,26],76:[1,27],77:[1,28],78:[1,29],79:[1,31],80:30},{59:[2,85],60:83,62:[2,85],66:[2,85],74:[2,85],75:[2,85],76:[2,85],77:[2,85],78:[2,85],79:[2,85]},{18:65,29:84,31:[2,55],57:85,58:66,59:[1,40],63:86,64:67,65:68,66:[1,69],69:[2,55],72:23,73:24,74:[1,25],75:[1,26],76:[1,27],77:[1,28],78:[1,29],79:[1,31],80:30},{18:65,31:[2,61],34:87,57:88,58:66,59:[1,40],63:89,64:67,65:68,66:[1,69],69:[2,61],72:23,73:24,74:[1,25],75:[1,26],76:[1,27],77:[1,28],78:[1,29],79:[1,31],80:30},{18:65,20:90,21:[2,47],57:91,58:66,59:[1,40],63:92,64:67,65:68,66:[1,69],72:23,73:24,74:[1,25],75:[1,26],76:[1,27],77:[1,28],78:[1,29],79:[1,31],80:30},{31:[1,93]},{31:[2,74],59:[2,74],66:[2,74],74:[2,74],75:[2,74],76:[2,74],77:[2,74],78:[2,74],79:[2,74]},{31:[2,76]},{21:[2,24],31:[2,24],52:[2,24],59:[2,24],62:[2,24],66:[2,24],69:[2,24],74:[2,24],75:[2,24],76:[2,24],77:[2,24],78:[2,24],79:[2,24]},{21:[2,25],31:[2,25],52:[2,25],59:[2,25],62:[2,25],66:[2,25],69:[2,25],74:[2,25],75:[2,25],76:[2,25],77:[2,25],78:[2,25],79:[2,25]},{21:[2,27],31:[2,27],52:[2,27],62:[2,27],65:94,66:[1,95],69:[2,27]},{21:[2,89],31:[2,89],52:[2,89],62:[2,89],66:[2,89],69:[2,89]},{21:[2,42],31:[2,42],52:[2,42],59:[2,42],62:[2,42],66:[2,42],67:[1,96],69:[2,42],74:[2,42],75:[2,42],76:[2,42],77:[2,42],78:[2,42],79:[2,42],81:[2,42]},{21:[2,41],31:[2,41],52:[2,41],59:[2,41],62:[2,41],66:[2,41],69:[2,41],74:[2,41],75:[2,41],76:[2,41],77:[2,41],78:[2,41],79:[2,41],81:[2,41]},{52:[1,97]},{52:[2,78],59:[2,78],66:[2,78],74:[2,78],75:[2,78],76:[2,78],77:[2,78],78:[2,78],79:[2,78]},{52:[2,80]},{5:[2,12],13:[2,12],14:[2,12],17:[2,12],27:[2,12],32:[2,12],37:[2,12],42:[2,12],45:[2,12],46:[2,12],49:[2,12],53:[2,12]},{18:98,66:[1,32],72:23,73:24,74:[1,25],75:[1,26],76:[1,27],77:[1,28],78:[1,29],79:[1,31],80:30},{36:50,37:[1,52],41:51,42:[1,53],43:100,44:99,45:[2,71]},{31:[2,65],38:101,59:[2,65],66:[2,65],69:[2,65],74:[2,65],75:[2,65],76:[2,65],77:[2,65],78:[2,65],79:[2,65]},{45:[2,17]},{5:[2,13],13:[2,13],14:[2,13],17:[2,13],27:[2,13],32:[2,13],37:[2,13],42:[2,13],45:[2,13],46:[2,13],49:[2,13],53:[2,13]},{31:[1,102]},{31:[2,82],59:[2,82],66:[2,82],74:[2,82],75:[2,82],76:[2,82],77:[2,82],78:[2,82],79:[2,82]},{31:[2,84]},{18:65,57:104,58:66,59:[1,40],61:103,62:[2,87],63:105,64:67,65:68,66:[1,69],72:23,73:24,74:[1,25],75:[1,26],76:[1,27],77:[1,28],78:[1,29],79:[1,31],80:30},{30:106,31:[2,57],68:107,69:[1,108]},{31:[2,54],59:[2,54],66:[2,54],69:[2,54],74:[2,54],75:[2,54],76:[2,54],77:[2,54],78:[2,54],79:[2,54]},{31:[2,56],69:[2,56]},{31:[2,63],35:109,68:110,69:[1,108]},{31:[2,60],59:[2,60],66:[2,60],69:[2,60],74:[2,60],75:[2,60],76:[2,60],77:[2,60],78:[2,60],79:[2,60]},{31:[2,62],69:[2,62]},{21:[1,111]},{21:[2,46],59:[2,46],66:[2,46],74:[2,46],75:[2,46],76:[2,46],77:[2,46],78:[2,46],79:[2,46]},{21:[2,48]},{5:[2,21],13:[2,21],14:[2,21],17:[2,21],27:[2,21],32:[2,21],37:[2,21],42:[2,21],45:[2,21],46:[2,21],49:[2,21],53:[2,21]},{21:[2,90],31:[2,90],52:[2,90],62:[2,90],66:[2,90],69:[2,90]},{67:[1,96]},{18:65,57:112,58:66,59:[1,40],66:[1,32],72:23,73:24,74:[1,25],75:[1,26],76:[1,27],77:[1,28],78:[1,29],79:[1,31],80:30},{5:[2,22],13:[2,22],14:[2,22],17:[2,22],27:[2,22],32:[2,22],37:[2,22],42:[2,22],45:[2,22],46:[2,22],49:[2,22],53:[2,22]},{31:[1,113]},{45:[2,18]},{45:[2,72]},{18:65,31:[2,67],39:114,57:115,58:66,59:[1,40],63:116,64:67,65:68,66:[1,69],69:[2,67],72:23,73:24,74:[1,25],75:[1,26],76:[1,27],77:[1,28],78:[1,29],79:[1,31],80:30},{5:[2,23],13:[2,23],14:[2,23],17:[2,23],27:[2,23],32:[2,23],37:[2,23],42:[2,23],45:[2,23],46:[2,23],49:[2,23],53:[2,23]},{62:[1,117]},{59:[2,86],62:[2,86],66:[2,86],74:[2,86],75:[2,86],76:[2,86],77:[2,86],78:[2,86],79:[2,86]},{62:[2,88]},{31:[1,118]},{31:[2,58]},{66:[1,120],70:119},{31:[1,121]},{31:[2,64]},{14:[2,11]},{21:[2,28],31:[2,28],52:[2,28],62:[2,28],66:[2,28],69:[2,28]},{5:[2,20],13:[2,20],14:[2,20],17:[2,20],27:[2,20],32:[2,20],37:[2,20],42:[2,20],45:[2,20],46:[2,20],49:[2,20],53:[2,20]},{31:[2,69],40:122,68:123,69:[1,108]},{31:[2,66],59:[2,66],66:[2,66],69:[2,66],74:[2,66],75:[2,66],76:[2,66],77:[2,66],78:[2,66],79:[2,66]},{31:[2,68],69:[2,68]},{21:[2,26],31:[2,26],52:[2,26],59:[2,26],62:[2,26],66:[2,26],69:[2,26],74:[2,26],75:[2,26],76:[2,26],77:[2,26],78:[2,26],79:[2,26]},{13:[2,14],14:[2,14],17:[2,14],27:[2,14],32:[2,14],37:[2,14],42:[2,14],45:[2,14],46:[2,14],49:[2,14],53:[2,14]},{66:[1,125],71:[1,124]},{66:[2,91],71:[2,91]},{13:[2,15],14:[2,15],17:[2,15],27:[2,15],32:[2,15],42:[2,15],45:[2,15],46:[2,15],49:[2,15],53:[2,15]},{31:[1,126]},{31:[2,70]},{31:[2,29]},{66:[2,92],71:[2,92]},{13:[2,16],14:[2,16],17:[2,16],27:[2,16],32:[2,16],37:[2,16],42:[2,16],45:[2,16],46:[2,16],49:[2,16],53:[2,16]}],defaultActions:{4:[2,1],49:[2,50],51:[2,19],55:[2,52],64:[2,76],73:[2,80],78:[2,17],82:[2,84],92:[2,48],99:[2,18],100:[2,72],105:[2,88],107:[2,58],110:[2,64],111:[2,11],123:[2,70],124:[2,29]},parseError:function(e,t){throw new Error(e)},parse:function(e){function t(){var e;return e=i.lexer.lex()||1,"number"!=typeof e&&(e=i.symbols_[e]||e),e}var i=this,n=[0],r=[null],s=[],o=this.table,a="",l=0,u=0,c=0;this.lexer.setInput(e),this.lexer.yy=this.yy,this.yy.lexer=this.lexer,this.yy.parser=this,"undefined"==typeof this.lexer.yylloc&&(this.lexer.yylloc={});var p=this.lexer.yylloc;s.push(p);var h=this.lexer.options&&this.lexer.options.ranges;"function"==typeof this.yy.parseError&&(this.parseError=this.yy.parseError);for(var d,f,m,g,v,y,w,b,x,S={};;){if(m=n[n.length-1],this.defaultActions[m]?g=this.defaultActions[m]:((null===d||"undefined"==typeof d)&&(d=t()),g=o[m]&&o[m][d]),"undefined"==typeof g||!g.length||!g[0]){var T="";if(!c){x=[];for(y in o[m])this.terminals_[y]&&y>2&&x.push("'"+this.terminals_[y]+"'");T=this.lexer.showPosition?"Parse error on line "+(l+1)+":\n"+this.lexer.showPosition()+"\nExpecting "+x.join(", ")+", got '"+(this.terminals_[d]||d)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==d?"end of input":"'"+(this.terminals_[d]||d)+"'"),this.parseError(T,{text:this.lexer.match,token:this.terminals_[d]||d,line:this.lexer.yylineno,loc:p,expected:x})}}if(g[0]instanceof Array&&g.length>1)throw new Error("Parse Error: multiple actions possible at state: "+m+", token: "+d);switch(g[0]){case 1:n.push(d),r.push(this.lexer.yytext),s.push(this.lexer.yylloc),n.push(g[1]),d=null,f?(d=f,f=null):(u=this.lexer.yyleng,a=this.lexer.yytext,l=this.lexer.yylineno,p=this.lexer.yylloc,c>0&&c--);break;case 2:if(w=this.productions_[g[1]][1],S.$=r[r.length-w],S._$={first_line:s[s.length-(w||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(w||1)].first_column,last_column:s[s.length-1].last_column},h&&(S._$.range=[s[s.length-(w||1)].range[0],s[s.length-1].range[1]]),v=this.performAction.call(S,a,u,l,this.yy,g[1],r,s),"undefined"!=typeof v)return v;w&&(n=n.slice(0,-1*w*2),r=r.slice(0,-1*w),s=s.slice(0,-1*w)),n.push(this.productions_[g[1]][0]),r.push(S.$),s.push(S._$),b=o[n[n.length-2]][n[n.length-1]],n.push(b);break;case 3:return!0}}return!0}},i=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e){return this._input=e,this._more=this._less=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,i=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t-1),this.offset-=t;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===n.length?this.yylloc.first_column:0)+n[n.length-i.length].length-i[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-t]),this},more:function(){return this._more=!0,this},less:function(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,i,n,r;this._more||(this.yytext="",this.match="");for(var s=this._currentRules(),o=0;o<s.length&&(i=this._input.match(this.rules[s[o]]),!i||t&&!(i[0].length>t[0].length)||(t=i,n=o,this.options.flex));o++);return t?(r=t[0].match(/(?:\r\n?|\n).*/g),r&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],e=this.performAction.call(this,this.yy,this,s[n],this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),e?e:void 0):""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var e=this.next();return"undefined"!=typeof e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){return this.conditionStack.pop()},_currentRules:function(){return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules},topState:function(){return this.conditionStack[this.conditionStack.length-2]},pushState:function(e){this.begin(e)}};return e.options={},e.performAction=function(e,t,i,n){function r(e,i){return t.yytext=t.yytext.substr(e,t.yyleng-i)}switch(i){case 0:if("\\\\"===t.yytext.slice(-2)?(r(0,1),this.begin("mu")):"\\"===t.yytext.slice(-1)?(r(0,1),this.begin("emu")):this.begin("mu"),t.yytext)return 14;break;case 1:return 14;case 2:return this.popState(),14;case 3:return t.yytext=t.yytext.substr(5,t.yyleng-9),this.popState(),16;case 4:return 14;case 5:return this.popState(),13;case 6:return 59;case 7:return 62;case 8:return 17;case 9:return this.popState(),this.begin("raw"),21;case 10:return 53;case 11:return 27;case 12:return 45;case 13:return this.popState(),42;case 14:return this.popState(),42;case 15:return 32;case 16:return 37;case 17:return 49;case 18:return 46;case 19:this.unput(t.yytext),this.popState(),this.begin("com");break;case 20:return this.popState(),13;case 21:return 46;case 22:return 67;case 23:return 66;case 24:return 66;case 25:return 81;case 26:break;case 27:return this.popState(),52;case 28:return this.popState(),31;case 29:return t.yytext=r(1,2).replace(/\\"/g,'"'),74;case 30:return t.yytext=r(1,2).replace(/\\'/g,"'"),74;case 31:return 79;case 32:return 76;case 33:return 76;case 34:return 77;case 35:return 78;case 36:return 75;case 37:return 69;case 38:return 71;case 39:return 66;case 40:return 66;case 41:return"INVALID";case 42:return 5}},e.rules=[/^(?:[^\x00]*?(?=(\{\{)))/,/^(?:[^\x00]+)/,/^(?:[^\x00]{2,}?(?=(\{\{|\\\{\{|\\\\\{\{|$)))/,/^(?:\{\{\{\{\/[^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=[=}\s\/.])\}\}\}\})/,/^(?:[^\x00]*?(?=(\{\{\{\{\/)))/,/^(?:[\s\S]*?--(~)?\}\})/,/^(?:\()/,/^(?:\))/,/^(?:\{\{\{\{)/,/^(?:\}\}\}\})/,/^(?:\{\{(~)?>)/,/^(?:\{\{(~)?#)/,/^(?:\{\{(~)?\/)/,/^(?:\{\{(~)?\^\s*(~)?\}\})/,/^(?:\{\{(~)?\s*else\s*(~)?\}\})/,/^(?:\{\{(~)?\^)/,/^(?:\{\{(~)?\s*else\b)/,/^(?:\{\{(~)?\{)/,/^(?:\{\{(~)?&)/,/^(?:\{\{(~)?!--)/,/^(?:\{\{(~)?![\s\S]*?\}\})/,/^(?:\{\{(~)?)/,/^(?:=)/,/^(?:\.\.)/,/^(?:\.(?=([=~}\s\/.)|])))/,/^(?:[\/.])/,/^(?:\s+)/,/^(?:\}(~)?\}\})/,/^(?:(~)?\}\})/,/^(?:"(\\["]|[^"])*")/,/^(?:'(\\[']|[^'])*')/,/^(?:@)/,/^(?:true(?=([~}\s)])))/,/^(?:false(?=([~}\s)])))/,/^(?:undefined(?=([~}\s)])))/,/^(?:null(?=([~}\s)])))/,/^(?:-?[0-9]+(?:\.[0-9]+)?(?=([~}\s)])))/,/^(?:as\s+\|)/,/^(?:\|)/,/^(?:([^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=([=~}\s\/.)|]))))/,/^(?:\[[^\]]*\])/,/^(?:.)/,/^(?:$)/],e.conditions={mu:{rules:[6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42],inclusive:!1},emu:{rules:[2],inclusive:!1},com:{rules:[5],inclusive:!1},raw:{rules:[3,4],inclusive:!1 -},INITIAL:{rules:[0,1,42],inclusive:!0}},e}();return t.lexer=i,e.prototype=t,t.Parser=e,new e}();t["default"]=n,e.exports=t["default"]},function(e,t,i){"use strict";function n(){}function r(e,t,i){void 0===t&&(t=e.length);var n=e[t-1],r=e[t-2];return n?"ContentStatement"===n.type?(r||!i?/\r?\n\s*?$/:/(^|\r?\n)\s*?$/).test(n.original):void 0:i}function s(e,t,i){void 0===t&&(t=-1);var n=e[t+1],r=e[t+2];return n?"ContentStatement"===n.type?(r||!i?/^\s*?\r?\n/:/^\s*?(\r?\n|$)/).test(n.original):void 0:i}function o(e,t,i){var n=e[null==t?0:t+1];if(n&&"ContentStatement"===n.type&&(i||!n.rightStripped)){var r=n.value;n.value=n.value.replace(i?/^\s+/:/^[ \t]*\r?\n?/,""),n.rightStripped=n.value!==r}}function a(e,t,i){var n=e[null==t?e.length-1:t-1];if(n&&"ContentStatement"===n.type&&(i||!n.leftStripped)){var r=n.value;return n.value=n.value.replace(i?/\s+$/:/[ \t]+$/,""),n.leftStripped=n.value!==r,n.leftStripped}}var l=i(8)["default"];t.__esModule=!0;var u=i(6),c=l(u);n.prototype=new c["default"],n.prototype.Program=function(e){var t=!this.isRootSeen;this.isRootSeen=!0;for(var i=e.body,n=0,l=i.length;l>n;n++){var u=i[n],c=this.accept(u);if(c){var p=r(i,n,t),h=s(i,n,t),d=c.openStandalone&&p,f=c.closeStandalone&&h,m=c.inlineStandalone&&p&&h;c.close&&o(i,n,!0),c.open&&a(i,n,!0),m&&(o(i,n),a(i,n)&&"PartialStatement"===u.type&&(u.indent=/([ \t]+$)/.exec(i[n-1].original)[1])),d&&(o((u.program||u.inverse).body),a(i,n)),f&&(o(i,n),a((u.inverse||u.program).body))}}return e},n.prototype.BlockStatement=function(e){this.accept(e.program),this.accept(e.inverse);var t=e.program||e.inverse,i=e.program&&e.inverse,n=i,l=i;if(i&&i.chained)for(n=i.body[0].program;l.chained;)l=l.body[l.body.length-1].program;var u={open:e.openStrip.open,close:e.closeStrip.close,openStandalone:s(t.body),closeStandalone:r((n||t).body)};if(e.openStrip.close&&o(t.body,null,!0),i){var c=e.inverseStrip;c.open&&a(t.body,null,!0),c.close&&o(n.body,null,!0),e.closeStrip.open&&a(l.body,null,!0),r(t.body)&&s(n.body)&&(a(t.body),o(n.body))}else e.closeStrip.open&&a(t.body,null,!0);return u},n.prototype.MustacheStatement=function(e){return e.strip},n.prototype.PartialStatement=n.prototype.CommentStatement=function(e){var t=e.strip||{};return{inlineStandalone:!0,open:t.open,close:t.close}},t["default"]=n,e.exports=t["default"]},function(e,t,i){"use strict";function n(e,t){this.source=e,this.start={line:t.first_line,column:t.first_column},this.end={line:t.last_line,column:t.last_column}}function r(e){return/^\[.*\]$/.test(e)?e.substr(1,e.length-2):e}function s(e,t){return{open:"~"===e.charAt(2),close:"~"===t.charAt(t.length-3)}}function o(e){return e.replace(/^\{\{~?\!-?-?/,"").replace(/-?-?~?\}\}$/,"")}function a(e,t,i){i=this.locInfo(i);for(var n=e?"@":"",r=[],s=0,o="",a=0,l=t.length;l>a;a++){var u=t[a].part,c=t[a].original!==u;if(n+=(t[a].separator||"")+u,c||".."!==u&&"."!==u&&"this"!==u)r.push(u);else{if(r.length>0)throw new d["default"]("Invalid path: "+n,{loc:i});".."===u&&(s++,o+="../")}}return new this.PathExpression(e,s,r,n,i)}function l(e,t,i,n,r,s){var o=n.charAt(3)||n.charAt(2),a="{"!==o&&"&"!==o;return new this.MustacheStatement(e,t,i,a,r,this.locInfo(s))}function u(e,t,i,n){if(e.path.original!==i){var r={loc:e.path.loc};throw new d["default"](e.path.original+" doesn't match "+i,r)}n=this.locInfo(n);var s=new this.Program([t],null,{},n);return new this.BlockStatement(e.path,e.params,e.hash,s,void 0,{},{},{},n)}function c(e,t,i,n,r,s){if(n&&n.path&&e.path.original!==n.path.original){var o={loc:e.path.loc};throw new d["default"](e.path.original+" doesn't match "+n.path.original,o)}t.blockParams=e.blockParams;var a=void 0,l=void 0;return i&&(i.chain&&(i.program.body[0].closeStrip=n.strip),l=i.strip,a=i.program),r&&(r=a,a=t,t=r),new this.BlockStatement(e.path,e.params,e.hash,t,a,e.strip,l,n&&n.strip,this.locInfo(s))}var p=i(8)["default"];t.__esModule=!0,t.SourceLocation=n,t.id=r,t.stripFlags=s,t.stripComment=o,t.preparePath=a,t.prepareMustache=l,t.prepareRawBlock=u,t.prepareBlock=c;var h=i(12),d=p(h)},function(e,t,i){"use strict";function n(e,t,i){if(s.isArray(e)){for(var n=[],r=0,o=e.length;o>r;r++)n.push(t.wrap(e[r],i));return n}return"boolean"==typeof e||"number"==typeof e?e+"":e}function r(e){this.srcFile=e,this.source=[]}t.__esModule=!0;var s=i(13),o=void 0;try{}catch(a){}o||(o=function(e,t,i,n){this.src="",n&&this.add(n)},o.prototype={add:function(e){s.isArray(e)&&(e=e.join("")),this.src+=e},prepend:function(e){s.isArray(e)&&(e=e.join("")),this.src=e+this.src},toStringWithSourceMap:function(){return{code:this.toString()}},toString:function(){return this.src}}),r.prototype={prepend:function(e,t){this.source.unshift(this.wrap(e,t))},push:function(e,t){this.source.push(this.wrap(e,t))},merge:function(){var e=this.empty();return this.each(function(t){e.add([" ",t,"\n"])}),e},each:function(e){for(var t=0,i=this.source.length;i>t;t++)e(this.source[t])},empty:function(){var e=void 0===arguments[0]?this.currentLocation||{start:{}}:arguments[0];return new o(e.start.line,e.start.column,this.srcFile)},wrap:function(e){var t=void 0===arguments[1]?this.currentLocation||{start:{}}:arguments[1];return e instanceof o?e:(e=n(e,this,t),new o(t.start.line,t.start.column,this.srcFile,e))},functionCall:function(e,t,i){return i=this.generateList(i),this.wrap([e,t?"."+t+"(":"(",i,")"])},quotedString:function(e){return'"'+(e+"").replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")+'"'},objectLiteral:function(e){var t=[];for(var i in e)if(e.hasOwnProperty(i)){var r=n(e[i],this);"undefined"!==r&&t.push([this.quotedString(i),":",r])}var s=this.generateList(t);return s.prepend("{"),s.add("}"),s},generateList:function(e,t){for(var i=this.empty(t),r=0,s=e.length;s>r;r++)r&&i.add(","),i.add(n(e[r],this,t));return i},generateArray:function(e,t){var i=this.generateList(e,t);return i.prepend("["),i.add("]"),i}},t["default"]=r,e.exports=t["default"]}])})}),define("source-map",[],function(e,t,i){t.SourceMapGenerator=e("source-map/source-map-generator").SourceMapGenerator,t.SourceMapConsumer=e("source-map/source-map-consumer").SourceMapConsumer,t.SourceNode=e("source-map/source-node").SourceNode}),define("source-map/source-map-generator",[],function(e,t,i){define(function(e,t,i){function n(e){e||(e={}),this._file=s.getArg(e,"file",null),this._sourceRoot=s.getArg(e,"sourceRoot",null),this._sources=new o,this._names=new o,this._mappings=[],this._sourcesContents=null}var r=e("source-map/base64-vlq"),s=e("source-map/util"),o=e("source-map/array-set").ArraySet;n.prototype._version=3,n.fromSourceMap=function(e){var t=e.sourceRoot,i=new n({file:e.file,sourceRoot:t});return e.eachMapping(function(e){var n={generated:{line:e.generatedLine,column:e.generatedColumn}};null!=e.source&&(n.source=e.source,null!=t&&(n.source=s.relative(t,n.source)),n.original={line:e.originalLine,column:e.originalColumn},null!=e.name&&(n.name=e.name)),i.addMapping(n)}),e.sources.forEach(function(t){var n=e.sourceContentFor(t);null!=n&&i.setSourceContent(t,n)}),i},n.prototype.addMapping=function(e){var t=s.getArg(e,"generated"),i=s.getArg(e,"original",null),n=s.getArg(e,"source",null),r=s.getArg(e,"name",null);this._validateMapping(t,i,n,r),null==n||this._sources.has(n)||this._sources.add(n),null==r||this._names.has(r)||this._names.add(r),this._mappings.push({generatedLine:t.line,generatedColumn:t.column,originalLine:null!=i&&i.line,originalColumn:null!=i&&i.column,source:n,name:r})},n.prototype.setSourceContent=function(e,t){var i=e;null!=this._sourceRoot&&(i=s.relative(this._sourceRoot,i)),null!=t?(this._sourcesContents||(this._sourcesContents={}),this._sourcesContents[s.toSetString(i)]=t):this._sourcesContents&&(delete this._sourcesContents[s.toSetString(i)],0===Object.keys(this._sourcesContents).length&&(this._sourcesContents=null))},n.prototype.applySourceMap=function(e,t,i){var n=t;if(null==t){if(null==e.file)throw new Error('SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map\'s "file" property. Both were omitted.');n=e.file}var r=this._sourceRoot;null!=r&&(n=s.relative(r,n));var a=new o,l=new o;this._mappings.forEach(function(t){if(t.source===n&&null!=t.originalLine){var o=e.originalPositionFor({line:t.originalLine,column:t.originalColumn});null!=o.source&&(t.source=o.source,null!=i&&(t.source=s.join(i,t.source)),null!=r&&(t.source=s.relative(r,t.source)),t.originalLine=o.line,t.originalColumn=o.column,null!=o.name&&(t.name=o.name))}var u=t.source;null==u||a.has(u)||a.add(u);var c=t.name;null==c||l.has(c)||l.add(c)},this),this._sources=a,this._names=l,e.sources.forEach(function(t){var n=e.sourceContentFor(t);null!=n&&(null!=i&&(t=s.join(i,t)),null!=r&&(t=s.relative(r,t)),this.setSourceContent(t,n))},this)},n.prototype._validateMapping=function(e,t,i,n){if((!(e&&"line"in e&&"column"in e&&e.line>0&&e.column>=0)||t||i||n)&&!(e&&"line"in e&&"column"in e&&t&&"line"in t&&"column"in t&&e.line>0&&e.column>=0&&t.line>0&&t.column>=0&&i))throw new Error("Invalid mapping: "+JSON.stringify({generated:e,source:i,original:t,name:n}))},n.prototype._serializeMappings=function(){var e,t=0,i=1,n=0,o=0,a=0,l=0,u="";this._mappings.sort(s.compareByGeneratedPositions);for(var c=0,p=this._mappings.length;p>c;c++){if(e=this._mappings[c],e.generatedLine!==i)for(t=0;e.generatedLine!==i;)u+=";",i++;else if(c>0){if(!s.compareByGeneratedPositions(e,this._mappings[c-1]))continue;u+=","}u+=r.encode(e.generatedColumn-t),t=e.generatedColumn,null!=e.source&&(u+=r.encode(this._sources.indexOf(e.source)-l),l=this._sources.indexOf(e.source),u+=r.encode(e.originalLine-1-o),o=e.originalLine-1,u+=r.encode(e.originalColumn-n),n=e.originalColumn,null!=e.name&&(u+=r.encode(this._names.indexOf(e.name)-a),a=this._names.indexOf(e.name)))}return u},n.prototype._generateSourcesContent=function(e,t){return e.map(function(e){if(!this._sourcesContents)return null;null!=t&&(e=s.relative(t,e));var i=s.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,i)?this._sourcesContents[i]:null},this)},n.prototype.toJSON=function(){var e={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return null!=this._file&&(e.file=this._file),null!=this._sourceRoot&&(e.sourceRoot=this._sourceRoot),this._sourcesContents&&(e.sourcesContent=this._generateSourcesContent(e.sources,e.sourceRoot)),e},n.prototype.toString=function(){return JSON.stringify(this)},t.SourceMapGenerator=n})}),define("source-map/base64-vlq",[],function(e,t,i){define(function(e,t,i){function n(e){return 0>e?(-e<<1)+1:(e<<1)+0}function r(e){var t=1===(1&e),i=e>>1;return t?-i:i}var s=e("source-map/base64"),o=5,a=1<<o,l=a-1,u=a;t.encode=function(e){var t,i="",r=n(e);do t=r&l,r>>>=o,r>0&&(t|=u),i+=s.encode(t);while(r>0);return i},t.decode=function(e,t){var i,n,a=0,c=e.length,p=0,h=0;do{if(a>=c)throw new Error("Expected more digits in base 64 VLQ value.");n=s.decode(e.charAt(a++)),i=!!(n&u),n&=l,p+=n<<h,h+=o}while(i);t.value=r(p),t.rest=e.slice(a)}})}),define("source-map/base64",[],function(e,t,i){define(function(e,t,i){var n={},r={};"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("").forEach(function(e,t){n[e]=t,r[t]=e}),t.encode=function(e){if(e in r)return r[e];throw new TypeError("Must be between 0 and 63: "+e)},t.decode=function(e){if(e in n)return n[e];throw new TypeError("Not a valid base 64 digit: "+e)}})}),define("source-map/util",[],function(e,t,i){define(function(e,t,i){function n(e,t,i){if(t in e)return e[t];if(3===arguments.length)return i;throw new Error('"'+t+'" is a required argument.')}function r(e){var t=e.match(f);return t?{scheme:t[1],auth:t[2],host:t[3],port:t[4],path:t[5]}:null}function s(e){var t="";return e.scheme&&(t+=e.scheme+":"),t+="//",e.auth&&(t+=e.auth+"@"),e.host&&(t+=e.host),e.port&&(t+=":"+e.port),e.path&&(t+=e.path),t}function o(e){var t=e,i=r(e);if(i){if(!i.path)return e;t=i.path}for(var n,o="/"===t.charAt(0),a=t.split(/\/+/),l=0,u=a.length-1;u>=0;u--)n=a[u],"."===n?a.splice(u,1):".."===n?l++:l>0&&(""===n?(a.splice(u+1,l),l=0):(a.splice(u,2),l--));return t=a.join("/"),""===t&&(t=o?"/":"."),i?(i.path=t,s(i)):t}function a(e,t){""===e&&(e="."),""===t&&(t=".");var i=r(t),n=r(e);if(n&&(e=n.path||"/"),i&&!i.scheme)return n&&(i.scheme=n.scheme),s(i);if(i||t.match(m))return t;if(n&&!n.host&&!n.path)return n.host=t,s(n);var a="/"===t.charAt(0)?t:o(e.replace(/\/+$/,"")+"/"+t);return n?(n.path=a,s(n)):a}function l(e,t){""===e&&(e="."),e=e.replace(/\/$/,"");var i=r(e);return"/"==t.charAt(0)&&i&&"/"==i.path?t.slice(1):0===t.indexOf(e+"/")?t.substr(e.length+1):t}function u(e){return"$"+e}function c(e){return e.substr(1)}function p(e,t){var i=e||"",n=t||"";return(i>n)-(n>i)}function h(e,t,i){var n;return(n=p(e.source,t.source))?n:(n=e.originalLine-t.originalLine)?n:(n=e.originalColumn-t.originalColumn,n||i?n:(n=p(e.name,t.name))?n:(n=e.generatedLine-t.generatedLine,n?n:e.generatedColumn-t.generatedColumn))}function d(e,t,i){var n;return(n=e.generatedLine-t.generatedLine)?n:(n=e.generatedColumn-t.generatedColumn,n||i?n:(n=p(e.source,t.source))?n:(n=e.originalLine-t.originalLine)?n:(n=e.originalColumn-t.originalColumn,n?n:p(e.name,t.name)))}t.getArg=n;var f=/^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.]*)(?::(\d+))?(\S*)$/,m=/^data:.+\,.+$/;t.urlParse=r,t.urlGenerate=s,t.normalize=o,t.join=a,t.relative=l,t.toSetString=u,t.fromSetString=c,t.compareByOriginalPositions=h,t.compareByGeneratedPositions=d})}),define("source-map/array-set",[],function(e,t,i){define(function(e,t,i){function n(){this._array=[],this._set={}}var r=e("source-map/util");n.fromArray=function(e,t){for(var i=new n,r=0,s=e.length;s>r;r++)i.add(e[r],t);return i},n.prototype.add=function(e,t){var i=this.has(e),n=this._array.length;(!i||t)&&this._array.push(e),i||(this._set[r.toSetString(e)]=n)},n.prototype.has=function(e){return Object.prototype.hasOwnProperty.call(this._set,r.toSetString(e))},n.prototype.indexOf=function(e){if(this.has(e))return this._set[r.toSetString(e)];throw new Error('"'+e+'" is not in the set.')},n.prototype.at=function(e){if(e>=0&&e<this._array.length)return this._array[e];throw new Error("No element indexed by "+e)},n.prototype.toArray=function(){return this._array.slice()},t.ArraySet=n})}),define("source-map/source-map-consumer",[],function(e,t,i){define(function(e,t,i){function n(e){var t=e;"string"==typeof e&&(t=JSON.parse(e.replace(/^\)\]\}'/,"")));var i=r.getArg(t,"version"),n=r.getArg(t,"sources"),s=r.getArg(t,"names",[]),a=r.getArg(t,"sourceRoot",null),l=r.getArg(t,"sourcesContent",null),u=r.getArg(t,"mappings"),c=r.getArg(t,"file",null);if(i!=this._version)throw new Error("Unsupported version: "+i);n=n.map(r.normalize),this._names=o.fromArray(s,!0),this._sources=o.fromArray(n,!0),this.sourceRoot=a,this.sourcesContent=l,this._mappings=u,this.file=c}var r=e("source-map/util"),s=e("source-map/binary-search"),o=e("source-map/array-set").ArraySet,a=e("source-map/base64-vlq");n.fromSourceMap=function(e){var t=Object.create(n.prototype);return t._names=o.fromArray(e._names.toArray(),!0),t._sources=o.fromArray(e._sources.toArray(),!0),t.sourceRoot=e._sourceRoot,t.sourcesContent=e._generateSourcesContent(t._sources.toArray(),t.sourceRoot),t.file=e._file,t.__generatedMappings=e._mappings.slice().sort(r.compareByGeneratedPositions),t.__originalMappings=e._mappings.slice().sort(r.compareByOriginalPositions),t},n.prototype._version=3,Object.defineProperty(n.prototype,"sources",{get:function(){return this._sources.toArray().map(function(e){return null!=this.sourceRoot?r.join(this.sourceRoot,e):e},this)}}),n.prototype.__generatedMappings=null,Object.defineProperty(n.prototype,"_generatedMappings",{get:function(){return this.__generatedMappings||(this.__generatedMappings=[],this.__originalMappings=[],this._parseMappings(this._mappings,this.sourceRoot)),this.__generatedMappings}}),n.prototype.__originalMappings=null,Object.defineProperty(n.prototype,"_originalMappings",{get:function(){return this.__originalMappings||(this.__generatedMappings=[],this.__originalMappings=[],this._parseMappings(this._mappings,this.sourceRoot)),this.__originalMappings}}),n.prototype._nextCharIsMappingSeparator=function(e){var t=e.charAt(0);return";"===t||","===t},n.prototype._parseMappings=function(e,t){for(var i,n=1,s=0,o=0,l=0,u=0,c=0,p=e,h={};p.length>0;)if(";"===p.charAt(0))n++,p=p.slice(1),s=0;else if(","===p.charAt(0))p=p.slice(1);else{if(i={},i.generatedLine=n,a.decode(p,h),i.generatedColumn=s+h.value,s=i.generatedColumn,p=h.rest,p.length>0&&!this._nextCharIsMappingSeparator(p)){if(a.decode(p,h),i.source=this._sources.at(u+h.value),u+=h.value,p=h.rest,0===p.length||this._nextCharIsMappingSeparator(p))throw new Error("Found a source, but no line and column");if(a.decode(p,h),i.originalLine=o+h.value,o=i.originalLine,i.originalLine+=1,p=h.rest,0===p.length||this._nextCharIsMappingSeparator(p))throw new Error("Found a source and line, but no column");a.decode(p,h),i.originalColumn=l+h.value,l=i.originalColumn,p=h.rest,p.length>0&&!this._nextCharIsMappingSeparator(p)&&(a.decode(p,h),i.name=this._names.at(c+h.value),c+=h.value,p=h.rest)}this.__generatedMappings.push(i),"number"==typeof i.originalLine&&this.__originalMappings.push(i)}this.__generatedMappings.sort(r.compareByGeneratedPositions),this.__originalMappings.sort(r.compareByOriginalPositions)},n.prototype._findMapping=function(e,t,i,n,r){if(e[i]<=0)throw new TypeError("Line must be greater than or equal to 1, got "+e[i]);if(e[n]<0)throw new TypeError("Column must be greater than or equal to 0, got "+e[n]);return s.search(e,t,r)},n.prototype.computeColumnSpans=function(){for(var e=0;e<this._generatedMappings.length;++e){var t=this._generatedMappings[e];if(e+1<this._generatedMappings.length){var i=this._generatedMappings[e+1];if(t.generatedLine===i.generatedLine){t.lastGeneratedColumn=i.generatedColumn-1;continue}}t.lastGeneratedColumn=1/0}},n.prototype.originalPositionFor=function(e){var t={generatedLine:r.getArg(e,"line"),generatedColumn:r.getArg(e,"column")},i=this._findMapping(t,this._generatedMappings,"generatedLine","generatedColumn",r.compareByGeneratedPositions);if(i>=0){var n=this._generatedMappings[i];if(n.generatedLine===t.generatedLine){var s=r.getArg(n,"source",null);return null!=s&&null!=this.sourceRoot&&(s=r.join(this.sourceRoot,s)),{source:s,line:r.getArg(n,"originalLine",null),column:r.getArg(n,"originalColumn",null),name:r.getArg(n,"name",null)}}}return{source:null,line:null,column:null,name:null}},n.prototype.sourceContentFor=function(e){if(!this.sourcesContent)return null;if(null!=this.sourceRoot&&(e=r.relative(this.sourceRoot,e)),this._sources.has(e))return this.sourcesContent[this._sources.indexOf(e)];var t;if(null!=this.sourceRoot&&(t=r.urlParse(this.sourceRoot))){var i=e.replace(/^file:\/\//,"");if("file"==t.scheme&&this._sources.has(i))return this.sourcesContent[this._sources.indexOf(i)];if((!t.path||"/"==t.path)&&this._sources.has("/"+e))return this.sourcesContent[this._sources.indexOf("/"+e)]}throw new Error('"'+e+'" is not in the SourceMap.')},n.prototype.generatedPositionFor=function(e){var t={source:r.getArg(e,"source"),originalLine:r.getArg(e,"line"),originalColumn:r.getArg(e,"column")};null!=this.sourceRoot&&(t.source=r.relative(this.sourceRoot,t.source));var i=this._findMapping(t,this._originalMappings,"originalLine","originalColumn",r.compareByOriginalPositions);if(i>=0){var n=this._originalMappings[i];return{line:r.getArg(n,"generatedLine",null),column:r.getArg(n,"generatedColumn",null),lastColumn:r.getArg(n,"lastGeneratedColumn",null)}}return{line:null,column:null,lastColumn:null}},n.prototype.allGeneratedPositionsFor=function(e){var t={source:r.getArg(e,"source"),originalLine:r.getArg(e,"line"),originalColumn:1/0};null!=this.sourceRoot&&(t.source=r.relative(this.sourceRoot,t.source));var i=[],n=this._findMapping(t,this._originalMappings,"originalLine","originalColumn",r.compareByOriginalPositions);if(n>=0)for(var s=this._originalMappings[n];s&&s.originalLine===t.originalLine;)i.push({line:r.getArg(s,"generatedLine",null),column:r.getArg(s,"generatedColumn",null),lastColumn:r.getArg(s,"lastGeneratedColumn",null)}),s=this._originalMappings[--n];return i.reverse()},n.GENERATED_ORDER=1,n.ORIGINAL_ORDER=2,n.prototype.eachMapping=function(e,t,i){var s,o=t||null,a=i||n.GENERATED_ORDER;switch(a){case n.GENERATED_ORDER:s=this._generatedMappings;break;case n.ORIGINAL_ORDER:s=this._originalMappings;break;default:throw new Error("Unknown order of iteration.")}var l=this.sourceRoot;s.map(function(e){var t=e.source;return null!=t&&null!=l&&(t=r.join(l,t)),{source:t,generatedLine:e.generatedLine,generatedColumn:e.generatedColumn,originalLine:e.originalLine,originalColumn:e.originalColumn,name:e.name}}).forEach(e,o)},t.SourceMapConsumer=n})}),define("source-map/binary-search",[],function(e,t,i){define(function(e,t,i){function n(e,t,i,r,s){var o=Math.floor((t-e)/2)+e,a=s(i,r[o],!0);return 0===a?o:a>0?t-o>1?n(o,t,i,r,s):o:o-e>1?n(e,o,i,r,s):0>e?-1:e}t.search=function(e,t,i){return 0===t.length?-1:n(-1,t.length,e,t,i)}})}),define("source-map/source-node",[],function(e,t,i){define(function(e,t,i){function n(e,t,i,n,r){this.children=[],this.sourceContents={},this.line=null==e?null:e,this.column=null==t?null:t,this.source=null==i?null:i,this.name=null==r?null:r,this[l]=!0,null!=n&&this.add(n)}var r=e("source-map/source-map-generator").SourceMapGenerator,s=e("source-map/util"),o=/(\r?\n)/,a=/\r\n|[\s\S]/g,l="$$$isSourceNode$$$";n.fromStringWithSourceMap=function(e,t,i){function r(e,t){if(null===e||void 0===e.source)a.add(t);else{var r=i?s.join(i,e.source):e.source;a.add(new n(e.originalLine,e.originalColumn,r,t,e.name))}}var a=new n,l=e.split(o),u=function(){var e=l.shift(),t=l.shift()||"";return e+t},c=1,p=0,h=null;return t.eachMapping(function(e){if(null!==h){if(!(c<e.generatedLine)){var t=l[0],i=t.substr(0,e.generatedColumn-p);return l[0]=t.substr(e.generatedColumn-p),p=e.generatedColumn,r(h,i),void(h=e)}var i="";r(h,u()),c++,p=0}for(;c<e.generatedLine;)a.add(u()),c++;if(p<e.generatedColumn){var t=l[0];a.add(t.substr(0,e.generatedColumn)),l[0]=t.substr(e.generatedColumn),p=e.generatedColumn}h=e},this),l.length>0&&(h&&r(h,u()),a.add(l.join(""))),t.sources.forEach(function(e){var n=t.sourceContentFor(e);null!=n&&(null!=i&&(e=s.join(i,e)),a.setSourceContent(e,n))}),a},n.prototype.add=function(e){if(Array.isArray(e))e.forEach(function(e){this.add(e)},this);else{if(!e[l]&&"string"!=typeof e)throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+e);e&&this.children.push(e)}return this},n.prototype.prepend=function(e){if(Array.isArray(e))for(var t=e.length-1;t>=0;t--)this.prepend(e[t]);else{if(!e[l]&&"string"!=typeof e)throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+e);this.children.unshift(e)}return this},n.prototype.walk=function(e){for(var t,i=0,n=this.children.length;n>i;i++)t=this.children[i],t[l]?t.walk(e):""!==t&&e(t,{source:this.source,line:this.line,column:this.column,name:this.name})},n.prototype.join=function(e){var t,i,n=this.children.length;if(n>0){for(t=[],i=0;n-1>i;i++)t.push(this.children[i]),t.push(e);t.push(this.children[i]),this.children=t}return this},n.prototype.replaceRight=function(e,t){var i=this.children[this.children.length-1];return i[l]?i.replaceRight(e,t):"string"==typeof i?this.children[this.children.length-1]=i.replace(e,t):this.children.push("".replace(e,t)),this},n.prototype.setSourceContent=function(e,t){this.sourceContents[s.toSetString(e)]=t},n.prototype.walkSourceContents=function(e){for(var t=0,i=this.children.length;i>t;t++)this.children[t][l]&&this.children[t].walkSourceContents(e);for(var n=Object.keys(this.sourceContents),t=0,i=n.length;i>t;t++)e(s.fromSetString(n[t]),this.sourceContents[n[t]])},n.prototype.toString=function(){var e="";return this.walk(function(t){e+=t}),e},n.prototype.toStringWithSourceMap=function(e){var t={code:"",line:1,column:0},i=new r(e),n=!1,s=null,l=null,u=null,c=null;return this.walk(function(e,r){t.code+=e,null!==r.source&&null!==r.line&&null!==r.column?((s!==r.source||l!==r.line||u!==r.column||c!==r.name)&&i.addMapping({source:r.source,original:{line:r.line,column:r.column},generated:{line:t.line,column:t.column},name:r.name}),s=r.source,l=r.line,u=r.column,c=r.name,n=!0):n&&(i.addMapping({generated:{line:t.line,column:t.column}}),s=null,n=!1),e.match(a).forEach(function(e,a,l){o.test(e)?(t.line++,t.column=0,a+1===l.length?(s=null,n=!1):n&&i.addMapping({source:r.source,original:{line:r.line,column:r.column},generated:{line:t.line,column:t.column},name:r.name})):t.column+=e.length})}),this.walkSourceContents(function(e,t){i.setSourceContent(e,t)}),{code:t.code,map:i}},t.SourceNode=n})}),define("hammer",[],function(e,t,i){!function(e,t,n,r){"use strict";function s(e,t,i){return setTimeout(p(e,i),t)}function o(e,t,i){return Array.isArray(e)?(a(e,i[t],i),!0):!1}function a(e,t,i){var n;if(e)if(e.forEach)e.forEach(t,i);else if(e.length!==r)for(n=0;n<e.length;)t.call(i,e[n],n,e),n++;else for(n in e)e.hasOwnProperty(n)&&t.call(i,e[n],n,e)}function l(e,t,i){for(var n=Object.keys(t),s=0;s<n.length;)(!i||i&&e[n[s]]===r)&&(e[n[s]]=t[n[s]]),s++;return e}function u(e,t){return l(e,t,!0)}function c(e,t,i){var n,r=t.prototype;n=e.prototype=Object.create(r),n.constructor=e,n._super=r,i&&l(n,i)}function p(e,t){return function(){return e.apply(t,arguments)}}function h(e,t){return typeof e==pe?e.apply(t?t[0]||r:r,t):e}function d(e,t){return e===r?t:e}function f(e,t,i){a(y(t),function(t){e.addEventListener(t,i,!1)})}function m(e,t,i){a(y(t),function(t){e.removeEventListener(t,i,!1)})}function g(e,t){for(;e;){if(e==t)return!0;e=e.parentNode}return!1}function v(e,t){return e.indexOf(t)>-1}function y(e){return e.trim().split(/\s+/g)}function w(e,t,i){if(e.indexOf&&!i)return e.indexOf(t);for(var n=0;n<e.length;){if(i&&e[n][i]==t||!i&&e[n]===t)return n;n++}return-1}function b(e){return Array.prototype.slice.call(e,0)}function x(e,t,i){for(var n=[],r=[],s=0;s<e.length;){var o=t?e[s][t]:e[s];w(r,o)<0&&n.push(e[s]),r[s]=o,s++}return i&&(n=t?n.sort(function(e,i){return e[t]>i[t]}):n.sort()),n}function S(e,t){for(var i,n,s=t[0].toUpperCase()+t.slice(1),o=0;o<ue.length;){if(i=ue[o],n=i?i+s:t,n in e)return n;o++}return r}function T(){return me++}function C(e){var t=e.ownerDocument;return t.defaultView||t.parentWindow}function k(e,t){var i=this;this.manager=e,this.callback=t,this.element=e.element,this.target=e.options.inputTarget,this.domHandler=function(t){h(e.options.enable,[e])&&i.handler(t)},this.init()}function E(e){var t,i=e.options.inputClass;return new(t=i?i:ye?H:we?q:ve?W:F)(e,P)}function P(e,t,i){var n=i.pointers.length,r=i.changedPointers.length,s=t&ke&&n-r===0,o=t&(Pe|Ae)&&n-r===0;i.isFirst=!!s,i.isFinal=!!o,s&&(e.session={}),i.eventType=t,A(e,i),e.emit("hammer.input",i),e.recognize(i),e.session.prevInput=i}function A(e,t){var i=e.session,n=t.pointers,r=n.length;i.firstInput||(i.firstInput=L(t)),r>1&&!i.firstMultiple?i.firstMultiple=L(t):1===r&&(i.firstMultiple=!1);var s=i.firstInput,o=i.firstMultiple,a=o?o.center:s.center,l=t.center=M(n);t.timeStamp=fe(),t.deltaTime=t.timeStamp-s.timeStamp,t.angle=O(a,l),t.distance=z(a,l),_(i,t),t.offsetDirection=I(t.deltaX,t.deltaY),t.scale=o?R(o.pointers,n):1,t.rotation=o?B(o.pointers,n):0,D(i,t);var u=e.element;g(t.srcEvent.target,u)&&(u=t.srcEvent.target),t.target=u}function _(e,t){var i=t.center,n=e.offsetDelta||{},r=e.prevDelta||{},s=e.prevInput||{};(t.eventType===ke||s.eventType===Pe)&&(r=e.prevDelta={x:s.deltaX||0,y:s.deltaY||0},n=e.offsetDelta={x:i.x,y:i.y}),t.deltaX=r.x+(i.x-n.x),t.deltaY=r.y+(i.y-n.y)}function D(e,t){var i,n,s,o,a=e.lastInterval||t,l=t.timeStamp-a.timeStamp;if(t.eventType!=Ae&&(l>Ce||a.velocity===r)){var u=a.deltaX-t.deltaX,c=a.deltaY-t.deltaY,p=N(l,u,c);n=p.x,s=p.y,i=de(p.x)>de(p.y)?p.x:p.y,o=I(u,c),e.lastInterval=t}else i=a.velocity,n=a.velocityX,s=a.velocityY,o=a.direction;t.velocity=i,t.velocityX=n,t.velocityY=s,t.direction=o}function L(e){for(var t=[],i=0;i<e.pointers.length;)t[i]={clientX:he(e.pointers[i].clientX),clientY:he(e.pointers[i].clientY)},i++;return{timeStamp:fe(),pointers:t,center:M(t),deltaX:e.deltaX,deltaY:e.deltaY}}function M(e){var t=e.length;if(1===t)return{x:he(e[0].clientX),y:he(e[0].clientY)};for(var i=0,n=0,r=0;t>r;)i+=e[r].clientX,n+=e[r].clientY,r++;return{x:he(i/t),y:he(n/t)}}function N(e,t,i){return{x:t/e||0,y:i/e||0}}function I(e,t){return e===t?_e:de(e)>=de(t)?e>0?De:Le:t>0?Me:Ne}function z(e,t,i){i||(i=Be);var n=t[i[0]]-e[i[0]],r=t[i[1]]-e[i[1]];return Math.sqrt(n*n+r*r)}function O(e,t,i){i||(i=Be);var n=t[i[0]]-e[i[0]],r=t[i[1]]-e[i[1]];return 180*Math.atan2(r,n)/Math.PI}function B(e,t){return O(t[1],t[0],Re)-O(e[1],e[0],Re)}function R(e,t){return z(t[0],t[1],Re)/z(e[0],e[1],Re)}function F(){this.evEl=He,this.evWin=je,this.allow=!0,this.pressed=!1,k.apply(this,arguments)}function H(){this.evEl=Ye,this.evWin=We,k.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}function j(){this.evTarget=Ge,this.evWin=Ve,this.started=!1,k.apply(this,arguments)}function X(e,t){var i=b(e.touches),n=b(e.changedTouches);return t&(Pe|Ae)&&(i=x(i.concat(n),"identifier",!0)),[i,n]}function q(){this.evTarget=Ke,this.targetIds={},k.apply(this,arguments)}function Y(e,t){var i=b(e.touches),n=this.targetIds;if(t&(ke|Ee)&&1===i.length)return n[i[0].identifier]=!0,[i,i];var r,s,o=b(e.changedTouches),a=[],l=this.target;if(s=i.filter(function(e){return g(e.target,l)}),t===ke)for(r=0;r<s.length;)n[s[r].identifier]=!0,r++;for(r=0;r<o.length;)n[o[r].identifier]&&a.push(o[r]),t&(Pe|Ae)&&delete n[o[r].identifier],r++;return a.length?[x(s.concat(a),"identifier",!0),a]:void 0}function W(){k.apply(this,arguments);var e=p(this.handler,this);this.touch=new q(this.manager,e),this.mouse=new F(this.manager,e)}function $(e,t){this.manager=e,this.set(t)}function G(e){if(v(e,it))return it;var t=v(e,nt),i=v(e,rt);return t&&i?nt+" "+rt:t||i?t?nt:rt:v(e,tt)?tt:et}function V(e){this.id=T(),this.manager=null,this.options=u(e||{},this.defaults),this.options.enable=d(this.options.enable,!0),this.state=st,this.simultaneous={},this.requireFail=[]}function U(e){return e&ct?"cancel":e<?"end":e&at?"move":e&ot?"start":""}function K(e){return e==Ne?"down":e==Me?"up":e==De?"left":e==Le?"right":""}function Q(e,t){var i=t.manager;return i?i.get(e):e}function J(){V.apply(this,arguments)}function Z(){J.apply(this,arguments),this.pX=null,this.pY=null}function ee(){J.apply(this,arguments)}function te(){V.apply(this,arguments),this._timer=null,this._input=null}function ie(){J.apply(this,arguments)}function ne(){J.apply(this,arguments)}function re(){V.apply(this,arguments),this.pTime=!1,this.pCenter=!1,this._timer=null,this._input=null,this.count=0}function se(e,t){return t=t||{},t.recognizers=d(t.recognizers,se.defaults.preset),new oe(e,t)}function oe(e,t){t=t||{},this.options=u(t,se.defaults),this.options.inputTarget=this.options.inputTarget||e,this.handlers={},this.session={},this.recognizers=[],this.element=e,this.input=E(this),this.touchAction=new $(this,this.options.touchAction),ae(this,!0),a(t.recognizers,function(e){var t=this.add(new e[0](e[1]));e[2]&&t.recognizeWith(e[2]),e[3]&&t.requireFailure(e[3])},this)}function ae(e,t){var i=e.element;a(e.options.cssProps,function(e,n){i.style[S(i.style,n)]=t?e:""})}function le(e,i){var n=t.createEvent("Event");n.initEvent(e,!0,!0),n.gesture=i,i.target.dispatchEvent(n)}var ue=["","webkit","moz","MS","ms","o"],ce=t.createElement("div"),pe="function",he=Math.round,de=Math.abs,fe=Date.now,me=1,ge=/mobile|tablet|ip(ad|hone|od)|android/i,ve="ontouchstart"in e,ye=S(e,"PointerEvent")!==r,we=ve&&ge.test(navigator.userAgent),be="touch",xe="pen",Se="mouse",Te="kinect",Ce=25,ke=1,Ee=2,Pe=4,Ae=8,_e=1,De=2,Le=4,Me=8,Ne=16,Ie=De|Le,ze=Me|Ne,Oe=Ie|ze,Be=["x","y"],Re=["clientX","clientY"];k.prototype={handler:function(){},init:function(){this.evEl&&f(this.element,this.evEl,this.domHandler), -this.evTarget&&f(this.target,this.evTarget,this.domHandler),this.evWin&&f(C(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&m(this.element,this.evEl,this.domHandler),this.evTarget&&m(this.target,this.evTarget,this.domHandler),this.evWin&&m(C(this.element),this.evWin,this.domHandler)}};var Fe={mousedown:ke,mousemove:Ee,mouseup:Pe},He="mousedown",je="mousemove mouseup";c(F,k,{handler:function(e){var t=Fe[e.type];t&ke&&0===e.button&&(this.pressed=!0),t&Ee&&1!==e.which&&(t=Pe),this.pressed&&this.allow&&(t&Pe&&(this.pressed=!1),this.callback(this.manager,t,{pointers:[e],changedPointers:[e],pointerType:Se,srcEvent:e}))}});var Xe={pointerdown:ke,pointermove:Ee,pointerup:Pe,pointercancel:Ae,pointerout:Ae},qe={2:be,3:xe,4:Se,5:Te},Ye="pointerdown",We="pointermove pointerup pointercancel";e.MSPointerEvent&&(Ye="MSPointerDown",We="MSPointerMove MSPointerUp MSPointerCancel"),c(H,k,{handler:function(e){var t=this.store,i=!1,n=e.type.toLowerCase().replace("ms",""),r=Xe[n],s=qe[e.pointerType]||e.pointerType,o=s==be,a=w(t,e.pointerId,"pointerId");r&ke&&(0===e.button||o)?0>a&&(t.push(e),a=t.length-1):r&(Pe|Ae)&&(i=!0),0>a||(t[a]=e,this.callback(this.manager,r,{pointers:t,changedPointers:[e],pointerType:s,srcEvent:e}),i&&t.splice(a,1))}});var $e={touchstart:ke,touchmove:Ee,touchend:Pe,touchcancel:Ae},Ge="touchstart",Ve="touchstart touchmove touchend touchcancel";c(j,k,{handler:function(e){var t=$e[e.type];if(t===ke&&(this.started=!0),this.started){var i=X.call(this,e,t);t&(Pe|Ae)&&i[0].length-i[1].length===0&&(this.started=!1),this.callback(this.manager,t,{pointers:i[0],changedPointers:i[1],pointerType:be,srcEvent:e})}}});var Ue={touchstart:ke,touchmove:Ee,touchend:Pe,touchcancel:Ae},Ke="touchstart touchmove touchend touchcancel";c(q,k,{handler:function(e){var t=Ue[e.type],i=Y.call(this,e,t);i&&this.callback(this.manager,t,{pointers:i[0],changedPointers:i[1],pointerType:be,srcEvent:e})}}),c(W,k,{handler:function(e,t,i){var n=i.pointerType==be,r=i.pointerType==Se;if(n)this.mouse.allow=!1;else if(r&&!this.mouse.allow)return;t&(Pe|Ae)&&(this.mouse.allow=!0),this.callback(e,t,i)},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});var Qe=S(ce.style,"touchAction"),Je=Qe!==r,Ze="compute",et="auto",tt="manipulation",it="none",nt="pan-x",rt="pan-y";$.prototype={set:function(e){e==Ze&&(e=this.compute()),Je&&(this.manager.element.style[Qe]=e),this.actions=e.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){var e=[];return a(this.manager.recognizers,function(t){h(t.options.enable,[t])&&(e=e.concat(t.getTouchAction()))}),G(e.join(" "))},preventDefaults:function(e){if(!Je){var t=e.srcEvent,i=e.offsetDirection;if(this.manager.session.prevented)return void t.preventDefault();var n=this.actions,r=v(n,it),s=v(n,rt),o=v(n,nt);return r||s&&i&Ie||o&&i&ze?this.preventSrc(t):void 0}},preventSrc:function(e){this.manager.session.prevented=!0,e.preventDefault()}};var st=1,ot=2,at=4,lt=8,ut=lt,ct=16,pt=32;V.prototype={defaults:{},set:function(e){return l(this.options,e),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(e){if(o(e,"recognizeWith",this))return this;var t=this.simultaneous;return e=Q(e,this),t[e.id]||(t[e.id]=e,e.recognizeWith(this)),this},dropRecognizeWith:function(e){return o(e,"dropRecognizeWith",this)?this:(e=Q(e,this),delete this.simultaneous[e.id],this)},requireFailure:function(e){if(o(e,"requireFailure",this))return this;var t=this.requireFail;return e=Q(e,this),-1===w(t,e)&&(t.push(e),e.requireFailure(this)),this},dropRequireFailure:function(e){if(o(e,"dropRequireFailure",this))return this;e=Q(e,this);var t=w(this.requireFail,e);return t>-1&&this.requireFail.splice(t,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(e){return!!this.simultaneous[e.id]},emit:function(e){function t(t){i.manager.emit(i.options.event+(t?U(n):""),e)}var i=this,n=this.state;lt>n&&t(!0),t(),n>=lt&&t(!0)},tryEmit:function(e){return this.canEmit()?this.emit(e):void(this.state=pt)},canEmit:function(){for(var e=0;e<this.requireFail.length;){if(!(this.requireFail[e].state&(pt|st)))return!1;e++}return!0},recognize:function(e){var t=l({},e);return h(this.options.enable,[this,t])?(this.state&(ut|ct|pt)&&(this.state=st),this.state=this.process(t),void(this.state&(ot|at|lt|ct)&&this.tryEmit(t))):(this.reset(),void(this.state=pt))},process:function(e){},getTouchAction:function(){},reset:function(){}},c(J,V,{defaults:{pointers:1},attrTest:function(e){var t=this.options.pointers;return 0===t||e.pointers.length===t},process:function(e){var t=this.state,i=e.eventType,n=t&(ot|at),r=this.attrTest(e);return n&&(i&Ae||!r)?t|ct:n||r?i&Pe?t|lt:t&ot?t|at:ot:pt}}),c(Z,J,{defaults:{event:"pan",threshold:10,pointers:1,direction:Oe},getTouchAction:function(){var e=this.options.direction,t=[];return e&Ie&&t.push(rt),e&ze&&t.push(nt),t},directionTest:function(e){var t=this.options,i=!0,n=e.distance,r=e.direction,s=e.deltaX,o=e.deltaY;return r&t.direction||(t.direction&Ie?(r=0===s?_e:0>s?De:Le,i=s!=this.pX,n=Math.abs(e.deltaX)):(r=0===o?_e:0>o?Me:Ne,i=o!=this.pY,n=Math.abs(e.deltaY))),e.direction=r,i&&n>t.threshold&&r&t.direction},attrTest:function(e){return J.prototype.attrTest.call(this,e)&&(this.state&ot||!(this.state&ot)&&this.directionTest(e))},emit:function(e){this.pX=e.deltaX,this.pY=e.deltaY;var t=K(e.direction);t&&this.manager.emit(this.options.event+t,e),this._super.emit.call(this,e)}}),c(ee,J,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[it]},attrTest:function(e){return this._super.attrTest.call(this,e)&&(Math.abs(e.scale-1)>this.options.threshold||this.state&ot)},emit:function(e){if(this._super.emit.call(this,e),1!==e.scale){var t=e.scale<1?"in":"out";this.manager.emit(this.options.event+t,e)}}}),c(te,V,{defaults:{event:"press",pointers:1,time:500,threshold:5},getTouchAction:function(){return[et]},process:function(e){var t=this.options,i=e.pointers.length===t.pointers,n=e.distance<t.threshold,r=e.deltaTime>t.time;if(this._input=e,!n||!i||e.eventType&(Pe|Ae)&&!r)this.reset();else if(e.eventType&ke)this.reset(),this._timer=s(function(){this.state=ut,this.tryEmit()},t.time,this);else if(e.eventType&Pe)return ut;return pt},reset:function(){clearTimeout(this._timer)},emit:function(e){this.state===ut&&(e&&e.eventType&Pe?this.manager.emit(this.options.event+"up",e):(this._input.timeStamp=fe(),this.manager.emit(this.options.event,this._input)))}}),c(ie,J,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[it]},attrTest:function(e){return this._super.attrTest.call(this,e)&&(Math.abs(e.rotation)>this.options.threshold||this.state&ot)}}),c(ne,J,{defaults:{event:"swipe",threshold:10,velocity:.65,direction:Ie|ze,pointers:1},getTouchAction:function(){return Z.prototype.getTouchAction.call(this)},attrTest:function(e){var t,i=this.options.direction;return i&(Ie|ze)?t=e.velocity:i&Ie?t=e.velocityX:i&ze&&(t=e.velocityY),this._super.attrTest.call(this,e)&&i&e.direction&&e.distance>this.options.threshold&&de(t)>this.options.velocity&&e.eventType&Pe},emit:function(e){var t=K(e.direction);t&&this.manager.emit(this.options.event+t,e),this.manager.emit(this.options.event,e)}}),c(re,V,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:2,posThreshold:10},getTouchAction:function(){return[tt]},process:function(e){var t=this.options,i=e.pointers.length===t.pointers,n=e.distance<t.threshold,r=e.deltaTime<t.time;if(this.reset(),e.eventType&ke&&0===this.count)return this.failTimeout();if(n&&r&&i){if(e.eventType!=Pe)return this.failTimeout();var o=this.pTime?e.timeStamp-this.pTime<t.interval:!0,a=!this.pCenter||z(this.pCenter,e.center)<t.posThreshold;this.pTime=e.timeStamp,this.pCenter=e.center,a&&o?this.count+=1:this.count=1,this._input=e;var l=this.count%t.taps;if(0===l)return this.hasRequireFailures()?(this._timer=s(function(){this.state=ut,this.tryEmit()},t.interval,this),ot):ut}return pt},failTimeout:function(){return this._timer=s(function(){this.state=pt},this.options.interval,this),pt},reset:function(){clearTimeout(this._timer)},emit:function(){this.state==ut&&(this._input.tapCount=this.count,this.manager.emit(this.options.event,this._input))}}),se.VERSION="2.0.4",se.defaults={domEvents:!1,touchAction:Ze,enable:!0,inputTarget:null,inputClass:null,preset:[[ie,{enable:!1}],[ee,{enable:!1},["rotate"]],[ne,{direction:Ie}],[Z,{direction:Ie},["swipe"]],[re],[re,{event:"doubletap",taps:2},["tap"]],[te]],cssProps:{userSelect:"none",touchSelect:"none",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}};var ht=1,dt=2;oe.prototype={set:function(e){return l(this.options,e),e.touchAction&&this.touchAction.update(),e.inputTarget&&(this.input.destroy(),this.input.target=e.inputTarget,this.input.init()),this},stop:function(e){this.session.stopped=e?dt:ht},recognize:function(e){var t=this.session;if(!t.stopped){this.touchAction.preventDefaults(e);var i,n=this.recognizers,r=t.curRecognizer;(!r||r&&r.state&ut)&&(r=t.curRecognizer=null);for(var s=0;s<n.length;)i=n[s],t.stopped===dt||r&&i!=r&&!i.canRecognizeWith(r)?i.reset():i.recognize(e),!r&&i.state&(ot|at|lt)&&(r=t.curRecognizer=i),s++}},get:function(e){if(e instanceof V)return e;for(var t=this.recognizers,i=0;i<t.length;i++)if(t[i].options.event==e)return t[i];return null},add:function(e){if(o(e,"add",this))return this;var t=this.get(e.options.event);return t&&this.remove(t),this.recognizers.push(e),e.manager=this,this.touchAction.update(),e},remove:function(e){if(o(e,"remove",this))return this;var t=this.recognizers;return e=this.get(e),t.splice(w(t,e),1),this.touchAction.update(),this},on:function(e,t){var i=this.handlers;return a(y(e),function(e){i[e]=i[e]||[],i[e].push(t)}),this},off:function(e,t){var i=this.handlers;return a(y(e),function(e){t?i[e].splice(w(i[e],t),1):delete i[e]}),this},emit:function(e,t){this.options.domEvents&&le(e,t);var i=this.handlers[e]&&this.handlers[e].slice();if(i&&i.length){t.type=e,t.preventDefault=function(){t.srcEvent.preventDefault()};for(var n=0;n<i.length;)i[n](t),n++}},destroy:function(){this.element&&ae(this,!1),this.handlers={},this.session={},this.input.destroy(),this.element=null}},l(se,{INPUT_START:ke,INPUT_MOVE:Ee,INPUT_END:Pe,INPUT_CANCEL:Ae,STATE_POSSIBLE:st,STATE_BEGAN:ot,STATE_CHANGED:at,STATE_ENDED:lt,STATE_RECOGNIZED:ut,STATE_CANCELLED:ct,STATE_FAILED:pt,DIRECTION_NONE:_e,DIRECTION_LEFT:De,DIRECTION_RIGHT:Le,DIRECTION_UP:Me,DIRECTION_DOWN:Ne,DIRECTION_HORIZONTAL:Ie,DIRECTION_VERTICAL:ze,DIRECTION_ALL:Oe,Manager:oe,Input:k,TouchAction:$,TouchInput:q,MouseInput:F,PointerEventInput:H,TouchMouseInput:W,SingleTouchInput:j,Recognizer:V,AttrRecognizer:J,Tap:re,Pan:Z,Swipe:ne,Pinch:ee,Rotate:ie,Press:te,on:f,off:m,each:a,merge:u,extend:l,inherit:c,bindFn:p,prefixed:S}),typeof define==pe&&define.amd?define(function(){return se}):"undefined"!=typeof i&&i.exports?i.exports=se:e[n]=se}(window,document,"Hammer")}); \ No newline at end of file +!function(e,t){function i(e){return function(t){return{}.toString.call(t)=="[object "+e+"]"}}function n(){return E++}function r(e){return e.match(_)[0]}function s(e){for(e=e.replace(D,"/");e.match(L);)e=e.replace(L,"/");return e=e.replace(M,"$1/")}function o(e){var t=e.length-1,i=e.charAt(t);return"#"===i?e.substring(0,t):".js"===e.substring(t-2)||e.indexOf("?")>0||".css"===e.substring(t-3)||"/"===i?e:e+".js"}function a(e){var t=x.alias;return t&&T(t[e])?t[e]:e}function l(e){var t,i=x.paths;return i&&(t=e.match(N))&&T(i[t[1]])&&(e=i[t[1]]+t[2]),e}function c(e){var t=x.vars;return t&&e.indexOf("{")>-1&&(e=e.replace(I,function(e,i){return T(t[i])?t[i]:e})),e}function u(e){var t=x.map,i=e;if(t)for(var n=0,r=t.length;r>n;n++){var s=t[n];if(i=k(s)?s(e)||e:e.replace(s[0],s[1]),i!==e)break}return i}function p(e,t){var i,n=e.charAt(0);if(z.test(e))i=e;else if("."===n)i=s((t?r(t):x.cwd)+e);else if("/"===n){var o=x.cwd.match(O);i=o?o[0]+e.substring(1):e}else i=x.base+e;return 0===i.indexOf("//")&&(i=location.protocol+i),i}function h(e,t){if(!e)return"";e=a(e),e=l(e),e=c(e),e=o(e);var i=p(e,t);return i=u(i)}function d(e){return e.hasAttribute?e.src:e.getAttribute("src",4)}function f(e,t,i){var n=$.test(e),r=B.createElement(n?"link":"script");if(i){var s=k(i)?i(e):i;s&&(r.charset=s)}m(r,t,n,e),n?(r.rel="stylesheet",r.href=e):(r.async=!0,r.src=e),X=r,W?Y.insertBefore(r,W):Y.appendChild(r),X=null}function m(e,i,n,r){function s(){e.onload=e.onerror=e.onreadystatechange=null,n||x.debug||Y.removeChild(e),e=null,i()}var o="onload"in e;return!n||!G&&o?(o?(e.onload=s,e.onerror=function(){A("error",{uri:r,node:e}),s()}):e.onreadystatechange=function(){/loaded|complete/.test(e.readyState)&&s()},t):(setTimeout(function(){g(e,i)},1),t)}function g(e,t){var i,n=e.sheet;if(G)n&&(i=!0);else if(n)try{n.cssRules&&(i=!0)}catch(r){"NS_ERROR_DOM_SECURITY_ERR"===r.name&&(i=!0)}setTimeout(function(){i?t():g(e,t)},20)}function v(){if(X)return X;if(q&&"interactive"===q.readyState)return q;for(var e=Y.getElementsByTagName("script"),t=e.length-1;t>=0;t--){var i=e[t];if("interactive"===i.readyState)return q=i}}function y(e){var t=[];return e.replace(K,"").replace(U,function(e,i,n){n&&t.push(n)}),t}function w(e,t){this.uri=e,this.dependencies=t||[],this.exports=null,this.status=0,this._waitings={},this._remain=0}if(!e.seajs){var b=e.seajs={version:"2.2.0"},x=b.data={},S=i("Object"),T=i("String"),C=Array.isArray||i("Array"),k=i("Function"),E=0,P=x.events={};b.on=function(e,t){var i=P[e]||(P[e]=[]);return i.push(t),b},b.off=function(e,t){if(!e&&!t)return P=x.events={},b;var i=P[e];if(i)if(t)for(var n=i.length-1;n>=0;n--)i[n]===t&&i.splice(n,1);else delete P[e];return b};var A=b.emit=function(e,t){var i,n=P[e];if(n)for(n=n.slice();i=n.shift();)i(t);return b},_=/[^?#]*\//,D=/\/\.\//g,L=/\/[^\/]+\/\.\.\//,M=/([^:\/])\/\//g,N=/^([^\/:]+)(\/.+)$/,I=/{([^{]+)}/g,z=/^\/\/.|:\//,O=/^.*?\/\/.*?\//,B=document,R=r(B.URL),F=B.scripts,H=B.getElementById("seajsnode")||F[F.length-1],j=r(d(H)||R);b.resolve=h;var X,q,Y=B.head||B.getElementsByTagName("head")[0]||B.documentElement,W=Y.getElementsByTagName("base")[0],$=/\.css(?:\?|$)/i,G=+navigator.userAgent.replace(/.*AppleWebKit\/(\d+)\..*/,"$1")<536;b.request=f;var V,U=/"(?:\\"|[^"])*"|'(?:\\'|[^'])*'|\/\*[\S\s]*?\*\/|\/(?:\\\/|[^\/\r\n])+\/(?=[^\/])|\/\/.*|\.\s*require|(?:^|[^$])\brequire\s*\(\s*(["'])(.+?)\1\s*\)/g,K=/\\\\/g,Q=b.cache={},J={},Z={},ee={},te=w.STATUS={FETCHING:1,SAVED:2,LOADING:3,LOADED:4,EXECUTING:5,EXECUTED:6};w.prototype.resolve=function(){for(var e=this,t=e.dependencies,i=[],n=0,r=t.length;r>n;n++)i[n]=w.resolve(t[n],e.uri);return i},w.prototype.load=function(){var e=this;if(!(e.status>=te.LOADING)){e.status=te.LOADING;var i=e.resolve();A("load",i);for(var n,r=e._remain=i.length,s=0;r>s;s++)n=w.get(i[s]),n.status<te.LOADED?n._waitings[e.uri]=(n._waitings[e.uri]||0)+1:e._remain--;if(0===e._remain)return e.onload(),t;var o={};for(s=0;r>s;s++)n=Q[i[s]],n.status<te.FETCHING?n.fetch(o):n.status===te.SAVED&&n.load();for(var a in o)o.hasOwnProperty(a)&&o[a]()}},w.prototype.onload=function(){var e=this;e.status=te.LOADED,e.callback&&e.callback();var t,i,n=e._waitings;for(t in n)n.hasOwnProperty(t)&&(i=Q[t],i._remain-=n[t],0===i._remain&&i.onload());delete e._waitings,delete e._remain},w.prototype.fetch=function(e){function i(){b.request(o.requestUri,o.onRequest,o.charset)}function n(){delete J[a],Z[a]=!0,V&&(w.save(s,V),V=null);var e,t=ee[a];for(delete ee[a];e=t.shift();)e.load()}var r=this,s=r.uri;r.status=te.FETCHING;var o={uri:s};A("fetch",o);var a=o.requestUri||s;return!a||Z[a]?(r.load(),t):J[a]?(ee[a].push(r),t):(J[a]=!0,ee[a]=[r],A("request",o={uri:s,requestUri:a,onRequest:n,charset:x.charset}),o.requested||(e?e[o.requestUri]=i:i()),t)},w.prototype.exec=function(){function e(t){return w.get(e.resolve(t)).exec()}var i=this;if(i.status>=te.EXECUTING)return i.exports;i.status=te.EXECUTING;var r=i.uri;e.resolve=function(e){return w.resolve(e,r)},e.async=function(t,i){return w.use(t,i,r+"_async_"+n()),e};var s=i.factory,o=k(s)?s(e,i.exports={},i):s;return o===t&&(o=i.exports),delete i.factory,i.exports=o,i.status=te.EXECUTED,A("exec",i),o},w.resolve=function(e,t){var i={id:e,refUri:t};return A("resolve",i),i.uri||b.resolve(i.id,t)},w.define=function(e,i,n){var r=arguments.length;1===r?(n=e,e=t):2===r&&(n=i,C(e)?(i=e,e=t):i=t),!C(i)&&k(n)&&(i=y(""+n));var s={id:e,uri:w.resolve(e),deps:i,factory:n};if(!s.uri&&B.attachEvent){var o=v();o&&(s.uri=o.src)}A("define",s),s.uri?w.save(s.uri,s):V=s},w.save=function(e,t){var i=w.get(e);i.status<te.SAVED&&(i.id=t.id||e,i.dependencies=t.deps||[],i.factory=t.factory,i.status=te.SAVED)},w.get=function(e,t){return Q[e]||(Q[e]=new w(e,t))},w.use=function(t,i,n){var r=w.get(n,C(t)?t:[t]);r.callback=function(){for(var t=[],n=r.resolve(),s=0,o=n.length;o>s;s++)t[s]=Q[n[s]].exec();i&&i.apply(e,t),delete r.callback},r.load()},w.preload=function(e){var t=x.preload,i=t.length;i?w.use(t,function(){t.splice(0,i),w.preload(e)},x.cwd+"_preload_"+n()):e()},b.use=function(e,t){return w.preload(function(){w.use(e,t,x.cwd+"_use_"+n())}),b},w.define.cmd={},e.define=w.define,b.Module=w,x.fetchedList=Z,x.cid=n,b.require=function(e){var t=w.get(w.resolve(e));return t.status<te.EXECUTING&&(t.onload(),t.exec()),t.exports};var ie=/^(.+?\/)(\?\?)?(seajs\/)+/;x.base=(j.match(ie)||["",j])[1],x.dir=j,x.cwd=R,x.charset="utf-8",x.preload=function(){var e=[],t=location.search.replace(/(seajs-\w+)(&|$)/g,"$1=1$2");return t+=" "+B.cookie,t.replace(/(seajs-\w+)=1/g,function(t,i){e.push(i)}),e}(),b.config=function(e){for(var t in e){var i=e[t],n=x[t];if(n&&S(n))for(var r in i)n[r]=i[r];else C(n)?i=n.concat(i):"base"===t&&("/"!==i.slice(-1)&&(i+="/"),i=p(i)),x[t]=i}return A("config",e),b}}}(this),define("jquery",[],function(e,t,i){!function(e,t){"object"==typeof i&&"object"==typeof i.exports?i.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){function i(e){var t="length"in e&&e.length,i=Z.type(e);return"function"===i||Z.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===i||0===t||"number"==typeof t&&t>0&&t-1 in e}function n(e,t,i){if(Z.isFunction(t))return Z.grep(e,function(e,n){return!!t.call(e,n,e)!==i});if(t.nodeType)return Z.grep(e,function(e){return e===t!==i});if("string"==typeof t){if(ae.test(t))return Z.filter(t,e,i);t=Z.filter(t,e)}return Z.grep(e,function(e){return $.call(t,e)>=0!==i})}function r(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}function s(e){var t=fe[e]={};return Z.each(e.match(de)||[],function(e,i){t[i]=!0}),t}function o(){Q.removeEventListener("DOMContentLoaded",o,!1),e.removeEventListener("load",o,!1),Z.ready()}function a(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=Z.expando+a.uid++}function l(e,t,i){var n;if(void 0===i&&1===e.nodeType)if(n="data-"+t.replace(be,"-$1").toLowerCase(),i=e.getAttribute(n),"string"==typeof i){try{i="true"===i?!0:"false"===i?!1:"null"===i?null:+i+""===i?+i:we.test(i)?Z.parseJSON(i):i}catch(r){}ye.set(e,t,i)}else i=void 0;return i}function c(){return!0}function u(){return!1}function p(){try{return Q.activeElement}catch(e){}}function h(e,t){return Z.nodeName(e,"table")&&Z.nodeName(11!==t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function d(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function f(e){var t=Oe.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function m(e,t){for(var i=0,n=e.length;n>i;i++)ve.set(e[i],"globalEval",!t||ve.get(t[i],"globalEval"))}function g(e,t){var i,n,r,s,o,a,l,c;if(1===t.nodeType){if(ve.hasData(e)&&(s=ve.access(e),o=ve.set(t,s),c=s.events)){delete o.handle,o.events={};for(r in c)for(i=0,n=c[r].length;n>i;i++)Z.event.add(t,r,c[r][i])}ye.hasData(e)&&(a=ye.access(e),l=Z.extend({},a),ye.set(t,l))}}function v(e,t){var i=e.getElementsByTagName?e.getElementsByTagName(t||"*"):e.querySelectorAll?e.querySelectorAll(t||"*"):[];return void 0===t||t&&Z.nodeName(e,t)?Z.merge([e],i):i}function y(e,t){var i=t.nodeName.toLowerCase();"input"===i&&Ce.test(e.type)?t.checked=e.checked:"input"!==i&&"textarea"!==i||(t.defaultValue=e.defaultValue)}function w(t,i){var n,r=Z(i.createElement(t)).appendTo(i.body),s=e.getDefaultComputedStyle&&(n=e.getDefaultComputedStyle(r[0]))?n.display:Z.css(r[0],"display");return r.detach(),s}function b(e){var t=Q,i=He[e];return i||(i=w(e,t),"none"!==i&&i||(Fe=(Fe||Z("<iframe frameborder='0' width='0' height='0'/>")).appendTo(t.documentElement),t=Fe[0].contentDocument,t.write(),t.close(),i=w(e,t),Fe.detach()),He[e]=i),i}function x(e,t,i){var n,r,s,o,a=e.style;return i=i||qe(e),i&&(o=i.getPropertyValue(t)||i[t]),i&&(""!==o||Z.contains(e.ownerDocument,e)||(o=Z.style(e,t)),Xe.test(o)&&je.test(t)&&(n=a.width,r=a.minWidth,s=a.maxWidth,a.minWidth=a.maxWidth=a.width=o,o=i.width,a.width=n,a.minWidth=r,a.maxWidth=s)),void 0!==o?o+"":o}function S(e,t){return{get:function(){return e()?void delete this.get:(this.get=t).apply(this,arguments)}}}function T(e,t){if(t in e)return t;for(var i=t[0].toUpperCase()+t.slice(1),n=t,r=Ue.length;r--;)if(t=Ue[r]+i,t in e)return t;return n}function C(e,t,i){var n=We.exec(t);return n?Math.max(0,n[1]-(i||0))+(n[2]||"px"):t}function k(e,t,i,n,r){for(var s=i===(n?"border":"content")?4:"width"===t?1:0,o=0;4>s;s+=2)"margin"===i&&(o+=Z.css(e,i+Se[s],!0,r)),n?("content"===i&&(o-=Z.css(e,"padding"+Se[s],!0,r)),"margin"!==i&&(o-=Z.css(e,"border"+Se[s]+"Width",!0,r))):(o+=Z.css(e,"padding"+Se[s],!0,r),"padding"!==i&&(o+=Z.css(e,"border"+Se[s]+"Width",!0,r)));return o}function E(e,t,i){var n=!0,r="width"===t?e.offsetWidth:e.offsetHeight,s=qe(e),o="border-box"===Z.css(e,"boxSizing",!1,s);if(0>=r||null==r){if(r=x(e,t,s),(0>r||null==r)&&(r=e.style[t]),Xe.test(r))return r;n=o&&(K.boxSizingReliable()||r===e.style[t]),r=parseFloat(r)||0}return r+k(e,t,i||(o?"border":"content"),n,s)+"px"}function P(e,t){for(var i,n,r,s=[],o=0,a=e.length;a>o;o++)n=e[o],n.style&&(s[o]=ve.get(n,"olddisplay"),i=n.style.display,t?(s[o]||"none"!==i||(n.style.display=""),""===n.style.display&&Te(n)&&(s[o]=ve.access(n,"olddisplay",b(n.nodeName)))):(r=Te(n),"none"===i&&r||ve.set(n,"olddisplay",r?i:Z.css(n,"display"))));for(o=0;a>o;o++)n=e[o],n.style&&(t&&"none"!==n.style.display&&""!==n.style.display||(n.style.display=t?s[o]||"":"none"));return e}function A(e,t,i,n,r){return new A.prototype.init(e,t,i,n,r)}function _(){return setTimeout(function(){Ke=void 0}),Ke=Z.now()}function D(e,t){var i,n=0,r={height:e};for(t=t?1:0;4>n;n+=2-t)i=Se[n],r["margin"+i]=r["padding"+i]=e;return t&&(r.opacity=r.width=e),r}function L(e,t,i){for(var n,r=(it[t]||[]).concat(it["*"]),s=0,o=r.length;o>s;s++)if(n=r[s].call(i,t,e))return n}function M(e,t,i){var n,r,s,o,a,l,c,u,p=this,h={},d=e.style,f=e.nodeType&&Te(e),m=ve.get(e,"fxshow");i.queue||(a=Z._queueHooks(e,"fx"),null==a.unqueued&&(a.unqueued=0,l=a.empty.fire,a.empty.fire=function(){a.unqueued||l()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,Z.queue(e,"fx").length||a.empty.fire()})})),1===e.nodeType&&("height"in t||"width"in t)&&(i.overflow=[d.overflow,d.overflowX,d.overflowY],c=Z.css(e,"display"),u="none"===c?ve.get(e,"olddisplay")||b(e.nodeName):c,"inline"===u&&"none"===Z.css(e,"float")&&(d.display="inline-block")),i.overflow&&(d.overflow="hidden",p.always(function(){d.overflow=i.overflow[0],d.overflowX=i.overflow[1],d.overflowY=i.overflow[2]}));for(n in t)if(r=t[n],Je.exec(r)){if(delete t[n],s=s||"toggle"===r,r===(f?"hide":"show")){if("show"!==r||!m||void 0===m[n])continue;f=!0}h[n]=m&&m[n]||Z.style(e,n)}else c=void 0;if(Z.isEmptyObject(h))"inline"===("none"===c?b(e.nodeName):c)&&(d.display=c);else{m?"hidden"in m&&(f=m.hidden):m=ve.access(e,"fxshow",{}),s&&(m.hidden=!f),f?Z(e).show():p.done(function(){Z(e).hide()}),p.done(function(){var t;ve.remove(e,"fxshow");for(t in h)Z.style(e,t,h[t])});for(n in h)o=L(f?m[n]:0,n,p),n in m||(m[n]=o.start,f&&(o.end=o.start,o.start="width"===n||"height"===n?1:0))}}function N(e,t){var i,n,r,s,o;for(i in e)if(n=Z.camelCase(i),r=t[n],s=e[i],Z.isArray(s)&&(r=s[1],s=e[i]=s[0]),i!==n&&(e[n]=s,delete e[i]),o=Z.cssHooks[n],o&&"expand"in o){s=o.expand(s),delete e[n];for(i in s)i in e||(e[i]=s[i],t[i]=r)}else t[n]=r}function I(e,t,i){var n,r,s=0,o=tt.length,a=Z.Deferred().always(function(){delete l.elem}),l=function(){if(r)return!1;for(var t=Ke||_(),i=Math.max(0,c.startTime+c.duration-t),n=i/c.duration||0,s=1-n,o=0,l=c.tweens.length;l>o;o++)c.tweens[o].run(s);return a.notifyWith(e,[c,s,i]),1>s&&l?i:(a.resolveWith(e,[c]),!1)},c=a.promise({elem:e,props:Z.extend({},t),opts:Z.extend(!0,{specialEasing:{}},i),originalProperties:t,originalOptions:i,startTime:Ke||_(),duration:i.duration,tweens:[],createTween:function(t,i){var n=Z.Tween(e,c.opts,t,i,c.opts.specialEasing[t]||c.opts.easing);return c.tweens.push(n),n},stop:function(t){var i=0,n=t?c.tweens.length:0;if(r)return this;for(r=!0;n>i;i++)c.tweens[i].run(1);return t?a.resolveWith(e,[c,t]):a.rejectWith(e,[c,t]),this}}),u=c.props;for(N(u,c.opts.specialEasing);o>s;s++)if(n=tt[s].call(c,e,u,c.opts))return n;return Z.map(u,L,c),Z.isFunction(c.opts.start)&&c.opts.start.call(e,c),Z.fx.timer(Z.extend(l,{elem:e,anim:c,queue:c.opts.queue})),c.progress(c.opts.progress).done(c.opts.done,c.opts.complete).fail(c.opts.fail).always(c.opts.always)}function z(e){return function(t,i){"string"!=typeof t&&(i=t,t="*");var n,r=0,s=t.toLowerCase().match(de)||[];if(Z.isFunction(i))for(;n=s[r++];)"+"===n[0]?(n=n.slice(1)||"*",(e[n]=e[n]||[]).unshift(i)):(e[n]=e[n]||[]).push(i)}}function O(e,t,i,n){function r(a){var l;return s[a]=!0,Z.each(e[a]||[],function(e,a){var c=a(t,i,n);return"string"!=typeof c||o||s[c]?o?!(l=c):void 0:(t.dataTypes.unshift(c),r(c),!1)}),l}var s={},o=e===wt;return r(t.dataTypes[0])||!s["*"]&&r("*")}function B(e,t){var i,n,r=Z.ajaxSettings.flatOptions||{};for(i in t)void 0!==t[i]&&((r[i]?e:n||(n={}))[i]=t[i]);return n&&Z.extend(!0,e,n),e}function R(e,t,i){for(var n,r,s,o,a=e.contents,l=e.dataTypes;"*"===l[0];)l.shift(),void 0===n&&(n=e.mimeType||t.getResponseHeader("Content-Type"));if(n)for(r in a)if(a[r]&&a[r].test(n)){l.unshift(r);break}if(l[0]in i)s=l[0];else{for(r in i){if(!l[0]||e.converters[r+" "+l[0]]){s=r;break}o||(o=r)}s=s||o}return s?(s!==l[0]&&l.unshift(s),i[s]):void 0}function F(e,t,i,n){var r,s,o,a,l,c={},u=e.dataTypes.slice();if(u[1])for(o in e.converters)c[o.toLowerCase()]=e.converters[o];for(s=u.shift();s;)if(e.responseFields[s]&&(i[e.responseFields[s]]=t),!l&&n&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),l=s,s=u.shift())if("*"===s)s=l;else if("*"!==l&&l!==s){if(o=c[l+" "+s]||c["* "+s],!o)for(r in c)if(a=r.split(" "),a[1]===s&&(o=c[l+" "+a[0]]||c["* "+a[0]])){o===!0?o=c[r]:c[r]!==!0&&(s=a[0],u.unshift(a[1]));break}if(o!==!0)if(o&&e["throws"])t=o(t);else try{t=o(t)}catch(p){return{state:"parsererror",error:o?p:"No conversion from "+l+" to "+s}}}return{state:"success",data:t}}function H(e,t,i,n){var r;if(Z.isArray(t))Z.each(t,function(t,r){i||Ct.test(e)?n(e,r):H(e+"["+("object"==typeof r?t:"")+"]",r,i,n)});else if(i||"object"!==Z.type(t))n(e,t);else for(r in t)H(e+"["+r+"]",t[r],i,n)}function j(e){return Z.isWindow(e)?e:9===e.nodeType&&e.defaultView}var X=[],q=X.slice,Y=X.concat,W=X.push,$=X.indexOf,G={},V=G.toString,U=G.hasOwnProperty,K={},Q=e.document,J="2.1.4",Z=function(e,t){return new Z.fn.init(e,t)},ee=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,te=/^-ms-/,ie=/-([\da-z])/gi,ne=function(e,t){return t.toUpperCase()};Z.fn=Z.prototype={jquery:J,constructor:Z,selector:"",length:0,toArray:function(){return q.call(this)},get:function(e){return null!=e?0>e?this[e+this.length]:this[e]:q.call(this)},pushStack:function(e){var t=Z.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return Z.each(this,e,t)},map:function(e){return this.pushStack(Z.map(this,function(t,i){return e.call(t,i,t)}))},slice:function(){return this.pushStack(q.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,i=+e+(0>e?t:0);return this.pushStack(i>=0&&t>i?[this[i]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:W,sort:X.sort,splice:X.splice},Z.extend=Z.fn.extend=function(){var e,t,i,n,r,s,o=arguments[0]||{},a=1,l=arguments.length,c=!1;for("boolean"==typeof o&&(c=o,o=arguments[a]||{},a++),"object"==typeof o||Z.isFunction(o)||(o={}),a===l&&(o=this,a--);l>a;a++)if(null!=(e=arguments[a]))for(t in e)i=o[t],n=e[t],o!==n&&(c&&n&&(Z.isPlainObject(n)||(r=Z.isArray(n)))?(r?(r=!1,s=i&&Z.isArray(i)?i:[]):s=i&&Z.isPlainObject(i)?i:{},o[t]=Z.extend(c,s,n)):void 0!==n&&(o[t]=n));return o},Z.extend({expando:"jQuery"+(J+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isFunction:function(e){return"function"===Z.type(e)},isArray:Array.isArray,isWindow:function(e){return null!=e&&e===e.window},isNumeric:function(e){return!Z.isArray(e)&&e-parseFloat(e)+1>=0},isPlainObject:function(e){return"object"!==Z.type(e)||e.nodeType||Z.isWindow(e)?!1:!e.constructor||U.call(e.constructor.prototype,"isPrototypeOf")},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?G[V.call(e)]||"object":typeof e},globalEval:function(e){var t,i=eval;e=Z.trim(e),e&&(1===e.indexOf("use strict")?(t=Q.createElement("script"),t.text=e,Q.head.appendChild(t).parentNode.removeChild(t)):i(e))},camelCase:function(e){return e.replace(te,"ms-").replace(ie,ne)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,n){var r,s=0,o=e.length,a=i(e);if(n){if(a)for(;o>s&&(r=t.apply(e[s],n),r!==!1);s++);else for(s in e)if(r=t.apply(e[s],n),r===!1)break}else if(a)for(;o>s&&(r=t.call(e[s],s,e[s]),r!==!1);s++);else for(s in e)if(r=t.call(e[s],s,e[s]),r===!1)break;return e},trim:function(e){return null==e?"":(e+"").replace(ee,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(i(Object(e))?Z.merge(n,"string"==typeof e?[e]:e):W.call(n,e)),n},inArray:function(e,t,i){return null==t?-1:$.call(t,e,i)},merge:function(e,t){for(var i=+t.length,n=0,r=e.length;i>n;n++)e[r++]=t[n];return e.length=r,e},grep:function(e,t,i){for(var n,r=[],s=0,o=e.length,a=!i;o>s;s++)n=!t(e[s],s),n!==a&&r.push(e[s]);return r},map:function(e,t,n){var r,s=0,o=e.length,a=i(e),l=[];if(a)for(;o>s;s++)r=t(e[s],s,n),null!=r&&l.push(r);else for(s in e)r=t(e[s],s,n),null!=r&&l.push(r);return Y.apply([],l)},guid:1,proxy:function(e,t){var i,n,r;return"string"==typeof t&&(i=e[t],t=e,e=i),Z.isFunction(e)?(n=q.call(arguments,2),r=function(){return e.apply(t||this,n.concat(q.call(arguments)))},r.guid=e.guid=e.guid||Z.guid++,r):void 0},now:Date.now,support:K}),Z.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){G["[object "+t+"]"]=t.toLowerCase()});var re=function(e){function t(e,t,i,n){var r,s,o,a,l,c,p,d,f,m;if((t?t.ownerDocument||t:H)!==M&&L(t),t=t||M,i=i||[],a=t.nodeType,"string"!=typeof e||!e||1!==a&&9!==a&&11!==a)return i;if(!n&&I){if(11!==a&&(r=ye.exec(e)))if(o=r[1]){if(9===a){if(s=t.getElementById(o),!s||!s.parentNode)return i;if(s.id===o)return i.push(s),i}else if(t.ownerDocument&&(s=t.ownerDocument.getElementById(o))&&R(t,s)&&s.id===o)return i.push(s),i}else{if(r[2])return J.apply(i,t.getElementsByTagName(e)),i;if((o=r[3])&&x.getElementsByClassName)return J.apply(i,t.getElementsByClassName(o)),i}if(x.qsa&&(!z||!z.test(e))){if(d=p=F,f=t,m=1!==a&&e,1===a&&"object"!==t.nodeName.toLowerCase()){for(c=k(e),(p=t.getAttribute("id"))?d=p.replace(be,"\\$&"):t.setAttribute("id",d),d="[id='"+d+"'] ",l=c.length;l--;)c[l]=d+h(c[l]);f=we.test(e)&&u(t.parentNode)||t,m=c.join(",")}if(m)try{return J.apply(i,f.querySelectorAll(m)),i}catch(g){}finally{p||t.removeAttribute("id")}}}return P(e.replace(le,"$1"),t,i,n)}function i(){function e(i,n){return t.push(i+" ")>S.cacheLength&&delete e[t.shift()],e[i+" "]=n}var t=[];return e}function n(e){return e[F]=!0,e}function r(e){var t=M.createElement("div");try{return!!e(t)}catch(i){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function s(e,t){for(var i=e.split("|"),n=e.length;n--;)S.attrHandle[i[n]]=t}function o(e,t){var i=t&&e,n=i&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||G)-(~e.sourceIndex||G);if(n)return n;if(i)for(;i=i.nextSibling;)if(i===t)return-1;return e?1:-1}function a(e){return function(t){var i=t.nodeName.toLowerCase();return"input"===i&&t.type===e}}function l(e){return function(t){var i=t.nodeName.toLowerCase();return("input"===i||"button"===i)&&t.type===e}}function c(e){return n(function(t){return t=+t,n(function(i,n){for(var r,s=e([],i.length,t),o=s.length;o--;)i[r=s[o]]&&(i[r]=!(n[r]=i[r]))})})}function u(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}function p(){}function h(e){for(var t=0,i=e.length,n="";i>t;t++)n+=e[t].value;return n}function d(e,t,i){var n=t.dir,r=i&&"parentNode"===n,s=X++;return t.first?function(t,i,s){for(;t=t[n];)if(1===t.nodeType||r)return e(t,i,s)}:function(t,i,o){var a,l,c=[j,s];if(o){for(;t=t[n];)if((1===t.nodeType||r)&&e(t,i,o))return!0}else for(;t=t[n];)if(1===t.nodeType||r){if(l=t[F]||(t[F]={}),(a=l[n])&&a[0]===j&&a[1]===s)return c[2]=a[2];if(l[n]=c,c[2]=e(t,i,o))return!0}}}function f(e){return e.length>1?function(t,i,n){for(var r=e.length;r--;)if(!e[r](t,i,n))return!1;return!0}:e[0]}function m(e,i,n){for(var r=0,s=i.length;s>r;r++)t(e,i[r],n);return n}function g(e,t,i,n,r){for(var s,o=[],a=0,l=e.length,c=null!=t;l>a;a++)(s=e[a])&&(i&&!i(s,n,r)||(o.push(s),c&&t.push(a)));return o}function v(e,t,i,r,s,o){return r&&!r[F]&&(r=v(r)),s&&!s[F]&&(s=v(s,o)),n(function(n,o,a,l){var c,u,p,h=[],d=[],f=o.length,v=n||m(t||"*",a.nodeType?[a]:a,[]),y=!e||!n&&t?v:g(v,h,e,a,l),w=i?s||(n?e:f||r)?[]:o:y;if(i&&i(y,w,a,l),r)for(c=g(w,d),r(c,[],a,l),u=c.length;u--;)(p=c[u])&&(w[d[u]]=!(y[d[u]]=p));if(n){if(s||e){if(s){for(c=[],u=w.length;u--;)(p=w[u])&&c.push(y[u]=p);s(null,w=[],c,l)}for(u=w.length;u--;)(p=w[u])&&(c=s?ee(n,p):h[u])>-1&&(n[c]=!(o[c]=p))}}else w=g(w===o?w.splice(f,w.length):w),s?s(null,o,w,l):J.apply(o,w)})}function y(e){for(var t,i,n,r=e.length,s=S.relative[e[0].type],o=s||S.relative[" "],a=s?1:0,l=d(function(e){return e===t},o,!0),c=d(function(e){return ee(t,e)>-1},o,!0),u=[function(e,i,n){var r=!s&&(n||i!==A)||((t=i).nodeType?l(e,i,n):c(e,i,n));return t=null,r}];r>a;a++)if(i=S.relative[e[a].type])u=[d(f(u),i)];else{if(i=S.filter[e[a].type].apply(null,e[a].matches),i[F]){for(n=++a;r>n&&!S.relative[e[n].type];n++);return v(a>1&&f(u),a>1&&h(e.slice(0,a-1).concat({value:" "===e[a-2].type?"*":""})).replace(le,"$1"),i,n>a&&y(e.slice(a,n)),r>n&&y(e=e.slice(n)),r>n&&h(e))}u.push(i)}return f(u)}function w(e,i){var r=i.length>0,s=e.length>0,o=function(n,o,a,l,c){var u,p,h,d=0,f="0",m=n&&[],v=[],y=A,w=n||s&&S.find.TAG("*",c),b=j+=null==y?1:Math.random()||.1,x=w.length;for(c&&(A=o!==M&&o);f!==x&&null!=(u=w[f]);f++){if(s&&u){for(p=0;h=e[p++];)if(h(u,o,a)){l.push(u);break}c&&(j=b)}r&&((u=!h&&u)&&d--,n&&m.push(u))}if(d+=f,r&&f!==d){for(p=0;h=i[p++];)h(m,v,o,a);if(n){if(d>0)for(;f--;)m[f]||v[f]||(v[f]=K.call(l));v=g(v)}J.apply(l,v),c&&!n&&v.length>0&&d+i.length>1&&t.uniqueSort(l)}return c&&(j=b,A=y),m};return r?n(o):o}var b,x,S,T,C,k,E,P,A,_,D,L,M,N,I,z,O,B,R,F="sizzle"+1*new Date,H=e.document,j=0,X=0,q=i(),Y=i(),W=i(),$=function(e,t){return e===t&&(D=!0),0},G=1<<31,V={}.hasOwnProperty,U=[],K=U.pop,Q=U.push,J=U.push,Z=U.slice,ee=function(e,t){for(var i=0,n=e.length;n>i;i++)if(e[i]===t)return i;return-1},te="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",ie="[\\x20\\t\\r\\n\\f]",ne="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",re=ne.replace("w","w#"),se="\\["+ie+"*("+ne+")(?:"+ie+"*([*^$|!~]?=)"+ie+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+re+"))|)"+ie+"*\\]",oe=":("+ne+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+se+")*)|.*)\\)|)",ae=new RegExp(ie+"+","g"),le=new RegExp("^"+ie+"+|((?:^|[^\\\\])(?:\\\\.)*)"+ie+"+$","g"),ce=new RegExp("^"+ie+"*,"+ie+"*"),ue=new RegExp("^"+ie+"*([>+~]|"+ie+")"+ie+"*"),pe=new RegExp("="+ie+"*([^\\]'\"]*?)"+ie+"*\\]","g"),he=new RegExp(oe),de=new RegExp("^"+re+"$"),fe={ID:new RegExp("^#("+ne+")"),CLASS:new RegExp("^\\.("+ne+")"),TAG:new RegExp("^("+ne.replace("w","w*")+")"),ATTR:new RegExp("^"+se),PSEUDO:new RegExp("^"+oe),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ie+"*(even|odd|(([+-]|)(\\d*)n|)"+ie+"*(?:([+-]|)"+ie+"*(\\d+)|))"+ie+"*\\)|)","i"),bool:new RegExp("^(?:"+te+")$","i"),needsContext:new RegExp("^"+ie+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ie+"*((?:-\\d)?\\d*)"+ie+"*\\)|)(?=[^-]|$)","i")},me=/^(?:input|select|textarea|button)$/i,ge=/^h\d$/i,ve=/^[^{]+\{\s*\[native \w/,ye=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,we=/[+~]/,be=/'|\\/g,xe=new RegExp("\\\\([\\da-f]{1,6}"+ie+"?|("+ie+")|.)","ig"),Se=function(e,t,i){var n="0x"+t-65536;return n!==n||i?t:0>n?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320)},Te=function(){L()};try{J.apply(U=Z.call(H.childNodes),H.childNodes),U[H.childNodes.length].nodeType}catch(Ce){J={apply:U.length?function(e,t){Q.apply(e,Z.call(t))}:function(e,t){for(var i=e.length,n=0;e[i++]=t[n++];);e.length=i-1}}}x=t.support={},C=t.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},L=t.setDocument=function(e){var t,i,n=e?e.ownerDocument||e:H;return n!==M&&9===n.nodeType&&n.documentElement?(M=n,N=n.documentElement,i=n.defaultView,i&&i!==i.top&&(i.addEventListener?i.addEventListener("unload",Te,!1):i.attachEvent&&i.attachEvent("onunload",Te)),I=!C(n),x.attributes=r(function(e){return e.className="i",!e.getAttribute("className")}),x.getElementsByTagName=r(function(e){return e.appendChild(n.createComment("")),!e.getElementsByTagName("*").length}),x.getElementsByClassName=ve.test(n.getElementsByClassName),x.getById=r(function(e){return N.appendChild(e).id=F,!n.getElementsByName||!n.getElementsByName(F).length}),x.getById?(S.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&I){var i=t.getElementById(e);return i&&i.parentNode?[i]:[]}},S.filter.ID=function(e){var t=e.replace(xe,Se);return function(e){return e.getAttribute("id")===t}}):(delete S.find.ID,S.filter.ID=function(e){var t=e.replace(xe,Se);return function(e){var i="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return i&&i.value===t}}),S.find.TAG=x.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):x.qsa?t.querySelectorAll(e):void 0}:function(e,t){var i,n=[],r=0,s=t.getElementsByTagName(e);if("*"===e){for(;i=s[r++];)1===i.nodeType&&n.push(i);return n}return s},S.find.CLASS=x.getElementsByClassName&&function(e,t){return I?t.getElementsByClassName(e):void 0},O=[],z=[],(x.qsa=ve.test(n.querySelectorAll))&&(r(function(e){N.appendChild(e).innerHTML="<a id='"+F+"'></a><select id='"+F+"-\f]' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&z.push("[*^$]="+ie+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||z.push("\\["+ie+"*(?:value|"+te+")"),e.querySelectorAll("[id~="+F+"-]").length||z.push("~="),e.querySelectorAll(":checked").length||z.push(":checked"),e.querySelectorAll("a#"+F+"+*").length||z.push(".#.+[+~]")}),r(function(e){var t=n.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&z.push("name"+ie+"*[*^$|!~]?="),e.querySelectorAll(":enabled").length||z.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),z.push(",.*:")})),(x.matchesSelector=ve.test(B=N.matches||N.webkitMatchesSelector||N.mozMatchesSelector||N.oMatchesSelector||N.msMatchesSelector))&&r(function(e){x.disconnectedMatch=B.call(e,"div"),B.call(e,"[s!='']:x"),O.push("!=",oe)}),z=z.length&&new RegExp(z.join("|")),O=O.length&&new RegExp(O.join("|")),t=ve.test(N.compareDocumentPosition),R=t||ve.test(N.contains)?function(e,t){var i=9===e.nodeType?e.documentElement:e,n=t&&t.parentNode;return e===n||!(!n||1!==n.nodeType||!(i.contains?i.contains(n):e.compareDocumentPosition&&16&e.compareDocumentPosition(n)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},$=t?function(e,t){if(e===t)return D=!0,0;var i=!e.compareDocumentPosition-!t.compareDocumentPosition;return i?i:(i=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1,1&i||!x.sortDetached&&t.compareDocumentPosition(e)===i?e===n||e.ownerDocument===H&&R(H,e)?-1:t===n||t.ownerDocument===H&&R(H,t)?1:_?ee(_,e)-ee(_,t):0:4&i?-1:1)}:function(e,t){if(e===t)return D=!0,0;var i,r=0,s=e.parentNode,a=t.parentNode,l=[e],c=[t];if(!s||!a)return e===n?-1:t===n?1:s?-1:a?1:_?ee(_,e)-ee(_,t):0;if(s===a)return o(e,t);for(i=e;i=i.parentNode;)l.unshift(i);for(i=t;i=i.parentNode;)c.unshift(i);for(;l[r]===c[r];)r++;return r?o(l[r],c[r]):l[r]===H?-1:c[r]===H?1:0},n):M},t.matches=function(e,i){return t(e,null,null,i)},t.matchesSelector=function(e,i){if((e.ownerDocument||e)!==M&&L(e),i=i.replace(pe,"='$1']"),x.matchesSelector&&I&&(!O||!O.test(i))&&(!z||!z.test(i)))try{var n=B.call(e,i);if(n||x.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(r){}return t(i,M,null,[e]).length>0},t.contains=function(e,t){return(e.ownerDocument||e)!==M&&L(e),R(e,t)},t.attr=function(e,t){(e.ownerDocument||e)!==M&&L(e);var i=S.attrHandle[t.toLowerCase()],n=i&&V.call(S.attrHandle,t.toLowerCase())?i(e,t,!I):void 0;return void 0!==n?n:x.attributes||!I?e.getAttribute(t):(n=e.getAttributeNode(t))&&n.specified?n.value:null},t.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},t.uniqueSort=function(e){var t,i=[],n=0,r=0;if(D=!x.detectDuplicates,_=!x.sortStable&&e.slice(0),e.sort($),D){for(;t=e[r++];)t===e[r]&&(n=i.push(r));for(;n--;)e.splice(i[n],1)}return _=null,e},T=t.getText=function(e){var t,i="",n=0,r=e.nodeType;if(r){if(1===r||9===r||11===r){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)i+=T(e)}else if(3===r||4===r)return e.nodeValue}else for(;t=e[n++];)i+=T(t);return i},S=t.selectors={cacheLength:50,createPseudo:n,match:fe,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(xe,Se),e[3]=(e[3]||e[4]||e[5]||"").replace(xe,Se),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||t.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&t.error(e[0]),e},PSEUDO:function(e){var t,i=!e[6]&&e[2];return fe.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":i&&he.test(i)&&(t=k(i,!0))&&(t=i.indexOf(")",i.length-t)-i.length)&&(e[0]=e[0].slice(0,t), +e[2]=i.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(xe,Se).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=q[e+" "];return t||(t=new RegExp("(^|"+ie+")"+e+"("+ie+"|$)"))&&q(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,i,n){return function(r){var s=t.attr(r,e);return null==s?"!="===i:i?(s+="","="===i?s===n:"!="===i?s!==n:"^="===i?n&&0===s.indexOf(n):"*="===i?n&&s.indexOf(n)>-1:"$="===i?n&&s.slice(-n.length)===n:"~="===i?(" "+s.replace(ae," ")+" ").indexOf(n)>-1:"|="===i?s===n||s.slice(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,i,n,r){var s="nth"!==e.slice(0,3),o="last"!==e.slice(-4),a="of-type"===t;return 1===n&&0===r?function(e){return!!e.parentNode}:function(t,i,l){var c,u,p,h,d,f,m=s!==o?"nextSibling":"previousSibling",g=t.parentNode,v=a&&t.nodeName.toLowerCase(),y=!l&&!a;if(g){if(s){for(;m;){for(p=t;p=p[m];)if(a?p.nodeName.toLowerCase()===v:1===p.nodeType)return!1;f=m="only"===e&&!f&&"nextSibling"}return!0}if(f=[o?g.firstChild:g.lastChild],o&&y){for(u=g[F]||(g[F]={}),c=u[e]||[],d=c[0]===j&&c[1],h=c[0]===j&&c[2],p=d&&g.childNodes[d];p=++d&&p&&p[m]||(h=d=0)||f.pop();)if(1===p.nodeType&&++h&&p===t){u[e]=[j,d,h];break}}else if(y&&(c=(t[F]||(t[F]={}))[e])&&c[0]===j)h=c[1];else for(;(p=++d&&p&&p[m]||(h=d=0)||f.pop())&&((a?p.nodeName.toLowerCase()!==v:1!==p.nodeType)||!++h||(y&&((p[F]||(p[F]={}))[e]=[j,h]),p!==t)););return h-=r,h===n||h%n===0&&h/n>=0}}},PSEUDO:function(e,i){var r,s=S.pseudos[e]||S.setFilters[e.toLowerCase()]||t.error("unsupported pseudo: "+e);return s[F]?s(i):s.length>1?(r=[e,e,"",i],S.setFilters.hasOwnProperty(e.toLowerCase())?n(function(e,t){for(var n,r=s(e,i),o=r.length;o--;)n=ee(e,r[o]),e[n]=!(t[n]=r[o])}):function(e){return s(e,0,r)}):s}},pseudos:{not:n(function(e){var t=[],i=[],r=E(e.replace(le,"$1"));return r[F]?n(function(e,t,i,n){for(var s,o=r(e,null,n,[]),a=e.length;a--;)(s=o[a])&&(e[a]=!(t[a]=s))}):function(e,n,s){return t[0]=e,r(t,null,s,i),t[0]=null,!i.pop()}}),has:n(function(e){return function(i){return t(e,i).length>0}}),contains:n(function(e){return e=e.replace(xe,Se),function(t){return(t.textContent||t.innerText||T(t)).indexOf(e)>-1}}),lang:n(function(e){return de.test(e||"")||t.error("unsupported lang: "+e),e=e.replace(xe,Se).toLowerCase(),function(t){var i;do if(i=I?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return i=i.toLowerCase(),i===e||0===i.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var i=e.location&&e.location.hash;return i&&i.slice(1)===t.id},root:function(e){return e===N},focus:function(e){return e===M.activeElement&&(!M.hasFocus||M.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!S.pseudos.empty(e)},header:function(e){return ge.test(e.nodeName)},input:function(e){return me.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:c(function(){return[0]}),last:c(function(e,t){return[t-1]}),eq:c(function(e,t,i){return[0>i?i+t:i]}),even:c(function(e,t){for(var i=0;t>i;i+=2)e.push(i);return e}),odd:c(function(e,t){for(var i=1;t>i;i+=2)e.push(i);return e}),lt:c(function(e,t,i){for(var n=0>i?i+t:i;--n>=0;)e.push(n);return e}),gt:c(function(e,t,i){for(var n=0>i?i+t:i;++n<t;)e.push(n);return e})}},S.pseudos.nth=S.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})S.pseudos[b]=a(b);for(b in{submit:!0,reset:!0})S.pseudos[b]=l(b);return p.prototype=S.filters=S.pseudos,S.setFilters=new p,k=t.tokenize=function(e,i){var n,r,s,o,a,l,c,u=Y[e+" "];if(u)return i?0:u.slice(0);for(a=e,l=[],c=S.preFilter;a;){n&&!(r=ce.exec(a))||(r&&(a=a.slice(r[0].length)||a),l.push(s=[])),n=!1,(r=ue.exec(a))&&(n=r.shift(),s.push({value:n,type:r[0].replace(le," ")}),a=a.slice(n.length));for(o in S.filter)!(r=fe[o].exec(a))||c[o]&&!(r=c[o](r))||(n=r.shift(),s.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return i?a.length:a?t.error(e):Y(e,l).slice(0)},E=t.compile=function(e,t){var i,n=[],r=[],s=W[e+" "];if(!s){for(t||(t=k(e)),i=t.length;i--;)s=y(t[i]),s[F]?n.push(s):r.push(s);s=W(e,w(r,n)),s.selector=e}return s},P=t.select=function(e,t,i,n){var r,s,o,a,l,c="function"==typeof e&&e,p=!n&&k(e=c.selector||e);if(i=i||[],1===p.length){if(s=p[0]=p[0].slice(0),s.length>2&&"ID"===(o=s[0]).type&&x.getById&&9===t.nodeType&&I&&S.relative[s[1].type]){if(t=(S.find.ID(o.matches[0].replace(xe,Se),t)||[])[0],!t)return i;c&&(t=t.parentNode),e=e.slice(s.shift().value.length)}for(r=fe.needsContext.test(e)?0:s.length;r--&&(o=s[r],!S.relative[a=o.type]);)if((l=S.find[a])&&(n=l(o.matches[0].replace(xe,Se),we.test(s[0].type)&&u(t.parentNode)||t))){if(s.splice(r,1),e=n.length&&h(s),!e)return J.apply(i,n),i;break}}return(c||E(e,p))(n,t,!I,i,we.test(e)&&u(t.parentNode)||t),i},x.sortStable=F.split("").sort($).join("")===F,x.detectDuplicates=!!D,L(),x.sortDetached=r(function(e){return 1&e.compareDocumentPosition(M.createElement("div"))}),r(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||s("type|href|height|width",function(e,t,i){return i?void 0:e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),x.attributes&&r(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||s("value",function(e,t,i){return i||"input"!==e.nodeName.toLowerCase()?void 0:e.defaultValue}),r(function(e){return null==e.getAttribute("disabled")})||s(te,function(e,t,i){var n;return i?void 0:e[t]===!0?t.toLowerCase():(n=e.getAttributeNode(t))&&n.specified?n.value:null}),t}(e);Z.find=re,Z.expr=re.selectors,Z.expr[":"]=Z.expr.pseudos,Z.unique=re.uniqueSort,Z.text=re.getText,Z.isXMLDoc=re.isXML,Z.contains=re.contains;var se=Z.expr.match.needsContext,oe=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,ae=/^.[^:#\[\.,]*$/;Z.filter=function(e,t,i){var n=t[0];return i&&(e=":not("+e+")"),1===t.length&&1===n.nodeType?Z.find.matchesSelector(n,e)?[n]:[]:Z.find.matches(e,Z.grep(t,function(e){return 1===e.nodeType}))},Z.fn.extend({find:function(e){var t,i=this.length,n=[],r=this;if("string"!=typeof e)return this.pushStack(Z(e).filter(function(){for(t=0;i>t;t++)if(Z.contains(r[t],this))return!0}));for(t=0;i>t;t++)Z.find(e,r[t],n);return n=this.pushStack(i>1?Z.unique(n):n),n.selector=this.selector?this.selector+" "+e:e,n},filter:function(e){return this.pushStack(n(this,e||[],!1))},not:function(e){return this.pushStack(n(this,e||[],!0))},is:function(e){return!!n(this,"string"==typeof e&&se.test(e)?Z(e):e||[],!1).length}});var le,ce=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,ue=Z.fn.init=function(e,t){var i,n;if(!e)return this;if("string"==typeof e){if(i="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:ce.exec(e),!i||!i[1]&&t)return!t||t.jquery?(t||le).find(e):this.constructor(t).find(e);if(i[1]){if(t=t instanceof Z?t[0]:t,Z.merge(this,Z.parseHTML(i[1],t&&t.nodeType?t.ownerDocument||t:Q,!0)),oe.test(i[1])&&Z.isPlainObject(t))for(i in t)Z.isFunction(this[i])?this[i](t[i]):this.attr(i,t[i]);return this}return n=Q.getElementById(i[2]),n&&n.parentNode&&(this.length=1,this[0]=n),this.context=Q,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):Z.isFunction(e)?"undefined"!=typeof le.ready?le.ready(e):e(Z):(void 0!==e.selector&&(this.selector=e.selector,this.context=e.context),Z.makeArray(e,this))};ue.prototype=Z.fn,le=Z(Q);var pe=/^(?:parents|prev(?:Until|All))/,he={children:!0,contents:!0,next:!0,prev:!0};Z.extend({dir:function(e,t,i){for(var n=[],r=void 0!==i;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(r&&Z(e).is(i))break;n.push(e)}return n},sibling:function(e,t){for(var i=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&i.push(e);return i}}),Z.fn.extend({has:function(e){var t=Z(e,this),i=t.length;return this.filter(function(){for(var e=0;i>e;e++)if(Z.contains(this,t[e]))return!0})},closest:function(e,t){for(var i,n=0,r=this.length,s=[],o=se.test(e)||"string"!=typeof e?Z(e,t||this.context):0;r>n;n++)for(i=this[n];i&&i!==t;i=i.parentNode)if(i.nodeType<11&&(o?o.index(i)>-1:1===i.nodeType&&Z.find.matchesSelector(i,e))){s.push(i);break}return this.pushStack(s.length>1?Z.unique(s):s)},index:function(e){return e?"string"==typeof e?$.call(Z(e),this[0]):$.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(Z.unique(Z.merge(this.get(),Z(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),Z.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return Z.dir(e,"parentNode")},parentsUntil:function(e,t,i){return Z.dir(e,"parentNode",i)},next:function(e){return r(e,"nextSibling")},prev:function(e){return r(e,"previousSibling")},nextAll:function(e){return Z.dir(e,"nextSibling")},prevAll:function(e){return Z.dir(e,"previousSibling")},nextUntil:function(e,t,i){return Z.dir(e,"nextSibling",i)},prevUntil:function(e,t,i){return Z.dir(e,"previousSibling",i)},siblings:function(e){return Z.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return Z.sibling(e.firstChild)},contents:function(e){return e.contentDocument||Z.merge([],e.childNodes)}},function(e,t){Z.fn[e]=function(i,n){var r=Z.map(this,t,i);return"Until"!==e.slice(-5)&&(n=i),n&&"string"==typeof n&&(r=Z.filter(n,r)),this.length>1&&(he[e]||Z.unique(r),pe.test(e)&&r.reverse()),this.pushStack(r)}});var de=/\S+/g,fe={};Z.Callbacks=function(e){e="string"==typeof e?fe[e]||s(e):Z.extend({},e);var t,i,n,r,o,a,l=[],c=!e.once&&[],u=function(s){for(t=e.memory&&s,i=!0,a=r||0,r=0,o=l.length,n=!0;l&&o>a;a++)if(l[a].apply(s[0],s[1])===!1&&e.stopOnFalse){t=!1;break}n=!1,l&&(c?c.length&&u(c.shift()):t?l=[]:p.disable())},p={add:function(){if(l){var i=l.length;!function s(t){Z.each(t,function(t,i){var n=Z.type(i);"function"===n?e.unique&&p.has(i)||l.push(i):i&&i.length&&"string"!==n&&s(i)})}(arguments),n?o=l.length:t&&(r=i,u(t))}return this},remove:function(){return l&&Z.each(arguments,function(e,t){for(var i;(i=Z.inArray(t,l,i))>-1;)l.splice(i,1),n&&(o>=i&&o--,a>=i&&a--)}),this},has:function(e){return e?Z.inArray(e,l)>-1:!(!l||!l.length)},empty:function(){return l=[],o=0,this},disable:function(){return l=c=t=void 0,this},disabled:function(){return!l},lock:function(){return c=void 0,t||p.disable(),this},locked:function(){return!c},fireWith:function(e,t){return!l||i&&!c||(t=t||[],t=[e,t.slice?t.slice():t],n?c.push(t):u(t)),this},fire:function(){return p.fireWith(this,arguments),this},fired:function(){return!!i}};return p},Z.extend({Deferred:function(e){var t=[["resolve","done",Z.Callbacks("once memory"),"resolved"],["reject","fail",Z.Callbacks("once memory"),"rejected"],["notify","progress",Z.Callbacks("memory")]],i="pending",n={state:function(){return i},always:function(){return r.done(arguments).fail(arguments),this},then:function(){var e=arguments;return Z.Deferred(function(i){Z.each(t,function(t,s){var o=Z.isFunction(e[t])&&e[t];r[s[1]](function(){var e=o&&o.apply(this,arguments);e&&Z.isFunction(e.promise)?e.promise().done(i.resolve).fail(i.reject).progress(i.notify):i[s[0]+"With"](this===n?i.promise():this,o?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?Z.extend(e,n):n}},r={};return n.pipe=n.then,Z.each(t,function(e,s){var o=s[2],a=s[3];n[s[1]]=o.add,a&&o.add(function(){i=a},t[1^e][2].disable,t[2][2].lock),r[s[0]]=function(){return r[s[0]+"With"](this===r?n:this,arguments),this},r[s[0]+"With"]=o.fireWith}),n.promise(r),e&&e.call(r,r),r},when:function(e){var t,i,n,r=0,s=q.call(arguments),o=s.length,a=1!==o||e&&Z.isFunction(e.promise)?o:0,l=1===a?e:Z.Deferred(),c=function(e,i,n){return function(r){i[e]=this,n[e]=arguments.length>1?q.call(arguments):r,n===t?l.notifyWith(i,n):--a||l.resolveWith(i,n)}};if(o>1)for(t=new Array(o),i=new Array(o),n=new Array(o);o>r;r++)s[r]&&Z.isFunction(s[r].promise)?s[r].promise().done(c(r,n,s)).fail(l.reject).progress(c(r,i,t)):--a;return a||l.resolveWith(n,s),l.promise()}});var me;Z.fn.ready=function(e){return Z.ready.promise().done(e),this},Z.extend({isReady:!1,readyWait:1,holdReady:function(e){e?Z.readyWait++:Z.ready(!0)},ready:function(e){(e===!0?--Z.readyWait:Z.isReady)||(Z.isReady=!0,e!==!0&&--Z.readyWait>0||(me.resolveWith(Q,[Z]),Z.fn.triggerHandler&&(Z(Q).triggerHandler("ready"),Z(Q).off("ready"))))}}),Z.ready.promise=function(t){return me||(me=Z.Deferred(),"complete"===Q.readyState?setTimeout(Z.ready):(Q.addEventListener("DOMContentLoaded",o,!1),e.addEventListener("load",o,!1))),me.promise(t)},Z.ready.promise();var ge=Z.access=function(e,t,i,n,r,s,o){var a=0,l=e.length,c=null==i;if("object"===Z.type(i)){r=!0;for(a in i)Z.access(e,t,a,i[a],!0,s,o)}else if(void 0!==n&&(r=!0,Z.isFunction(n)||(o=!0),c&&(o?(t.call(e,n),t=null):(c=t,t=function(e,t,i){return c.call(Z(e),i)})),t))for(;l>a;a++)t(e[a],i,o?n:n.call(e[a],a,t(e[a],i)));return r?e:c?t.call(e):l?t(e[0],i):s};Z.acceptData=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType},a.uid=1,a.accepts=Z.acceptData,a.prototype={key:function(e){if(!a.accepts(e))return 0;var t={},i=e[this.expando];if(!i){i=a.uid++;try{t[this.expando]={value:i},Object.defineProperties(e,t)}catch(n){t[this.expando]=i,Z.extend(e,t)}}return this.cache[i]||(this.cache[i]={}),i},set:function(e,t,i){var n,r=this.key(e),s=this.cache[r];if("string"==typeof t)s[t]=i;else if(Z.isEmptyObject(s))Z.extend(this.cache[r],t);else for(n in t)s[n]=t[n];return s},get:function(e,t){var i=this.cache[this.key(e)];return void 0===t?i:i[t]},access:function(e,t,i){var n;return void 0===t||t&&"string"==typeof t&&void 0===i?(n=this.get(e,t),void 0!==n?n:this.get(e,Z.camelCase(t))):(this.set(e,t,i),void 0!==i?i:t)},remove:function(e,t){var i,n,r,s=this.key(e),o=this.cache[s];if(void 0===t)this.cache[s]={};else{Z.isArray(t)?n=t.concat(t.map(Z.camelCase)):(r=Z.camelCase(t),t in o?n=[t,r]:(n=r,n=n in o?[n]:n.match(de)||[])),i=n.length;for(;i--;)delete o[n[i]]}},hasData:function(e){return!Z.isEmptyObject(this.cache[e[this.expando]]||{})},discard:function(e){e[this.expando]&&delete this.cache[e[this.expando]]}};var ve=new a,ye=new a,we=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,be=/([A-Z])/g;Z.extend({hasData:function(e){return ye.hasData(e)||ve.hasData(e)},data:function(e,t,i){return ye.access(e,t,i)},removeData:function(e,t){ye.remove(e,t)},_data:function(e,t,i){return ve.access(e,t,i)},_removeData:function(e,t){ve.remove(e,t)}}),Z.fn.extend({data:function(e,t){var i,n,r,s=this[0],o=s&&s.attributes;if(void 0===e){if(this.length&&(r=ye.get(s),1===s.nodeType&&!ve.get(s,"hasDataAttrs"))){for(i=o.length;i--;)o[i]&&(n=o[i].name,0===n.indexOf("data-")&&(n=Z.camelCase(n.slice(5)),l(s,n,r[n])));ve.set(s,"hasDataAttrs",!0)}return r}return"object"==typeof e?this.each(function(){ye.set(this,e)}):ge(this,function(t){var i,n=Z.camelCase(e);if(s&&void 0===t){if(i=ye.get(s,e),void 0!==i)return i;if(i=ye.get(s,n),void 0!==i)return i;if(i=l(s,n,void 0),void 0!==i)return i}else this.each(function(){var i=ye.get(this,n);ye.set(this,n,t),-1!==e.indexOf("-")&&void 0!==i&&ye.set(this,e,t)})},null,t,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){ye.remove(this,e)})}}),Z.extend({queue:function(e,t,i){var n;return e?(t=(t||"fx")+"queue",n=ve.get(e,t),i&&(!n||Z.isArray(i)?n=ve.access(e,t,Z.makeArray(i)):n.push(i)),n||[]):void 0},dequeue:function(e,t){t=t||"fx";var i=Z.queue(e,t),n=i.length,r=i.shift(),s=Z._queueHooks(e,t),o=function(){Z.dequeue(e,t)};"inprogress"===r&&(r=i.shift(),n--),r&&("fx"===t&&i.unshift("inprogress"),delete s.stop,r.call(e,o,s)),!n&&s&&s.empty.fire()},_queueHooks:function(e,t){var i=t+"queueHooks";return ve.get(e,i)||ve.access(e,i,{empty:Z.Callbacks("once memory").add(function(){ve.remove(e,[t+"queue",i])})})}}),Z.fn.extend({queue:function(e,t){var i=2;return"string"!=typeof e&&(t=e,e="fx",i--),arguments.length<i?Z.queue(this[0],e):void 0===t?this:this.each(function(){var i=Z.queue(this,e,t);Z._queueHooks(this,e),"fx"===e&&"inprogress"!==i[0]&&Z.dequeue(this,e)})},dequeue:function(e){return this.each(function(){Z.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var i,n=1,r=Z.Deferred(),s=this,o=this.length,a=function(){--n||r.resolveWith(s,[s])};for("string"!=typeof e&&(t=e,e=void 0),e=e||"fx";o--;)i=ve.get(s[o],e+"queueHooks"),i&&i.empty&&(n++,i.empty.add(a));return a(),r.promise(t)}});var xe=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,Se=["Top","Right","Bottom","Left"],Te=function(e,t){return e=t||e,"none"===Z.css(e,"display")||!Z.contains(e.ownerDocument,e)},Ce=/^(?:checkbox|radio)$/i;!function(){var e=Q.createDocumentFragment(),t=e.appendChild(Q.createElement("div")),i=Q.createElement("input");i.setAttribute("type","radio"),i.setAttribute("checked","checked"),i.setAttribute("name","t"),t.appendChild(i),K.checkClone=t.cloneNode(!0).cloneNode(!0).lastChild.checked,t.innerHTML="<textarea>x</textarea>",K.noCloneChecked=!!t.cloneNode(!0).lastChild.defaultValue}();var ke="undefined";K.focusinBubbles="onfocusin"in e;var Ee=/^key/,Pe=/^(?:mouse|pointer|contextmenu)|click/,Ae=/^(?:focusinfocus|focusoutblur)$/,_e=/^([^.]*)(?:\.(.+)|)$/;Z.event={global:{},add:function(e,t,i,n,r){var s,o,a,l,c,u,p,h,d,f,m,g=ve.get(e);if(g)for(i.handler&&(s=i,i=s.handler,r=s.selector),i.guid||(i.guid=Z.guid++),(l=g.events)||(l=g.events={}),(o=g.handle)||(o=g.handle=function(t){return typeof Z!==ke&&Z.event.triggered!==t.type?Z.event.dispatch.apply(e,arguments):void 0}),t=(t||"").match(de)||[""],c=t.length;c--;)a=_e.exec(t[c])||[],d=m=a[1],f=(a[2]||"").split(".").sort(),d&&(p=Z.event.special[d]||{},d=(r?p.delegateType:p.bindType)||d,p=Z.event.special[d]||{},u=Z.extend({type:d,origType:m,data:n,handler:i,guid:i.guid,selector:r,needsContext:r&&Z.expr.match.needsContext.test(r),namespace:f.join(".")},s),(h=l[d])||(h=l[d]=[],h.delegateCount=0,p.setup&&p.setup.call(e,n,f,o)!==!1||e.addEventListener&&e.addEventListener(d,o,!1)),p.add&&(p.add.call(e,u),u.handler.guid||(u.handler.guid=i.guid)),r?h.splice(h.delegateCount++,0,u):h.push(u),Z.event.global[d]=!0)},remove:function(e,t,i,n,r){var s,o,a,l,c,u,p,h,d,f,m,g=ve.hasData(e)&&ve.get(e);if(g&&(l=g.events)){for(t=(t||"").match(de)||[""],c=t.length;c--;)if(a=_e.exec(t[c])||[],d=m=a[1],f=(a[2]||"").split(".").sort(),d){for(p=Z.event.special[d]||{},d=(n?p.delegateType:p.bindType)||d,h=l[d]||[],a=a[2]&&new RegExp("(^|\\.)"+f.join("\\.(?:.*\\.|)")+"(\\.|$)"),o=s=h.length;s--;)u=h[s],!r&&m!==u.origType||i&&i.guid!==u.guid||a&&!a.test(u.namespace)||n&&n!==u.selector&&("**"!==n||!u.selector)||(h.splice(s,1),u.selector&&h.delegateCount--,p.remove&&p.remove.call(e,u));o&&!h.length&&(p.teardown&&p.teardown.call(e,f,g.handle)!==!1||Z.removeEvent(e,d,g.handle),delete l[d])}else for(d in l)Z.event.remove(e,d+t[c],i,n,!0);Z.isEmptyObject(l)&&(delete g.handle,ve.remove(e,"events"))}},trigger:function(t,i,n,r){var s,o,a,l,c,u,p,h=[n||Q],d=U.call(t,"type")?t.type:t,f=U.call(t,"namespace")?t.namespace.split("."):[];if(o=a=n=n||Q,3!==n.nodeType&&8!==n.nodeType&&!Ae.test(d+Z.event.triggered)&&(d.indexOf(".")>=0&&(f=d.split("."),d=f.shift(),f.sort()),c=d.indexOf(":")<0&&"on"+d,t=t[Z.expando]?t:new Z.Event(d,"object"==typeof t&&t),t.isTrigger=r?2:3,t.namespace=f.join("."),t.namespace_re=t.namespace?new RegExp("(^|\\.)"+f.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=n),i=null==i?[t]:Z.makeArray(i,[t]),p=Z.event.special[d]||{},r||!p.trigger||p.trigger.apply(n,i)!==!1)){if(!r&&!p.noBubble&&!Z.isWindow(n)){for(l=p.delegateType||d,Ae.test(l+d)||(o=o.parentNode);o;o=o.parentNode)h.push(o),a=o;a===(n.ownerDocument||Q)&&h.push(a.defaultView||a.parentWindow||e)}for(s=0;(o=h[s++])&&!t.isPropagationStopped();)t.type=s>1?l:p.bindType||d,u=(ve.get(o,"events")||{})[t.type]&&ve.get(o,"handle"),u&&u.apply(o,i),u=c&&o[c],u&&u.apply&&Z.acceptData(o)&&(t.result=u.apply(o,i),t.result===!1&&t.preventDefault());return t.type=d,r||t.isDefaultPrevented()||p._default&&p._default.apply(h.pop(),i)!==!1||!Z.acceptData(n)||c&&Z.isFunction(n[d])&&!Z.isWindow(n)&&(a=n[c],a&&(n[c]=null),Z.event.triggered=d,n[d](),Z.event.triggered=void 0,a&&(n[c]=a)),t.result}},dispatch:function(e){e=Z.event.fix(e);var t,i,n,r,s,o=[],a=q.call(arguments),l=(ve.get(this,"events")||{})[e.type]||[],c=Z.event.special[e.type]||{};if(a[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){for(o=Z.event.handlers.call(this,e,l),t=0;(r=o[t++])&&!e.isPropagationStopped();)for(e.currentTarget=r.elem,i=0;(s=r.handlers[i++])&&!e.isImmediatePropagationStopped();)e.namespace_re&&!e.namespace_re.test(s.namespace)||(e.handleObj=s,e.data=s.data,n=((Z.event.special[s.origType]||{}).handle||s.handler).apply(r.elem,a),void 0!==n&&(e.result=n)===!1&&(e.preventDefault(),e.stopPropagation()));return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,t){var i,n,r,s,o=[],a=t.delegateCount,l=e.target;if(a&&l.nodeType&&(!e.button||"click"!==e.type))for(;l!==this;l=l.parentNode||this)if(l.disabled!==!0||"click"!==e.type){for(n=[],i=0;a>i;i++)s=t[i],r=s.selector+" ",void 0===n[r]&&(n[r]=s.needsContext?Z(r,this).index(l)>=0:Z.find(r,this,null,[l]).length),n[r]&&n.push(s);n.length&&o.push({elem:l,handlers:n})}return a<t.length&&o.push({elem:this,handlers:t.slice(a)}),o},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,t){var i,n,r,s=t.button;return null==e.pageX&&null!=t.clientX&&(i=e.target.ownerDocument||Q,n=i.documentElement,r=i.body,e.pageX=t.clientX+(n&&n.scrollLeft||r&&r.scrollLeft||0)-(n&&n.clientLeft||r&&r.clientLeft||0),e.pageY=t.clientY+(n&&n.scrollTop||r&&r.scrollTop||0)-(n&&n.clientTop||r&&r.clientTop||0)),e.which||void 0===s||(e.which=1&s?1:2&s?3:4&s?2:0),e}},fix:function(e){if(e[Z.expando])return e;var t,i,n,r=e.type,s=e,o=this.fixHooks[r];for(o||(this.fixHooks[r]=o=Pe.test(r)?this.mouseHooks:Ee.test(r)?this.keyHooks:{}),n=o.props?this.props.concat(o.props):this.props,e=new Z.Event(s),t=n.length;t--;)i=n[t],e[i]=s[i];return e.target||(e.target=Q),3===e.target.nodeType&&(e.target=e.target.parentNode),o.filter?o.filter(e,s):e},special:{load:{noBubble:!0},focus:{trigger:function(){return this!==p()&&this.focus?(this.focus(),!1):void 0},delegateType:"focusin"},blur:{trigger:function(){return this===p()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return"checkbox"===this.type&&this.click&&Z.nodeName(this,"input")?(this.click(),!1):void 0},_default:function(e){return Z.nodeName(e.target,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,i,n){var r=Z.extend(new Z.Event,i,{type:e,isSimulated:!0,originalEvent:{}});n?Z.event.trigger(r,null,t):Z.event.dispatch.call(t,r),r.isDefaultPrevented()&&i.preventDefault()}},Z.removeEvent=function(e,t,i){e.removeEventListener&&e.removeEventListener(t,i,!1)},Z.Event=function(e,t){return this instanceof Z.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&e.returnValue===!1?c:u):this.type=e,t&&Z.extend(this,t),this.timeStamp=e&&e.timeStamp||Z.now(),void(this[Z.expando]=!0)):new Z.Event(e,t)},Z.Event.prototype={isDefaultPrevented:u,isPropagationStopped:u,isImmediatePropagationStopped:u,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=c,e&&e.preventDefault&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=c,e&&e.stopPropagation&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=c,e&&e.stopImmediatePropagation&&e.stopImmediatePropagation(),this.stopPropagation()}},Z.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,t){Z.event.special[e]={delegateType:t,bindType:t,handle:function(e){var i,n=this,r=e.relatedTarget,s=e.handleObj;return r&&(r===n||Z.contains(n,r))||(e.type=s.origType,i=s.handler.apply(this,arguments),e.type=t),i}}}),K.focusinBubbles||Z.each({focus:"focusin",blur:"focusout"},function(e,t){var i=function(e){Z.event.simulate(t,e.target,Z.event.fix(e),!0)};Z.event.special[t]={setup:function(){var n=this.ownerDocument||this,r=ve.access(n,t);r||n.addEventListener(e,i,!0),ve.access(n,t,(r||0)+1)},teardown:function(){var n=this.ownerDocument||this,r=ve.access(n,t)-1;r?ve.access(n,t,r):(n.removeEventListener(e,i,!0),ve.remove(n,t))}}}),Z.fn.extend({on:function(e,t,i,n,r){var s,o;if("object"==typeof e){"string"!=typeof t&&(i=i||t,t=void 0);for(o in e)this.on(o,t,i,e[o],r);return this}if(null==i&&null==n?(n=t,i=t=void 0):null==n&&("string"==typeof t?(n=i,i=void 0):(n=i,i=t,t=void 0)),n===!1)n=u;else if(!n)return this;return 1===r&&(s=n,n=function(e){return Z().off(e),s.apply(this,arguments)},n.guid=s.guid||(s.guid=Z.guid++)),this.each(function(){Z.event.add(this,e,n,i,t)})},one:function(e,t,i,n){return this.on(e,t,i,n,1)},off:function(e,t,i){var n,r;if(e&&e.preventDefault&&e.handleObj)return n=e.handleObj,Z(e.delegateTarget).off(n.namespace?n.origType+"."+n.namespace:n.origType,n.selector,n.handler),this;if("object"==typeof e){for(r in e)this.off(r,t,e[r]);return this}return t!==!1&&"function"!=typeof t||(i=t,t=void 0),i===!1&&(i=u),this.each(function(){Z.event.remove(this,e,i,t)})},trigger:function(e,t){return this.each(function(){Z.event.trigger(e,t,this)})},triggerHandler:function(e,t){var i=this[0];return i?Z.event.trigger(e,t,i,!0):void 0}});var De=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,Le=/<([\w:]+)/,Me=/<|&#?\w+;/,Ne=/<(?:script|style|link)/i,Ie=/checked\s*(?:[^=]|=\s*.checked.)/i,ze=/^$|\/(?:java|ecma)script/i,Oe=/^true\/(.*)/,Be=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,Re={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};Re.optgroup=Re.option,Re.tbody=Re.tfoot=Re.colgroup=Re.caption=Re.thead,Re.th=Re.td,Z.extend({clone:function(e,t,i){var n,r,s,o,a=e.cloneNode(!0),l=Z.contains(e.ownerDocument,e);if(!(K.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||Z.isXMLDoc(e)))for(o=v(a),s=v(e),n=0,r=s.length;r>n;n++)y(s[n],o[n]);if(t)if(i)for(s=s||v(e),o=o||v(a),n=0,r=s.length;r>n;n++)g(s[n],o[n]);else g(e,a);return o=v(a,"script"),o.length>0&&m(o,!l&&v(e,"script")),a},buildFragment:function(e,t,i,n){for(var r,s,o,a,l,c,u=t.createDocumentFragment(),p=[],h=0,d=e.length;d>h;h++)if(r=e[h],r||0===r)if("object"===Z.type(r))Z.merge(p,r.nodeType?[r]:r);else if(Me.test(r)){for(s=s||u.appendChild(t.createElement("div")),o=(Le.exec(r)||["",""])[1].toLowerCase(),a=Re[o]||Re._default,s.innerHTML=a[1]+r.replace(De,"<$1></$2>")+a[2],c=a[0];c--;)s=s.lastChild;Z.merge(p,s.childNodes),s=u.firstChild,s.textContent=""}else p.push(t.createTextNode(r));for(u.textContent="",h=0;r=p[h++];)if((!n||-1===Z.inArray(r,n))&&(l=Z.contains(r.ownerDocument,r),s=v(u.appendChild(r),"script"),l&&m(s),i))for(c=0;r=s[c++];)ze.test(r.type||"")&&i.push(r);return u},cleanData:function(e){for(var t,i,n,r,s=Z.event.special,o=0;void 0!==(i=e[o]);o++){if(Z.acceptData(i)&&(r=i[ve.expando],r&&(t=ve.cache[r]))){if(t.events)for(n in t.events)s[n]?Z.event.remove(i,n):Z.removeEvent(i,n,t.handle);ve.cache[r]&&delete ve.cache[r]}delete ye.cache[i[ye.expando]]}}}),Z.fn.extend({text:function(e){return ge(this,function(e){return void 0===e?Z.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=h(this,e);t.appendChild(e)}})},prepend:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=h(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){for(var i,n=e?Z.filter(e,this):this,r=0;null!=(i=n[r]);r++)t||1!==i.nodeType||Z.cleanData(v(i)),i.parentNode&&(t&&Z.contains(i.ownerDocument,i)&&m(v(i,"script")),i.parentNode.removeChild(i));return this},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(Z.cleanData(v(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return Z.clone(this,e,t)})},html:function(e){return ge(this,function(e){var t=this[0]||{},i=0,n=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Ne.test(e)&&!Re[(Le.exec(e)||["",""])[1].toLowerCase()]){e=e.replace(De,"<$1></$2>");try{for(;n>i;i++)t=this[i]||{},1===t.nodeType&&(Z.cleanData(v(t,!1)),t.innerHTML=e);t=0}catch(r){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=arguments[0];return this.domManip(arguments,function(t){e=this.parentNode,Z.cleanData(v(this)),e&&e.replaceChild(t,this)}),e&&(e.length||e.nodeType)?this:this.remove()},detach:function(e){return this.remove(e,!0)},domManip:function(e,t){e=Y.apply([],e);var i,n,r,s,o,a,l=0,c=this.length,u=this,p=c-1,h=e[0],m=Z.isFunction(h);if(m||c>1&&"string"==typeof h&&!K.checkClone&&Ie.test(h))return this.each(function(i){var n=u.eq(i);m&&(e[0]=h.call(this,i,n.html())),n.domManip(e,t)});if(c&&(i=Z.buildFragment(e,this[0].ownerDocument,!1,this),n=i.firstChild,1===i.childNodes.length&&(i=n),n)){for(r=Z.map(v(i,"script"),d),s=r.length;c>l;l++)o=i,l!==p&&(o=Z.clone(o,!0,!0),s&&Z.merge(r,v(o,"script"))),t.call(this[l],o,l);if(s)for(a=r[r.length-1].ownerDocument,Z.map(r,f),l=0;s>l;l++)o=r[l],ze.test(o.type||"")&&!ve.access(o,"globalEval")&&Z.contains(a,o)&&(o.src?Z._evalUrl&&Z._evalUrl(o.src):Z.globalEval(o.textContent.replace(Be,"")))}return this}}),Z.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){Z.fn[e]=function(e){for(var i,n=[],r=Z(e),s=r.length-1,o=0;s>=o;o++)i=o===s?this:this.clone(!0),Z(r[o])[t](i),W.apply(n,i.get());return this.pushStack(n)}});var Fe,He={},je=/^margin/,Xe=new RegExp("^("+xe+")(?!px)[a-z%]+$","i"),qe=function(t){return t.ownerDocument.defaultView.opener?t.ownerDocument.defaultView.getComputedStyle(t,null):e.getComputedStyle(t,null)};!function(){function t(){o.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute",o.innerHTML="",r.appendChild(s);var t=e.getComputedStyle(o,null);i="1%"!==t.top,n="4px"===t.width,r.removeChild(s)}var i,n,r=Q.documentElement,s=Q.createElement("div"),o=Q.createElement("div");o.style&&(o.style.backgroundClip="content-box",o.cloneNode(!0).style.backgroundClip="",K.clearCloneStyle="content-box"===o.style.backgroundClip, +s.style.cssText="border:0;width:0;height:0;top:0;left:-9999px;margin-top:1px;position:absolute",s.appendChild(o),e.getComputedStyle&&Z.extend(K,{pixelPosition:function(){return t(),i},boxSizingReliable:function(){return null==n&&t(),n},reliableMarginRight:function(){var t,i=o.appendChild(Q.createElement("div"));return i.style.cssText=o.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",i.style.marginRight=i.style.width="0",o.style.width="1px",r.appendChild(s),t=!parseFloat(e.getComputedStyle(i,null).marginRight),r.removeChild(s),o.removeChild(i),t}}))}(),Z.swap=function(e,t,i,n){var r,s,o={};for(s in t)o[s]=e.style[s],e.style[s]=t[s];r=i.apply(e,n||[]);for(s in t)e.style[s]=o[s];return r};var Ye=/^(none|table(?!-c[ea]).+)/,We=new RegExp("^("+xe+")(.*)$","i"),$e=new RegExp("^([+-])=("+xe+")","i"),Ge={position:"absolute",visibility:"hidden",display:"block"},Ve={letterSpacing:"0",fontWeight:"400"},Ue=["Webkit","O","Moz","ms"];Z.extend({cssHooks:{opacity:{get:function(e,t){if(t){var i=x(e,"opacity");return""===i?"1":i}}}},cssNumber:{columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(e,t,i,n){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var r,s,o,a=Z.camelCase(t),l=e.style;return t=Z.cssProps[a]||(Z.cssProps[a]=T(l,a)),o=Z.cssHooks[t]||Z.cssHooks[a],void 0===i?o&&"get"in o&&void 0!==(r=o.get(e,!1,n))?r:l[t]:(s=typeof i,"string"===s&&(r=$e.exec(i))&&(i=(r[1]+1)*r[2]+parseFloat(Z.css(e,t)),s="number"),null!=i&&i===i&&("number"!==s||Z.cssNumber[a]||(i+="px"),K.clearCloneStyle||""!==i||0!==t.indexOf("background")||(l[t]="inherit"),o&&"set"in o&&void 0===(i=o.set(e,i,n))||(l[t]=i)),void 0)}},css:function(e,t,i,n){var r,s,o,a=Z.camelCase(t);return t=Z.cssProps[a]||(Z.cssProps[a]=T(e.style,a)),o=Z.cssHooks[t]||Z.cssHooks[a],o&&"get"in o&&(r=o.get(e,!0,i)),void 0===r&&(r=x(e,t,n)),"normal"===r&&t in Ve&&(r=Ve[t]),""===i||i?(s=parseFloat(r),i===!0||Z.isNumeric(s)?s||0:r):r}}),Z.each(["height","width"],function(e,t){Z.cssHooks[t]={get:function(e,i,n){return i?Ye.test(Z.css(e,"display"))&&0===e.offsetWidth?Z.swap(e,Ge,function(){return E(e,t,n)}):E(e,t,n):void 0},set:function(e,i,n){var r=n&&qe(e);return C(e,i,n?k(e,t,n,"border-box"===Z.css(e,"boxSizing",!1,r),r):0)}}}),Z.cssHooks.marginRight=S(K.reliableMarginRight,function(e,t){return t?Z.swap(e,{display:"inline-block"},x,[e,"marginRight"]):void 0}),Z.each({margin:"",padding:"",border:"Width"},function(e,t){Z.cssHooks[e+t]={expand:function(i){for(var n=0,r={},s="string"==typeof i?i.split(" "):[i];4>n;n++)r[e+Se[n]+t]=s[n]||s[n-2]||s[0];return r}},je.test(e)||(Z.cssHooks[e+t].set=C)}),Z.fn.extend({css:function(e,t){return ge(this,function(e,t,i){var n,r,s={},o=0;if(Z.isArray(t)){for(n=qe(e),r=t.length;r>o;o++)s[t[o]]=Z.css(e,t[o],!1,n);return s}return void 0!==i?Z.style(e,t,i):Z.css(e,t)},e,t,arguments.length>1)},show:function(){return P(this,!0)},hide:function(){return P(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){Te(this)?Z(this).show():Z(this).hide()})}}),Z.Tween=A,A.prototype={constructor:A,init:function(e,t,i,n,r,s){this.elem=e,this.prop=i,this.easing=r||"swing",this.options=t,this.start=this.now=this.cur(),this.end=n,this.unit=s||(Z.cssNumber[i]?"":"px")},cur:function(){var e=A.propHooks[this.prop];return e&&e.get?e.get(this):A.propHooks._default.get(this)},run:function(e){var t,i=A.propHooks[this.prop];return this.options.duration?this.pos=t=Z.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),i&&i.set?i.set(this):A.propHooks._default.set(this),this}},A.prototype.init.prototype=A.prototype,A.propHooks={_default:{get:function(e){var t;return null==e.elem[e.prop]||e.elem.style&&null!=e.elem.style[e.prop]?(t=Z.css(e.elem,e.prop,""),t&&"auto"!==t?t:0):e.elem[e.prop]},set:function(e){Z.fx.step[e.prop]?Z.fx.step[e.prop](e):e.elem.style&&(null!=e.elem.style[Z.cssProps[e.prop]]||Z.cssHooks[e.prop])?Z.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},A.propHooks.scrollTop=A.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},Z.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},Z.fx=A.prototype.init,Z.fx.step={};var Ke,Qe,Je=/^(?:toggle|show|hide)$/,Ze=new RegExp("^(?:([+-])=|)("+xe+")([a-z%]*)$","i"),et=/queueHooks$/,tt=[M],it={"*":[function(e,t){var i=this.createTween(e,t),n=i.cur(),r=Ze.exec(t),s=r&&r[3]||(Z.cssNumber[e]?"":"px"),o=(Z.cssNumber[e]||"px"!==s&&+n)&&Ze.exec(Z.css(i.elem,e)),a=1,l=20;if(o&&o[3]!==s){s=s||o[3],r=r||[],o=+n||1;do a=a||".5",o/=a,Z.style(i.elem,e,o+s);while(a!==(a=i.cur()/n)&&1!==a&&--l)}return r&&(o=i.start=+o||+n||0,i.unit=s,i.end=r[1]?o+(r[1]+1)*r[2]:+r[2]),i}]};Z.Animation=Z.extend(I,{tweener:function(e,t){Z.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");for(var i,n=0,r=e.length;r>n;n++)i=e[n],it[i]=it[i]||[],it[i].unshift(t)},prefilter:function(e,t){t?tt.unshift(e):tt.push(e)}}),Z.speed=function(e,t,i){var n=e&&"object"==typeof e?Z.extend({},e):{complete:i||!i&&t||Z.isFunction(e)&&e,duration:e,easing:i&&t||t&&!Z.isFunction(t)&&t};return n.duration=Z.fx.off?0:"number"==typeof n.duration?n.duration:n.duration in Z.fx.speeds?Z.fx.speeds[n.duration]:Z.fx.speeds._default,null!=n.queue&&n.queue!==!0||(n.queue="fx"),n.old=n.complete,n.complete=function(){Z.isFunction(n.old)&&n.old.call(this),n.queue&&Z.dequeue(this,n.queue)},n},Z.fn.extend({fadeTo:function(e,t,i,n){return this.filter(Te).css("opacity",0).show().end().animate({opacity:t},e,i,n)},animate:function(e,t,i,n){var r=Z.isEmptyObject(e),s=Z.speed(t,i,n),o=function(){var t=I(this,Z.extend({},e),s);(r||ve.get(this,"finish"))&&t.stop(!0)};return o.finish=o,r||s.queue===!1?this.each(o):this.queue(s.queue,o)},stop:function(e,t,i){var n=function(e){var t=e.stop;delete e.stop,t(i)};return"string"!=typeof e&&(i=t,t=e,e=void 0),t&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,r=null!=e&&e+"queueHooks",s=Z.timers,o=ve.get(this);if(r)o[r]&&o[r].stop&&n(o[r]);else for(r in o)o[r]&&o[r].stop&&et.test(r)&&n(o[r]);for(r=s.length;r--;)s[r].elem!==this||null!=e&&s[r].queue!==e||(s[r].anim.stop(i),t=!1,s.splice(r,1));!t&&i||Z.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,i=ve.get(this),n=i[e+"queue"],r=i[e+"queueHooks"],s=Z.timers,o=n?n.length:0;for(i.finish=!0,Z.queue(this,e,[]),r&&r.stop&&r.stop.call(this,!0),t=s.length;t--;)s[t].elem===this&&s[t].queue===e&&(s[t].anim.stop(!0),s.splice(t,1));for(t=0;o>t;t++)n[t]&&n[t].finish&&n[t].finish.call(this);delete i.finish})}}),Z.each(["toggle","show","hide"],function(e,t){var i=Z.fn[t];Z.fn[t]=function(e,n,r){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(D(t,!0),e,n,r)}}),Z.each({slideDown:D("show"),slideUp:D("hide"),slideToggle:D("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){Z.fn[e]=function(e,i,n){return this.animate(t,e,i,n)}}),Z.timers=[],Z.fx.tick=function(){var e,t=0,i=Z.timers;for(Ke=Z.now();t<i.length;t++)e=i[t],e()||i[t]!==e||i.splice(t--,1);i.length||Z.fx.stop(),Ke=void 0},Z.fx.timer=function(e){Z.timers.push(e),e()?Z.fx.start():Z.timers.pop()},Z.fx.interval=13,Z.fx.start=function(){Qe||(Qe=setInterval(Z.fx.tick,Z.fx.interval))},Z.fx.stop=function(){clearInterval(Qe),Qe=null},Z.fx.speeds={slow:600,fast:200,_default:400},Z.fn.delay=function(e,t){return e=Z.fx?Z.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,i){var n=setTimeout(t,e);i.stop=function(){clearTimeout(n)}})},function(){var e=Q.createElement("input"),t=Q.createElement("select"),i=t.appendChild(Q.createElement("option"));e.type="checkbox",K.checkOn=""!==e.value,K.optSelected=i.selected,t.disabled=!0,K.optDisabled=!i.disabled,e=Q.createElement("input"),e.value="t",e.type="radio",K.radioValue="t"===e.value}();var nt,rt,st=Z.expr.attrHandle;Z.fn.extend({attr:function(e,t){return ge(this,Z.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){Z.removeAttr(this,e)})}}),Z.extend({attr:function(e,t,i){var n,r,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return typeof e.getAttribute===ke?Z.prop(e,t,i):(1===s&&Z.isXMLDoc(e)||(t=t.toLowerCase(),n=Z.attrHooks[t]||(Z.expr.match.bool.test(t)?rt:nt)),void 0===i?n&&"get"in n&&null!==(r=n.get(e,t))?r:(r=Z.find.attr(e,t),null==r?void 0:r):null!==i?n&&"set"in n&&void 0!==(r=n.set(e,i,t))?r:(e.setAttribute(t,i+""),i):void Z.removeAttr(e,t))},removeAttr:function(e,t){var i,n,r=0,s=t&&t.match(de);if(s&&1===e.nodeType)for(;i=s[r++];)n=Z.propFix[i]||i,Z.expr.match.bool.test(i)&&(e[n]=!1),e.removeAttribute(i)},attrHooks:{type:{set:function(e,t){if(!K.radioValue&&"radio"===t&&Z.nodeName(e,"input")){var i=e.value;return e.setAttribute("type",t),i&&(e.value=i),t}}}}}),rt={set:function(e,t,i){return t===!1?Z.removeAttr(e,i):e.setAttribute(i,i),i}},Z.each(Z.expr.match.bool.source.match(/\w+/g),function(e,t){var i=st[t]||Z.find.attr;st[t]=function(e,t,n){var r,s;return n||(s=st[t],st[t]=r,r=null!=i(e,t,n)?t.toLowerCase():null,st[t]=s),r}});var ot=/^(?:input|select|textarea|button)$/i;Z.fn.extend({prop:function(e,t){return ge(this,Z.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[Z.propFix[e]||e]})}}),Z.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(e,t,i){var n,r,s,o=e.nodeType;if(e&&3!==o&&8!==o&&2!==o)return s=1!==o||!Z.isXMLDoc(e),s&&(t=Z.propFix[t]||t,r=Z.propHooks[t]),void 0!==i?r&&"set"in r&&void 0!==(n=r.set(e,i,t))?n:e[t]=i:r&&"get"in r&&null!==(n=r.get(e,t))?n:e[t]},propHooks:{tabIndex:{get:function(e){return e.hasAttribute("tabindex")||ot.test(e.nodeName)||e.href?e.tabIndex:-1}}}}),K.optSelected||(Z.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null}}),Z.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){Z.propFix[this.toLowerCase()]=this});var at=/[\t\r\n\f]/g;Z.fn.extend({addClass:function(e){var t,i,n,r,s,o,a="string"==typeof e&&e,l=0,c=this.length;if(Z.isFunction(e))return this.each(function(t){Z(this).addClass(e.call(this,t,this.className))});if(a)for(t=(e||"").match(de)||[];c>l;l++)if(i=this[l],n=1===i.nodeType&&(i.className?(" "+i.className+" ").replace(at," "):" ")){for(s=0;r=t[s++];)n.indexOf(" "+r+" ")<0&&(n+=r+" ");o=Z.trim(n),i.className!==o&&(i.className=o)}return this},removeClass:function(e){var t,i,n,r,s,o,a=0===arguments.length||"string"==typeof e&&e,l=0,c=this.length;if(Z.isFunction(e))return this.each(function(t){Z(this).removeClass(e.call(this,t,this.className))});if(a)for(t=(e||"").match(de)||[];c>l;l++)if(i=this[l],n=1===i.nodeType&&(i.className?(" "+i.className+" ").replace(at," "):"")){for(s=0;r=t[s++];)for(;n.indexOf(" "+r+" ")>=0;)n=n.replace(" "+r+" "," ");o=e?Z.trim(n):"",i.className!==o&&(i.className=o)}return this},toggleClass:function(e,t){var i=typeof e;return"boolean"==typeof t&&"string"===i?t?this.addClass(e):this.removeClass(e):Z.isFunction(e)?this.each(function(i){Z(this).toggleClass(e.call(this,i,this.className,t),t)}):this.each(function(){if("string"===i)for(var t,n=0,r=Z(this),s=e.match(de)||[];t=s[n++];)r.hasClass(t)?r.removeClass(t):r.addClass(t);else i!==ke&&"boolean"!==i||(this.className&&ve.set(this,"__className__",this.className),this.className=this.className||e===!1?"":ve.get(this,"__className__")||"")})},hasClass:function(e){for(var t=" "+e+" ",i=0,n=this.length;n>i;i++)if(1===this[i].nodeType&&(" "+this[i].className+" ").replace(at," ").indexOf(t)>=0)return!0;return!1}});var lt=/\r/g;Z.fn.extend({val:function(e){var t,i,n,r=this[0];{if(arguments.length)return n=Z.isFunction(e),this.each(function(i){var r;1===this.nodeType&&(r=n?e.call(this,i,Z(this).val()):e,null==r?r="":"number"==typeof r?r+="":Z.isArray(r)&&(r=Z.map(r,function(e){return null==e?"":e+""})),t=Z.valHooks[this.type]||Z.valHooks[this.nodeName.toLowerCase()],t&&"set"in t&&void 0!==t.set(this,r,"value")||(this.value=r))});if(r)return t=Z.valHooks[r.type]||Z.valHooks[r.nodeName.toLowerCase()],t&&"get"in t&&void 0!==(i=t.get(r,"value"))?i:(i=r.value,"string"==typeof i?i.replace(lt,""):null==i?"":i)}}}),Z.extend({valHooks:{option:{get:function(e){var t=Z.find.attr(e,"value");return null!=t?t:Z.trim(Z.text(e))}},select:{get:function(e){for(var t,i,n=e.options,r=e.selectedIndex,s="select-one"===e.type||0>r,o=s?null:[],a=s?r+1:n.length,l=0>r?a:s?r:0;a>l;l++)if(i=n[l],(i.selected||l===r)&&(K.optDisabled?!i.disabled:null===i.getAttribute("disabled"))&&(!i.parentNode.disabled||!Z.nodeName(i.parentNode,"optgroup"))){if(t=Z(i).val(),s)return t;o.push(t)}return o},set:function(e,t){for(var i,n,r=e.options,s=Z.makeArray(t),o=r.length;o--;)n=r[o],(n.selected=Z.inArray(n.value,s)>=0)&&(i=!0);return i||(e.selectedIndex=-1),s}}}}),Z.each(["radio","checkbox"],function(){Z.valHooks[this]={set:function(e,t){return Z.isArray(t)?e.checked=Z.inArray(Z(e).val(),t)>=0:void 0}},K.checkOn||(Z.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),Z.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){Z.fn[t]=function(e,i){return arguments.length>0?this.on(t,null,e,i):this.trigger(t)}}),Z.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)},bind:function(e,t,i){return this.on(e,null,t,i)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,i,n){return this.on(t,e,i,n)},undelegate:function(e,t,i){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",i)}});var ct=Z.now(),ut=/\?/;Z.parseJSON=function(e){return JSON.parse(e+"")},Z.parseXML=function(e){var t,i;if(!e||"string"!=typeof e)return null;try{i=new DOMParser,t=i.parseFromString(e,"text/xml")}catch(n){t=void 0}return t&&!t.getElementsByTagName("parsererror").length||Z.error("Invalid XML: "+e),t};var pt=/#.*$/,ht=/([?&])_=[^&]*/,dt=/^(.*?):[ \t]*([^\r\n]*)$/gm,ft=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,mt=/^(?:GET|HEAD)$/,gt=/^\/\//,vt=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,yt={},wt={},bt="*/".concat("*"),xt=e.location.href,St=vt.exec(xt.toLowerCase())||[];Z.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:xt,type:"GET",isLocal:ft.test(St[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":bt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":Z.parseJSON,"text xml":Z.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?B(B(e,Z.ajaxSettings),t):B(Z.ajaxSettings,e)},ajaxPrefilter:z(yt),ajaxTransport:z(wt),ajax:function(e,t){function i(e,t,i,o){var l,u,v,y,b,S=t;2!==w&&(w=2,a&&clearTimeout(a),n=void 0,s=o||"",x.readyState=e>0?4:0,l=e>=200&&300>e||304===e,i&&(y=R(p,x,i)),y=F(p,y,x,l),l?(p.ifModified&&(b=x.getResponseHeader("Last-Modified"),b&&(Z.lastModified[r]=b),b=x.getResponseHeader("etag"),b&&(Z.etag[r]=b)),204===e||"HEAD"===p.type?S="nocontent":304===e?S="notmodified":(S=y.state,u=y.data,v=y.error,l=!v)):(v=S,!e&&S||(S="error",0>e&&(e=0))),x.status=e,x.statusText=(t||S)+"",l?f.resolveWith(h,[u,S,x]):f.rejectWith(h,[x,S,v]),x.statusCode(g),g=void 0,c&&d.trigger(l?"ajaxSuccess":"ajaxError",[x,p,l?u:v]),m.fireWith(h,[x,S]),c&&(d.trigger("ajaxComplete",[x,p]),--Z.active||Z.event.trigger("ajaxStop")))}"object"==typeof e&&(t=e,e=void 0),t=t||{};var n,r,s,o,a,l,c,u,p=Z.ajaxSetup({},t),h=p.context||p,d=p.context&&(h.nodeType||h.jquery)?Z(h):Z.event,f=Z.Deferred(),m=Z.Callbacks("once memory"),g=p.statusCode||{},v={},y={},w=0,b="canceled",x={readyState:0,getResponseHeader:function(e){var t;if(2===w){if(!o)for(o={};t=dt.exec(s);)o[t[1].toLowerCase()]=t[2];t=o[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===w?s:null},setRequestHeader:function(e,t){var i=e.toLowerCase();return w||(e=y[i]=y[i]||e,v[e]=t),this},overrideMimeType:function(e){return w||(p.mimeType=e),this},statusCode:function(e){var t;if(e)if(2>w)for(t in e)g[t]=[g[t],e[t]];else x.always(e[x.status]);return this},abort:function(e){var t=e||b;return n&&n.abort(t),i(0,t),this}};if(f.promise(x).complete=m.add,x.success=x.done,x.error=x.fail,p.url=((e||p.url||xt)+"").replace(pt,"").replace(gt,St[1]+"//"),p.type=t.method||t.type||p.method||p.type,p.dataTypes=Z.trim(p.dataType||"*").toLowerCase().match(de)||[""],null==p.crossDomain&&(l=vt.exec(p.url.toLowerCase()),p.crossDomain=!(!l||l[1]===St[1]&&l[2]===St[2]&&(l[3]||("http:"===l[1]?"80":"443"))===(St[3]||("http:"===St[1]?"80":"443")))),p.data&&p.processData&&"string"!=typeof p.data&&(p.data=Z.param(p.data,p.traditional)),O(yt,p,t,x),2===w)return x;c=Z.event&&p.global,c&&0===Z.active++&&Z.event.trigger("ajaxStart"),p.type=p.type.toUpperCase(),p.hasContent=!mt.test(p.type),r=p.url,p.hasContent||(p.data&&(r=p.url+=(ut.test(r)?"&":"?")+p.data,delete p.data),p.cache===!1&&(p.url=ht.test(r)?r.replace(ht,"$1_="+ct++):r+(ut.test(r)?"&":"?")+"_="+ct++)),p.ifModified&&(Z.lastModified[r]&&x.setRequestHeader("If-Modified-Since",Z.lastModified[r]),Z.etag[r]&&x.setRequestHeader("If-None-Match",Z.etag[r])),(p.data&&p.hasContent&&p.contentType!==!1||t.contentType)&&x.setRequestHeader("Content-Type",p.contentType),x.setRequestHeader("Accept",p.dataTypes[0]&&p.accepts[p.dataTypes[0]]?p.accepts[p.dataTypes[0]]+("*"!==p.dataTypes[0]?", "+bt+"; q=0.01":""):p.accepts["*"]);for(u in p.headers)x.setRequestHeader(u,p.headers[u]);if(p.beforeSend&&(p.beforeSend.call(h,x,p)===!1||2===w))return x.abort();b="abort";for(u in{success:1,error:1,complete:1})x[u](p[u]);if(n=O(wt,p,t,x)){x.readyState=1,c&&d.trigger("ajaxSend",[x,p]),p.async&&p.timeout>0&&(a=setTimeout(function(){x.abort("timeout")},p.timeout));try{w=1,n.send(v,i)}catch(S){if(!(2>w))throw S;i(-1,S)}}else i(-1,"No Transport");return x},getJSON:function(e,t,i){return Z.get(e,t,i,"json")},getScript:function(e,t){return Z.get(e,void 0,t,"script")}}),Z.each(["get","post"],function(e,t){Z[t]=function(e,i,n,r){return Z.isFunction(i)&&(r=r||n,n=i,i=void 0),Z.ajax({url:e,type:t,dataType:r,data:i,success:n})}}),Z._evalUrl=function(e){return Z.ajax({url:e,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},Z.fn.extend({wrapAll:function(e){var t;return Z.isFunction(e)?this.each(function(t){Z(this).wrapAll(e.call(this,t))}):(this[0]&&(t=Z(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this)},wrapInner:function(e){return Z.isFunction(e)?this.each(function(t){Z(this).wrapInner(e.call(this,t))}):this.each(function(){var t=Z(this),i=t.contents();i.length?i.wrapAll(e):t.append(e)})},wrap:function(e){var t=Z.isFunction(e);return this.each(function(i){Z(this).wrapAll(t?e.call(this,i):e)})},unwrap:function(){return this.parent().each(function(){Z.nodeName(this,"body")||Z(this).replaceWith(this.childNodes)}).end()}}),Z.expr.filters.hidden=function(e){return e.offsetWidth<=0&&e.offsetHeight<=0},Z.expr.filters.visible=function(e){return!Z.expr.filters.hidden(e)};var Tt=/%20/g,Ct=/\[\]$/,kt=/\r?\n/g,Et=/^(?:submit|button|image|reset|file)$/i,Pt=/^(?:input|select|textarea|keygen)/i;Z.param=function(e,t){var i,n=[],r=function(e,t){t=Z.isFunction(t)?t():null==t?"":t,n[n.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(void 0===t&&(t=Z.ajaxSettings&&Z.ajaxSettings.traditional),Z.isArray(e)||e.jquery&&!Z.isPlainObject(e))Z.each(e,function(){r(this.name,this.value)});else for(i in e)H(i,e[i],t,r);return n.join("&").replace(Tt,"+")},Z.fn.extend({serialize:function(){return Z.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=Z.prop(this,"elements");return e?Z.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!Z(this).is(":disabled")&&Pt.test(this.nodeName)&&!Et.test(e)&&(this.checked||!Ce.test(e))}).map(function(e,t){var i=Z(this).val();return null==i?null:Z.isArray(i)?Z.map(i,function(e){return{name:t.name,value:e.replace(kt,"\r\n")}}):{name:t.name,value:i.replace(kt,"\r\n")}}).get()}}),Z.ajaxSettings.xhr=function(){try{return new XMLHttpRequest}catch(e){}};var At=0,_t={},Dt={0:200,1223:204},Lt=Z.ajaxSettings.xhr();e.attachEvent&&e.attachEvent("onunload",function(){for(var e in _t)_t[e]()}),K.cors=!!Lt&&"withCredentials"in Lt,K.ajax=Lt=!!Lt,Z.ajaxTransport(function(e){var t;return K.cors||Lt&&!e.crossDomain?{send:function(i,n){var r,s=e.xhr(),o=++At;if(s.open(e.type,e.url,e.async,e.username,e.password),e.xhrFields)for(r in e.xhrFields)s[r]=e.xhrFields[r];e.mimeType&&s.overrideMimeType&&s.overrideMimeType(e.mimeType),e.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");for(r in i)s.setRequestHeader(r,i[r]);t=function(e){return function(){t&&(delete _t[o],t=s.onload=s.onerror=null,"abort"===e?s.abort():"error"===e?n(s.status,s.statusText):n(Dt[s.status]||s.status,s.statusText,"string"==typeof s.responseText?{text:s.responseText}:void 0,s.getAllResponseHeaders()))}},s.onload=t(),s.onerror=t("error"),t=_t[o]=t("abort");try{s.send(e.hasContent&&e.data||null)}catch(a){if(t)throw a}},abort:function(){t&&t()}}:void 0}),Z.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(e){return Z.globalEval(e),e}}}),Z.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),Z.ajaxTransport("script",function(e){if(e.crossDomain){var t,i;return{send:function(n,r){t=Z("<script>").prop({async:!0,charset:e.scriptCharset,src:e.url}).on("load error",i=function(e){t.remove(),i=null,e&&r("error"===e.type?404:200,e.type)}),Q.head.appendChild(t[0])},abort:function(){i&&i()}}}});var Mt=[],Nt=/(=)\?(?=&|$)|\?\?/;Z.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Mt.pop()||Z.expando+"_"+ct++;return this[e]=!0,e}}),Z.ajaxPrefilter("json jsonp",function(t,i,n){var r,s,o,a=t.jsonp!==!1&&(Nt.test(t.url)?"url":"string"==typeof t.data&&!(t.contentType||"").indexOf("application/x-www-form-urlencoded")&&Nt.test(t.data)&&"data");return a||"jsonp"===t.dataTypes[0]?(r=t.jsonpCallback=Z.isFunction(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,a?t[a]=t[a].replace(Nt,"$1"+r):t.jsonp!==!1&&(t.url+=(ut.test(t.url)?"&":"?")+t.jsonp+"="+r),t.converters["script json"]=function(){return o||Z.error(r+" was not called"),o[0]},t.dataTypes[0]="json",s=e[r],e[r]=function(){o=arguments},n.always(function(){e[r]=s,t[r]&&(t.jsonpCallback=i.jsonpCallback,Mt.push(r)),o&&Z.isFunction(s)&&s(o[0]),o=s=void 0}),"script"):void 0}),Z.parseHTML=function(e,t,i){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(i=t,t=!1),t=t||Q;var n=oe.exec(e),r=!i&&[];return n?[t.createElement(n[1])]:(n=Z.buildFragment([e],t,r),r&&r.length&&Z(r).remove(),Z.merge([],n.childNodes))};var It=Z.fn.load;Z.fn.load=function(e,t,i){if("string"!=typeof e&&It)return It.apply(this,arguments);var n,r,s,o=this,a=e.indexOf(" ");return a>=0&&(n=Z.trim(e.slice(a)),e=e.slice(0,a)),Z.isFunction(t)?(i=t,t=void 0):t&&"object"==typeof t&&(r="POST"),o.length>0&&Z.ajax({url:e,type:r,dataType:"html",data:t}).done(function(e){s=arguments,o.html(n?Z("<div>").append(Z.parseHTML(e)).find(n):e)}).complete(i&&function(e,t){o.each(i,s||[e.responseText,t,e])}),this},Z.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){Z.fn[t]=function(e){return this.on(t,e)}}),Z.expr.filters.animated=function(e){return Z.grep(Z.timers,function(t){return e===t.elem}).length};var zt=e.document.documentElement;Z.offset={setOffset:function(e,t,i){var n,r,s,o,a,l,c,u=Z.css(e,"position"),p=Z(e),h={};"static"===u&&(e.style.position="relative"),a=p.offset(),s=Z.css(e,"top"),l=Z.css(e,"left"),c=("absolute"===u||"fixed"===u)&&(s+l).indexOf("auto")>-1,c?(n=p.position(),o=n.top,r=n.left):(o=parseFloat(s)||0,r=parseFloat(l)||0),Z.isFunction(t)&&(t=t.call(e,i,a)),null!=t.top&&(h.top=t.top-a.top+o),null!=t.left&&(h.left=t.left-a.left+r),"using"in t?t.using.call(e,h):p.css(h)}},Z.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each(function(t){Z.offset.setOffset(this,e,t)});var t,i,n=this[0],r={top:0,left:0},s=n&&n.ownerDocument;if(s)return t=s.documentElement,Z.contains(t,n)?(typeof n.getBoundingClientRect!==ke&&(r=n.getBoundingClientRect()),i=j(s),{top:r.top+i.pageYOffset-t.clientTop,left:r.left+i.pageXOffset-t.clientLeft}):r},position:function(){if(this[0]){var e,t,i=this[0],n={top:0,left:0};return"fixed"===Z.css(i,"position")?t=i.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),Z.nodeName(e[0],"html")||(n=e.offset()),n.top+=Z.css(e[0],"borderTopWidth",!0),n.left+=Z.css(e[0],"borderLeftWidth",!0)),{top:t.top-n.top-Z.css(i,"marginTop",!0),left:t.left-n.left-Z.css(i,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent||zt;e&&!Z.nodeName(e,"html")&&"static"===Z.css(e,"position");)e=e.offsetParent;return e||zt})}}),Z.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var n="pageYOffset"===i;Z.fn[t]=function(r){return ge(this,function(t,r,s){var o=j(t);return void 0===s?o?o[i]:t[r]:void(o?o.scrollTo(n?e.pageXOffset:s,n?s:e.pageYOffset):t[r]=s)},t,r,arguments.length,null)}}),Z.each(["top","left"],function(e,t){Z.cssHooks[t]=S(K.pixelPosition,function(e,i){return i?(i=x(e,t),Xe.test(i)?Z(e).position()[t]+"px":i):void 0})}),Z.each({Height:"height",Width:"width"},function(e,t){Z.each({padding:"inner"+e,content:t,"":"outer"+e},function(i,n){Z.fn[n]=function(n,r){var s=arguments.length&&(i||"boolean"!=typeof n),o=i||(n===!0||r===!0?"margin":"border");return ge(this,function(t,i,n){var r;return Z.isWindow(t)?t.document.documentElement["client"+e]:9===t.nodeType?(r=t.documentElement,Math.max(t.body["scroll"+e],r["scroll"+e],t.body["offset"+e],r["offset"+e],r["client"+e])):void 0===n?Z.css(t,i,o):Z.style(t,i,n,o)},t,s?n:void 0,s,null)}})}),Z.fn.size=function(){return this.length},Z.fn.andSelf=Z.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return Z});var Ot=e.jQuery,Bt=e.$;return Z.noConflict=function(t){return e.$===Z&&(e.$=Bt),t&&e.jQuery===Z&&(e.jQuery=Ot),Z},typeof t===ke&&(e.jQuery=e.$=Z),Z})}),define("mlellipsis",[],function(e,t,i){t.init=function(){Element.prototype.getText=function(){return void 0==this.innerText?this.textContent:this.innerText},Element.prototype.setText=function(e){void 0==this.innerText?this.textContent=e||"":this.innerText=e||""},Element.prototype.getFinalStyle=function(e,t){var i;return i=window.getComputedStyle?window.getComputedStyle(this,null)[e]:this.currentStyle[e],void 0!=t&&(i=i*t+"px"),i.substring(0,i.toString().length-2)},Element.prototype.mlellipsis=function(e){var t=this.getText(),i=this.getAttribute("title");null==i?this.setAttribute("title",t):this.setText(i);var n=this.getFinalStyle("fontSize");if(/msie/i.test(navigator.userAgent))var r=this.getFinalStyle("lineHeight",n);else var r=this.getFinalStyle("lineHeight");var s=this.clientHeight;"norm"==r?(r=Number(1.5*n),this.setAttribute("style","line-height:"+r+"px")):r=Number(r);var o=Math.floor(e*r);if(s>=o){for(t=this.getText();3*o<this.clientHeight;)this.setText(t.substring(0,t.length/2)),t=this.getText();for(;o<this.clientHeight;)t=this.getText(),this.setText(t.replace(/(\s)*([a-zA-Z0-9]+|\W)(\.\.\.)?$/,"..."))}},Element.prototype.getTextLineNumber=function(e){var t=this.getText(),i=this.getAttribute("title");null==i?this.setAttribute("title",t):this.setText(i);var n=this.getFinalStyle("fontSize");if(/msie/i.test(navigator.userAgent))var r=this.getFinalStyle("lineHeight",n);else var r=this.getFinalStyle("lineHeight");var s=this.clientHeight;return"norm"==r?(r=Number(1.5*n),this.setAttribute("style","line-height:"+r+"px")):r=Number(r),s/r}}}),define("swiper",[],function(e,t,i){e("swiper.css.js"),function(){"use strict";function e(e){e.fn.swiper=function(i){var n;return e(this).each(function(){var e=new t(this,i);n||(n=e)}),n}}var t=function(e,n){function r(){return"horizontal"===g.params.direction}function s(){g.autoplayTimeoutId=setTimeout(function(){g.params.loop?(g.fixLoop(),g._slideNext()):g.isEnd?n.autoplayStopOnLast?g.stopAutoplay():g._slideTo(0):g._slideNext()},g.params.autoplay)}function o(e,t){var i=v(e.target);if(!i.is(t))if("string"==typeof t)i=i.parents(t);else if(t.nodeType){var n;return i.parents().each(function(e,i){i===t&&(n=t)}),n?t:void 0}if(0!==i.length)return i[0]}function a(e,t){t=t||{};var i=window.MutationObserver||window.WebkitMutationObserver,n=new i(function(e){e.forEach(function(e){g.onResize(!0),g.emit("onObserverUpdate",g,e)})});n.observe(e,{attributes:"undefined"==typeof t.attributes?!0:t.attributes,childList:"undefined"==typeof t.childList?!0:t.childList,characterData:"undefined"==typeof t.characterData?!0:t.characterData}),g.observers.push(n)}function l(e){e.originalEvent&&(e=e.originalEvent);var t=e.keyCode||e.charCode;if(!g.params.allowSwipeToNext&&(r()&&39===t||!r()&&40===t))return!1;if(!g.params.allowSwipeToPrev&&(r()&&37===t||!r()&&38===t))return!1;if(!(e.shiftKey||e.altKey||e.ctrlKey||e.metaKey||document.activeElement&&document.activeElement.nodeName&&("input"===document.activeElement.nodeName.toLowerCase()||"textarea"===document.activeElement.nodeName.toLowerCase()))){if(37===t||39===t||38===t||40===t){var i=!1;if(g.container.parents(".swiper-slide").length>0&&0===g.container.parents(".swiper-slide-active").length)return;var n={left:window.pageXOffset,top:window.pageYOffset},s=window.innerWidth,o=window.innerHeight,a=g.container.offset();g.rtl&&(a.left=a.left-g.container[0].scrollLeft);for(var l=[[a.left,a.top],[a.left+g.width,a.top],[a.left,a.top+g.height],[a.left+g.width,a.top+g.height]],c=0;c<l.length;c++){var u=l[c];u[0]>=n.left&&u[0]<=n.left+s&&u[1]>=n.top&&u[1]<=n.top+o&&(i=!0)}if(!i)return}r()?(37!==t&&39!==t||(e.preventDefault?e.preventDefault():e.returnValue=!1),(39===t&&!g.rtl||37===t&&g.rtl)&&g.slideNext(),(37===t&&!g.rtl||39===t&&g.rtl)&&g.slidePrev()):(38!==t&&40!==t||(e.preventDefault?e.preventDefault():e.returnValue=!1),40===t&&g.slideNext(),38===t&&g.slidePrev())}}function c(e){e.originalEvent&&(e=e.originalEvent);var t=g.mousewheel.event,i=0;if(e.detail)i=-e.detail;else if("mousewheel"===t)if(g.params.mousewheelForceToAxis)if(r()){if(!(Math.abs(e.wheelDeltaX)>Math.abs(e.wheelDeltaY)))return;i=e.wheelDeltaX}else{if(!(Math.abs(e.wheelDeltaY)>Math.abs(e.wheelDeltaX)))return;i=e.wheelDeltaY}else i=e.wheelDelta;else if("DOMMouseScroll"===t)i=-e.detail;else if("wheel"===t)if(g.params.mousewheelForceToAxis)if(r()){if(!(Math.abs(e.deltaX)>Math.abs(e.deltaY)))return;i=-e.deltaX}else{if(!(Math.abs(e.deltaY)>Math.abs(e.deltaX)))return;i=-e.deltaY}else i=Math.abs(e.deltaX)>Math.abs(e.deltaY)?-e.deltaX:-e.deltaY;if(g.params.mousewheelInvert&&(i=-i),g.params.freeMode){var n=g.getWrapperTranslate()+i;if(n>0&&(n=0),n<g.maxTranslate()&&(n=g.maxTranslate()),g.setWrapperTransition(0),g.setWrapperTranslate(n),g.updateProgress(),g.updateActiveIndex(),g.params.freeModeSticky&&(clearTimeout(g.mousewheel.timeout),g.mousewheel.timeout=setTimeout(function(){g.slideReset()},300)),0===n||n===g.maxTranslate())return}else{if((new window.Date).getTime()-g.mousewheel.lastScrollTime>60)if(0>i)if(g.isEnd){if(g.params.mousewheelReleaseOnEdges)return!0}else g.slideNext();else if(g.isBeginning){ +if(g.params.mousewheelReleaseOnEdges)return!0}else g.slidePrev();g.mousewheel.lastScrollTime=(new window.Date).getTime()}return g.params.autoplay&&g.stopAutoplay(),e.preventDefault?e.preventDefault():e.returnValue=!1,!1}function u(e,t){e=v(e);var i,n,s;i=e.attr("data-swiper-parallax")||"0",n=e.attr("data-swiper-parallax-x"),s=e.attr("data-swiper-parallax-y"),n||s?(n=n||"0",s=s||"0"):r()?(n=i,s="0"):(s=i,n="0"),n=n.indexOf("%")>=0?parseInt(n,10)*t+"%":n*t+"px",s=s.indexOf("%")>=0?parseInt(s,10)*t+"%":s*t+"px",e.transform("translate3d("+n+", "+s+",0px)")}function p(e){return 0!==e.indexOf("on")&&(e=e[0]!==e[0].toUpperCase()?"on"+e[0].toUpperCase()+e.substring(1):"on"+e),e}if(!(this instanceof t))return new t(e,n);var h={direction:"horizontal",touchEventsTarget:"container",initialSlide:0,speed:300,autoplay:!1,autoplayDisableOnInteraction:!0,freeMode:!1,freeModeMomentum:!0,freeModeMomentumRatio:1,freeModeMomentumBounce:!0,freeModeMomentumBounceRatio:1,freeModeSticky:!1,setWrapperSize:!1,virtualTranslate:!1,effect:"slide",coverflow:{rotate:50,stretch:0,depth:100,modifier:1,slideShadows:!0},cube:{slideShadows:!0,shadow:!0,shadowOffset:20,shadowScale:.94},fade:{crossFade:!1},parallax:!1,scrollbar:null,scrollbarHide:!0,keyboardControl:!1,mousewheelControl:!1,mousewheelReleaseOnEdges:!1,mousewheelInvert:!1,mousewheelForceToAxis:!1,hashnav:!1,spaceBetween:0,slidesPerView:1,slidesPerColumn:1,slidesPerColumnFill:"column",slidesPerGroup:1,centeredSlides:!1,touchRatio:1,touchAngle:45,simulateTouch:!0,shortSwipes:!0,longSwipes:!0,longSwipesRatio:.5,longSwipesMs:300,followFinger:!0,onlyExternal:!1,threshold:0,touchMoveStopPropagation:!0,pagination:null,paginationClickable:!1,paginationHide:!1,paginationBulletRender:null,resistance:!0,resistanceRatio:.85,nextButton:null,prevButton:null,watchSlidesProgress:!1,watchSlidesVisibility:!1,grabCursor:!1,preventClicks:!0,preventClicksPropagation:!0,slideToClickedSlide:!1,lazyLoading:!1,lazyLoadingInPrevNext:!1,lazyLoadingOnTransitionStart:!1,preloadImages:!0,updateOnImagesReady:!0,loop:!1,loopAdditionalSlides:0,loopedSlides:null,control:void 0,controlInverse:!1,allowSwipeToPrev:!0,allowSwipeToNext:!0,swipeHandler:null,noSwiping:!0,noSwipingClass:"swiper-no-swiping",slideClass:"swiper-slide",slideActiveClass:"swiper-slide-active",slideVisibleClass:"swiper-slide-visible",slideDuplicateClass:"swiper-slide-duplicate",slideNextClass:"swiper-slide-next",slidePrevClass:"swiper-slide-prev",wrapperClass:"swiper-wrapper",bulletClass:"swiper-pagination-bullet",bulletActiveClass:"swiper-pagination-bullet-active",buttonDisabledClass:"swiper-button-disabled",paginationHiddenClass:"swiper-pagination-hidden",observer:!1,observeParents:!1,a11y:!1,prevSlideMessage:"Previous slide",nextSlideMessage:"Next slide",firstSlideMessage:"This is the first slide",lastSlideMessage:"This is the last slide",runCallbacksOnInit:!0},d=n&&n.virtualTranslate;n=n||{};for(var f in h)if("undefined"==typeof n[f])n[f]=h[f];else if("object"==typeof n[f])for(var m in h[f])"undefined"==typeof n[f][m]&&(n[f][m]=h[f][m]);var g=this;g.version="3.0.8",g.params=n,g.classNames=[];var v;if(v="undefined"==typeof i?window.Dom7||window.Zepto||window.jQuery:i,v&&(g.$=v,g.container=v(e),0!==g.container.length)){if(g.container.length>1)return void g.container.each(function(){new t(this,n)});g.container[0].swiper=g,g.container.data("swiper",g),g.classNames.push("swiper-container-"+g.params.direction),g.params.freeMode&&g.classNames.push("swiper-container-free-mode"),g.support.flexbox||(g.classNames.push("swiper-container-no-flexbox"),g.params.slidesPerColumn=1),(g.params.parallax||g.params.watchSlidesVisibility)&&(g.params.watchSlidesProgress=!0),["cube","coverflow"].indexOf(g.params.effect)>=0&&(g.support.transforms3d?(g.params.watchSlidesProgress=!0,g.classNames.push("swiper-container-3d")):g.params.effect="slide"),"slide"!==g.params.effect&&g.classNames.push("swiper-container-"+g.params.effect),"cube"===g.params.effect&&(g.params.resistanceRatio=0,g.params.slidesPerView=1,g.params.slidesPerColumn=1,g.params.slidesPerGroup=1,g.params.centeredSlides=!1,g.params.spaceBetween=0,g.params.virtualTranslate=!0,g.params.setWrapperSize=!1),"fade"===g.params.effect&&(g.params.slidesPerView=1,g.params.slidesPerColumn=1,g.params.slidesPerGroup=1,g.params.watchSlidesProgress=!0,g.params.spaceBetween=0,"undefined"==typeof d&&(g.params.virtualTranslate=!0)),g.params.grabCursor&&g.support.touch&&(g.params.grabCursor=!1),g.wrapper=g.container.children("."+g.params.wrapperClass),g.params.pagination&&(g.paginationContainer=v(g.params.pagination),g.params.paginationClickable&&g.paginationContainer.addClass("swiper-pagination-clickable")),g.rtl=r()&&("rtl"===g.container[0].dir.toLowerCase()||"rtl"===g.container.css("direction")),g.rtl&&g.classNames.push("swiper-container-rtl"),g.rtl&&(g.wrongRTL="-webkit-box"===g.wrapper.css("display")),g.params.slidesPerColumn>1&&g.classNames.push("swiper-container-multirow"),g.device.android&&g.classNames.push("swiper-container-android"),g.container.addClass(g.classNames.join(" ")),g.translate=0,g.progress=0,g.velocity=0,g.lockSwipeToNext=function(){g.params.allowSwipeToNext=!1},g.lockSwipeToPrev=function(){g.params.allowSwipeToPrev=!1},g.lockSwipes=function(){g.params.allowSwipeToNext=g.params.allowSwipeToPrev=!1},g.unlockSwipeToNext=function(){g.params.allowSwipeToNext=!0},g.unlockSwipeToPrev=function(){g.params.allowSwipeToPrev=!0},g.unlockSwipes=function(){g.params.allowSwipeToNext=g.params.allowSwipeToPrev=!0},g.params.grabCursor&&(g.container[0].style.cursor="move",g.container[0].style.cursor="-webkit-grab",g.container[0].style.cursor="-moz-grab",g.container[0].style.cursor="grab"),g.imagesToLoad=[],g.imagesLoaded=0,g.loadImage=function(e,t,i,n){function r(){n&&n()}var s;e.complete&&i?r():t?(s=new window.Image,s.onload=r,s.onerror=r,s.src=t):r()},g.preloadImages=function(){function e(){"undefined"!=typeof g&&null!==g&&(void 0!==g.imagesLoaded&&g.imagesLoaded++,g.imagesLoaded===g.imagesToLoad.length&&(g.params.updateOnImagesReady&&g.update(),g.emit("onImagesReady",g)))}g.imagesToLoad=g.container.find("img");for(var t=0;t<g.imagesToLoad.length;t++)g.loadImage(g.imagesToLoad[t],g.imagesToLoad[t].currentSrc||g.imagesToLoad[t].getAttribute("src"),!0,e)},g.autoplayTimeoutId=void 0,g.autoplaying=!1,g.autoplayPaused=!1,g.startAutoplay=function(){return"undefined"!=typeof g.autoplayTimeoutId?!1:g.params.autoplay?g.autoplaying?!1:(g.autoplaying=!0,g.emit("onAutoplayStart",g),void s()):!1},g.stopAutoplay=function(e){g.autoplayTimeoutId&&(g.autoplayTimeoutId&&clearTimeout(g.autoplayTimeoutId),g.autoplaying=!1,g.autoplayTimeoutId=void 0,g.emit("onAutoplayStop",g))},g.pauseAutoplay=function(e){g.autoplayPaused||(g.autoplayTimeoutId&&clearTimeout(g.autoplayTimeoutId),g.autoplayPaused=!0,0===e?(g.autoplayPaused=!1,s()):g.wrapper.transitionEnd(function(){g&&(g.autoplayPaused=!1,g.autoplaying?s():g.stopAutoplay())}))},g.minTranslate=function(){return-g.snapGrid[0]},g.maxTranslate=function(){return-g.snapGrid[g.snapGrid.length-1]},g.updateContainerSize=function(){var e,t;e="undefined"!=typeof g.params.width?g.params.width:g.container[0].clientWidth,t="undefined"!=typeof g.params.height?g.params.height:g.container[0].clientHeight,0===e&&r()||0===t&&!r()||(g.width=e,g.height=t,g.size=r()?g.width:g.height)},g.updateSlidesSize=function(){g.slides=g.wrapper.children("."+g.params.slideClass),g.snapGrid=[],g.slidesGrid=[],g.slidesSizesGrid=[];var e,t=g.params.spaceBetween,i=0,n=0,s=0;"string"==typeof t&&t.indexOf("%")>=0&&(t=parseFloat(t.replace("%",""))/100*g.size),g.virtualSize=-t,g.rtl?g.slides.css({marginLeft:"",marginTop:""}):g.slides.css({marginRight:"",marginBottom:""});var o;g.params.slidesPerColumn>1&&(o=Math.floor(g.slides.length/g.params.slidesPerColumn)===g.slides.length/g.params.slidesPerColumn?g.slides.length:Math.ceil(g.slides.length/g.params.slidesPerColumn)*g.params.slidesPerColumn);var a,l=g.params.slidesPerColumn,c=o/l,u=c-(g.params.slidesPerColumn*c-g.slides.length);for(e=0;e<g.slides.length;e++){a=0;var p=g.slides.eq(e);if(g.params.slidesPerColumn>1){var h,d,f;"column"===g.params.slidesPerColumnFill?(d=Math.floor(e/l),f=e-d*l,(d>u||d===u&&f===l-1)&&++f>=l&&(f=0,d++),h=d+f*o/l,p.css({"-webkit-box-ordinal-group":h,"-moz-box-ordinal-group":h,"-ms-flex-order":h,"-webkit-order":h,order:h})):(f=Math.floor(e/c),d=e-f*c),p.css({"margin-top":0!==f&&g.params.spaceBetween&&g.params.spaceBetween+"px"}).attr("data-swiper-column",d).attr("data-swiper-row",f)}"none"!==p.css("display")&&("auto"===g.params.slidesPerView?a=r()?p.outerWidth(!0):p.outerHeight(!0):(a=(g.size-(g.params.slidesPerView-1)*t)/g.params.slidesPerView,r()?g.slides[e].style.width=a+"px":g.slides[e].style.height=a+"px"),g.slides[e].swiperSlideSize=a,g.slidesSizesGrid.push(a),g.params.centeredSlides?(i=i+a/2+n/2+t,0===e&&(i=i-g.size/2-t),Math.abs(i)<.001&&(i=0),s%g.params.slidesPerGroup===0&&g.snapGrid.push(i),g.slidesGrid.push(i)):(s%g.params.slidesPerGroup===0&&g.snapGrid.push(i),g.slidesGrid.push(i),i=i+a+t),g.virtualSize+=a+t,n=a,s++)}g.virtualSize=Math.max(g.virtualSize,g.size);var m;if(g.rtl&&g.wrongRTL&&("slide"===g.params.effect||"coverflow"===g.params.effect)&&g.wrapper.css({width:g.virtualSize+g.params.spaceBetween+"px"}),g.support.flexbox&&!g.params.setWrapperSize||(r()?g.wrapper.css({width:g.virtualSize+g.params.spaceBetween+"px"}):g.wrapper.css({height:g.virtualSize+g.params.spaceBetween+"px"})),g.params.slidesPerColumn>1&&(g.virtualSize=(a+g.params.spaceBetween)*o,g.virtualSize=Math.ceil(g.virtualSize/g.params.slidesPerColumn)-g.params.spaceBetween,g.wrapper.css({width:g.virtualSize+g.params.spaceBetween+"px"}),g.params.centeredSlides)){for(m=[],e=0;e<g.snapGrid.length;e++)g.snapGrid[e]<g.virtualSize+g.snapGrid[0]&&m.push(g.snapGrid[e]);g.snapGrid=m}if(!g.params.centeredSlides){for(m=[],e=0;e<g.snapGrid.length;e++)g.snapGrid[e]<=g.virtualSize-g.size&&m.push(g.snapGrid[e]);g.snapGrid=m,Math.floor(g.virtualSize-g.size)>Math.floor(g.snapGrid[g.snapGrid.length-1])&&g.snapGrid.push(g.virtualSize-g.size)}0===g.snapGrid.length&&(g.snapGrid=[0]),0!==g.params.spaceBetween&&(r()?g.rtl?g.slides.css({marginLeft:t+"px"}):g.slides.css({marginRight:t+"px"}):g.slides.css({marginBottom:t+"px"})),g.params.watchSlidesProgress&&g.updateSlidesOffset()},g.updateSlidesOffset=function(){for(var e=0;e<g.slides.length;e++)g.slides[e].swiperSlideOffset=r()?g.slides[e].offsetLeft:g.slides[e].offsetTop},g.updateSlidesProgress=function(e){if("undefined"==typeof e&&(e=g.translate||0),0!==g.slides.length){"undefined"==typeof g.slides[0].swiperSlideOffset&&g.updateSlidesOffset();var t=g.params.centeredSlides?-e+g.size/2:-e;g.rtl&&(t=g.params.centeredSlides?e-g.size/2:e);g.container[0].getBoundingClientRect(),r()?"left":"top",r()?"right":"bottom";g.slides.removeClass(g.params.slideVisibleClass);for(var i=0;i<g.slides.length;i++){var n=g.slides[i],s=g.params.centeredSlides===!0?n.swiperSlideSize/2:0,o=(t-n.swiperSlideOffset-s)/(n.swiperSlideSize+g.params.spaceBetween);if(g.params.watchSlidesVisibility){var a=-(t-n.swiperSlideOffset-s),l=a+g.slidesSizesGrid[i],c=a>=0&&a<g.size||l>0&&l<=g.size||0>=a&&l>=g.size;c&&g.slides.eq(i).addClass(g.params.slideVisibleClass)}n.progress=g.rtl?-o:o}}},g.updateProgress=function(e){"undefined"==typeof e&&(e=g.translate||0);var t=g.maxTranslate()-g.minTranslate();0===t?(g.progress=0,g.isBeginning=g.isEnd=!0):(g.progress=(e-g.minTranslate())/t,g.isBeginning=g.progress<=0,g.isEnd=g.progress>=1),g.isBeginning&&g.emit("onReachBeginning",g),g.isEnd&&g.emit("onReachEnd",g),g.params.watchSlidesProgress&&g.updateSlidesProgress(e),g.emit("onProgress",g,g.progress)},g.updateActiveIndex=function(){var e,t,i,n=g.rtl?g.translate:-g.translate;for(t=0;t<g.slidesGrid.length;t++)"undefined"!=typeof g.slidesGrid[t+1]?n>=g.slidesGrid[t]&&n<g.slidesGrid[t+1]-(g.slidesGrid[t+1]-g.slidesGrid[t])/2?e=t:n>=g.slidesGrid[t]&&n<g.slidesGrid[t+1]&&(e=t+1):n>=g.slidesGrid[t]&&(e=t);(0>e||"undefined"==typeof e)&&(e=0),i=Math.floor(e/g.params.slidesPerGroup),i>=g.snapGrid.length&&(i=g.snapGrid.length-1),e!==g.activeIndex&&(g.snapIndex=i,g.previousIndex=g.activeIndex,g.activeIndex=e,g.updateClasses())},g.updateClasses=function(){g.slides.removeClass(g.params.slideActiveClass+" "+g.params.slideNextClass+" "+g.params.slidePrevClass);var e=g.slides.eq(g.activeIndex);if(e.addClass(g.params.slideActiveClass),e.next("."+g.params.slideClass).addClass(g.params.slideNextClass),e.prev("."+g.params.slideClass).addClass(g.params.slidePrevClass),g.bullets&&g.bullets.length>0){g.bullets.removeClass(g.params.bulletActiveClass);var t;g.params.loop?(t=Math.ceil(g.activeIndex-g.loopedSlides)/g.params.slidesPerGroup,t>g.slides.length-1-2*g.loopedSlides&&(t-=g.slides.length-2*g.loopedSlides),t>g.bullets.length-1&&(t-=g.bullets.length)):t="undefined"!=typeof g.snapIndex?g.snapIndex:g.activeIndex||0,g.paginationContainer.length>1?g.bullets.each(function(){v(this).index()===t&&v(this).addClass(g.params.bulletActiveClass)}):g.bullets.eq(t).addClass(g.params.bulletActiveClass)}g.params.loop||(g.params.prevButton&&(g.isBeginning?(v(g.params.prevButton).addClass(g.params.buttonDisabledClass),g.params.a11y&&g.a11y&&g.a11y.disable(v(g.params.prevButton))):(v(g.params.prevButton).removeClass(g.params.buttonDisabledClass),g.params.a11y&&g.a11y&&g.a11y.enable(v(g.params.prevButton)))),g.params.nextButton&&(g.isEnd?(v(g.params.nextButton).addClass(g.params.buttonDisabledClass),g.params.a11y&&g.a11y&&g.a11y.disable(v(g.params.nextButton))):(v(g.params.nextButton).removeClass(g.params.buttonDisabledClass),g.params.a11y&&g.a11y&&g.a11y.enable(v(g.params.nextButton)))))},g.updatePagination=function(){if(g.params.pagination&&g.paginationContainer&&g.paginationContainer.length>0){for(var e="",t=g.params.loop?Math.ceil((g.slides.length-2*g.loopedSlides)/g.params.slidesPerGroup):g.snapGrid.length,i=0;t>i;i++)e+=g.params.paginationBulletRender?g.params.paginationBulletRender(i,g.params.bulletClass):'<span class="'+g.params.bulletClass+'"></span>';g.paginationContainer.html(e),g.bullets=g.paginationContainer.find("."+g.params.bulletClass)}},g.update=function(e){function t(){n=Math.min(Math.max(g.translate,g.maxTranslate()),g.minTranslate()),g.setWrapperTranslate(n),g.updateActiveIndex(),g.updateClasses()}if(g.updateContainerSize(),g.updateSlidesSize(),g.updateProgress(),g.updatePagination(),g.updateClasses(),g.params.scrollbar&&g.scrollbar&&g.scrollbar.set(),e){var i,n;g.params.freeMode?t():(i="auto"===g.params.slidesPerView&&g.isEnd&&!g.params.centeredSlides?g.slideTo(g.slides.length-1,0,!1,!0):g.slideTo(g.activeIndex,0,!1,!0),i||t())}},g.onResize=function(e){if(g.updateContainerSize(),g.updateSlidesSize(),g.updateProgress(),("auto"===g.params.slidesPerView||g.params.freeMode||e)&&g.updatePagination(),g.params.scrollbar&&g.scrollbar&&g.scrollbar.set(),g.params.freeMode){var t=Math.min(Math.max(g.translate,g.maxTranslate()),g.minTranslate());g.setWrapperTranslate(t),g.updateActiveIndex(),g.updateClasses()}else g.updateClasses(),"auto"===g.params.slidesPerView&&g.isEnd&&!g.params.centeredSlides?g.slideTo(g.slides.length-1,0,!1,!0):g.slideTo(g.activeIndex,0,!1,!0)};var y=["mousedown","mousemove","mouseup"];window.navigator.pointerEnabled?y=["pointerdown","pointermove","pointerup"]:window.navigator.msPointerEnabled&&(y=["MSPointerDown","MSPointerMove","MSPointerUp"]),g.touchEvents={start:g.support.touch||!g.params.simulateTouch?"touchstart":y[0],move:g.support.touch||!g.params.simulateTouch?"touchmove":y[1],end:g.support.touch||!g.params.simulateTouch?"touchend":y[2]},(window.navigator.pointerEnabled||window.navigator.msPointerEnabled)&&("container"===g.params.touchEventsTarget?g.container:g.wrapper).addClass("swiper-wp8-"+g.params.direction),g.initEvents=function(e){var t=e?"off":"on",i=e?"removeEventListener":"addEventListener",r="container"===g.params.touchEventsTarget?g.container[0]:g.wrapper[0],s=g.support.touch?r:document,o=!!g.params.nested;g.browser.ie?(r[i](g.touchEvents.start,g.onTouchStart,!1),s[i](g.touchEvents.move,g.onTouchMove,o),s[i](g.touchEvents.end,g.onTouchEnd,!1)):(g.support.touch&&(r[i](g.touchEvents.start,g.onTouchStart,!1),r[i](g.touchEvents.move,g.onTouchMove,o),r[i](g.touchEvents.end,g.onTouchEnd,!1)),!n.simulateTouch||g.device.ios||g.device.android||(r[i]("mousedown",g.onTouchStart,!1),document[i]("mousemove",g.onTouchMove,o),document[i]("mouseup",g.onTouchEnd,!1))),window[i]("resize",g.onResize),g.params.nextButton&&(v(g.params.nextButton)[t]("click",g.onClickNext),g.params.a11y&&g.a11y&&v(g.params.nextButton)[t]("keydown",g.a11y.onEnterKey)),g.params.prevButton&&(v(g.params.prevButton)[t]("click",g.onClickPrev),g.params.a11y&&g.a11y&&v(g.params.prevButton)[t]("keydown",g.a11y.onEnterKey)),g.params.pagination&&g.params.paginationClickable&&v(g.paginationContainer)[t]("click","."+g.params.bulletClass,g.onClickIndex),(g.params.preventClicks||g.params.preventClicksPropagation)&&r[i]("click",g.preventClicks,!0)},g.attachEvents=function(e){g.initEvents()},g.detachEvents=function(){g.initEvents(!0)},g.allowClick=!0,g.preventClicks=function(e){g.allowClick||(g.params.preventClicks&&e.preventDefault(),g.params.preventClicksPropagation&&g.animating&&(e.stopPropagation(),e.stopImmediatePropagation()))},g.onClickNext=function(e){e.preventDefault(),g.slideNext()},g.onClickPrev=function(e){e.preventDefault(),g.slidePrev()},g.onClickIndex=function(e){e.preventDefault();var t=v(this).index()*g.params.slidesPerGroup;g.params.loop&&(t+=g.loopedSlides),g.slideTo(t)},g.updateClickedSlide=function(e){var t=o(e,"."+g.params.slideClass),i=!1;if(t)for(var n=0;n<g.slides.length;n++)g.slides[n]===t&&(i=!0);if(!t||!i)return g.clickedSlide=void 0,void(g.clickedIndex=void 0);if(g.clickedSlide=t,g.clickedIndex=v(t).index(),g.params.slideToClickedSlide&&void 0!==g.clickedIndex&&g.clickedIndex!==g.activeIndex){var r,s=g.clickedIndex;if(g.params.loop)if(r=v(g.clickedSlide).attr("data-swiper-slide-index"),s>g.slides.length-g.params.slidesPerView)g.fixLoop(),s=g.wrapper.children("."+g.params.slideClass+'[data-swiper-slide-index="'+r+'"]').eq(0).index(),setTimeout(function(){g.slideTo(s)},0);else if(s<g.params.slidesPerView-1){g.fixLoop();var a=g.wrapper.children("."+g.params.slideClass+'[data-swiper-slide-index="'+r+'"]');s=a.eq(a.length-1).index(),setTimeout(function(){g.slideTo(s)},0)}else g.slideTo(s);else g.slideTo(s)}};var w,b,x,S,T,C,k,E,P,A="input, select, textarea, button",_=Date.now(),D=[];g.animating=!1,g.touches={startX:0,startY:0,currentX:0,currentY:0,diff:0};var L,M;if(g.onTouchStart=function(e){if(e.originalEvent&&(e=e.originalEvent),L="touchstart"===e.type,L||!("which"in e)||3!==e.which){if(g.params.noSwiping&&o(e,"."+g.params.noSwipingClass))return void(g.allowClick=!0);if(!g.params.swipeHandler||o(e,g.params.swipeHandler)){if(w=!0,b=!1,S=void 0,M=void 0,g.touches.startX=g.touches.currentX="touchstart"===e.type?e.targetTouches[0].pageX:e.pageX,g.touches.startY=g.touches.currentY="touchstart"===e.type?e.targetTouches[0].pageY:e.pageY,x=Date.now(),g.allowClick=!0,g.updateContainerSize(),g.swipeDirection=void 0,g.params.threshold>0&&(k=!1),"touchstart"!==e.type){var t=!0;v(e.target).is(A)&&(t=!1),document.activeElement&&v(document.activeElement).is(A)&&document.activeElement.blur(),t&&e.preventDefault()}g.emit("onTouchStart",g,e)}}},g.onTouchMove=function(e){if(e.originalEvent&&(e=e.originalEvent),!(L&&"mousemove"===e.type||e.preventedByNestedSwiper)){if(g.params.onlyExternal)return b=!0,void(g.allowClick=!1);if(L&&document.activeElement&&e.target===document.activeElement&&v(e.target).is(A))return b=!0,void(g.allowClick=!1);if(g.emit("onTouchMove",g,e),!(e.targetTouches&&e.targetTouches.length>1)){if(g.touches.currentX="touchmove"===e.type?e.targetTouches[0].pageX:e.pageX,g.touches.currentY="touchmove"===e.type?e.targetTouches[0].pageY:e.pageY,"undefined"==typeof S){var t=180*Math.atan2(Math.abs(g.touches.currentY-g.touches.startY),Math.abs(g.touches.currentX-g.touches.startX))/Math.PI;S=r()?t>g.params.touchAngle:90-t>g.params.touchAngle}if(S&&g.emit("onTouchMoveOpposite",g,e),"undefined"==typeof M&&g.browser.ieTouch&&(g.touches.currentX===g.touches.startX&&g.touches.currentY===g.touches.startY||(M=!0)),w){if(S)return void(w=!1);if(M||!g.browser.ieTouch){g.allowClick=!1,g.emit("onSliderMove",g,e),e.preventDefault(),g.params.touchMoveStopPropagation&&!g.params.nested&&e.stopPropagation(),b||(n.loop&&g.fixLoop(),C=g.getWrapperTranslate(),g.setWrapperTransition(0),g.animating&&g.wrapper.trigger("webkitTransitionEnd transitionend oTransitionEnd MSTransitionEnd msTransitionEnd"),g.params.autoplay&&g.autoplaying&&(g.params.autoplayDisableOnInteraction?g.stopAutoplay():g.pauseAutoplay()),P=!1,g.params.grabCursor&&(g.container[0].style.cursor="move",g.container[0].style.cursor="-webkit-grabbing",g.container[0].style.cursor="-moz-grabbin",g.container[0].style.cursor="grabbing")),b=!0;var i=g.touches.diff=r()?g.touches.currentX-g.touches.startX:g.touches.currentY-g.touches.startY;i*=g.params.touchRatio,g.rtl&&(i=-i),g.swipeDirection=i>0?"prev":"next",T=i+C;var s=!0;if(i>0&&T>g.minTranslate()?(s=!1,g.params.resistance&&(T=g.minTranslate()-1+Math.pow(-g.minTranslate()+C+i,g.params.resistanceRatio))):0>i&&T<g.maxTranslate()&&(s=!1,g.params.resistance&&(T=g.maxTranslate()+1-Math.pow(g.maxTranslate()-C-i,g.params.resistanceRatio))),s&&(e.preventedByNestedSwiper=!0),!g.params.allowSwipeToNext&&"next"===g.swipeDirection&&C>T&&(T=C),!g.params.allowSwipeToPrev&&"prev"===g.swipeDirection&&T>C&&(T=C),g.params.followFinger){if(g.params.threshold>0){if(!(Math.abs(i)>g.params.threshold||k))return void(T=C);if(!k)return k=!0,g.touches.startX=g.touches.currentX,g.touches.startY=g.touches.currentY,T=C,void(g.touches.diff=r()?g.touches.currentX-g.touches.startX:g.touches.currentY-g.touches.startY)}(g.params.freeMode||g.params.watchSlidesProgress)&&g.updateActiveIndex(),g.params.freeMode&&(0===D.length&&D.push({position:g.touches[r()?"startX":"startY"],time:x}),D.push({position:g.touches[r()?"currentX":"currentY"],time:(new window.Date).getTime()})),g.updateProgress(T),g.setWrapperTranslate(T)}}}}}},g.onTouchEnd=function(e){if(e.originalEvent&&(e=e.originalEvent),g.emit("onTouchEnd",g,e),w){g.params.grabCursor&&b&&w&&(g.container[0].style.cursor="move",g.container[0].style.cursor="-webkit-grab",g.container[0].style.cursor="-moz-grab",g.container[0].style.cursor="grab");var t=Date.now(),i=t-x;if(g.allowClick&&(g.updateClickedSlide(e),g.emit("onTap",g,e),300>i&&t-_>300&&(E&&clearTimeout(E),E=setTimeout(function(){g&&(g.params.paginationHide&&g.paginationContainer.length>0&&!v(e.target).hasClass(g.params.bulletClass)&&g.paginationContainer.toggleClass(g.params.paginationHiddenClass),g.emit("onClick",g,e))},300)),300>i&&300>t-_&&(E&&clearTimeout(E),g.emit("onDoubleTap",g,e))),_=Date.now(),setTimeout(function(){g&&(g.allowClick=!0)},0),!w||!b||!g.swipeDirection||0===g.touches.diff||T===C)return void(w=b=!1);w=b=!1;var n;if(n=g.params.followFinger?g.rtl?g.translate:-g.translate:-T,g.params.freeMode){if(n<-g.minTranslate())return void g.slideTo(g.activeIndex);if(n>-g.maxTranslate())return void(g.slides.length<g.snapGrid.length?g.slideTo(g.snapGrid.length-1):g.slideTo(g.slides.length-1));if(g.params.freeModeMomentum){if(D.length>1){var r=D.pop(),s=D.pop(),o=r.position-s.position,a=r.time-s.time;g.velocity=o/a,g.velocity=g.velocity/2,Math.abs(g.velocity)<.02&&(g.velocity=0),(a>150||(new window.Date).getTime()-r.time>300)&&(g.velocity=0)}else g.velocity=0;D.length=0;var l=1e3*g.params.freeModeMomentumRatio,c=g.velocity*l,u=g.translate+c;g.rtl&&(u=-u);var p,h=!1,d=20*Math.abs(g.velocity)*g.params.freeModeMomentumBounceRatio;if(u<g.maxTranslate())g.params.freeModeMomentumBounce?(u+g.maxTranslate()<-d&&(u=g.maxTranslate()-d),p=g.maxTranslate(),h=!0,P=!0):u=g.maxTranslate();else if(u>g.minTranslate())g.params.freeModeMomentumBounce?(u-g.minTranslate()>d&&(u=g.minTranslate()+d),p=g.minTranslate(),h=!0,P=!0):u=g.minTranslate();else if(g.params.freeModeSticky){var f,m=0;for(m=0;m<g.snapGrid.length;m+=1)if(g.snapGrid[m]>-u){f=m;break}u=Math.abs(g.snapGrid[f]-u)<Math.abs(g.snapGrid[f-1]-u)||"next"===g.swipeDirection?g.snapGrid[f]:g.snapGrid[f-1],g.rtl||(u=-u)}if(0!==g.velocity)l=g.rtl?Math.abs((-u-g.translate)/g.velocity):Math.abs((u-g.translate)/g.velocity);else if(g.params.freeModeSticky)return void g.slideReset();g.params.freeModeMomentumBounce&&h?(g.updateProgress(p),g.setWrapperTransition(l),g.setWrapperTranslate(u),g.onTransitionStart(),g.animating=!0,g.wrapper.transitionEnd(function(){g&&P&&(g.emit("onMomentumBounce",g),g.setWrapperTransition(g.params.speed),g.setWrapperTranslate(p),g.wrapper.transitionEnd(function(){g&&g.onTransitionEnd()}))})):g.velocity?(g.updateProgress(u),g.setWrapperTransition(l),g.setWrapperTranslate(u),g.onTransitionStart(),g.animating||(g.animating=!0,g.wrapper.transitionEnd(function(){g&&g.onTransitionEnd()}))):g.updateProgress(u),g.updateActiveIndex()}return void((!g.params.freeModeMomentum||i>=g.params.longSwipesMs)&&(g.updateProgress(),g.updateActiveIndex()))}var y,S=0,k=g.slidesSizesGrid[0];for(y=0;y<g.slidesGrid.length;y+=g.params.slidesPerGroup)"undefined"!=typeof g.slidesGrid[y+g.params.slidesPerGroup]?n>=g.slidesGrid[y]&&n<g.slidesGrid[y+g.params.slidesPerGroup]&&(S=y,k=g.slidesGrid[y+g.params.slidesPerGroup]-g.slidesGrid[y]):n>=g.slidesGrid[y]&&(S=y,k=g.slidesGrid[g.slidesGrid.length-1]-g.slidesGrid[g.slidesGrid.length-2]);var A=(n-g.slidesGrid[S])/k;if(i>g.params.longSwipesMs){if(!g.params.longSwipes)return void g.slideTo(g.activeIndex);"next"===g.swipeDirection&&(A>=g.params.longSwipesRatio?g.slideTo(S+g.params.slidesPerGroup):g.slideTo(S)),"prev"===g.swipeDirection&&(A>1-g.params.longSwipesRatio?g.slideTo(S+g.params.slidesPerGroup):g.slideTo(S))}else{if(!g.params.shortSwipes)return void g.slideTo(g.activeIndex);"next"===g.swipeDirection&&g.slideTo(S+g.params.slidesPerGroup),"prev"===g.swipeDirection&&g.slideTo(S)}}},g._slideTo=function(e,t){return g.slideTo(e,t,!0,!0)},g.slideTo=function(e,t,i,n){"undefined"==typeof i&&(i=!0),"undefined"==typeof e&&(e=0),0>e&&(e=0),g.snapIndex=Math.floor(e/g.params.slidesPerGroup),g.snapIndex>=g.snapGrid.length&&(g.snapIndex=g.snapGrid.length-1);var s=-g.snapGrid[g.snapIndex];if(!g.params.allowSwipeToNext&&s<g.translate&&s<g.minTranslate())return!1;if(!g.params.allowSwipeToPrev&&s>g.translate&&s>g.maxTranslate())return!1;g.params.autoplay&&g.autoplaying&&(n||!g.params.autoplayDisableOnInteraction?g.pauseAutoplay(t):g.stopAutoplay()),g.updateProgress(s);for(var o=0;o<g.slidesGrid.length;o++)-s>=g.slidesGrid[o]&&(e=o);if("undefined"==typeof t&&(t=g.params.speed),g.previousIndex=g.activeIndex||0,g.activeIndex=e,s===g.translate)return g.updateClasses(),!1;g.updateClasses(),g.onTransitionStart(i);r()?s:0,r()?0:s;return 0===t?(g.setWrapperTransition(0),g.setWrapperTranslate(s),g.onTransitionEnd(i)):(g.setWrapperTransition(t),g.setWrapperTranslate(s),g.animating||(g.animating=!0,g.wrapper.transitionEnd(function(){g&&g.onTransitionEnd(i)}))),!0},g.onTransitionStart=function(e){"undefined"==typeof e&&(e=!0),g.lazy&&g.lazy.onTransitionStart(),e&&(g.emit("onTransitionStart",g),g.activeIndex!==g.previousIndex&&g.emit("onSlideChangeStart",g))},g.onTransitionEnd=function(e){g.animating=!1,g.setWrapperTransition(0),"undefined"==typeof e&&(e=!0),g.lazy&&g.lazy.onTransitionEnd(),e&&(g.emit("onTransitionEnd",g),g.activeIndex!==g.previousIndex&&g.emit("onSlideChangeEnd",g)),g.params.hashnav&&g.hashnav&&g.hashnav.setHash()},g.slideNext=function(e,t,i){if(g.params.loop){if(g.animating)return!1;g.fixLoop();g.container[0].clientLeft;return g.slideTo(g.activeIndex+g.params.slidesPerGroup,t,e,i)}return g.slideTo(g.activeIndex+g.params.slidesPerGroup,t,e,i)},g._slideNext=function(e){return g.slideNext(!0,e,!0)},g.slidePrev=function(e,t,i){if(g.params.loop){if(g.animating)return!1;g.fixLoop();g.container[0].clientLeft;return g.slideTo(g.activeIndex-1,t,e,i)}return g.slideTo(g.activeIndex-1,t,e,i)},g._slidePrev=function(e){return g.slidePrev(!0,e,!0)},g.slideReset=function(e,t,i){return g.slideTo(g.activeIndex,t,e)},g.setWrapperTransition=function(e,t){g.wrapper.transition(e),"slide"!==g.params.effect&&g.effects[g.params.effect]&&g.effects[g.params.effect].setTransition(e),g.params.parallax&&g.parallax&&g.parallax.setTransition(e),g.params.scrollbar&&g.scrollbar&&g.scrollbar.setTransition(e),g.params.control&&g.controller&&g.controller.setTransition(e,t),g.emit("onSetTransition",g,e)},g.setWrapperTranslate=function(e,t,i){var n=0,s=0,o=0;r()?n=g.rtl?-e:e:s=e,g.params.virtualTranslate||(g.support.transforms3d?g.wrapper.transform("translate3d("+n+"px, "+s+"px, "+o+"px)"):g.wrapper.transform("translate("+n+"px, "+s+"px)")),g.translate=r()?n:s,t&&g.updateActiveIndex(),"slide"!==g.params.effect&&g.effects[g.params.effect]&&g.effects[g.params.effect].setTranslate(g.translate),g.params.parallax&&g.parallax&&g.parallax.setTranslate(g.translate),g.params.scrollbar&&g.scrollbar&&g.scrollbar.setTranslate(g.translate),g.params.control&&g.controller&&g.controller.setTranslate(g.translate,i),g.emit("onSetTranslate",g,g.translate)},g.getTranslate=function(e,t){var i,n,r,s;return"undefined"==typeof t&&(t="x"),g.params.virtualTranslate?g.rtl?-g.translate:g.translate:(r=window.getComputedStyle(e,null),window.WebKitCSSMatrix?s=new window.WebKitCSSMatrix("none"===r.webkitTransform?"":r.webkitTransform):(s=r.MozTransform||r.OTransform||r.MsTransform||r.msTransform||r.transform||r.getPropertyValue("transform").replace("translate(","matrix(1, 0, 0, 1,"),i=s.toString().split(",")),"x"===t&&(n=window.WebKitCSSMatrix?s.m41:16===i.length?parseFloat(i[12]):parseFloat(i[4])),"y"===t&&(n=window.WebKitCSSMatrix?s.m42:16===i.length?parseFloat(i[13]):parseFloat(i[5])),g.rtl&&n&&(n=-n),n||0)},g.getWrapperTranslate=function(e){return"undefined"==typeof e&&(e=r()?"x":"y"),g.getTranslate(g.wrapper[0],e)},g.observers=[],g.initObservers=function(){if(g.params.observeParents)for(var e=g.container.parents(),t=0;t<e.length;t++)a(e[t]);a(g.container[0],{childList:!1}),a(g.wrapper[0],{attributes:!1})},g.disconnectObservers=function(){for(var e=0;e<g.observers.length;e++)g.observers[e].disconnect();g.observers=[]},g.createLoop=function(){g.wrapper.children("."+g.params.slideClass+"."+g.params.slideDuplicateClass).remove();var e=g.wrapper.children("."+g.params.slideClass);g.loopedSlides=parseInt(g.params.loopedSlides||g.params.slidesPerView,10),g.loopedSlides=g.loopedSlides+g.params.loopAdditionalSlides,g.loopedSlides>e.length&&(g.loopedSlides=e.length);var t,i=[],n=[];for(e.each(function(t,r){var s=v(this);t<g.loopedSlides&&n.push(r),t<e.length&&t>=e.length-g.loopedSlides&&i.push(r),s.attr("data-swiper-slide-index",t)}),t=0;t<n.length;t++)g.wrapper.append(v(n[t].cloneNode(!0)).addClass(g.params.slideDuplicateClass));for(t=i.length-1;t>=0;t--)g.wrapper.prepend(v(i[t].cloneNode(!0)).addClass(g.params.slideDuplicateClass))},g.destroyLoop=function(){g.wrapper.children("."+g.params.slideClass+"."+g.params.slideDuplicateClass).remove(),g.slides.removeAttr("data-swiper-slide-index")},g.fixLoop=function(){var e;g.activeIndex<g.loopedSlides?(e=g.slides.length-3*g.loopedSlides+g.activeIndex,e+=g.loopedSlides,g.slideTo(e,0,!1,!0)):("auto"===g.params.slidesPerView&&g.activeIndex>=2*g.loopedSlides||g.activeIndex>g.slides.length-2*g.params.slidesPerView)&&(e=-g.slides.length+g.activeIndex+g.loopedSlides,e+=g.loopedSlides,g.slideTo(e,0,!1,!0))},g.appendSlide=function(e){if(g.params.loop&&g.destroyLoop(),"object"==typeof e&&e.length)for(var t=0;t<e.length;t++)e[t]&&g.wrapper.append(e[t]);else g.wrapper.append(e);g.params.loop&&g.createLoop(),g.params.observer&&g.support.observer||g.update(!0)},g.prependSlide=function(e){g.params.loop&&g.destroyLoop();var t=g.activeIndex+1;if("object"==typeof e&&e.length){for(var i=0;i<e.length;i++)e[i]&&g.wrapper.prepend(e[i]);t=g.activeIndex+e.length}else g.wrapper.prepend(e);g.params.loop&&g.createLoop(),g.params.observer&&g.support.observer||g.update(!0),g.slideTo(t,0,!1)},g.removeSlide=function(e){g.params.loop&&(g.destroyLoop(), +g.slides=g.wrapper.children("."+g.params.slideClass));var t,i=g.activeIndex;if("object"==typeof e&&e.length){for(var n=0;n<e.length;n++)t=e[n],g.slides[t]&&g.slides.eq(t).remove(),i>t&&i--;i=Math.max(i,0)}else t=e,g.slides[t]&&g.slides.eq(t).remove(),i>t&&i--,i=Math.max(i,0);g.params.loop&&g.createLoop(),g.params.observer&&g.support.observer||g.update(!0),g.params.loop?g.slideTo(i+g.loopedSlides,0,!1):g.slideTo(i,0,!1)},g.removeAllSlides=function(){for(var e=[],t=0;t<g.slides.length;t++)e.push(t);g.removeSlide(e)},g.effects={fade:{setTranslate:function(){for(var e=0;e<g.slides.length;e++){var t=g.slides.eq(e),i=t[0].swiperSlideOffset,n=-i;g.params.virtualTranslate||(n-=g.translate);var s=0;r()||(s=n,n=0);var o=g.params.fade.crossFade?Math.max(1-Math.abs(t[0].progress),0):1+Math.min(Math.max(t[0].progress,-1),0);t.css({opacity:o}).transform("translate3d("+n+"px, "+s+"px, 0px)")}},setTransition:function(e){if(g.slides.transition(e),g.params.virtualTranslate&&0!==e){var t=!1;g.slides.transitionEnd(function(){if(!t&&g){t=!0,g.animating=!1;for(var e=["webkitTransitionEnd","transitionend","oTransitionEnd","MSTransitionEnd","msTransitionEnd"],i=0;i<e.length;i++)g.wrapper.trigger(e[i])}})}}},cube:{setTranslate:function(){var e,t=0;g.params.cube.shadow&&(r()?(e=g.wrapper.find(".swiper-cube-shadow"),0===e.length&&(e=v('<div class="swiper-cube-shadow"></div>'),g.wrapper.append(e)),e.css({height:g.width+"px"})):(e=g.container.find(".swiper-cube-shadow"),0===e.length&&(e=v('<div class="swiper-cube-shadow"></div>'),g.container.append(e))));for(var i=0;i<g.slides.length;i++){var n=g.slides.eq(i),s=90*i,o=Math.floor(s/360);g.rtl&&(s=-s,o=Math.floor(-s/360));var a=Math.max(Math.min(n[0].progress,1),-1),l=0,c=0,u=0;i%4===0?(l=4*-o*g.size,u=0):(i-1)%4===0?(l=0,u=4*-o*g.size):(i-2)%4===0?(l=g.size+4*o*g.size,u=g.size):(i-3)%4===0&&(l=-g.size,u=3*g.size+4*g.size*o),g.rtl&&(l=-l),r()||(c=l,l=0);var p="rotateX("+(r()?0:-s)+"deg) rotateY("+(r()?s:0)+"deg) translate3d("+l+"px, "+c+"px, "+u+"px)";if(1>=a&&a>-1&&(t=90*i+90*a,g.rtl&&(t=90*-i-90*a)),n.transform(p),g.params.cube.slideShadows){var h=r()?n.find(".swiper-slide-shadow-left"):n.find(".swiper-slide-shadow-top"),d=r()?n.find(".swiper-slide-shadow-right"):n.find(".swiper-slide-shadow-bottom");0===h.length&&(h=v('<div class="swiper-slide-shadow-'+(r()?"left":"top")+'"></div>'),n.append(h)),0===d.length&&(d=v('<div class="swiper-slide-shadow-'+(r()?"right":"bottom")+'"></div>'),n.append(d));n[0].progress;h.length&&(h[0].style.opacity=-n[0].progress),d.length&&(d[0].style.opacity=n[0].progress)}}if(g.wrapper.css({"-webkit-transform-origin":"50% 50% -"+g.size/2+"px","-moz-transform-origin":"50% 50% -"+g.size/2+"px","-ms-transform-origin":"50% 50% -"+g.size/2+"px","transform-origin":"50% 50% -"+g.size/2+"px"}),g.params.cube.shadow)if(r())e.transform("translate3d(0px, "+(g.width/2+g.params.cube.shadowOffset)+"px, "+-g.width/2+"px) rotateX(90deg) rotateZ(0deg) scale("+g.params.cube.shadowScale+")");else{var f=Math.abs(t)-90*Math.floor(Math.abs(t)/90),m=1.5-(Math.sin(2*f*Math.PI/360)/2+Math.cos(2*f*Math.PI/360)/2),y=g.params.cube.shadowScale,w=g.params.cube.shadowScale/m,b=g.params.cube.shadowOffset;e.transform("scale3d("+y+", 1, "+w+") translate3d(0px, "+(g.height/2+b)+"px, "+-g.height/2/w+"px) rotateX(-90deg)")}var x=g.isSafari||g.isUiWebView?-g.size/2:0;g.wrapper.transform("translate3d(0px,0,"+x+"px) rotateX("+(r()?0:t)+"deg) rotateY("+(r()?-t:0)+"deg)")},setTransition:function(e){g.slides.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e),g.params.cube.shadow&&!r()&&g.container.find(".swiper-cube-shadow").transition(e)}},coverflow:{setTranslate:function(){for(var e=g.translate,t=r()?-e+g.width/2:-e+g.height/2,i=r()?g.params.coverflow.rotate:-g.params.coverflow.rotate,n=g.params.coverflow.depth,s=0,o=g.slides.length;o>s;s++){var a=g.slides.eq(s),l=g.slidesSizesGrid[s],c=a[0].swiperSlideOffset,u=(t-c-l/2)/l*g.params.coverflow.modifier,p=r()?i*u:0,h=r()?0:i*u,d=-n*Math.abs(u),f=r()?0:g.params.coverflow.stretch*u,m=r()?g.params.coverflow.stretch*u:0;Math.abs(m)<.001&&(m=0),Math.abs(f)<.001&&(f=0),Math.abs(d)<.001&&(d=0),Math.abs(p)<.001&&(p=0),Math.abs(h)<.001&&(h=0);var y="translate3d("+m+"px,"+f+"px,"+d+"px) rotateX("+h+"deg) rotateY("+p+"deg)";if(a.transform(y),a[0].style.zIndex=-Math.abs(Math.round(u))+1,g.params.coverflow.slideShadows){var w=r()?a.find(".swiper-slide-shadow-left"):a.find(".swiper-slide-shadow-top"),b=r()?a.find(".swiper-slide-shadow-right"):a.find(".swiper-slide-shadow-bottom");0===w.length&&(w=v('<div class="swiper-slide-shadow-'+(r()?"left":"top")+'"></div>'),a.append(w)),0===b.length&&(b=v('<div class="swiper-slide-shadow-'+(r()?"right":"bottom")+'"></div>'),a.append(b)),w.length&&(w[0].style.opacity=u>0?u:0),b.length&&(b[0].style.opacity=-u>0?-u:0)}}if(g.browser.ie){var x=g.wrapper[0].style;x.perspectiveOrigin=t+"px 50%"}},setTransition:function(e){g.slides.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e)}}},g.lazy={initialImageLoaded:!1,loadImageInSlide:function(e,t){if("undefined"!=typeof e&&("undefined"==typeof t&&(t=!0),0!==g.slides.length)){var i=g.slides.eq(e),n=i.find(".swiper-lazy:not(.swiper-lazy-loaded):not(.swiper-lazy-loading)");!i.hasClass("swiper-lazy")||i.hasClass("swiper-lazy-loaded")||i.hasClass("swiper-lazy-loading")||n.add(i[0]),0!==n.length&&n.each(function(){var e=v(this);e.addClass("swiper-lazy-loading");var n=e.attr("data-background"),r=e.attr("data-src");g.loadImage(e[0],r||n,!1,function(){if(n?(e.css("background-image","url("+n+")"),e.removeAttr("data-background")):(e.attr("src",r),e.removeAttr("data-src")),e.addClass("swiper-lazy-loaded").removeClass("swiper-lazy-loading"),i.find(".swiper-lazy-preloader, .preloader").remove(),g.params.loop&&t){var s=i.attr("data-swiper-slide-index");if(i.hasClass(g.params.slideDuplicateClass)){var o=g.wrapper.children('[data-swiper-slide-index="'+s+'"]:not(.'+g.params.slideDuplicateClass+")");g.lazy.loadImageInSlide(o.index(),!1)}else{var a=g.wrapper.children("."+g.params.slideDuplicateClass+'[data-swiper-slide-index="'+s+'"]');g.lazy.loadImageInSlide(a.index(),!1)}}g.emit("onLazyImageReady",g,i[0],e[0])}),g.emit("onLazyImageLoad",g,i[0],e[0])})}},load:function(){var e;if(g.params.watchSlidesVisibility)g.wrapper.children("."+g.params.slideVisibleClass).each(function(){g.lazy.loadImageInSlide(v(this).index())});else if(g.params.slidesPerView>1)for(e=g.activeIndex;e<g.activeIndex+g.params.slidesPerView;e++)g.slides[e]&&g.lazy.loadImageInSlide(e);else g.lazy.loadImageInSlide(g.activeIndex);if(g.params.lazyLoadingInPrevNext)if(g.params.slidesPerView>1){for(e=g.activeIndex+g.params.slidesPerView;e<g.activeIndex+g.params.slidesPerView+g.params.slidesPerView;e++)g.slides[e]&&g.lazy.loadImageInSlide(e);for(e=g.activeIndex-g.params.slidesPerView;e<g.activeIndex;e++)g.slides[e]&&g.lazy.loadImageInSlide(e)}else{var t=g.wrapper.children("."+g.params.slideNextClass);t.length>0&&g.lazy.loadImageInSlide(t.index());var i=g.wrapper.children("."+g.params.slidePrevClass);i.length>0&&g.lazy.loadImageInSlide(i.index())}},onTransitionStart:function(){g.params.lazyLoading&&(g.params.lazyLoadingOnTransitionStart||!g.params.lazyLoadingOnTransitionStart&&!g.lazy.initialImageLoaded)&&g.lazy.load()},onTransitionEnd:function(){g.params.lazyLoading&&!g.params.lazyLoadingOnTransitionStart&&g.lazy.load()}},g.scrollbar={set:function(){if(g.params.scrollbar){var e=g.scrollbar;e.track=v(g.params.scrollbar),e.drag=e.track.find(".swiper-scrollbar-drag"),0===e.drag.length&&(e.drag=v('<div class="swiper-scrollbar-drag"></div>'),e.track.append(e.drag)),e.drag[0].style.width="",e.drag[0].style.height="",e.trackSize=r()?e.track[0].offsetWidth:e.track[0].offsetHeight,e.divider=g.size/g.virtualSize,e.moveDivider=e.divider*(e.trackSize/g.size),e.dragSize=e.trackSize*e.divider,r()?e.drag[0].style.width=e.dragSize+"px":e.drag[0].style.height=e.dragSize+"px",e.divider>=1?e.track[0].style.display="none":e.track[0].style.display="",g.params.scrollbarHide&&(e.track[0].style.opacity=0)}},setTranslate:function(){if(g.params.scrollbar){var e,t=g.scrollbar,i=(g.translate||0,t.dragSize);e=(t.trackSize-t.dragSize)*g.progress,g.rtl&&r()?(e=-e,e>0?(i=t.dragSize-e,e=0):-e+t.dragSize>t.trackSize&&(i=t.trackSize+e)):0>e?(i=t.dragSize+e,e=0):e+t.dragSize>t.trackSize&&(i=t.trackSize-e),r()?(g.support.transforms3d?t.drag.transform("translate3d("+e+"px, 0, 0)"):t.drag.transform("translateX("+e+"px)"),t.drag[0].style.width=i+"px"):(g.support.transforms3d?t.drag.transform("translate3d(0px, "+e+"px, 0)"):t.drag.transform("translateY("+e+"px)"),t.drag[0].style.height=i+"px"),g.params.scrollbarHide&&(clearTimeout(t.timeout),t.track[0].style.opacity=1,t.timeout=setTimeout(function(){t.track[0].style.opacity=0,t.track.transition(400)},1e3))}},setTransition:function(e){g.params.scrollbar&&g.scrollbar.drag.transition(e)}},g.controller={setTranslate:function(e,i){function n(t){e=t.rtl&&"horizontal"===t.params.direction?-g.translate:g.translate,r=(t.maxTranslate()-t.minTranslate())/(g.maxTranslate()-g.minTranslate()),s=(e-g.minTranslate())*r+t.minTranslate(),g.params.controlInverse&&(s=t.maxTranslate()-s),t.updateProgress(s),t.setWrapperTranslate(s,!1,g),t.updateActiveIndex()}var r,s,o=g.params.control;if(g.isArray(o))for(var a=0;a<o.length;a++)o[a]!==i&&o[a]instanceof t&&n(o[a]);else o instanceof t&&i!==o&&n(o)},setTransition:function(e,i){function n(t){t.setWrapperTransition(e,g),0!==e&&(t.onTransitionStart(),t.wrapper.transitionEnd(function(){s&&t.onTransitionEnd()}))}var r,s=g.params.control;if(g.isArray(s))for(r=0;r<s.length;r++)s[r]!==i&&s[r]instanceof t&&n(s[r]);else s instanceof t&&i!==s&&n(s)}},g.hashnav={init:function(){if(g.params.hashnav){g.hashnav.initialized=!0;var e=document.location.hash.replace("#","");if(e)for(var t=0,i=0,n=g.slides.length;n>i;i++){var r=g.slides.eq(i),s=r.attr("data-hash");if(s===e&&!r.hasClass(g.params.slideDuplicateClass)){var o=r.index();g.slideTo(o,t,g.params.runCallbacksOnInit,!0)}}}},setHash:function(){g.hashnav.initialized&&g.params.hashnav&&(document.location.hash=g.slides.eq(g.activeIndex).attr("data-hash")||"")}},g.disableKeyboardControl=function(){v(document).off("keydown",l)},g.enableKeyboardControl=function(){v(document).on("keydown",l)},g.mousewheel={event:!1,lastScrollTime:(new window.Date).getTime()},g.params.mousewheelControl){if(void 0!==document.onmousewheel&&(g.mousewheel.event="mousewheel"),!g.mousewheel.event)try{new window.WheelEvent("wheel"),g.mousewheel.event="wheel"}catch(N){}g.mousewheel.event||(g.mousewheel.event="DOMMouseScroll")}g.disableMousewheelControl=function(){return g.mousewheel.event?(g.container.off(g.mousewheel.event,c),!0):!1},g.enableMousewheelControl=function(){return g.mousewheel.event?(g.container.on(g.mousewheel.event,c),!0):!1},g.parallax={setTranslate:function(){g.container.children("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]").each(function(){u(this,g.progress)}),g.slides.each(function(){var e=v(this);e.find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]").each(function(){var t=Math.min(Math.max(e[0].progress,-1),1);u(this,t)})})},setTransition:function(e){"undefined"==typeof e&&(e=g.params.speed),g.container.find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]").each(function(){var t=v(this),i=parseInt(t.attr("data-swiper-parallax-duration"),10)||e;0===e&&(i=0),t.transition(i)})}},g._plugins=[];for(var I in g.plugins){var z=g.plugins[I](g,g.params[I]);z&&g._plugins.push(z)}return g.callPlugins=function(e){for(var t=0;t<g._plugins.length;t++)e in g._plugins[t]&&g._plugins[t][e](arguments[1],arguments[2],arguments[3],arguments[4],arguments[5])},g.emitterEventListeners={},g.emit=function(e){g.params[e]&&g.params[e](arguments[1],arguments[2],arguments[3],arguments[4],arguments[5]);var t;if(g.emitterEventListeners[e])for(t=0;t<g.emitterEventListeners[e].length;t++)g.emitterEventListeners[e][t](arguments[1],arguments[2],arguments[3],arguments[4],arguments[5]);g.callPlugins&&g.callPlugins(e,arguments[1],arguments[2],arguments[3],arguments[4],arguments[5])},g.on=function(e,t){return e=p(e),g.emitterEventListeners[e]||(g.emitterEventListeners[e]=[]),g.emitterEventListeners[e].push(t),g},g.off=function(e,t){var i;if(e=p(e),"undefined"==typeof t)return g.emitterEventListeners[e]=[],g;if(g.emitterEventListeners[e]&&0!==g.emitterEventListeners[e].length){for(i=0;i<g.emitterEventListeners[e].length;i++)g.emitterEventListeners[e][i]===t&&g.emitterEventListeners[e].splice(i,1);return g}},g.once=function(e,t){e=p(e);var i=function(){t(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4]),g.off(e,i)};return g.on(e,i),g},g.a11y={makeFocusable:function(e){return e[0].tabIndex="0",e},addRole:function(e,t){return e.attr("role",t),e},addLabel:function(e,t){return e.attr("aria-label",t),e},disable:function(e){return e.attr("aria-disabled",!0),e},enable:function(e){return e.attr("aria-disabled",!1),e},onEnterKey:function(e){13===e.keyCode&&(v(e.target).is(g.params.nextButton)?(g.onClickNext(e),g.isEnd?g.a11y.notify(g.params.lastSlideMsg):g.a11y.notify(g.params.nextSlideMsg)):v(e.target).is(g.params.prevButton)&&(g.onClickPrev(e),g.isBeginning?g.a11y.notify(g.params.firstSlideMsg):g.a11y.notify(g.params.prevSlideMsg)))},liveRegion:v('<span class="swiper-notification" aria-live="assertive" aria-atomic="true"></span>'),notify:function(e){var t=g.a11y.liveRegion;0!==t.length&&(t.html(""),t.html(e))},init:function(){if(g.params.nextButton){var e=v(g.params.nextButton);g.a11y.makeFocusable(e),g.a11y.addRole(e,"button"),g.a11y.addLabel(e,g.params.nextSlideMsg)}if(g.params.prevButton){var t=v(g.params.prevButton);g.a11y.makeFocusable(t),g.a11y.addRole(t,"button"),g.a11y.addLabel(t,g.params.prevSlideMsg)}v(g.container).append(g.a11y.liveRegion)},destroy:function(){g.a11y.liveRegion&&g.a11y.liveRegion.length>0&&g.a11y.liveRegion.remove()}},g.init=function(){g.params.loop&&g.createLoop(),g.updateContainerSize(),g.updateSlidesSize(),g.updatePagination(),g.params.scrollbar&&g.scrollbar&&g.scrollbar.set(),"slide"!==g.params.effect&&g.effects[g.params.effect]&&(g.params.loop||g.updateProgress(),g.effects[g.params.effect].setTranslate()),g.params.loop?g.slideTo(g.params.initialSlide+g.loopedSlides,0,g.params.runCallbacksOnInit):(g.slideTo(g.params.initialSlide,0,g.params.runCallbacksOnInit),0===g.params.initialSlide&&(g.parallax&&g.params.parallax&&g.parallax.setTranslate(),g.lazy&&g.params.lazyLoading&&(g.lazy.load(),g.lazy.initialImageLoaded=!0))),g.attachEvents(),g.params.observer&&g.support.observer&&g.initObservers(),g.params.preloadImages&&!g.params.lazyLoading&&g.preloadImages(),g.params.autoplay&&g.startAutoplay(),g.params.keyboardControl&&g.enableKeyboardControl&&g.enableKeyboardControl(),g.params.mousewheelControl&&g.enableMousewheelControl&&g.enableMousewheelControl(),g.params.hashnav&&g.hashnav&&g.hashnav.init(),g.params.a11y&&g.a11y&&g.a11y.init(),g.emit("onInit",g)},g.cleanupStyles=function(){g.container.removeClass(g.classNames.join(" ")).removeAttr("style"),g.wrapper.removeAttr("style"),g.slides&&g.slides.length&&g.slides.removeClass([g.params.slideVisibleClass,g.params.slideActiveClass,g.params.slideNextClass,g.params.slidePrevClass].join(" ")).removeAttr("style").removeAttr("data-swiper-column").removeAttr("data-swiper-row"),g.paginationContainer&&g.paginationContainer.length&&g.paginationContainer.removeClass(g.params.paginationHiddenClass),g.bullets&&g.bullets.length&&g.bullets.removeClass(g.params.bulletActiveClass),g.params.prevButton&&v(g.params.prevButton).removeClass(g.params.buttonDisabledClass),g.params.nextButton&&v(g.params.nextButton).removeClass(g.params.buttonDisabledClass),g.params.scrollbar&&g.scrollbar&&(g.scrollbar.track&&g.scrollbar.track.length&&g.scrollbar.track.removeAttr("style"),g.scrollbar.drag&&g.scrollbar.drag.length&&g.scrollbar.drag.removeAttr("style"))},g.destroy=function(e,t){g.detachEvents(),g.stopAutoplay(),g.params.loop&&g.destroyLoop(),t&&g.cleanupStyles(),g.disconnectObservers(),g.params.keyboardControl&&g.disableKeyboardControl&&g.disableKeyboardControl(),g.params.mousewheelControl&&g.disableMousewheelControl&&g.disableMousewheelControl(),g.params.a11y&&g.a11y&&g.a11y.destroy(),g.emit("onDestroy"),e!==!1&&(g=null)},g.init(),g}};t.prototype={isSafari:function(){var e=navigator.userAgent.toLowerCase();return e.indexOf("safari")>=0&&e.indexOf("chrome")<0&&e.indexOf("android")<0}(),isUiWebView:/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(navigator.userAgent),isArray:function(e){return"[object Array]"===Object.prototype.toString.apply(e)},browser:{ie:window.navigator.pointerEnabled||window.navigator.msPointerEnabled,ieTouch:window.navigator.msPointerEnabled&&window.navigator.msMaxTouchPoints>1||window.navigator.pointerEnabled&&window.navigator.maxTouchPoints>1},device:function(){var e=navigator.userAgent,t=e.match(/(Android);?[\s\/]+([\d.]+)?/),i=e.match(/(iPad).*OS\s([\d_]+)/),n=(e.match(/(iPod)(.*OS\s([\d_]+))?/),!i&&e.match(/(iPhone\sOS)\s([\d_]+)/));return{ios:i||n||i,android:t}}(),support:{touch:window.Modernizr&&Modernizr.touch===!0||function(){return!!("ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch)}(),transforms3d:window.Modernizr&&Modernizr.csstransforms3d===!0||function(){var e=document.createElement("div").style;return"webkitPerspective"in e||"MozPerspective"in e||"OPerspective"in e||"MsPerspective"in e||"perspective"in e}(),flexbox:function(){for(var e=document.createElement("div").style,t="alignItems webkitAlignItems webkitBoxAlign msFlexAlign mozBoxAlign webkitFlexDirection msFlexDirection mozBoxDirection mozBoxOrient webkitBoxDirection webkitBoxOrient".split(" "),i=0;i<t.length;i++)if(t[i]in e)return!0}(),observer:function(){return"MutationObserver"in window||"WebkitMutationObserver"in window}()},plugins:{}};for(var i=(function(){var e=function(e){var t=this,i=0;for(i=0;i<e.length;i++)t[i]=e[i];return t.length=e.length,this},t=function(t,i){var n=[],r=0;if(t&&!i&&t instanceof e)return t;if(t)if("string"==typeof t){var s,o,a=t.trim();if(a.indexOf("<")>=0&&a.indexOf(">")>=0){var l="div";for(0===a.indexOf("<li")&&(l="ul"),0===a.indexOf("<tr")&&(l="tbody"),0!==a.indexOf("<td")&&0!==a.indexOf("<th")||(l="tr"),0===a.indexOf("<tbody")&&(l="table"),0===a.indexOf("<option")&&(l="select"),o=document.createElement(l),o.innerHTML=t,r=0;r<o.childNodes.length;r++)n.push(o.childNodes[r])}else for(s=i||"#"!==t[0]||t.match(/[ .<>:~]/)?(i||document).querySelectorAll(t):[document.getElementById(t.split("#")[1])],r=0;r<s.length;r++)s[r]&&n.push(s[r])}else if(t.nodeType||t===window||t===document)n.push(t);else if(t.length>0&&t[0].nodeType)for(r=0;r<t.length;r++)n.push(t[r]);return new e(n)};return e.prototype={addClass:function(e){if("undefined"==typeof e)return this;for(var t=e.split(" "),i=0;i<t.length;i++)for(var n=0;n<this.length;n++)this[n].classList.add(t[i]);return this},removeClass:function(e){for(var t=e.split(" "),i=0;i<t.length;i++)for(var n=0;n<this.length;n++)this[n].classList.remove(t[i]);return this},hasClass:function(e){return this[0]?this[0].classList.contains(e):!1},toggleClass:function(e){for(var t=e.split(" "),i=0;i<t.length;i++)for(var n=0;n<this.length;n++)this[n].classList.toggle(t[i]);return this},attr:function(e,t){if(1===arguments.length&&"string"==typeof e)return this[0]?this[0].getAttribute(e):void 0;for(var i=0;i<this.length;i++)if(2===arguments.length)this[i].setAttribute(e,t);else for(var n in e)this[i][n]=e[n],this[i].setAttribute(n,e[n]);return this},removeAttr:function(e){for(var t=0;t<this.length;t++)this[t].removeAttribute(e);return this},data:function(e,t){if("undefined"!=typeof t){for(var i=0;i<this.length;i++){var n=this[i];n.dom7ElementDataStorage||(n.dom7ElementDataStorage={}),n.dom7ElementDataStorage[e]=t}return this}if(this[0]){var r=this[0].getAttribute("data-"+e);return r?r:this[0].dom7ElementDataStorage&&e in this[0].dom7ElementDataStorage?this[0].dom7ElementDataStorage[e]:void 0}},transform:function(e){for(var t=0;t<this.length;t++){var i=this[t].style;i.webkitTransform=i.MsTransform=i.msTransform=i.MozTransform=i.OTransform=i.transform=e}return this},transition:function(e){"string"!=typeof e&&(e+="ms");for(var t=0;t<this.length;t++){var i=this[t].style;i.webkitTransitionDuration=i.MsTransitionDuration=i.msTransitionDuration=i.MozTransitionDuration=i.OTransitionDuration=i.transitionDuration=e}return this},on:function(e,i,n,r){function s(e){var r=e.target;if(t(r).is(i))n.call(r,e);else for(var s=t(r).parents(),o=0;o<s.length;o++)t(s[o]).is(i)&&n.call(s[o],e)}var o,a,l=e.split(" ");for(o=0;o<this.length;o++)if("function"==typeof i||i===!1)for("function"==typeof i&&(n=arguments[1],r=arguments[2]||!1),a=0;a<l.length;a++)this[o].addEventListener(l[a],n,r);else for(a=0;a<l.length;a++)this[o].dom7LiveListeners||(this[o].dom7LiveListeners=[]),this[o].dom7LiveListeners.push({listener:n,liveListener:s}),this[o].addEventListener(l[a],s,r);return this},off:function(e,t,i,n){for(var r=e.split(" "),s=0;s<r.length;s++)for(var o=0;o<this.length;o++)if("function"==typeof t||t===!1)"function"==typeof t&&(i=arguments[1],n=arguments[2]||!1),this[o].removeEventListener(r[s],i,n);else if(this[o].dom7LiveListeners)for(var a=0;a<this[o].dom7LiveListeners.length;a++)this[o].dom7LiveListeners[a].listener===i&&this[o].removeEventListener(r[s],this[o].dom7LiveListeners[a].liveListener,n);return this},once:function(e,t,i,n){function r(o){i(o),s.off(e,t,r,n)}var s=this;"function"==typeof t&&(t=!1,i=arguments[1],n=arguments[2]),s.on(e,t,r,n)},trigger:function(e,t){for(var i=0;i<this.length;i++){var n;try{n=new window.CustomEvent(e,{detail:t,bubbles:!0,cancelable:!0})}catch(r){n=document.createEvent("Event"),n.initEvent(e,!0,!0),n.detail=t}this[i].dispatchEvent(n)}return this},transitionEnd:function(e){function t(s){if(s.target===this)for(e.call(this,s),i=0;i<n.length;i++)r.off(n[i],t)}var i,n=["webkitTransitionEnd","transitionend","oTransitionEnd","MSTransitionEnd","msTransitionEnd"],r=this;if(e)for(i=0;i<n.length;i++)r.on(n[i],t);return this},width:function(){return this[0]===window?window.innerWidth:this.length>0?parseFloat(this.css("width")):null},outerWidth:function(e){return this.length>0?e?this[0].offsetWidth+parseFloat(this.css("margin-right"))+parseFloat(this.css("margin-left")):this[0].offsetWidth:null},height:function(){return this[0]===window?window.innerHeight:this.length>0?parseFloat(this.css("height")):null},outerHeight:function(e){return this.length>0?e?this[0].offsetHeight+parseFloat(this.css("margin-top"))+parseFloat(this.css("margin-bottom")):this[0].offsetHeight:null},offset:function(){if(this.length>0){var e=this[0],t=e.getBoundingClientRect(),i=document.body,n=e.clientTop||i.clientTop||0,r=e.clientLeft||i.clientLeft||0,s=window.pageYOffset||e.scrollTop,o=window.pageXOffset||e.scrollLeft;return{top:t.top+s-n,left:t.left+o-r}}return null},css:function(e,t){var i;if(1===arguments.length){if("string"!=typeof e){for(i=0;i<this.length;i++)for(var n in e)this[i].style[n]=e[n];return this}if(this[0])return window.getComputedStyle(this[0],null).getPropertyValue(e)}if(2===arguments.length&&"string"==typeof e){for(i=0;i<this.length;i++)this[i].style[e]=t;return this}return this},each:function(e){for(var t=0;t<this.length;t++)e.call(this[t],t,this[t]);return this},html:function(e){if("undefined"==typeof e)return this[0]?this[0].innerHTML:void 0;for(var t=0;t<this.length;t++)this[t].innerHTML=e;return this},is:function(i){if(!this[0])return!1;var n,r;if("string"==typeof i){var s=this[0];if(s===document)return i===document;if(s===window)return i===window;if(s.matches)return s.matches(i);if(s.webkitMatchesSelector)return s.webkitMatchesSelector(i);if(s.mozMatchesSelector)return s.mozMatchesSelector(i);if(s.msMatchesSelector)return s.msMatchesSelector(i);for(n=t(i),r=0;r<n.length;r++)if(n[r]===this[0])return!0;return!1}if(i===document)return this[0]===document;if(i===window)return this[0]===window;if(i.nodeType||i instanceof e){for(n=i.nodeType?[i]:i,r=0;r<n.length;r++)if(n[r]===this[0])return!0;return!1}return!1},index:function(){if(this[0]){for(var e=this[0],t=0;null!==(e=e.previousSibling);)1===e.nodeType&&t++;return t}},eq:function(t){if("undefined"==typeof t)return this;var i,n=this.length;return t>n-1?new e([]):0>t?(i=n+t,new e(0>i?[]:[this[i]])):new e([this[t]])},append:function(t){var i,n;for(i=0;i<this.length;i++)if("string"==typeof t){var r=document.createElement("div");for(r.innerHTML=t;r.firstChild;)this[i].appendChild(r.firstChild)}else if(t instanceof e)for(n=0;n<t.length;n++)this[i].appendChild(t[n]);else this[i].appendChild(t);return this},prepend:function(t){var i,n;for(i=0;i<this.length;i++)if("string"==typeof t){var r=document.createElement("div");for(r.innerHTML=t,n=r.childNodes.length-1;n>=0;n--)this[i].insertBefore(r.childNodes[n],this[i].childNodes[0])}else if(t instanceof e)for(n=0;n<t.length;n++)this[i].insertBefore(t[n],this[i].childNodes[0]);else this[i].insertBefore(t,this[i].childNodes[0]);return this},insertBefore:function(e){for(var i=t(e),n=0;n<this.length;n++)if(1===i.length)i[0].parentNode.insertBefore(this[n],i[0]);else if(i.length>1)for(var r=0;r<i.length;r++)i[r].parentNode.insertBefore(this[n].cloneNode(!0),i[r])},insertAfter:function(e){for(var i=t(e),n=0;n<this.length;n++)if(1===i.length)i[0].parentNode.insertBefore(this[n],i[0].nextSibling);else if(i.length>1)for(var r=0;r<i.length;r++)i[r].parentNode.insertBefore(this[n].cloneNode(!0),i[r].nextSibling)},next:function(i){return new e(this.length>0?i?this[0].nextElementSibling&&t(this[0].nextElementSibling).is(i)?[this[0].nextElementSibling]:[]:this[0].nextElementSibling?[this[0].nextElementSibling]:[]:[])},nextAll:function(i){var n=[],r=this[0];if(!r)return new e([]);for(;r.nextElementSibling;){var s=r.nextElementSibling;i?t(s).is(i)&&n.push(s):n.push(s),r=s}return new e(n)},prev:function(i){return new e(this.length>0?i?this[0].previousElementSibling&&t(this[0].previousElementSibling).is(i)?[this[0].previousElementSibling]:[]:this[0].previousElementSibling?[this[0].previousElementSibling]:[]:[])},prevAll:function(i){var n=[],r=this[0];if(!r)return new e([]);for(;r.previousElementSibling;){var s=r.previousElementSibling;i?t(s).is(i)&&n.push(s):n.push(s),r=s}return new e(n)},parent:function(e){for(var i=[],n=0;n<this.length;n++)e?t(this[n].parentNode).is(e)&&i.push(this[n].parentNode):i.push(this[n].parentNode);return t(t.unique(i))},parents:function(e){for(var i=[],n=0;n<this.length;n++)for(var r=this[n].parentNode;r;)e?t(r).is(e)&&i.push(r):i.push(r),r=r.parentNode;return t(t.unique(i))},find:function(t){for(var i=[],n=0;n<this.length;n++)for(var r=this[n].querySelectorAll(t),s=0;s<r.length;s++)i.push(r[s]);return new e(i)},children:function(i){for(var n=[],r=0;r<this.length;r++)for(var s=this[r].childNodes,o=0;o<s.length;o++)i?1===s[o].nodeType&&t(s[o]).is(i)&&n.push(s[o]):1===s[o].nodeType&&n.push(s[o]);return new e(t.unique(n))},remove:function(){for(var e=0;e<this.length;e++)this[e].parentNode&&this[e].parentNode.removeChild(this[e]);return this},add:function(){var e,i,n=this;for(e=0;e<arguments.length;e++){var r=t(arguments[e]);for(i=0;i<r.length;i++)n[n.length]=r[i],n.length++}return n}},t.fn=e.prototype,t.unique=function(e){for(var t=[],i=0;i<e.length;i++)-1===t.indexOf(e[i])&&t.push(e[i]);return t},t}()),n=["jQuery","Zepto","Dom7"],r=0;r<n.length;r++)window[n[r]]&&e(window[n[r]]);var s;s="undefined"==typeof i?window.Dom7||window.Zepto||window.jQuery:i,s&&("transitionEnd"in s.fn||(s.fn.transitionEnd=function(e){function t(s){if(s.target===this)for(e.call(this,s),i=0;i<n.length;i++)r.off(n[i],t)}var i,n=["webkitTransitionEnd","transitionend","oTransitionEnd","MSTransitionEnd","msTransitionEnd"],r=this;if(e)for(i=0;i<n.length;i++)r.on(n[i],t);return this}),"transform"in s.fn||(s.fn.transform=function(e){for(var t=0;t<this.length;t++){var i=this[t].style;i.webkitTransform=i.MsTransform=i.msTransform=i.MozTransform=i.OTransform=i.transform=e}return this}),"transition"in s.fn||(s.fn.transition=function(e){"string"!=typeof e&&(e+="ms");for(var t=0;t<this.length;t++){var i=this[t].style;i.webkitTransitionDuration=i.MsTransitionDuration=i.msTransitionDuration=i.MozTransitionDuration=i.OTransitionDuration=i.transitionDuration=e}return this})),window.Swiper=t}(),"undefined"!=typeof i?i.exports=window.Swiper:"function"==typeof define&&define.amd&&define([],function(){"use strict";return window.Swiper})}),define("swiper.css.js",[],function(e,t,i){e("index")('.swiper-container{margin:0 auto;position:relative;overflow:hidden;z-index:1;}.swiper-container-no-flexbox .swiper-slide{float:left;}.swiper-container-vertical > .swiper-wrapper{-webkit-box-orient:vertical;-moz-box-orient:vertical;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-transform-style:preserve-3d;-moz-transform-style:preserve-3d;-ms-transform-style:preserve-3d;transform-style:preserve-3d;-webkit-transition-property:-webkit-transform;-moz-transition-property:-moz-transform;-o-transition-property:-o-transform;-ms-transition-property:-ms-transform;transition-property:transform;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;}.swiper-container-android .swiper-slide,.swiper-wrapper{-webkit-transform:translate3d(0px, 0, 0);-moz-transform:translate3d(0px, 0, 0);-o-transform:translate(0px, 0px);-ms-transform:translate3d(0px, 0, 0);transform:translate3d(0px, 0, 0);}.swiper-container-multirow > .swiper-wrapper{-webkit-box-lines:multiple;-moz-box-lines:multiple;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap;}.swiper-container-free-mode > .swiper-wrapper{-webkit-transition-timing-function:ease-out;-moz-transition-timing-function:ease-out;-ms-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;margin:0 auto;}.swiper-slide{-webkit-transform-style:preserve-3d;-moz-transform-style:preserve-3d;-ms-transform-style:preserve-3d;transform-style:preserve-3d;-webkit-flex-shrink:0;-ms-flex:0 0 auto;flex-shrink:0;width:100%;height:100%;position:relative;}.swiper-container .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000;}.swiper-wp8-horizontal{-ms-touch-action:pan-y;touch-action:pan-y;}.swiper-wp8-vertical{-ms-touch-action:pan-x;touch-action:pan-x;}.swiper-button-prev,.swiper-button-next{position:absolute;top:50%;width:27px;height:44px;margin-top:-22px;z-index:10;cursor:pointer;-moz-background-size:27px 44px;-webkit-background-size:27px 44px;background-size:27px 44px;background-position:center;background-repeat:no-repeat;}.swiper-button-prev.swiper-button-disabled,.swiper-button-next.swiper-button-disabled{opacity:0.35;cursor:auto;pointer-events:none;}.swiper-button-prev,.swiper-container-rtl .swiper-button-next{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D"http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg"%20viewBox%3D"0%200%2027%2044"%3E%3Cpath%20d%3D"M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z"%20fill%3D"%23007aff"%2F%3E%3C%2Fsvg%3E");left:10px;right:auto;}.swiper-button-prev.swiper-button-black,.swiper-container-rtl .swiper-button-next.swiper-button-black{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D"http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg"%20viewBox%3D"0%200%2027%2044"%3E%3Cpath%20d%3D"M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z"%20fill%3D"%23000000"%2F%3E%3C%2Fsvg%3E");}.swiper-button-prev.swiper-button-white,.swiper-container-rtl .swiper-button-next.swiper-button-white{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D"http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg"%20viewBox%3D"0%200%2027%2044"%3E%3Cpath%20d%3D"M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z"%20fill%3D"%23ffffff"%2F%3E%3C%2Fsvg%3E");}.swiper-button-next,.swiper-container-rtl .swiper-button-prev{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D"http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg"%20viewBox%3D"0%200%2027%2044"%3E%3Cpath%20d%3D"M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z"%20fill%3D"%23007aff"%2F%3E%3C%2Fsvg%3E");right:10px;left:auto;}.swiper-button-next.swiper-button-black,.swiper-container-rtl .swiper-button-prev.swiper-button-black{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D"http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg"%20viewBox%3D"0%200%2027%2044"%3E%3Cpath%20d%3D"M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z"%20fill%3D"%23000000"%2F%3E%3C%2Fsvg%3E");}.swiper-button-next.swiper-button-white,.swiper-container-rtl .swiper-button-prev.swiper-button-white{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D"http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg"%20viewBox%3D"0%200%2027%2044"%3E%3Cpath%20d%3D"M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z"%20fill%3D"%23ffffff"%2F%3E%3C%2Fsvg%3E");}.swiper-pagination{position:absolute;text-align:center;-webkit-transition:300ms;-moz-transition:300ms;-o-transition:300ms;transition:300ms;-webkit-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-o-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);z-index:10;}.swiper-pagination.swiper-pagination-hidden{opacity:0;}.swiper-pagination-bullet{width:8px;height:8px;display:inline-block;border-radius:100%;background:#000;opacity:0.2;}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer;}.swiper-pagination-white .swiper-pagination-bullet{background:#fff;}.swiper-pagination-bullet-active{opacity:1;background:#007aff;}.swiper-pagination-white .swiper-pagination-bullet-active{background:#fff;}.swiper-pagination-black .swiper-pagination-bullet-active{background:#000;}.swiper-container-vertical > .swiper-pagination{right:10px;top:50%;-webkit-transform:translate3d(0px, -50%, 0);-moz-transform:translate3d(0px, -50%, 0);-o-transform:translate(0px, -50%);-ms-transform:translate3d(0px, -50%, 0);transform:translate3d(0px, -50%, 0);}.swiper-container-vertical > .swiper-pagination .swiper-pagination-bullet{margin:5px 0;display:block;}.swiper-container-horizontal > .swiper-pagination{bottom:10px;left:0;width:100%;}.swiper-container-horizontal > .swiper-pagination .swiper-pagination-bullet{margin:0 5px;}.swiper-container-3d{-webkit-perspective:1200px;-moz-perspective:1200px;-o-perspective:1200px;perspective:1200px;}.swiper-container-3d .swiper-wrapper,.swiper-container-3d .swiper-slide,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top,.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-cube-shadow{-webkit-transform-style:preserve-3d;-moz-transform-style:preserve-3d;-ms-transform-style:preserve-3d;transform-style:preserve-3d;}.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top,.swiper-container-3d .swiper-slide-shadow-bottom{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10;}.swiper-container-3d .swiper-slide-shadow-left{background-image:-webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));background-image:-webkit-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:-moz-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:-o-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));}.swiper-container-3d .swiper-slide-shadow-right{background-image:-webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));background-image:-webkit-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:-moz-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:-o-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));}.swiper-container-3d .swiper-slide-shadow-top{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));background-image:-webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:-moz-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:-o-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));}.swiper-container-3d .swiper-slide-shadow-bottom{background-image:-webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));background-image:-webkit-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:-moz-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:-o-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));}.swiper-container-coverflow .swiper-wrapper{-ms-perspective:1200px;}.swiper-container-fade.swiper-container-free-mode .swiper-slide{-webkit-transition-timing-function:ease-out;-moz-transition-timing-function:ease-out;-ms-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;}.swiper-container-fade .swiper-slide{pointer-events:none;}.swiper-container-fade .swiper-slide .swiper-slide{pointer-events:none;}.swiper-container-fade .swiper-slide-active,.swiper-container-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto;}.swiper-container-cube{overflow:visible;}.swiper-container-cube .swiper-slide{pointer-events:none;visibility:hidden;-webkit-transform-origin:0 0;-moz-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;backface-visibility:hidden;width:100%;height:100%;}.swiper-container-cube.swiper-container-rtl .swiper-slide{-webkit-transform-origin:100% 0;-moz-transform-origin:100% 0;-ms-transform-origin:100% 0;transform-origin:100% 0;}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-next,.swiper-container-cube .swiper-slide-prev,.swiper-container-cube .swiper-slide-next + .swiper-slide{pointer-events:auto;visibility:visible;}.swiper-container-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0px;width:100%;height:100%;background:#000;opacity:0.6;-webkit-filter:blur(50px);filter:blur(50px);}.swiper-container-cube.swiper-container-vertical .swiper-cube-shadow{z-index:0;}.swiper-scrollbar{border-radius:10px;position:relative;-ms-touch-action:none;background:rgba(0, 0, 0, 0.1);}.swiper-container-horizontal > .swiper-scrollbar{position:absolute;left:1%;bottom:3px;z-index:50;height:5px;width:98%;}.swiper-container-vertical > .swiper-scrollbar{position:absolute;right:3px;top:1%;z-index:50;width:5px;height:98%;}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:rgba(0, 0, 0, 0.5);border-radius:10px;left:0;top:0;}.swiper-scrollbar-cursor-drag{cursor:move;}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;-webkit-transform-origin:50%;-moz-transform-origin:50%;transform-origin:50%;-webkit-animation:swiper-preloader-spin 1s steps(12, end) infinite;-moz-animation:swiper-preloader-spin 1s steps(12, end) infinite;animation:swiper-preloader-spin 1s steps(12, end) infinite;}.swiper-lazy-preloader:after{display:block;content:"";width:100%;height:100%;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D"0%200%20120%20120"%20xmlns%3D"http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg"%20xmlns%3Axlink%3D"http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink"%3E%3Cdefs%3E%3Cline%20id%3D"l"%20x1%3D"60"%20x2%3D"60"%20y1%3D"7"%20y2%3D"27"%20stroke%3D"%236c6c6c"%20stroke-width%3D"11"%20stroke-linecap%3D"round"%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D"%23l"%20opacity%3D".27"%2F%3E%3Cuse%20xlink%3Ahref%3D"%23l"%20opacity%3D".27"%20transform%3D"rotate(30%2060%2C60)"%2F%3E%3Cuse%20xlink%3Ahref%3D"%23l"%20opacity%3D".27"%20transform%3D"rotate(60%2060%2C60)"%2F%3E%3Cuse%20xlink%3Ahref%3D"%23l"%20opacity%3D".27"%20transform%3D"rotate(90%2060%2C60)"%2F%3E%3Cuse%20xlink%3Ahref%3D"%23l"%20opacity%3D".27"%20transform%3D"rotate(120%2060%2C60)"%2F%3E%3Cuse%20xlink%3Ahref%3D"%23l"%20opacity%3D".27"%20transform%3D"rotate(150%2060%2C60)"%2F%3E%3Cuse%20xlink%3Ahref%3D"%23l"%20opacity%3D".37"%20transform%3D"rotate(180%2060%2C60)"%2F%3E%3Cuse%20xlink%3Ahref%3D"%23l"%20opacity%3D".46"%20transform%3D"rotate(210%2060%2C60)"%2F%3E%3Cuse%20xlink%3Ahref%3D"%23l"%20opacity%3D".56"%20transform%3D"rotate(240%2060%2C60)"%2F%3E%3Cuse%20xlink%3Ahref%3D"%23l"%20opacity%3D".66"%20transform%3D"rotate(270%2060%2C60)"%2F%3E%3Cuse%20xlink%3Ahref%3D"%23l"%20opacity%3D".75"%20transform%3D"rotate(300%2060%2C60)"%2F%3E%3Cuse%20xlink%3Ahref%3D"%23l"%20opacity%3D".85"%20transform%3D"rotate(330%2060%2C60)"%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");background-position:50%;-webkit-background-size:100%;background-size:100%;background-repeat:no-repeat;}.swiper-lazy-preloader-white:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D"0%200%20120%20120"%20xmlns%3D"http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg"%20xmlns%3Axlink%3D"http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink"%3E%3Cdefs%3E%3Cline%20id%3D"l"%20x1%3D"60"%20x2%3D"60"%20y1%3D"7"%20y2%3D"27"%20stroke%3D"%23fff"%20stroke-width%3D"11"%20stroke-linecap%3D"round"%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D"%23l"%20opacity%3D".27"%2F%3E%3Cuse%20xlink%3Ahref%3D"%23l"%20opacity%3D".27"%20transform%3D"rotate(30%2060%2C60)"%2F%3E%3Cuse%20xlink%3Ahref%3D"%23l"%20opacity%3D".27"%20transform%3D"rotate(60%2060%2C60)"%2F%3E%3Cuse%20xlink%3Ahref%3D"%23l"%20opacity%3D".27"%20transform%3D"rotate(90%2060%2C60)"%2F%3E%3Cuse%20xlink%3Ahref%3D"%23l"%20opacity%3D".27"%20transform%3D"rotate(120%2060%2C60)"%2F%3E%3Cuse%20xlink%3Ahref%3D"%23l"%20opacity%3D".27"%20transform%3D"rotate(150%2060%2C60)"%2F%3E%3Cuse%20xlink%3Ahref%3D"%23l"%20opacity%3D".37"%20transform%3D"rotate(180%2060%2C60)"%2F%3E%3Cuse%20xlink%3Ahref%3D"%23l"%20opacity%3D".46"%20transform%3D"rotate(210%2060%2C60)"%2F%3E%3Cuse%20xlink%3Ahref%3D"%23l"%20opacity%3D".56"%20transform%3D"rotate(240%2060%2C60)"%2F%3E%3Cuse%20xlink%3Ahref%3D"%23l"%20opacity%3D".66"%20transform%3D"rotate(270%2060%2C60)"%2F%3E%3Cuse%20xlink%3Ahref%3D"%23l"%20opacity%3D".75"%20transform%3D"rotate(300%2060%2C60)"%2F%3E%3Cuse%20xlink%3Ahref%3D"%23l"%20opacity%3D".85"%20transform%3D"rotate(330%2060%2C60)"%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");}@-webkit-keyframes swiper-preloader-spin{100%{-webkit-transform:rotate(360deg);}}@keyframes swiper-preloader-spin{100%{transform:rotate(360deg);}}'); +}),define("iscroll-probe",[],function(e,t,i){!function(e,t,n){function r(e,i){this.wrapper="string"==typeof e?t.querySelector(e):e,this.scroller=this.wrapper.children[0],this.scrollerStyle=this.scroller.style,this.options={resizeScrollbars:!0,mouseWheelSpeed:20,snapThreshold:.334,startX:0,startY:0,scrollY:!0,directionLockThreshold:5,momentum:!0,bounce:!0,bounceTime:600,bounceEasing:"",preventDefault:!0,preventDefaultException:{tagName:/^(INPUT|TEXTAREA|BUTTON|SELECT)$/},HWCompositing:!0,useTransition:!0,useTransform:!0};for(var n in i)this.options[n]=i[n];this.translateZ=this.options.HWCompositing&&l.hasPerspective?" translateZ(0)":"",this.options.useTransition=l.hasTransition&&this.options.useTransition,this.options.useTransform=l.hasTransform&&this.options.useTransform,this.options.eventPassthrough=this.options.eventPassthrough===!0?"vertical":this.options.eventPassthrough,this.options.preventDefault=!this.options.eventPassthrough&&this.options.preventDefault,this.options.scrollY="vertical"==this.options.eventPassthrough?!1:this.options.scrollY,this.options.scrollX="horizontal"==this.options.eventPassthrough?!1:this.options.scrollX,this.options.freeScroll=this.options.freeScroll&&!this.options.eventPassthrough,this.options.directionLockThreshold=this.options.eventPassthrough?0:this.options.directionLockThreshold,this.options.bounceEasing="string"==typeof this.options.bounceEasing?l.ease[this.options.bounceEasing]||l.ease.circular:this.options.bounceEasing,this.options.resizePolling=void 0===this.options.resizePolling?60:this.options.resizePolling,this.options.tap===!0&&(this.options.tap="tap"),"scale"==this.options.shrinkScrollbars&&(this.options.useTransition=!1),this.options.invertWheelDirection=this.options.invertWheelDirection?-1:1,3==this.options.probeType&&(this.options.useTransition=!1),this.x=0,this.y=0,this.directionX=0,this.directionY=0,this._events={},this._init(),this.refresh(),this.scrollTo(this.options.startX,this.options.startY),this.enable()}function s(e,i,n){var r=t.createElement("div"),s=t.createElement("div");return n===!0&&(r.style.cssText="position:absolute;z-index:9999",s.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:absolute;background:rgba(0,0,0,0.5);border:1px solid rgba(255,255,255,0.9);border-radius:3px"),s.className="iScrollIndicator","h"==e?(n===!0&&(r.style.cssText+=";height:7px;left:2px;right:2px;bottom:0",s.style.height="100%"),r.className="iScrollHorizontalScrollbar"):(n===!0&&(r.style.cssText+=";width:7px;bottom:2px;top:2px;right:1px",s.style.width="100%"),r.className="iScrollVerticalScrollbar"),r.style.cssText+=";overflow:hidden",i||(r.style.pointerEvents="none"),r.appendChild(s),r}function o(i,n){this.wrapper="string"==typeof n.el?t.querySelector(n.el):n.el,this.wrapperStyle=this.wrapper.style,this.indicator=this.wrapper.children[0],this.indicatorStyle=this.indicator.style,this.scroller=i,this.options={listenX:!0,listenY:!0,interactive:!1,resize:!0,defaultScrollbars:!1,shrink:!1,fade:!1,speedRatioX:0,speedRatioY:0};for(var r in n)this.options[r]=n[r];this.sizeRatioX=1,this.sizeRatioY=1,this.maxPosX=0,this.maxPosY=0,this.options.interactive&&(this.options.disableTouch||(l.addEvent(this.indicator,"touchstart",this),l.addEvent(e,"touchend",this)),this.options.disablePointer||(l.addEvent(this.indicator,l.prefixPointerEvent("pointerdown"),this),l.addEvent(e,l.prefixPointerEvent("pointerup"),this)),this.options.disableMouse||(l.addEvent(this.indicator,"mousedown",this),l.addEvent(e,"mouseup",this))),this.options.fade&&(this.wrapperStyle[l.style.transform]=this.scroller.translateZ,this.wrapperStyle[l.style.transitionDuration]=l.isBadAndroid?"0.001s":"0ms",this.wrapperStyle.opacity="0")}var a=e.requestAnimationFrame||e.webkitRequestAnimationFrame||e.mozRequestAnimationFrame||e.oRequestAnimationFrame||e.msRequestAnimationFrame||function(t){e.setTimeout(t,1e3/60)},l=function(){function i(e){return o===!1?!1:""===o?e:o+e.charAt(0).toUpperCase()+e.substr(1)}var r={},s=t.createElement("div").style,o=function(){for(var e,t=["t","webkitT","MozT","msT","OT"],i=0,n=t.length;n>i;i++)if(e=t[i]+"ransform",e in s)return t[i].substr(0,t[i].length-1);return!1}();r.getTime=Date.now||function(){return(new Date).getTime()},r.extend=function(e,t){for(var i in t)e[i]=t[i]},r.addEvent=function(e,t,i,n){e.addEventListener(t,i,!!n)},r.removeEvent=function(e,t,i,n){e.removeEventListener(t,i,!!n)},r.prefixPointerEvent=function(t){return e.MSPointerEvent?"MSPointer"+t.charAt(9).toUpperCase()+t.substr(10):t},r.momentum=function(e,t,i,r,s,o){var a,l,c=e-t,u=n.abs(c)/i;return o=void 0===o?6e-4:o,a=e+u*u/(2*o)*(0>c?-1:1),l=u/o,r>a?(a=s?r-s/2.5*(u/8):r,c=n.abs(a-e),l=c/u):a>0&&(a=s?s/2.5*(u/8):0,c=n.abs(e)+a,l=c/u),{destination:n.round(a),duration:l}};var a=i("transform");return r.extend(r,{hasTransform:a!==!1,hasPerspective:i("perspective")in s,hasTouch:"ontouchstart"in e,hasPointer:e.PointerEvent||e.MSPointerEvent,hasTransition:i("transition")in s}),r.isBadAndroid=/Android /.test(e.navigator.appVersion)&&!/Chrome\/\d/.test(e.navigator.appVersion),r.extend(r.style={},{transform:a,transitionTimingFunction:i("transitionTimingFunction"),transitionDuration:i("transitionDuration"),transitionDelay:i("transitionDelay"),transformOrigin:i("transformOrigin")}),r.hasClass=function(e,t){var i=new RegExp("(^|\\s)"+t+"(\\s|$)");return i.test(e.className)},r.addClass=function(e,t){if(!r.hasClass(e,t)){var i=e.className.split(" ");i.push(t),e.className=i.join(" ")}},r.removeClass=function(e,t){if(r.hasClass(e,t)){var i=new RegExp("(^|\\s)"+t+"(\\s|$)","g");e.className=e.className.replace(i," ")}},r.offset=function(e){for(var t=-e.offsetLeft,i=-e.offsetTop;e=e.offsetParent;)t-=e.offsetLeft,i-=e.offsetTop;return{left:t,top:i}},r.preventDefaultException=function(e,t){for(var i in t)if(t[i].test(e[i]))return!0;return!1},r.extend(r.eventType={},{touchstart:1,touchmove:1,touchend:1,mousedown:2,mousemove:2,mouseup:2,pointerdown:3,pointermove:3,pointerup:3,MSPointerDown:3,MSPointerMove:3,MSPointerUp:3}),r.extend(r.ease={},{quadratic:{style:"cubic-bezier(0.25, 0.46, 0.45, 0.94)",fn:function(e){return e*(2-e)}},circular:{style:"cubic-bezier(0.1, 0.57, 0.1, 1)",fn:function(e){return n.sqrt(1- --e*e)}},back:{style:"cubic-bezier(0.175, 0.885, 0.32, 1.275)",fn:function(e){var t=4;return(e-=1)*e*((t+1)*e+t)+1}},bounce:{style:"",fn:function(e){return(e/=1)<1/2.75?7.5625*e*e:2/2.75>e?7.5625*(e-=1.5/2.75)*e+.75:2.5/2.75>e?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375}},elastic:{style:"",fn:function(e){var t=.22,i=.4;return 0===e?0:1==e?1:i*n.pow(2,-10*e)*n.sin((e-t/4)*(2*n.PI)/t)+1}}}),r.tap=function(e,i){var n=t.createEvent("Event");n.initEvent(i,!0,!0),n.pageX=e.pageX,n.pageY=e.pageY,e.target.dispatchEvent(n)},r.click=function(e){var i,n=e.target;/(SELECT|INPUT|TEXTAREA)/i.test(n.tagName)||(i=t.createEvent("MouseEvents"),i.initMouseEvent("click",!0,!0,e.view,1,n.screenX,n.screenY,n.clientX,n.clientY,e.ctrlKey,e.altKey,e.shiftKey,e.metaKey,0,null),i._constructed=!0,n.dispatchEvent(i))},r}();r.prototype={version:"5.1.2",_init:function(){this._initEvents(),(this.options.scrollbars||this.options.indicators)&&this._initIndicators(),this.options.mouseWheel&&this._initWheel(),this.options.snap&&this._initSnap(),this.options.keyBindings&&this._initKeys()},destroy:function(){this._initEvents(!0),this._execEvent("destroy")},_transitionEnd:function(e){e.target==this.scroller&&this.isInTransition&&(this._transitionTime(),this.resetPosition(this.options.bounceTime)||(this.isInTransition=!1,this._execEvent("scrollEnd")))},_start:function(e){if((1==l.eventType[e.type]||0===e.button)&&this.enabled&&(!this.initiated||l.eventType[e.type]===this.initiated)){!this.options.preventDefault||l.isBadAndroid||l.preventDefaultException(e.target,this.options.preventDefaultException)||e.preventDefault();var t,i=e.touches?e.touches[0]:e;this.initiated=l.eventType[e.type],this.moved=!1,this.distX=0,this.distY=0,this.directionX=0,this.directionY=0,this.directionLocked=0,this._transitionTime(),this.startTime=l.getTime(),this.options.useTransition&&this.isInTransition?(this.isInTransition=!1,t=this.getComputedPosition(),this._translate(n.round(t.x),n.round(t.y)),this._execEvent("scrollEnd")):!this.options.useTransition&&this.isAnimating&&(this.isAnimating=!1,this._execEvent("scrollEnd")),this.startX=this.x,this.startY=this.y,this.absStartX=this.x,this.absStartY=this.y,this.pointX=i.pageX,this.pointY=i.pageY,this._execEvent("beforeScrollStart")}},_move:function(e){if(this.enabled&&l.eventType[e.type]===this.initiated){this.options.preventDefault&&e.preventDefault();var t,i,r,s,o=e.touches?e.touches[0]:e,a=o.pageX-this.pointX,c=o.pageY-this.pointY,u=l.getTime();if(this.pointX=o.pageX,this.pointY=o.pageY,this.distX+=a,this.distY+=c,r=n.abs(this.distX),s=n.abs(this.distY),!(u-this.endTime>300&&10>r&&10>s)){if(this.directionLocked||this.options.freeScroll||(r>s+this.options.directionLockThreshold?this.directionLocked="h":s>=r+this.options.directionLockThreshold?this.directionLocked="v":this.directionLocked="n"),"h"==this.directionLocked){if("vertical"==this.options.eventPassthrough)e.preventDefault();else if("horizontal"==this.options.eventPassthrough)return void(this.initiated=!1);c=0}else if("v"==this.directionLocked){if("horizontal"==this.options.eventPassthrough)e.preventDefault();else if("vertical"==this.options.eventPassthrough)return void(this.initiated=!1);a=0}a=this.hasHorizontalScroll?a:0,c=this.hasVerticalScroll?c:0,t=this.x+a,i=this.y+c,(t>0||t<this.maxScrollX)&&(t=this.options.bounce?this.x+a/3:t>0?0:this.maxScrollX),(i>0||i<this.maxScrollY)&&(i=this.options.bounce?this.y+c/3:i>0?0:this.maxScrollY),this.directionX=a>0?-1:0>a?1:0,this.directionY=c>0?-1:0>c?1:0,this.moved||this._execEvent("scrollStart"),this.moved=!0,this._translate(t,i),u-this.startTime>300&&(this.startTime=u,this.startX=this.x,this.startY=this.y,1==this.options.probeType&&this._execEvent("scroll")),this.options.probeType>1&&this._execEvent("scroll")}}},_end:function(e){if(this.enabled&&l.eventType[e.type]===this.initiated){this.options.preventDefault&&!l.preventDefaultException(e.target,this.options.preventDefaultException)&&e.preventDefault();var t,i,r=(e.changedTouches?e.changedTouches[0]:e,l.getTime()-this.startTime),s=n.round(this.x),o=n.round(this.y),a=n.abs(s-this.startX),c=n.abs(o-this.startY),u=0,p="";if(this.isInTransition=0,this.initiated=0,this.endTime=l.getTime(),!this.resetPosition(this.options.bounceTime)){if(this.scrollTo(s,o),!this.moved)return this.options.tap&&l.tap(e,this.options.tap),this.options.click&&l.click(e),void this._execEvent("scrollCancel");if(this._events.flick&&200>r&&100>a&&100>c)return void this._execEvent("flick");if(this.options.momentum&&300>r&&(t=this.hasHorizontalScroll?l.momentum(this.x,this.startX,r,this.maxScrollX,this.options.bounce?this.wrapperWidth:0,this.options.deceleration):{destination:s,duration:0},i=this.hasVerticalScroll?l.momentum(this.y,this.startY,r,this.maxScrollY,this.options.bounce?this.wrapperHeight:0,this.options.deceleration):{destination:o,duration:0},s=t.destination,o=i.destination,u=n.max(t.duration,i.duration),this.isInTransition=1),this.options.snap){var h=this._nearestSnap(s,o);this.currentPage=h,u=this.options.snapSpeed||n.max(n.max(n.min(n.abs(s-h.x),1e3),n.min(n.abs(o-h.y),1e3)),300),s=h.x,o=h.y,this.directionX=0,this.directionY=0,p=this.options.bounceEasing}return s!=this.x||o!=this.y?((s>0||s<this.maxScrollX||o>0||o<this.maxScrollY)&&(p=l.ease.quadratic),void this.scrollTo(s,o,u,p)):void this._execEvent("scrollEnd")}}},_resize:function(){var e=this;clearTimeout(this.resizeTimeout),this.resizeTimeout=setTimeout(function(){e.refresh()},this.options.resizePolling)},resetPosition:function(e){var t=this.x,i=this.y;return e=e||0,!this.hasHorizontalScroll||this.x>0?t=0:this.x<this.maxScrollX&&(t=this.maxScrollX),!this.hasVerticalScroll||this.y>0?i=0:this.y<this.maxScrollY&&(i=this.maxScrollY),t==this.x&&i==this.y?!1:(this.scrollTo(t,i,e,this.options.bounceEasing),!0)},disable:function(){this.enabled=!1},enable:function(){this.enabled=!0},refresh:function(){this.wrapper.offsetHeight;this.wrapperWidth=this.wrapper.clientWidth,this.wrapperHeight=this.wrapper.clientHeight,this.scrollerWidth=this.scroller.offsetWidth,this.scrollerHeight=this.scroller.offsetHeight,this.maxScrollX=this.wrapperWidth-this.scrollerWidth,this.maxScrollY=this.wrapperHeight-this.scrollerHeight,this.hasHorizontalScroll=this.options.scrollX&&this.maxScrollX<0,this.hasVerticalScroll=this.options.scrollY&&this.maxScrollY<0,this.hasHorizontalScroll||(this.maxScrollX=0,this.scrollerWidth=this.wrapperWidth),this.hasVerticalScroll||(this.maxScrollY=0,this.scrollerHeight=this.wrapperHeight),this.endTime=0,this.directionX=0,this.directionY=0,this.wrapperOffset=l.offset(this.wrapper),this._execEvent("refresh"),this.resetPosition()},on:function(e,t){this._events[e]||(this._events[e]=[]),this._events[e].push(t)},off:function(e,t){if(this._events[e]){var i=this._events[e].indexOf(t);i>-1&&this._events[e].splice(i,1)}},_execEvent:function(e){if(this._events[e]){var t=0,i=this._events[e].length;if(i)for(;i>t;t++)this._events[e][t].apply(this,[].slice.call(arguments,1))}},scrollBy:function(e,t,i,n){e=this.x+e,t=this.y+t,i=i||0,this.scrollTo(e,t,i,n)},scrollTo:function(e,t,i,n){n=n||l.ease.circular,this.isInTransition=this.options.useTransition&&i>0,!i||this.options.useTransition&&n.style?(this._transitionTimingFunction(n.style),this._transitionTime(i),this._translate(e,t)):this._animate(e,t,i,n.fn)},scrollToElement:function(e,t,i,r,s){if(e=e.nodeType?e:this.scroller.querySelector(e)){var o=l.offset(e);o.left-=this.wrapperOffset.left,o.top-=this.wrapperOffset.top,i===!0&&(i=n.round(e.offsetWidth/2-this.wrapper.offsetWidth/2)),r===!0&&(r=n.round(e.offsetHeight/2-this.wrapper.offsetHeight/2)),o.left-=i||0,o.top-=r||0,o.left=o.left>0?0:o.left<this.maxScrollX?this.maxScrollX:o.left,o.top=o.top>0?0:o.top<this.maxScrollY?this.maxScrollY:o.top,t=void 0===t||null===t||"auto"===t?n.max(n.abs(this.x-o.left),n.abs(this.y-o.top)):t,this.scrollTo(o.left,o.top,t,s)}},_transitionTime:function(e){if(e=e||0,this.scrollerStyle[l.style.transitionDuration]=e+"ms",!e&&l.isBadAndroid&&(this.scrollerStyle[l.style.transitionDuration]="0.001s"),this.indicators)for(var t=this.indicators.length;t--;)this.indicators[t].transitionTime(e)},_transitionTimingFunction:function(e){if(this.scrollerStyle[l.style.transitionTimingFunction]=e,this.indicators)for(var t=this.indicators.length;t--;)this.indicators[t].transitionTimingFunction(e)},_translate:function(e,t){if(this.options.useTransform?this.scrollerStyle[l.style.transform]="translate("+e+"px,"+t+"px)"+this.translateZ:(e=n.round(e),t=n.round(t),this.scrollerStyle.left=e+"px",this.scrollerStyle.top=t+"px"),this.x=e,this.y=t,this.indicators)for(var i=this.indicators.length;i--;)this.indicators[i].updatePosition()},_initEvents:function(t){var i=t?l.removeEvent:l.addEvent,n=this.options.bindToWrapper?this.wrapper:e;i(e,"orientationchange",this),i(e,"resize",this),this.options.click&&i(this.wrapper,"click",this,!0),this.options.disableMouse||(i(this.wrapper,"mousedown",this),i(n,"mousemove",this),i(n,"mousecancel",this),i(n,"mouseup",this)),l.hasPointer&&!this.options.disablePointer&&(i(this.wrapper,l.prefixPointerEvent("pointerdown"),this),i(n,l.prefixPointerEvent("pointermove"),this),i(n,l.prefixPointerEvent("pointercancel"),this),i(n,l.prefixPointerEvent("pointerup"),this)),l.hasTouch&&!this.options.disableTouch&&(i(this.wrapper,"touchstart",this),i(n,"touchmove",this),i(n,"touchcancel",this),i(n,"touchend",this)),i(this.scroller,"transitionend",this),i(this.scroller,"webkitTransitionEnd",this),i(this.scroller,"oTransitionEnd",this),i(this.scroller,"MSTransitionEnd",this)},getComputedPosition:function(){var t,i,n=e.getComputedStyle(this.scroller,null);return this.options.useTransform?(n=n[l.style.transform].split(")")[0].split(", "),t=+(n[12]||n[4]),i=+(n[13]||n[5])):(t=+n.left.replace(/[^-\d.]/g,""),i=+n.top.replace(/[^-\d.]/g,"")),{x:t,y:i}},_initIndicators:function(){function e(e){for(var t=a.indicators.length;t--;)e.call(a.indicators[t])}var t,i=this.options.interactiveScrollbars,n="string"!=typeof this.options.scrollbars,r=[],a=this;this.indicators=[],this.options.scrollbars&&(this.options.scrollY&&(t={el:s("v",i,this.options.scrollbars),interactive:i,defaultScrollbars:!0,customStyle:n,resize:this.options.resizeScrollbars,shrink:this.options.shrinkScrollbars,fade:this.options.fadeScrollbars,listenX:!1},this.wrapper.appendChild(t.el),r.push(t)),this.options.scrollX&&(t={el:s("h",i,this.options.scrollbars),interactive:i,defaultScrollbars:!0,customStyle:n,resize:this.options.resizeScrollbars,shrink:this.options.shrinkScrollbars,fade:this.options.fadeScrollbars,listenY:!1},this.wrapper.appendChild(t.el),r.push(t))),this.options.indicators&&(r=r.concat(this.options.indicators));for(var l=r.length;l--;)this.indicators.push(new o(this,r[l]));this.options.fadeScrollbars&&(this.on("scrollEnd",function(){e(function(){this.fade()})}),this.on("scrollCancel",function(){e(function(){this.fade()})}),this.on("scrollStart",function(){e(function(){this.fade(1)})}),this.on("beforeScrollStart",function(){e(function(){this.fade(1,!0)})})),this.on("refresh",function(){e(function(){this.refresh()})}),this.on("destroy",function(){e(function(){this.destroy()}),delete this.indicators})},_initWheel:function(){l.addEvent(this.wrapper,"wheel",this),l.addEvent(this.wrapper,"mousewheel",this),l.addEvent(this.wrapper,"DOMMouseScroll",this),this.on("destroy",function(){l.removeEvent(this.wrapper,"wheel",this),l.removeEvent(this.wrapper,"mousewheel",this),l.removeEvent(this.wrapper,"DOMMouseScroll",this)})},_wheel:function(e){if(this.enabled){e.preventDefault(),e.stopPropagation();var t,i,r,s,o=this;if(void 0===this.wheelTimeout&&o._execEvent("scrollStart"),clearTimeout(this.wheelTimeout),this.wheelTimeout=setTimeout(function(){o._execEvent("scrollEnd"),o.wheelTimeout=void 0},400),"deltaX"in e)t=-e.deltaX,i=-e.deltaY;else if("wheelDeltaX"in e)t=e.wheelDeltaX/120*this.options.mouseWheelSpeed,i=e.wheelDeltaY/120*this.options.mouseWheelSpeed;else if("wheelDelta"in e)t=i=e.wheelDelta/120*this.options.mouseWheelSpeed;else{if(!("detail"in e))return;t=i=-e.detail/3*this.options.mouseWheelSpeed}if(t*=this.options.invertWheelDirection,i*=this.options.invertWheelDirection,this.hasVerticalScroll||(t=i,i=0),this.options.snap)return r=this.currentPage.pageX,s=this.currentPage.pageY,t>0?r--:0>t&&r++,i>0?s--:0>i&&s++,void this.goToPage(r,s);r=this.x+n.round(this.hasHorizontalScroll?t:0),s=this.y+n.round(this.hasVerticalScroll?i:0),r>0?r=0:r<this.maxScrollX&&(r=this.maxScrollX),s>0?s=0:s<this.maxScrollY&&(s=this.maxScrollY),this.scrollTo(r,s,0),this.options.probeType>1&&this._execEvent("scroll")}},_initSnap:function(){this.currentPage={},"string"==typeof this.options.snap&&(this.options.snap=this.scroller.querySelectorAll(this.options.snap)),this.on("refresh",function(){var e,t,i,r,s,o,a=0,l=0,c=0,u=this.options.snapStepX||this.wrapperWidth,p=this.options.snapStepY||this.wrapperHeight;if(this.pages=[],this.wrapperWidth&&this.wrapperHeight&&this.scrollerWidth&&this.scrollerHeight){if(this.options.snap===!0)for(i=n.round(u/2),r=n.round(p/2);c>-this.scrollerWidth;){for(this.pages[a]=[],e=0,s=0;s>-this.scrollerHeight;)this.pages[a][e]={x:n.max(c,this.maxScrollX),y:n.max(s,this.maxScrollY),width:u,height:p,cx:c-i,cy:s-r},s-=p,e++;c-=u,a++}else for(o=this.options.snap,e=o.length,t=-1;e>a;a++)(0===a||o[a].offsetLeft<=o[a-1].offsetLeft)&&(l=0,t++),this.pages[l]||(this.pages[l]=[]),c=n.max(-o[a].offsetLeft,this.maxScrollX),s=n.max(-o[a].offsetTop,this.maxScrollY),i=c-n.round(o[a].offsetWidth/2),r=s-n.round(o[a].offsetHeight/2),this.pages[l][t]={x:c,y:s,width:o[a].offsetWidth,height:o[a].offsetHeight,cx:i,cy:r},c>this.maxScrollX&&l++;this.goToPage(this.currentPage.pageX||0,this.currentPage.pageY||0,0),this.options.snapThreshold%1===0?(this.snapThresholdX=this.options.snapThreshold,this.snapThresholdY=this.options.snapThreshold):(this.snapThresholdX=n.round(this.pages[this.currentPage.pageX][this.currentPage.pageY].width*this.options.snapThreshold),this.snapThresholdY=n.round(this.pages[this.currentPage.pageX][this.currentPage.pageY].height*this.options.snapThreshold))}}),this.on("flick",function(){var e=this.options.snapSpeed||n.max(n.max(n.min(n.abs(this.x-this.startX),1e3),n.min(n.abs(this.y-this.startY),1e3)),300);this.goToPage(this.currentPage.pageX+this.directionX,this.currentPage.pageY+this.directionY,e)})},_nearestSnap:function(e,t){if(!this.pages.length)return{x:0,y:0,pageX:0,pageY:0};var i=0,r=this.pages.length,s=0;if(n.abs(e-this.absStartX)<this.snapThresholdX&&n.abs(t-this.absStartY)<this.snapThresholdY)return this.currentPage;for(e>0?e=0:e<this.maxScrollX&&(e=this.maxScrollX),t>0?t=0:t<this.maxScrollY&&(t=this.maxScrollY);r>i;i++)if(e>=this.pages[i][0].cx){e=this.pages[i][0].x;break}for(r=this.pages[i].length;r>s;s++)if(t>=this.pages[0][s].cy){t=this.pages[0][s].y;break}return i==this.currentPage.pageX&&(i+=this.directionX,0>i?i=0:i>=this.pages.length&&(i=this.pages.length-1),e=this.pages[i][0].x),s==this.currentPage.pageY&&(s+=this.directionY,0>s?s=0:s>=this.pages[0].length&&(s=this.pages[0].length-1),t=this.pages[0][s].y),{x:e,y:t,pageX:i,pageY:s}},goToPage:function(e,t,i,r){r=r||this.options.bounceEasing,e>=this.pages.length?e=this.pages.length-1:0>e&&(e=0),t>=this.pages[e].length?t=this.pages[e].length-1:0>t&&(t=0);var s=this.pages[e][t].x,o=this.pages[e][t].y;i=void 0===i?this.options.snapSpeed||n.max(n.max(n.min(n.abs(s-this.x),1e3),n.min(n.abs(o-this.y),1e3)),300):i,this.currentPage={x:s,y:o,pageX:e,pageY:t},this.scrollTo(s,o,i,r)},next:function(e,t){var i=this.currentPage.pageX,n=this.currentPage.pageY;i++,i>=this.pages.length&&this.hasVerticalScroll&&(i=0,n++),this.goToPage(i,n,e,t)},prev:function(e,t){var i=this.currentPage.pageX,n=this.currentPage.pageY;i--,0>i&&this.hasVerticalScroll&&(i=0,n--),this.goToPage(i,n,e,t)},_initKeys:function(t){var i,n={pageUp:33,pageDown:34,end:35,home:36,left:37,up:38,right:39,down:40};if("object"==typeof this.options.keyBindings)for(i in this.options.keyBindings)"string"==typeof this.options.keyBindings[i]&&(this.options.keyBindings[i]=this.options.keyBindings[i].toUpperCase().charCodeAt(0));else this.options.keyBindings={};for(i in n)this.options.keyBindings[i]=this.options.keyBindings[i]||n[i];l.addEvent(e,"keydown",this),this.on("destroy",function(){l.removeEvent(e,"keydown",this)})},_key:function(e){if(this.enabled){var t,i=this.options.snap,r=i?this.currentPage.pageX:this.x,s=i?this.currentPage.pageY:this.y,o=l.getTime(),a=this.keyTime||0,c=.25;switch(this.options.useTransition&&this.isInTransition&&(t=this.getComputedPosition(),this._translate(n.round(t.x),n.round(t.y)),this.isInTransition=!1),this.keyAcceleration=200>o-a?n.min(this.keyAcceleration+c,50):0,e.keyCode){case this.options.keyBindings.pageUp:this.hasHorizontalScroll&&!this.hasVerticalScroll?r+=i?1:this.wrapperWidth:s+=i?1:this.wrapperHeight;break;case this.options.keyBindings.pageDown:this.hasHorizontalScroll&&!this.hasVerticalScroll?r-=i?1:this.wrapperWidth:s-=i?1:this.wrapperHeight;break;case this.options.keyBindings.end:r=i?this.pages.length-1:this.maxScrollX,s=i?this.pages[0].length-1:this.maxScrollY;break;case this.options.keyBindings.home:r=0,s=0;break;case this.options.keyBindings.left:r+=i?-1:5+this.keyAcceleration>>0;break;case this.options.keyBindings.up:s+=i?1:5+this.keyAcceleration>>0;break;case this.options.keyBindings.right:r-=i?-1:5+this.keyAcceleration>>0;break;case this.options.keyBindings.down:s-=i?1:5+this.keyAcceleration>>0;break;default:return}if(i)return void this.goToPage(r,s);r>0?(r=0,this.keyAcceleration=0):r<this.maxScrollX&&(r=this.maxScrollX,this.keyAcceleration=0),s>0?(s=0,this.keyAcceleration=0):s<this.maxScrollY&&(s=this.maxScrollY,this.keyAcceleration=0),this.scrollTo(r,s,0),this.keyTime=o}},_animate:function(e,t,i,n){function r(){var h,d,f,m=l.getTime();return m>=p?(s.isAnimating=!1,s._translate(e,t),void(s.resetPosition(s.options.bounceTime)||s._execEvent("scrollEnd"))):(m=(m-u)/i,f=n(m),h=(e-o)*f+o,d=(t-c)*f+c,s._translate(h,d),s.isAnimating&&a(r),void(3==s.options.probeType&&s._execEvent("scroll")))}var s=this,o=this.x,c=this.y,u=l.getTime(),p=u+i;this.isAnimating=!0,r()},handleEvent:function(e){switch(e.type){case"touchstart":case"pointerdown":case"MSPointerDown":case"mousedown":this._start(e);break;case"touchmove":case"pointermove":case"MSPointerMove":case"mousemove":this._move(e);break;case"touchend":case"pointerup":case"MSPointerUp":case"mouseup":case"touchcancel":case"pointercancel":case"MSPointerCancel":case"mousecancel":this._end(e);break;case"orientationchange":case"resize":this._resize();break;case"transitionend":case"webkitTransitionEnd":case"oTransitionEnd":case"MSTransitionEnd":this._transitionEnd(e);break;case"wheel":case"DOMMouseScroll":case"mousewheel":this._wheel(e);break;case"keydown":this._key(e);break;case"click":e._constructed||(e.preventDefault(),e.stopPropagation())}}},o.prototype={handleEvent:function(e){switch(e.type){case"touchstart":case"pointerdown":case"MSPointerDown":case"mousedown":this._start(e);break;case"touchmove":case"pointermove":case"MSPointerMove":case"mousemove":this._move(e);break;case"touchend":case"pointerup":case"MSPointerUp":case"mouseup":case"touchcancel":case"pointercancel":case"MSPointerCancel":case"mousecancel":this._end(e)}},destroy:function(){this.options.interactive&&(l.removeEvent(this.indicator,"touchstart",this),l.removeEvent(this.indicator,l.prefixPointerEvent("pointerdown"),this),l.removeEvent(this.indicator,"mousedown",this),l.removeEvent(e,"touchmove",this),l.removeEvent(e,l.prefixPointerEvent("pointermove"),this),l.removeEvent(e,"mousemove",this),l.removeEvent(e,"touchend",this),l.removeEvent(e,l.prefixPointerEvent("pointerup"),this),l.removeEvent(e,"mouseup",this)),this.options.defaultScrollbars&&this.wrapper.parentNode.removeChild(this.wrapper)},_start:function(t){var i=t.touches?t.touches[0]:t;t.preventDefault(),t.stopPropagation(),this.transitionTime(),this.initiated=!0,this.moved=!1,this.lastPointX=i.pageX,this.lastPointY=i.pageY,this.startTime=l.getTime(),this.options.disableTouch||l.addEvent(e,"touchmove",this),this.options.disablePointer||l.addEvent(e,l.prefixPointerEvent("pointermove"),this),this.options.disableMouse||l.addEvent(e,"mousemove",this),this.scroller._execEvent("beforeScrollStart")},_move:function(e){var t,i,n,r,s=e.touches?e.touches[0]:e,o=l.getTime();this.moved||this.scroller._execEvent("scrollStart"),this.moved=!0,t=s.pageX-this.lastPointX,this.lastPointX=s.pageX,i=s.pageY-this.lastPointY,this.lastPointY=s.pageY,n=this.x+t,r=this.y+i,this._pos(n,r),1==this.scroller.options.probeType&&o-this.startTime>300?(this.startTime=o,this.scroller._execEvent("scroll")):this.scroller.options.probeType>1&&this.scroller._execEvent("scroll"),e.preventDefault(),e.stopPropagation()},_end:function(t){if(this.initiated){if(this.initiated=!1,t.preventDefault(),t.stopPropagation(),l.removeEvent(e,"touchmove",this),l.removeEvent(e,l.prefixPointerEvent("pointermove"),this),l.removeEvent(e,"mousemove",this),this.scroller.options.snap){var i=this.scroller._nearestSnap(this.scroller.x,this.scroller.y),r=this.options.snapSpeed||n.max(n.max(n.min(n.abs(this.scroller.x-i.x),1e3),n.min(n.abs(this.scroller.y-i.y),1e3)),300);this.scroller.x==i.x&&this.scroller.y==i.y||(this.scroller.directionX=0,this.scroller.directionY=0,this.scroller.currentPage=i,this.scroller.scrollTo(i.x,i.y,r,this.scroller.options.bounceEasing))}this.moved&&this.scroller._execEvent("scrollEnd")}},transitionTime:function(e){e=e||0,this.indicatorStyle[l.style.transitionDuration]=e+"ms",!e&&l.isBadAndroid&&(this.indicatorStyle[l.style.transitionDuration]="0.001s")},transitionTimingFunction:function(e){this.indicatorStyle[l.style.transitionTimingFunction]=e},refresh:function(){this.transitionTime(),this.options.listenX&&!this.options.listenY?this.indicatorStyle.display=this.scroller.hasHorizontalScroll?"block":"none":this.options.listenY&&!this.options.listenX?this.indicatorStyle.display=this.scroller.hasVerticalScroll?"block":"none":this.indicatorStyle.display=this.scroller.hasHorizontalScroll||this.scroller.hasVerticalScroll?"block":"none",this.scroller.hasHorizontalScroll&&this.scroller.hasVerticalScroll?(l.addClass(this.wrapper,"iScrollBothScrollbars"),l.removeClass(this.wrapper,"iScrollLoneScrollbar"),this.options.defaultScrollbars&&this.options.customStyle&&(this.options.listenX?this.wrapper.style.right="8px":this.wrapper.style.bottom="8px")):(l.removeClass(this.wrapper,"iScrollBothScrollbars"),l.addClass(this.wrapper,"iScrollLoneScrollbar"),this.options.defaultScrollbars&&this.options.customStyle&&(this.options.listenX?this.wrapper.style.right="2px":this.wrapper.style.bottom="2px"));this.wrapper.offsetHeight;this.options.listenX&&(this.wrapperWidth=this.wrapper.clientWidth,this.options.resize?(this.indicatorWidth=n.max(n.round(this.wrapperWidth*this.wrapperWidth/(this.scroller.scrollerWidth||this.wrapperWidth||1)),8),this.indicatorStyle.width=this.indicatorWidth+"px"):this.indicatorWidth=this.indicator.clientWidth,this.maxPosX=this.wrapperWidth-this.indicatorWidth,"clip"==this.options.shrink?(this.minBoundaryX=-this.indicatorWidth+8,this.maxBoundaryX=this.wrapperWidth-8):(this.minBoundaryX=0,this.maxBoundaryX=this.maxPosX),this.sizeRatioX=this.options.speedRatioX||this.scroller.maxScrollX&&this.maxPosX/this.scroller.maxScrollX),this.options.listenY&&(this.wrapperHeight=this.wrapper.clientHeight,this.options.resize?(this.indicatorHeight=n.max(n.round(this.wrapperHeight*this.wrapperHeight/(this.scroller.scrollerHeight||this.wrapperHeight||1)),8),this.indicatorStyle.height=this.indicatorHeight+"px"):this.indicatorHeight=this.indicator.clientHeight,this.maxPosY=this.wrapperHeight-this.indicatorHeight,"clip"==this.options.shrink?(this.minBoundaryY=-this.indicatorHeight+8,this.maxBoundaryY=this.wrapperHeight-8):(this.minBoundaryY=0,this.maxBoundaryY=this.maxPosY),this.maxPosY=this.wrapperHeight-this.indicatorHeight,this.sizeRatioY=this.options.speedRatioY||this.scroller.maxScrollY&&this.maxPosY/this.scroller.maxScrollY),this.updatePosition()},updatePosition:function(){var e=this.options.listenX&&n.round(this.sizeRatioX*this.scroller.x)||0,t=this.options.listenY&&n.round(this.sizeRatioY*this.scroller.y)||0;this.options.ignoreBoundaries||(e<this.minBoundaryX?("scale"==this.options.shrink&&(this.width=n.max(this.indicatorWidth+e,8),this.indicatorStyle.width=this.width+"px"),e=this.minBoundaryX):e>this.maxBoundaryX?"scale"==this.options.shrink?(this.width=n.max(this.indicatorWidth-(e-this.maxPosX),8),this.indicatorStyle.width=this.width+"px",e=this.maxPosX+this.indicatorWidth-this.width):e=this.maxBoundaryX:"scale"==this.options.shrink&&this.width!=this.indicatorWidth&&(this.width=this.indicatorWidth,this.indicatorStyle.width=this.width+"px"),t<this.minBoundaryY?("scale"==this.options.shrink&&(this.height=n.max(this.indicatorHeight+3*t,8),this.indicatorStyle.height=this.height+"px"),t=this.minBoundaryY):t>this.maxBoundaryY?"scale"==this.options.shrink?(this.height=n.max(this.indicatorHeight-3*(t-this.maxPosY),8),this.indicatorStyle.height=this.height+"px",t=this.maxPosY+this.indicatorHeight-this.height):t=this.maxBoundaryY:"scale"==this.options.shrink&&this.height!=this.indicatorHeight&&(this.height=this.indicatorHeight,this.indicatorStyle.height=this.height+"px")),this.x=e,this.y=t,this.scroller.options.useTransform?this.indicatorStyle[l.style.transform]="translate("+e+"px,"+t+"px)"+this.scroller.translateZ:(this.indicatorStyle.left=e+"px",this.indicatorStyle.top=t+"px")},_pos:function(e,t){0>e?e=0:e>this.maxPosX&&(e=this.maxPosX),0>t?t=0:t>this.maxPosY&&(t=this.maxPosY),e=this.options.listenX?n.round(e/this.sizeRatioX):this.scroller.x,t=this.options.listenY?n.round(t/this.sizeRatioY):this.scroller.y,this.scroller.scrollTo(e,t)},fade:function(e,t){ +if(!t||this.visible){clearTimeout(this.fadeTimeout),this.fadeTimeout=null;var i=e?250:500,n=e?0:300;e=e?"1":"0",this.wrapperStyle[l.style.transitionDuration]=i+"ms",this.fadeTimeout=setTimeout(function(e){this.wrapperStyle.opacity=e,this.visible=+e}.bind(this,e),n)}}},r.utils=l,"undefined"!=typeof i&&i.exports?i.exports=r:e.IScroll=r}(window,document,Math)}),define("index",[],function(e,t,i){function n(e,t){if(!t||(t=t.replace(s,"-"),!o.getElementById(t))){var i;if(!r||t?(i=o.createElement("style"),t&&(i.id=t),a.appendChild(i)):i=r,i.styleSheet){if(o.getElementsByTagName("style").length>31)throw new Error("Exceed the maximal count of style tags in IE");i.styleSheet.cssText+=e}else i.appendChild(o.createTextNode(e));t||(r=i)}}var r,s=/\W/g,o=document,a=document.getElementsByTagName("head")[0]||document.documentElement;i.exports=n}),define("lazyload",[],function(e,t,i){var n=e("jquery");e("lib/jquery.lazyload"),i.exports=function(e,t){var i,r={effect:"fadeIn",effect_speed:10,placeholder:"data:image/gif;base64,R0lGODlhAQABAJEAAAAAAP///93d3f///yH5BAEAAAMALAAAAAABAAEAAAICVAEAOw==",skip_invisible:!1},s=arguments.length;!function(){switch(s){case 0:i=n("img.lazy");break;case 1:e instanceof n?i=e:(i=n("img.lazy"),n.extend(r,e));break;case 2:i=e,r=n.extend(r,t)}}(),i.lazyload(r)}}),define("lib/jquery.lazyload",[],function(e,t,i){var n=e("jquery");!function(e,t,i,n){var r=e(t);e.fn.lazyload=function(s){function o(){var t=0;l.each(function(){var i=e(this);if(!c.skip_invisible||i.is(":visible"))if(e.abovethetop(this,c)||e.leftofbegin(this,c));else if(e.belowthefold(this,c)||e.rightoffold(this,c)){if(++t>c.failure_limit)return!1}else i.trigger("appear"),t=0})}var a,l=this,c={threshold:0,failure_limit:0,event:"scroll",effect:"show",container:t,data_attribute:"original",skip_invisible:!0,appear:null,load:null,yasPath:"/web/",yasImgDomain:"http://analytics.yhurl.com/yas.gif",placeholder:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC",try_again_css:null};return s&&(n!==s.failurelimit&&(s.failure_limit=s.failurelimit,delete s.failurelimit),n!==s.effectspeed&&(s.effect_speed=s.effectspeed,delete s.effectspeed),e.extend(c,s)),a=c.container===n||c.container===t?r:e(c.container),0===c.event.indexOf("scroll")&&a.bind(c.event,function(){return o()}),this.each(function(){var t=this,i=e(t);t.loaded=!1,i.attr("src")!==n&&i.attr("src")!==!1&&""!==i.attr("src")||i.is("img")&&i.attr("src",c.placeholder),i.one("appear",function(){if(i.timerid&&clearTimeout(i.timerid),!this.loaded){if(c.appear){var n=l.length;c.appear.call(t,n,c)}e("<img />").bind("error abort",function(){i.attr("src",c.placeholder),s({info:"error"})}).bind("load",function(){if(!i.loadtimeout){clearTimeout(i.timerid),i.attr("pfmrpt");var n=i.attr("data-"+c.data_attribute);i.hide(),i.is("img")?i.attr("src",n):i.css("background-image","url('"+n+"')"),i[c.effect](c.effect_speed),t.loaded=!0;var r=e.grep(l,function(e){return!e.loaded});if(l=e(r),c.load){var s=l.length;c.load.call(t,s,c)}}}).attr("src",i.attr("data-"+c.data_attribute)),i.src=i.attr("data-"+c.data_attribute),i.attr("pfmrpt")&&_yas&&_yas.add;var r=function(e){i.loadtimeout=!0,i.attr("pfmrpt")&&_yas&&_yas.add&&e.info,i.attr("src",""),setTimeout(function(){i.attr("src",i.src)},50)},s=function(t){i.loadtimeout=!0,i.attr("pfmrpt")&&_yas&&_yas.add&&t.info;var n=i.width(),s=i.height();if(c.try_again_css)var o=e("<div class="+c.try_again_css+" style='width:"+n+"px;height:"+s+"px;'></div>");else var o=e("<div style='background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC) ;text-align: center;position:relative;width:"+n+"px;height:"+s+"px;background-size:100%;'>加载失败</div>");o.addClass(i.attr("class")),i.replaceWith(o),i.timerid=setTimeout(r,5e3)}}}),0!==c.event.indexOf("scroll")&&i.bind(c.event,function(){t.loaded||i.trigger("appear")})}),r.bind("resize",function(){o()}),/(?:iphone|ipod|ipad).*os 5/gi.test(navigator.appVersion)&&r.bind("pageshow",function(t){t.originalEvent&&t.originalEvent.persisted&&l.each(function(){e(this).trigger("appear")})}),e(i).ready(function(){o()}),this},e.belowthefold=function(i,s){var o;return o=s.container===n||s.container===t?(t.innerHeight?t.innerHeight:r.height())+r.scrollTop():e(s.container).offset().top+e(s.container).height(),o<=e(i).offset().top-s.threshold},e.rightoffold=function(i,s){var o;return o=s.container===n||s.container===t?r.width()+r.scrollLeft():e(s.container).offset().left+e(s.container).width(),o<=e(i).offset().left-s.threshold},e.abovethetop=function(i,s){var o;return o=s.container===n||s.container===t?r.scrollTop():e(s.container).offset().top,o>=e(i).offset().top+s.threshold+e(i).height()},e.leftofbegin=function(i,s){var o;return o=s.container===n||s.container===t?r.scrollLeft():e(s.container).offset().left,o>=e(i).offset().left+s.threshold+e(i).width()},e.inviewport=function(t,i){return!(e.rightoffold(t,i)||e.leftofbegin(t,i)||e.belowthefold(t,i)||e.abovethetop(t,i))}}(n,window,document)}),define("handlebars",[],function(e,t,i){!function(e,n){"object"==typeof t&&"object"==typeof i?i.exports=n():"function"==typeof define&&define.amd?define(n):"object"==typeof t?t.Handlebars=n():e.Handlebars=n()}(this,function(){return function(e){function t(n){if(i[n])return i[n].exports;var r=i[n]={exports:{},id:n,loaded:!1};return e[n].call(r.exports,r,r.exports,t),r.loaded=!0,r.exports}var i={};return t.m=e,t.c=i,t.p="",t(0)}([function(e,t,i){"use strict";function n(){var e=v();return e.compile=function(t,i){return u.compile(t,i,e)},e.precompile=function(t,i){return u.precompile(t,i,e)},e.AST=l["default"],e.Compiler=u.Compiler,e.JavaScriptCompiler=h["default"],e.Parser=c.parser,e.parse=c.parse,e}var r=i(8)["default"];t.__esModule=!0;var s=i(1),o=r(s),a=i(2),l=r(a),c=i(3),u=i(4),p=i(5),h=r(p),d=i(6),f=r(d),m=i(7),g=r(m),v=o["default"].create,y=n();y.create=n,g["default"](y),y.Visitor=f["default"],y["default"]=y,t["default"]=y,e.exports=t["default"]},function(e,t,i){"use strict";function n(){var e=new a.HandlebarsEnvironment;return d.extend(e,a),e.SafeString=c["default"],e.Exception=p["default"],e.Utils=d,e.escapeExpression=d.escapeExpression,e.VM=m,e.template=function(t){return m.template(t,e)},e}var r=i(9)["default"],s=i(8)["default"];t.__esModule=!0;var o=i(10),a=r(o),l=i(11),c=s(l),u=i(12),p=s(u),h=i(13),d=r(h),f=i(14),m=r(f),g=i(7),v=s(g),y=n();y.create=n,v["default"](y),y["default"]=y,t["default"]=y,e.exports=t["default"]},function(e,t,i){"use strict";t.__esModule=!0;var n={Program:function(e,t,i,n){this.loc=n,this.type="Program",this.body=e,this.blockParams=t,this.strip=i},MustacheStatement:function(e,t,i,n,r,s){this.loc=s,this.type="MustacheStatement",this.path=e,this.params=t||[],this.hash=i,this.escaped=n,this.strip=r},BlockStatement:function(e,t,i,n,r,s,o,a,l){this.loc=l,this.type="BlockStatement",this.path=e,this.params=t||[],this.hash=i,this.program=n,this.inverse=r,this.openStrip=s,this.inverseStrip=o,this.closeStrip=a},PartialStatement:function(e,t,i,n,r){this.loc=r,this.type="PartialStatement",this.name=e,this.params=t||[],this.hash=i,this.indent="",this.strip=n},ContentStatement:function(e,t){this.loc=t,this.type="ContentStatement",this.original=this.value=e},CommentStatement:function(e,t,i){this.loc=i,this.type="CommentStatement",this.value=e,this.strip=t},SubExpression:function(e,t,i,n){this.loc=n,this.type="SubExpression",this.path=e,this.params=t||[],this.hash=i},PathExpression:function(e,t,i,n,r){this.loc=r,this.type="PathExpression",this.data=e,this.original=n,this.parts=i,this.depth=t},StringLiteral:function(e,t){this.loc=t,this.type="StringLiteral",this.original=this.value=e},NumberLiteral:function(e,t){this.loc=t,this.type="NumberLiteral",this.original=this.value=Number(e)},BooleanLiteral:function(e,t){this.loc=t,this.type="BooleanLiteral",this.original=this.value="true"===e},UndefinedLiteral:function(e){this.loc=e,this.type="UndefinedLiteral",this.original=this.value=void 0},NullLiteral:function(e){this.loc=e,this.type="NullLiteral",this.original=this.value=null},Hash:function(e,t){this.loc=t,this.type="Hash",this.pairs=e},HashPair:function(e,t,i){this.loc=i,this.type="HashPair",this.key=e,this.value=t},helpers:{helperExpression:function(e){return!("SubExpression"!==e.type&&!e.params.length&&!e.hash)},scopedId:function(e){return/^\.|this\b/.test(e.original)},simpleId:function(e){return 1===e.parts.length&&!n.helpers.scopedId(e)&&!e.depth}}};t["default"]=n,e.exports=t["default"]},function(e,t,i){"use strict";function n(e,t){if("Program"===e.type)return e;a["default"].yy=m,m.locInfo=function(e){return new m.SourceLocation(t&&t.srcName,e)};var i=new p["default"];return i.accept(a["default"].parse(e))}var r=i(8)["default"],s=i(9)["default"];t.__esModule=!0,t.parse=n;var o=i(15),a=r(o),l=i(2),c=r(l),u=i(16),p=r(u),h=i(17),d=s(h),f=i(13);t.parser=a["default"];var m={};f.extend(m,d,c["default"])},function(e,t,i){"use strict";function n(){}function r(e,t,i){if(null==e||"string"!=typeof e&&"Program"!==e.type)throw new u["default"]("You must pass a string or Handlebars AST to Handlebars.precompile. You passed "+e);t=t||{},"data"in t||(t.data=!0),t.compat&&(t.useDepths=!0);var n=i.parse(e,t),r=(new i.Compiler).compile(n,t);return(new i.JavaScriptCompiler).compile(r,t)}function s(e,t,i){function n(){var t=i.parse(e,s),n=(new i.Compiler).compile(t,s),r=(new i.JavaScriptCompiler).compile(n,s,void 0,!0);return i.template(r)}function r(e,t){return o||(o=n()),o.call(this,e,t)}var s=void 0===arguments[1]?{}:arguments[1];if(null==e||"string"!=typeof e&&"Program"!==e.type)throw new u["default"]("You must pass a string or Handlebars AST to Handlebars.compile. You passed "+e);"data"in s||(s.data=!0),s.compat&&(s.useDepths=!0);var o=void 0;return r._setup=function(e){return o||(o=n()),o._setup(e)},r._child=function(e,t,i,r){return o||(o=n()),o._child(e,t,i,r)},r}function o(e,t){if(e===t)return!0;if(p.isArray(e)&&p.isArray(t)&&e.length===t.length){for(var i=0;i<e.length;i++)if(!o(e[i],t[i]))return!1;return!0}}function a(e){if(!e.path.parts){var t=e.path;e.path=new d["default"].PathExpression(!1,0,[t.original+""],t.original+"",t.loc)}}var l=i(8)["default"];t.__esModule=!0,t.Compiler=n,t.precompile=r,t.compile=s;var c=i(12),u=l(c),p=i(13),h=i(2),d=l(h),f=[].slice;n.prototype={compiler:n,equals:function(e){var t=this.opcodes.length;if(e.opcodes.length!==t)return!1;for(var i=0;t>i;i++){var n=this.opcodes[i],r=e.opcodes[i];if(n.opcode!==r.opcode||!o(n.args,r.args))return!1}t=this.children.length;for(var i=0;t>i;i++)if(!this.children[i].equals(e.children[i]))return!1;return!0},guid:0,compile:function(e,t){this.sourceNode=[],this.opcodes=[],this.children=[],this.options=t,this.stringParams=t.stringParams,this.trackIds=t.trackIds,t.blockParams=t.blockParams||[];var i=t.knownHelpers;if(t.knownHelpers={helperMissing:!0,blockHelperMissing:!0,each:!0,"if":!0,unless:!0,"with":!0,log:!0,lookup:!0},i)for(var n in i)n in i&&(t.knownHelpers[n]=i[n]);return this.accept(e)},compileProgram:function(e){var t=new this.compiler,i=t.compile(e,this.options),n=this.guid++;return this.usePartial=this.usePartial||i.usePartial,this.children[n]=i,this.useDepths=this.useDepths||i.useDepths,n},accept:function(e){this.sourceNode.unshift(e);var t=this[e.type](e);return this.sourceNode.shift(),t},Program:function(e){this.options.blockParams.unshift(e.blockParams);for(var t=e.body,i=t.length,n=0;i>n;n++)this.accept(t[n]);return this.options.blockParams.shift(),this.isSimple=1===i,this.blockParams=e.blockParams?e.blockParams.length:0,this},BlockStatement:function(e){a(e);var t=e.program,i=e.inverse;t=t&&this.compileProgram(t),i=i&&this.compileProgram(i);var n=this.classifySexpr(e);"helper"===n?this.helperSexpr(e,t,i):"simple"===n?(this.simpleSexpr(e),this.opcode("pushProgram",t),this.opcode("pushProgram",i),this.opcode("emptyHash"),this.opcode("blockValue",e.path.original)):(this.ambiguousSexpr(e,t,i),this.opcode("pushProgram",t),this.opcode("pushProgram",i),this.opcode("emptyHash"),this.opcode("ambiguousBlockValue")),this.opcode("append")},PartialStatement:function(e){this.usePartial=!0;var t=e.params;if(t.length>1)throw new u["default"]("Unsupported number of partial arguments: "+t.length,e);t.length||t.push({type:"PathExpression",parts:[],depth:0});var i=e.name.original,n="SubExpression"===e.name.type;n&&this.accept(e.name),this.setupFullMustacheParams(e,void 0,void 0,!0);var r=e.indent||"";this.options.preventIndent&&r&&(this.opcode("appendContent",r),r=""),this.opcode("invokePartial",n,i,r),this.opcode("append")},MustacheStatement:function(e){this.SubExpression(e),e.escaped&&!this.options.noEscape?this.opcode("appendEscaped"):this.opcode("append")},ContentStatement:function(e){e.value&&this.opcode("appendContent",e.value)},CommentStatement:function(){},SubExpression:function(e){a(e);var t=this.classifySexpr(e);"simple"===t?this.simpleSexpr(e):"helper"===t?this.helperSexpr(e):this.ambiguousSexpr(e)},ambiguousSexpr:function(e,t,i){var n=e.path,r=n.parts[0],s=null!=t||null!=i;this.opcode("getContext",n.depth),this.opcode("pushProgram",t),this.opcode("pushProgram",i),this.accept(n),this.opcode("invokeAmbiguous",r,s)},simpleSexpr:function(e){this.accept(e.path),this.opcode("resolvePossibleLambda")},helperSexpr:function(e,t,i){var n=this.setupFullMustacheParams(e,t,i),r=e.path,s=r.parts[0];if(this.options.knownHelpers[s])this.opcode("invokeKnownHelper",n.length,s);else{if(this.options.knownHelpersOnly)throw new u["default"]("You specified knownHelpersOnly, but used the unknown helper "+s,e);r.falsy=!0,this.accept(r),this.opcode("invokeHelper",n.length,r.original,d["default"].helpers.simpleId(r))}},PathExpression:function(e){this.addDepth(e.depth),this.opcode("getContext",e.depth);var t=e.parts[0],i=d["default"].helpers.scopedId(e),n=!e.depth&&!i&&this.blockParamIndex(t);n?this.opcode("lookupBlockParam",n,e.parts):t?e.data?(this.options.data=!0,this.opcode("lookupData",e.depth,e.parts)):this.opcode("lookupOnContext",e.parts,e.falsy,i):this.opcode("pushContext")},StringLiteral:function(e){this.opcode("pushString",e.value)},NumberLiteral:function(e){this.opcode("pushLiteral",e.value)},BooleanLiteral:function(e){this.opcode("pushLiteral",e.value)},UndefinedLiteral:function(){this.opcode("pushLiteral","undefined")},NullLiteral:function(){this.opcode("pushLiteral","null")},Hash:function(e){var t=e.pairs,i=0,n=t.length;for(this.opcode("pushHash");n>i;i++)this.pushParam(t[i].value);for(;i--;)this.opcode("assignToHash",t[i].key);this.opcode("popHash")},opcode:function(e){this.opcodes.push({opcode:e,args:f.call(arguments,1),loc:this.sourceNode[0].loc})},addDepth:function(e){e&&(this.useDepths=!0)},classifySexpr:function(e){var t=d["default"].helpers.simpleId(e.path),i=t&&!!this.blockParamIndex(e.path.parts[0]),n=!i&&d["default"].helpers.helperExpression(e),r=!i&&(n||t);if(r&&!n){var s=e.path.parts[0],o=this.options;o.knownHelpers[s]?n=!0:o.knownHelpersOnly&&(r=!1)}return n?"helper":r?"ambiguous":"simple"},pushParams:function(e){for(var t=0,i=e.length;i>t;t++)this.pushParam(e[t])},pushParam:function(e){var t=null!=e.value?e.value:e.original||"";if(this.stringParams)t.replace&&(t=t.replace(/^(\.?\.\/)*/g,"").replace(/\//g,".")),e.depth&&this.addDepth(e.depth),this.opcode("getContext",e.depth||0),this.opcode("pushStringParam",t,e.type),"SubExpression"===e.type&&this.accept(e);else{if(this.trackIds){var i=void 0;if(!e.parts||d["default"].helpers.scopedId(e)||e.depth||(i=this.blockParamIndex(e.parts[0])),i){var n=e.parts.slice(1).join(".");this.opcode("pushId","BlockParam",i,n)}else t=e.original||t,t.replace&&(t=t.replace(/^\.\//g,"").replace(/^\.$/g,"")),this.opcode("pushId",e.type,t)}this.accept(e)}},setupFullMustacheParams:function(e,t,i,n){var r=e.params;return this.pushParams(r),this.opcode("pushProgram",t),this.opcode("pushProgram",i),e.hash?this.accept(e.hash):this.opcode("emptyHash",n),r},blockParamIndex:function(e){for(var t=0,i=this.options.blockParams.length;i>t;t++){var n=this.options.blockParams[t],r=n&&p.indexOf(n,e);if(n&&r>=0)return[t,r]}}}},function(e,t,i){"use strict";function n(e){this.value=e}function r(){}function s(e,t,i,n){var r=t.popStack(),s=0,o=i.length;for(e&&o--;o>s;s++)r=t.nameLookup(r,i[s],n);return e?[t.aliasable("this.strict"),"(",r,", ",t.quotedString(i[s]),")"]:r}var o=i(8)["default"];t.__esModule=!0;var a=i(10),l=i(12),c=o(l),u=i(13),p=i(18),h=o(p);r.prototype={nameLookup:function(e,t){return r.isValidJavaScriptVariableName(t)?[e,".",t]:[e,"['",t,"']"]},depthedLookup:function(e){return[this.aliasable("this.lookup"),'(depths, "',e,'")']},compilerInfo:function(){var e=a.COMPILER_REVISION,t=a.REVISION_CHANGES[e];return[e,t]},appendToBuffer:function(e,t,i){return u.isArray(e)||(e=[e]),e=this.source.wrap(e,t),this.environment.isSimple?["return ",e,";"]:i?["buffer += ",e,";"]:(e.appendToBuffer=!0,e)},initializeBuffer:function(){return this.quotedString("")},compile:function(e,t,i,n){this.environment=e,this.options=t,this.stringParams=this.options.stringParams,this.trackIds=this.options.trackIds,this.precompile=!n,this.name=this.environment.name,this.isChild=!!i,this.context=i||{programs:[],environments:[]},this.preamble(),this.stackSlot=0,this.stackVars=[],this.aliases={},this.registers={list:[]},this.hashes=[],this.compileStack=[],this.inlineStack=[],this.blockParams=[],this.compileChildren(e,t),this.useDepths=this.useDepths||e.useDepths||this.options.compat,this.useBlockParams=this.useBlockParams||e.useBlockParams;var r=e.opcodes,s=void 0,o=void 0,a=void 0,l=void 0;for(a=0,l=r.length;l>a;a++)s=r[a],this.source.currentLocation=s.loc,o=o||s.loc,this[s.opcode].apply(this,s.args);if(this.source.currentLocation=o,this.pushSource(""),this.stackSlot||this.inlineStack.length||this.compileStack.length)throw new c["default"]("Compile completed with content left on stack");var u=this.createFunctionContext(n);if(this.isChild)return u;var p={compiler:this.compilerInfo(),main:u},h=this.context.programs;for(a=0,l=h.length;l>a;a++)h[a]&&(p[a]=h[a]);return this.environment.usePartial&&(p.usePartial=!0),this.options.data&&(p.useData=!0),this.useDepths&&(p.useDepths=!0),this.useBlockParams&&(p.useBlockParams=!0),this.options.compat&&(p.compat=!0),n?p.compilerOptions=this.options:(p.compiler=JSON.stringify(p.compiler),this.source.currentLocation={start:{line:1,column:0}},p=this.objectLiteral(p),t.srcName?(p=p.toStringWithSourceMap({file:t.destName}),p.map=p.map&&p.map.toString()):p=p.toString()),p},preamble:function(){this.lastContext=0,this.source=new h["default"](this.options.srcName)},createFunctionContext:function(e){var t="",i=this.stackVars.concat(this.registers.list);i.length>0&&(t+=", "+i.join(", "));var n=0;for(var r in this.aliases){var s=this.aliases[r];this.aliases.hasOwnProperty(r)&&s.children&&s.referenceCount>1&&(t+=", alias"+ ++n+"="+r,s.children[0]="alias"+n)}var o=["depth0","helpers","partials","data"];(this.useBlockParams||this.useDepths)&&o.push("blockParams"),this.useDepths&&o.push("depths");var a=this.mergeSource(t);return e?(o.push(a),Function.apply(this,o)):this.source.wrap(["function(",o.join(","),") {\n ",a,"}"])},mergeSource:function(e){var t=this.environment.isSimple,i=!this.forceBuffer,n=void 0,r=void 0,s=void 0,o=void 0;return this.source.each(function(e){e.appendToBuffer?(s?e.prepend(" + "):s=e,o=e):(s&&(r?s.prepend("buffer += "):n=!0,o.add(";"),s=o=void 0),r=!0,t||(i=!1))}),i?s?(s.prepend("return "),o.add(";")):r||this.source.push('return "";'):(e+=", buffer = "+(n?"":this.initializeBuffer()),s?(s.prepend("return buffer + "),o.add(";")):this.source.push("return buffer;")),e&&this.source.prepend("var "+e.substring(2)+(n?"":";\n")),this.source.merge()},blockValue:function(e){var t=this.aliasable("helpers.blockHelperMissing"),i=[this.contextName(0)];this.setupHelperArgs(e,0,i);var n=this.popStack();i.splice(1,0,n),this.push(this.source.functionCall(t,"call",i))},ambiguousBlockValue:function(){var e=this.aliasable("helpers.blockHelperMissing"),t=[this.contextName(0)];this.setupHelperArgs("",0,t,!0),this.flushInline();var i=this.topStack();t.splice(1,0,i),this.pushSource(["if (!",this.lastHelper,") { ",i," = ",this.source.functionCall(e,"call",t),"}"])},appendContent:function(e){this.pendingContent?e=this.pendingContent+e:this.pendingLocation=this.source.currentLocation,this.pendingContent=e},append:function(){if(this.isInline())this.replaceStack(function(e){return[" != null ? ",e,' : ""']}),this.pushSource(this.appendToBuffer(this.popStack()));else{var e=this.popStack();this.pushSource(["if (",e," != null) { ",this.appendToBuffer(e,void 0,!0)," }"]),this.environment.isSimple&&this.pushSource(["else { ",this.appendToBuffer("''",void 0,!0)," }"])}},appendEscaped:function(){this.pushSource(this.appendToBuffer([this.aliasable("this.escapeExpression"),"(",this.popStack(),")"]))},getContext:function(e){this.lastContext=e},pushContext:function(){this.pushStackLiteral(this.contextName(this.lastContext))},lookupOnContext:function(e,t,i){var n=0;i||!this.options.compat||this.lastContext?this.pushContext():this.push(this.depthedLookup(e[n++])),this.resolvePath("context",e,n,t)},lookupBlockParam:function(e,t){this.useBlockParams=!0,this.push(["blockParams[",e[0],"][",e[1],"]"]),this.resolvePath("context",t,1)},lookupData:function(e,t){e?this.pushStackLiteral("this.data(data, "+e+")"):this.pushStackLiteral("data"),this.resolvePath("data",t,0,!0)},resolvePath:function(e,t,i,n){var r=this;if(this.options.strict||this.options.assumeObjects)return void this.push(s(this.options.strict,this,t,e));for(var o=t.length;o>i;i++)this.replaceStack(function(s){var o=r.nameLookup(s,t[i],e);return n?[" && ",o]:[" != null ? ",o," : ",s]})},resolvePossibleLambda:function(){this.push([this.aliasable("this.lambda"),"(",this.popStack(),", ",this.contextName(0),")"])},pushStringParam:function(e,t){this.pushContext(),this.pushString(t),"SubExpression"!==t&&("string"==typeof e?this.pushString(e):this.pushStackLiteral(e))},emptyHash:function(e){this.trackIds&&this.push("{}"),this.stringParams&&(this.push("{}"),this.push("{}")),this.pushStackLiteral(e?"undefined":"{}")},pushHash:function(){this.hash&&this.hashes.push(this.hash),this.hash={values:[],types:[],contexts:[],ids:[]}},popHash:function(){var e=this.hash;this.hash=this.hashes.pop(),this.trackIds&&this.push(this.objectLiteral(e.ids)),this.stringParams&&(this.push(this.objectLiteral(e.contexts)),this.push(this.objectLiteral(e.types))),this.push(this.objectLiteral(e.values))},pushString:function(e){this.pushStackLiteral(this.quotedString(e))},pushLiteral:function(e){this.pushStackLiteral(e)},pushProgram:function(e){null!=e?this.pushStackLiteral(this.programExpression(e)):this.pushStackLiteral(null)},invokeHelper:function(e,t,i){var n=this.popStack(),r=this.setupHelper(e,t),s=i?[r.name," || "]:"",o=["("].concat(s,n);this.options.strict||o.push(" || ",this.aliasable("helpers.helperMissing")),o.push(")"),this.push(this.source.functionCall(o,"call",r.callParams))},invokeKnownHelper:function(e,t){var i=this.setupHelper(e,t);this.push(this.source.functionCall(i.name,"call",i.callParams))},invokeAmbiguous:function(e,t){this.useRegister("helper");var i=this.popStack();this.emptyHash();var n=this.setupHelper(0,e,t),r=this.lastHelper=this.nameLookup("helpers",e,"helper"),s=["(","(helper = ",r," || ",i,")"];this.options.strict||(s[0]="(helper = ",s.push(" != null ? helper : ",this.aliasable("helpers.helperMissing"))),this.push(["(",s,n.paramsInit?["),(",n.paramsInit]:[],"),","(typeof helper === ",this.aliasable('"function"')," ? ",this.source.functionCall("helper","call",n.callParams)," : helper))"])},invokePartial:function(e,t,i){var n=[],r=this.setupParams(t,1,n,!1);e&&(t=this.popStack(),delete r.name),i&&(r.indent=JSON.stringify(i)),r.helpers="helpers",r.partials="partials",e?n.unshift(t):n.unshift(this.nameLookup("partials",t,"partial")),this.options.compat&&(r.depths="depths"),r=this.objectLiteral(r),n.push(r),this.push(this.source.functionCall("this.invokePartial","",n))},assignToHash:function(e){var t=this.popStack(),i=void 0,n=void 0,r=void 0;this.trackIds&&(r=this.popStack()),this.stringParams&&(n=this.popStack(),i=this.popStack());var s=this.hash;i&&(s.contexts[e]=i),n&&(s.types[e]=n),r&&(s.ids[e]=r),s.values[e]=t},pushId:function(e,t,i){"BlockParam"===e?this.pushStackLiteral("blockParams["+t[0]+"].path["+t[1]+"]"+(i?" + "+JSON.stringify("."+i):"")):"PathExpression"===e?this.pushString(t):"SubExpression"===e?this.pushStackLiteral("true"):this.pushStackLiteral("null")},compiler:r,compileChildren:function(e,t){for(var i=e.children,n=void 0,r=void 0,s=0,o=i.length;o>s;s++){n=i[s],r=new this.compiler;var a=this.matchExistingProgram(n);null==a?(this.context.programs.push(""),a=this.context.programs.length,n.index=a,n.name="program"+a,this.context.programs[a]=r.compile(n,t,this.context,!this.precompile),this.context.environments[a]=n,this.useDepths=this.useDepths||r.useDepths,this.useBlockParams=this.useBlockParams||r.useBlockParams):(n.index=a,n.name="program"+a,this.useDepths=this.useDepths||n.useDepths,this.useBlockParams=this.useBlockParams||n.useBlockParams)}},matchExistingProgram:function(e){for(var t=0,i=this.context.environments.length;i>t;t++){var n=this.context.environments[t];if(n&&n.equals(e))return t}},programExpression:function(e){var t=this.environment.children[e],i=[t.index,"data",t.blockParams];return(this.useBlockParams||this.useDepths)&&i.push("blockParams"),this.useDepths&&i.push("depths"),"this.program("+i.join(", ")+")"},useRegister:function(e){this.registers[e]||(this.registers[e]=!0,this.registers.list.push(e))},push:function(e){return e instanceof n||(e=this.source.wrap(e)),this.inlineStack.push(e),e},pushStackLiteral:function(e){this.push(new n(e))},pushSource:function(e){this.pendingContent&&(this.source.push(this.appendToBuffer(this.source.quotedString(this.pendingContent),this.pendingLocation)),this.pendingContent=void 0),e&&this.source.push(e)},replaceStack:function(e){var t=["("],i=void 0,r=void 0,s=void 0;if(!this.isInline())throw new c["default"]("replaceStack on non-inline");var o=this.popStack(!0);if(o instanceof n)i=[o.value],t=["(",i],s=!0;else{r=!0;var a=this.incrStack();t=["((",this.push(a)," = ",o,")"],i=this.topStack()}var l=e.call(this,i);s||this.popStack(),r&&this.stackSlot--,this.push(t.concat(l,")"))},incrStack:function(){return this.stackSlot++,this.stackSlot>this.stackVars.length&&this.stackVars.push("stack"+this.stackSlot),this.topStackName()},topStackName:function(){return"stack"+this.stackSlot},flushInline:function(){var e=this.inlineStack;this.inlineStack=[];for(var t=0,i=e.length;i>t;t++){var r=e[t];if(r instanceof n)this.compileStack.push(r);else{var s=this.incrStack();this.pushSource([s," = ",r,";"]),this.compileStack.push(s)}}},isInline:function(){return this.inlineStack.length},popStack:function(e){var t=this.isInline(),i=(t?this.inlineStack:this.compileStack).pop();if(!e&&i instanceof n)return i.value;if(!t){if(!this.stackSlot)throw new c["default"]("Invalid stack pop");this.stackSlot--}return i},topStack:function(){var e=this.isInline()?this.inlineStack:this.compileStack,t=e[e.length-1];return t instanceof n?t.value:t},contextName:function(e){return this.useDepths&&e?"depths["+e+"]":"depth"+e},quotedString:function(e){return this.source.quotedString(e)},objectLiteral:function(e){return this.source.objectLiteral(e)},aliasable:function(e){var t=this.aliases[e];return t?(t.referenceCount++,t):(t=this.aliases[e]=this.source.wrap(e),t.aliasable=!0,t.referenceCount=1,t)},setupHelper:function(e,t,i){var n=[],r=this.setupHelperArgs(t,e,n,i),s=this.nameLookup("helpers",t,"helper");return{params:n,paramsInit:r,name:s,callParams:[this.contextName(0)].concat(n)}},setupParams:function(e,t,i){var n={},r=[],s=[],o=[],a=void 0;n.name=this.quotedString(e),n.hash=this.popStack(),this.trackIds&&(n.hashIds=this.popStack()),this.stringParams&&(n.hashTypes=this.popStack(),n.hashContexts=this.popStack());var l=this.popStack(),c=this.popStack();(c||l)&&(n.fn=c||"this.noop",n.inverse=l||"this.noop");for(var u=t;u--;)a=this.popStack(),i[u]=a,this.trackIds&&(o[u]=this.popStack()),this.stringParams&&(s[u]=this.popStack(),r[u]=this.popStack());return this.trackIds&&(n.ids=this.source.generateArray(o)),this.stringParams&&(n.types=this.source.generateArray(s),n.contexts=this.source.generateArray(r)),this.options.data&&(n.data="data"),this.useBlockParams&&(n.blockParams="blockParams"),n},setupHelperArgs:function(e,t,i,n){var r=this.setupParams(e,t,i,!0);return r=this.objectLiteral(r),n?(this.useRegister("options"),i.push("options"),["options=",r]):(i.push(r),"")}},function(){for(var e="break else new var case finally return void catch for switch while continue function this with default if throw delete in try do instanceof typeof abstract enum int short boolean export interface static byte extends long super char final native synchronized class float package throws const goto private transient debugger implements protected volatile double import public let yield await null true false".split(" "),t=r.RESERVED_WORDS={},i=0,n=e.length;n>i;i++)t[e[i]]=!0}(),r.isValidJavaScriptVariableName=function(e){return!r.RESERVED_WORDS[e]&&/^[a-zA-Z_$][0-9a-zA-Z_$]*$/.test(e)},t["default"]=r,e.exports=t["default"]},function(e,t,i){"use strict";function n(){this.parents=[]}var r=i(8)["default"];t.__esModule=!0;var s=i(12),o=r(s),a=i(2),l=r(a);n.prototype={constructor:n,mutating:!1,acceptKey:function(e,t){var i=this.accept(e[t]);if(this.mutating){if(i&&(!i.type||!l["default"][i.type]))throw new o["default"]('Unexpected node type "'+i.type+'" found when accepting '+t+" on "+e.type);e[t]=i}},acceptRequired:function(e,t){if(this.acceptKey(e,t),!e[t])throw new o["default"](e.type+" requires "+t)},acceptArray:function(e){for(var t=0,i=e.length;i>t;t++)this.acceptKey(e,t),e[t]||(e.splice(t,1),t--,i--)},accept:function(e){if(e){this.current&&this.parents.unshift(this.current),this.current=e;var t=this[e.type](e);return this.current=this.parents.shift(),!this.mutating||t?t:t!==!1?e:void 0}},Program:function(e){this.acceptArray(e.body)},MustacheStatement:function(e){this.acceptRequired(e,"path"),this.acceptArray(e.params),this.acceptKey(e,"hash")},BlockStatement:function(e){this.acceptRequired(e,"path"),this.acceptArray(e.params),this.acceptKey(e,"hash"),this.acceptKey(e,"program"),this.acceptKey(e,"inverse")},PartialStatement:function(e){this.acceptRequired(e,"name"),this.acceptArray(e.params),this.acceptKey(e,"hash")},ContentStatement:function(){},CommentStatement:function(){},SubExpression:function(e){this.acceptRequired(e,"path"),this.acceptArray(e.params),this.acceptKey(e,"hash")},PathExpression:function(){},StringLiteral:function(){},NumberLiteral:function(){},BooleanLiteral:function(){},UndefinedLiteral:function(){},NullLiteral:function(){},Hash:function(e){this.acceptArray(e.pairs)},HashPair:function(e){this.acceptRequired(e,"value")}},t["default"]=n,e.exports=t["default"]},function(e,t,i){(function(i){"use strict";t.__esModule=!0,t["default"]=function(e){var t="undefined"!=typeof i?i:window,n=t.Handlebars;e.noConflict=function(){t.Handlebars===e&&(t.Handlebars=n)}},e.exports=t["default"]}).call(t,function(){return this}())},function(e,t,i){"use strict";t["default"]=function(e){return e&&e.__esModule?e:{"default":e}},t.__esModule=!0},function(e,t,i){"use strict";t["default"]=function(e){if(e&&e.__esModule)return e;var t={};if("object"==typeof e&&null!==e)for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t["default"]=e,t},t.__esModule=!0},function(e,t,i){"use strict";function n(e,t){this.helpers=e||{},this.partials=t||{},r(this)}function r(e){e.registerHelper("helperMissing",function(){if(1!==arguments.length)throw new p["default"]('Missing helper: "'+arguments[arguments.length-1].name+'"')}),e.registerHelper("blockHelperMissing",function(t,i){ +var n=i.inverse,r=i.fn;if(t===!0)return r(this);if(t===!1||null==t)return n(this);if(m(t))return t.length>0?(i.ids&&(i.ids=[i.name]),e.helpers.each(t,i)):n(this);if(i.data&&i.ids){var o=s(i.data);o.contextPath=c.appendContextPath(i.data.contextPath,i.name),i={data:o}}return r(t,i)}),e.registerHelper("each",function(e,t){function i(t,i,r){l&&(l.key=t,l.index=i,l.first=0===i,l.last=!!r,u&&(l.contextPath=u+t)),a+=n(e[t],{data:l,blockParams:c.blockParams([e[t],t],[u+t,null])})}if(!t)throw new p["default"]("Must pass iterator to #each");var n=t.fn,r=t.inverse,o=0,a="",l=void 0,u=void 0;if(t.data&&t.ids&&(u=c.appendContextPath(t.data.contextPath,t.ids[0])+"."),g(e)&&(e=e.call(this)),t.data&&(l=s(t.data)),e&&"object"==typeof e)if(m(e))for(var h=e.length;h>o;o++)i(o,o,o===e.length-1);else{var d=void 0;for(var f in e)e.hasOwnProperty(f)&&(d&&i(d,o-1),d=f,o++);d&&i(d,o-1,!0)}return 0===o&&(a=r(this)),a}),e.registerHelper("if",function(e,t){return g(e)&&(e=e.call(this)),!t.hash.includeZero&&!e||c.isEmpty(e)?t.inverse(this):t.fn(this)}),e.registerHelper("unless",function(t,i){return e.helpers["if"].call(this,t,{fn:i.inverse,inverse:i.fn,hash:i.hash})}),e.registerHelper("with",function(e,t){g(e)&&(e=e.call(this));var i=t.fn;if(c.isEmpty(e))return t.inverse(this);if(t.data&&t.ids){var n=s(t.data);n.contextPath=c.appendContextPath(t.data.contextPath,t.ids[0]),t={data:n}}return i(e,t)}),e.registerHelper("log",function(t,i){var n=i.data&&null!=i.data.level?parseInt(i.data.level,10):1;e.log(n,t)}),e.registerHelper("lookup",function(e,t){return e&&e[t]})}function s(e){var t=c.extend({},e);return t._parent=e,t}var o=i(9)["default"],a=i(8)["default"];t.__esModule=!0,t.HandlebarsEnvironment=n,t.createFrame=s;var l=i(13),c=o(l),u=i(12),p=a(u),h="3.0.1";t.VERSION=h;var d=6;t.COMPILER_REVISION=d;var f={1:"<= 1.0.rc.2",2:"== 1.0.0-rc.3",3:"== 1.0.0-rc.4",4:"== 1.x.x",5:"== 2.0.0-alpha.x",6:">= 2.0.0-beta.1"};t.REVISION_CHANGES=f;var m=c.isArray,g=c.isFunction,v=c.toString,y="[object Object]";n.prototype={constructor:n,logger:w,log:b,registerHelper:function(e,t){if(v.call(e)===y){if(t)throw new p["default"]("Arg not supported with multiple helpers");c.extend(this.helpers,e)}else this.helpers[e]=t},unregisterHelper:function(e){delete this.helpers[e]},registerPartial:function(e,t){if(v.call(e)===y)c.extend(this.partials,e);else{if("undefined"==typeof t)throw new p["default"]("Attempting to register a partial as undefined");this.partials[e]=t}},unregisterPartial:function(e){delete this.partials[e]}};var w={methodMap:{0:"debug",1:"info",2:"warn",3:"error"},DEBUG:0,INFO:1,WARN:2,ERROR:3,level:1,log:function(e,t){if("undefined"!=typeof console&&w.level<=e){var i=w.methodMap[e];(console[i]||console.log).call(console,t)}}};t.logger=w;var b=w.log;t.log=b},function(e,t,i){"use strict";function n(e){this.string=e}t.__esModule=!0,n.prototype.toString=n.prototype.toHTML=function(){return""+this.string},t["default"]=n,e.exports=t["default"]},function(e,t,i){"use strict";function n(e,t){var i=t&&t.loc,s=void 0,o=void 0;i&&(s=i.start.line,o=i.start.column,e+=" - "+s+":"+o);for(var a=Error.prototype.constructor.call(this,e),l=0;l<r.length;l++)this[r[l]]=a[r[l]];Error.captureStackTrace&&Error.captureStackTrace(this,n),i&&(this.lineNumber=s,this.column=o)}t.__esModule=!0;var r=["description","fileName","lineNumber","message","name","number","stack"];n.prototype=new Error,t["default"]=n,e.exports=t["default"]},function(e,t,i){"use strict";function n(e){return u[e]}function r(e){for(var t=1;t<arguments.length;t++)for(var i in arguments[t])Object.prototype.hasOwnProperty.call(arguments[t],i)&&(e[i]=arguments[t][i]);return e}function s(e,t){for(var i=0,n=e.length;n>i;i++)if(e[i]===t)return i;return-1}function o(e){if("string"!=typeof e){if(e&&e.toHTML)return e.toHTML();if(null==e)return"";if(!e)return e+"";e=""+e}return h.test(e)?e.replace(p,n):e}function a(e){return e||0===e?!(!m(e)||0!==e.length):!0}function l(e,t){return e.path=t,e}function c(e,t){return(e?e+".":"")+t}t.__esModule=!0,t.extend=r,t.indexOf=s,t.escapeExpression=o,t.isEmpty=a,t.blockParams=l,t.appendContextPath=c;var u={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},p=/[&<>"'`]/g,h=/[&<>"'`]/,d=Object.prototype.toString;t.toString=d;var f=function(e){return"function"==typeof e};f(/x/)&&(t.isFunction=f=function(e){return"function"==typeof e&&"[object Function]"===d.call(e)});var f;t.isFunction=f;var m=Array.isArray||function(e){return e&&"object"==typeof e?"[object Array]"===d.call(e):!1};t.isArray=m},function(e,t,i){"use strict";function n(e){var t=e&&e[0]||1,i=g.COMPILER_REVISION;if(t!==i){if(i>t){var n=g.REVISION_CHANGES[i],r=g.REVISION_CHANGES[t];throw new m["default"]("Template was precompiled with an older version of Handlebars than the current runtime. Please update your precompiler to a newer version ("+n+") or downgrade your runtime to an older version ("+r+").")}throw new m["default"]("Template was precompiled with a newer version of Handlebars than the current runtime. Please update your runtime to a newer version ("+e[1]+").")}}function r(e,t){function i(i,n,r){r.hash&&(n=d.extend({},n,r.hash)),i=t.VM.resolvePartial.call(this,i,n,r);var s=t.VM.invokePartial.call(this,i,n,r);if(null==s&&t.compile&&(r.partials[r.name]=t.compile(i,e.compilerOptions,t),s=r.partials[r.name](n,r)),null!=s){if(r.indent){for(var o=s.split("\n"),a=0,l=o.length;l>a&&(o[a]||a+1!==l);a++)o[a]=r.indent+o[a];s=o.join("\n")}return s}throw new m["default"]("The partial "+r.name+" could not be compiled when running in runtime-only mode")}function n(t){var i=void 0===arguments[1]?{}:arguments[1],s=i.data;n._setup(i),!i.partial&&e.useData&&(s=c(t,s));var o=void 0,a=e.useBlockParams?[]:void 0;return e.useDepths&&(o=i.depths?[t].concat(i.depths):[t]),e.main.call(r,t,r.helpers,r.partials,s,a,o)}if(!t)throw new m["default"]("No environment passed to template");if(!e||!e.main)throw new m["default"]("Unknown template object: "+typeof e);t.VM.checkRevision(e.compiler);var r={strict:function(e,t){if(!(t in e))throw new m["default"]('"'+t+'" not defined in '+e);return e[t]},lookup:function(e,t){for(var i=e.length,n=0;i>n;n++)if(e[n]&&null!=e[n][t])return e[n][t]},lambda:function(e,t){return"function"==typeof e?e.call(t):e},escapeExpression:d.escapeExpression,invokePartial:i,fn:function(t){return e[t]},programs:[],program:function(e,t,i,n,r){var o=this.programs[e],a=this.fn(e);return t||r||n||i?o=s(this,e,a,t,i,n,r):o||(o=this.programs[e]=s(this,e,a)),o},data:function(e,t){for(;e&&t--;)e=e._parent;return e},merge:function(e,t){var i=e||t;return e&&t&&e!==t&&(i=d.extend({},t,e)),i},noop:t.VM.noop,compilerInfo:e.compiler};return n.isTop=!0,n._setup=function(i){i.partial?(r.helpers=i.helpers,r.partials=i.partials):(r.helpers=r.merge(i.helpers,t.helpers),e.usePartial&&(r.partials=r.merge(i.partials,t.partials)))},n._child=function(t,i,n,o){if(e.useBlockParams&&!n)throw new m["default"]("must pass block params");if(e.useDepths&&!o)throw new m["default"]("must pass parent depths");return s(r,t,e[t],i,0,n,o)},n}function s(e,t,i,n,r,s,o){function a(t){var r=void 0===arguments[1]?{}:arguments[1];return i.call(e,t,e.helpers,e.partials,r.data||n,s&&[r.blockParams].concat(s),o&&[t].concat(o))}return a.program=t,a.depth=o?o.length:0,a.blockParams=r||0,a}function o(e,t,i){return e?e.call||i.name||(i.name=e,e=i.partials[e]):e=i.partials[i.name],e}function a(e,t,i){if(i.partial=!0,void 0===e)throw new m["default"]("The partial "+i.name+" could not be found");return e instanceof Function?e(t,i):void 0}function l(){return""}function c(e,t){return t&&"root"in t||(t=t?g.createFrame(t):{},t.root=e),t}var u=i(9)["default"],p=i(8)["default"];t.__esModule=!0,t.checkRevision=n,t.template=r,t.wrapProgram=s,t.resolvePartial=o,t.invokePartial=a,t.noop=l;var h=i(13),d=u(h),f=i(12),m=p(f),g=i(10)},function(e,t,i){"use strict";t.__esModule=!0;var n=function(){function e(){this.yy={}}var t={trace:function(){},yy:{},symbols_:{error:2,root:3,program:4,EOF:5,program_repetition0:6,statement:7,mustache:8,block:9,rawBlock:10,partial:11,content:12,COMMENT:13,CONTENT:14,openRawBlock:15,END_RAW_BLOCK:16,OPEN_RAW_BLOCK:17,helperName:18,openRawBlock_repetition0:19,openRawBlock_option0:20,CLOSE_RAW_BLOCK:21,openBlock:22,block_option0:23,closeBlock:24,openInverse:25,block_option1:26,OPEN_BLOCK:27,openBlock_repetition0:28,openBlock_option0:29,openBlock_option1:30,CLOSE:31,OPEN_INVERSE:32,openInverse_repetition0:33,openInverse_option0:34,openInverse_option1:35,openInverseChain:36,OPEN_INVERSE_CHAIN:37,openInverseChain_repetition0:38,openInverseChain_option0:39,openInverseChain_option1:40,inverseAndProgram:41,INVERSE:42,inverseChain:43,inverseChain_option0:44,OPEN_ENDBLOCK:45,OPEN:46,mustache_repetition0:47,mustache_option0:48,OPEN_UNESCAPED:49,mustache_repetition1:50,mustache_option1:51,CLOSE_UNESCAPED:52,OPEN_PARTIAL:53,partialName:54,partial_repetition0:55,partial_option0:56,param:57,sexpr:58,OPEN_SEXPR:59,sexpr_repetition0:60,sexpr_option0:61,CLOSE_SEXPR:62,hash:63,hash_repetition_plus0:64,hashSegment:65,ID:66,EQUALS:67,blockParams:68,OPEN_BLOCK_PARAMS:69,blockParams_repetition_plus0:70,CLOSE_BLOCK_PARAMS:71,path:72,dataName:73,STRING:74,NUMBER:75,BOOLEAN:76,UNDEFINED:77,NULL:78,DATA:79,pathSegments:80,SEP:81,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",13:"COMMENT",14:"CONTENT",16:"END_RAW_BLOCK",17:"OPEN_RAW_BLOCK",21:"CLOSE_RAW_BLOCK",27:"OPEN_BLOCK",31:"CLOSE",32:"OPEN_INVERSE",37:"OPEN_INVERSE_CHAIN",42:"INVERSE",45:"OPEN_ENDBLOCK",46:"OPEN",49:"OPEN_UNESCAPED",52:"CLOSE_UNESCAPED",53:"OPEN_PARTIAL",59:"OPEN_SEXPR",62:"CLOSE_SEXPR",66:"ID",67:"EQUALS",69:"OPEN_BLOCK_PARAMS",71:"CLOSE_BLOCK_PARAMS",74:"STRING",75:"NUMBER",76:"BOOLEAN",77:"UNDEFINED",78:"NULL",79:"DATA",81:"SEP"},productions_:[0,[3,2],[4,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[12,1],[10,3],[15,5],[9,4],[9,4],[22,6],[25,6],[36,6],[41,2],[43,3],[43,1],[24,3],[8,5],[8,5],[11,5],[57,1],[57,1],[58,5],[63,1],[65,3],[68,3],[18,1],[18,1],[18,1],[18,1],[18,1],[18,1],[18,1],[54,1],[54,1],[73,2],[72,1],[80,3],[80,1],[6,0],[6,2],[19,0],[19,2],[20,0],[20,1],[23,0],[23,1],[26,0],[26,1],[28,0],[28,2],[29,0],[29,1],[30,0],[30,1],[33,0],[33,2],[34,0],[34,1],[35,0],[35,1],[38,0],[38,2],[39,0],[39,1],[40,0],[40,1],[44,0],[44,1],[47,0],[47,2],[48,0],[48,1],[50,0],[50,2],[51,0],[51,1],[55,0],[55,2],[56,0],[56,1],[60,0],[60,2],[61,0],[61,1],[64,1],[64,2],[70,1],[70,2]],performAction:function(e,t,i,n,r,s,o){var a=s.length-1;switch(r){case 1:return s[a-1];case 2:this.$=new n.Program(s[a],null,{},n.locInfo(this._$));break;case 3:this.$=s[a];break;case 4:this.$=s[a];break;case 5:this.$=s[a];break;case 6:this.$=s[a];break;case 7:this.$=s[a];break;case 8:this.$=new n.CommentStatement(n.stripComment(s[a]),n.stripFlags(s[a],s[a]),n.locInfo(this._$));break;case 9:this.$=new n.ContentStatement(s[a],n.locInfo(this._$));break;case 10:this.$=n.prepareRawBlock(s[a-2],s[a-1],s[a],this._$);break;case 11:this.$={path:s[a-3],params:s[a-2],hash:s[a-1]};break;case 12:this.$=n.prepareBlock(s[a-3],s[a-2],s[a-1],s[a],!1,this._$);break;case 13:this.$=n.prepareBlock(s[a-3],s[a-2],s[a-1],s[a],!0,this._$);break;case 14:this.$={path:s[a-4],params:s[a-3],hash:s[a-2],blockParams:s[a-1],strip:n.stripFlags(s[a-5],s[a])};break;case 15:this.$={path:s[a-4],params:s[a-3],hash:s[a-2],blockParams:s[a-1],strip:n.stripFlags(s[a-5],s[a])};break;case 16:this.$={path:s[a-4],params:s[a-3],hash:s[a-2],blockParams:s[a-1],strip:n.stripFlags(s[a-5],s[a])};break;case 17:this.$={strip:n.stripFlags(s[a-1],s[a-1]),program:s[a]};break;case 18:var l=n.prepareBlock(s[a-2],s[a-1],s[a],s[a],!1,this._$),c=new n.Program([l],null,{},n.locInfo(this._$));c.chained=!0,this.$={strip:s[a-2].strip,program:c,chain:!0};break;case 19:this.$=s[a];break;case 20:this.$={path:s[a-1],strip:n.stripFlags(s[a-2],s[a])};break;case 21:this.$=n.prepareMustache(s[a-3],s[a-2],s[a-1],s[a-4],n.stripFlags(s[a-4],s[a]),this._$);break;case 22:this.$=n.prepareMustache(s[a-3],s[a-2],s[a-1],s[a-4],n.stripFlags(s[a-4],s[a]),this._$);break;case 23:this.$=new n.PartialStatement(s[a-3],s[a-2],s[a-1],n.stripFlags(s[a-4],s[a]),n.locInfo(this._$));break;case 24:this.$=s[a];break;case 25:this.$=s[a];break;case 26:this.$=new n.SubExpression(s[a-3],s[a-2],s[a-1],n.locInfo(this._$));break;case 27:this.$=new n.Hash(s[a],n.locInfo(this._$));break;case 28:this.$=new n.HashPair(n.id(s[a-2]),s[a],n.locInfo(this._$));break;case 29:this.$=n.id(s[a-1]);break;case 30:this.$=s[a];break;case 31:this.$=s[a];break;case 32:this.$=new n.StringLiteral(s[a],n.locInfo(this._$));break;case 33:this.$=new n.NumberLiteral(s[a],n.locInfo(this._$));break;case 34:this.$=new n.BooleanLiteral(s[a],n.locInfo(this._$));break;case 35:this.$=new n.UndefinedLiteral(n.locInfo(this._$));break;case 36:this.$=new n.NullLiteral(n.locInfo(this._$));break;case 37:this.$=s[a];break;case 38:this.$=s[a];break;case 39:this.$=n.preparePath(!0,s[a],this._$);break;case 40:this.$=n.preparePath(!1,s[a],this._$);break;case 41:s[a-2].push({part:n.id(s[a]),original:s[a],separator:s[a-1]}),this.$=s[a-2];break;case 42:this.$=[{part:n.id(s[a]),original:s[a]}];break;case 43:this.$=[];break;case 44:s[a-1].push(s[a]);break;case 45:this.$=[];break;case 46:s[a-1].push(s[a]);break;case 53:this.$=[];break;case 54:s[a-1].push(s[a]);break;case 59:this.$=[];break;case 60:s[a-1].push(s[a]);break;case 65:this.$=[];break;case 66:s[a-1].push(s[a]);break;case 73:this.$=[];break;case 74:s[a-1].push(s[a]);break;case 77:this.$=[];break;case 78:s[a-1].push(s[a]);break;case 81:this.$=[];break;case 82:s[a-1].push(s[a]);break;case 85:this.$=[];break;case 86:s[a-1].push(s[a]);break;case 89:this.$=[s[a]];break;case 90:s[a-1].push(s[a]);break;case 91:this.$=[s[a]];break;case 92:s[a-1].push(s[a])}},table:[{3:1,4:2,5:[2,43],6:3,13:[2,43],14:[2,43],17:[2,43],27:[2,43],32:[2,43],46:[2,43],49:[2,43],53:[2,43]},{1:[3]},{5:[1,4]},{5:[2,2],7:5,8:6,9:7,10:8,11:9,12:10,13:[1,11],14:[1,18],15:16,17:[1,21],22:14,25:15,27:[1,19],32:[1,20],37:[2,2],42:[2,2],45:[2,2],46:[1,12],49:[1,13],53:[1,17]},{1:[2,1]},{5:[2,44],13:[2,44],14:[2,44],17:[2,44],27:[2,44],32:[2,44],37:[2,44],42:[2,44],45:[2,44],46:[2,44],49:[2,44],53:[2,44]},{5:[2,3],13:[2,3],14:[2,3],17:[2,3],27:[2,3],32:[2,3],37:[2,3],42:[2,3],45:[2,3],46:[2,3],49:[2,3],53:[2,3]},{5:[2,4],13:[2,4],14:[2,4],17:[2,4],27:[2,4],32:[2,4],37:[2,4],42:[2,4],45:[2,4],46:[2,4],49:[2,4],53:[2,4]},{5:[2,5],13:[2,5],14:[2,5],17:[2,5],27:[2,5],32:[2,5],37:[2,5],42:[2,5],45:[2,5],46:[2,5],49:[2,5],53:[2,5]},{5:[2,6],13:[2,6],14:[2,6],17:[2,6],27:[2,6],32:[2,6],37:[2,6],42:[2,6],45:[2,6],46:[2,6],49:[2,6],53:[2,6]},{5:[2,7],13:[2,7],14:[2,7],17:[2,7],27:[2,7],32:[2,7],37:[2,7],42:[2,7],45:[2,7],46:[2,7],49:[2,7],53:[2,7]},{5:[2,8],13:[2,8],14:[2,8],17:[2,8],27:[2,8],32:[2,8],37:[2,8],42:[2,8],45:[2,8],46:[2,8],49:[2,8],53:[2,8]},{18:22,66:[1,32],72:23,73:24,74:[1,25],75:[1,26],76:[1,27],77:[1,28],78:[1,29],79:[1,31],80:30},{18:33,66:[1,32],72:23,73:24,74:[1,25],75:[1,26],76:[1,27],77:[1,28],78:[1,29],79:[1,31],80:30},{4:34,6:3,13:[2,43],14:[2,43],17:[2,43],27:[2,43],32:[2,43],37:[2,43],42:[2,43],45:[2,43],46:[2,43],49:[2,43],53:[2,43]},{4:35,6:3,13:[2,43],14:[2,43],17:[2,43],27:[2,43],32:[2,43],42:[2,43],45:[2,43],46:[2,43],49:[2,43],53:[2,43]},{12:36,14:[1,18]},{18:38,54:37,58:39,59:[1,40],66:[1,32],72:23,73:24,74:[1,25],75:[1,26],76:[1,27],77:[1,28],78:[1,29],79:[1,31],80:30},{5:[2,9],13:[2,9],14:[2,9],16:[2,9],17:[2,9],27:[2,9],32:[2,9],37:[2,9],42:[2,9],45:[2,9],46:[2,9],49:[2,9],53:[2,9]},{18:41,66:[1,32],72:23,73:24,74:[1,25],75:[1,26],76:[1,27],77:[1,28],78:[1,29],79:[1,31],80:30},{18:42,66:[1,32],72:23,73:24,74:[1,25],75:[1,26],76:[1,27],77:[1,28],78:[1,29],79:[1,31],80:30},{18:43,66:[1,32],72:23,73:24,74:[1,25],75:[1,26],76:[1,27],77:[1,28],78:[1,29],79:[1,31],80:30},{31:[2,73],47:44,59:[2,73],66:[2,73],74:[2,73],75:[2,73],76:[2,73],77:[2,73],78:[2,73],79:[2,73]},{21:[2,30],31:[2,30],52:[2,30],59:[2,30],62:[2,30],66:[2,30],69:[2,30],74:[2,30],75:[2,30],76:[2,30],77:[2,30],78:[2,30],79:[2,30]},{21:[2,31],31:[2,31],52:[2,31],59:[2,31],62:[2,31],66:[2,31],69:[2,31],74:[2,31],75:[2,31],76:[2,31],77:[2,31],78:[2,31],79:[2,31]},{21:[2,32],31:[2,32],52:[2,32],59:[2,32],62:[2,32],66:[2,32],69:[2,32],74:[2,32],75:[2,32],76:[2,32],77:[2,32],78:[2,32],79:[2,32]},{21:[2,33],31:[2,33],52:[2,33],59:[2,33],62:[2,33],66:[2,33],69:[2,33],74:[2,33],75:[2,33],76:[2,33],77:[2,33],78:[2,33],79:[2,33]},{21:[2,34],31:[2,34],52:[2,34],59:[2,34],62:[2,34],66:[2,34],69:[2,34],74:[2,34],75:[2,34],76:[2,34],77:[2,34],78:[2,34],79:[2,34]},{21:[2,35],31:[2,35],52:[2,35],59:[2,35],62:[2,35],66:[2,35],69:[2,35],74:[2,35],75:[2,35],76:[2,35],77:[2,35],78:[2,35],79:[2,35]},{21:[2,36],31:[2,36],52:[2,36],59:[2,36],62:[2,36],66:[2,36],69:[2,36],74:[2,36],75:[2,36],76:[2,36],77:[2,36],78:[2,36],79:[2,36]},{21:[2,40],31:[2,40],52:[2,40],59:[2,40],62:[2,40],66:[2,40],69:[2,40],74:[2,40],75:[2,40],76:[2,40],77:[2,40],78:[2,40],79:[2,40],81:[1,45]},{66:[1,32],80:46},{21:[2,42],31:[2,42],52:[2,42],59:[2,42],62:[2,42],66:[2,42],69:[2,42],74:[2,42],75:[2,42],76:[2,42],77:[2,42],78:[2,42],79:[2,42],81:[2,42]},{50:47,52:[2,77],59:[2,77],66:[2,77],74:[2,77],75:[2,77],76:[2,77],77:[2,77],78:[2,77],79:[2,77]},{23:48,36:50,37:[1,52],41:51,42:[1,53],43:49,45:[2,49]},{26:54,41:55,42:[1,53],45:[2,51]},{16:[1,56]},{31:[2,81],55:57,59:[2,81],66:[2,81],74:[2,81],75:[2,81],76:[2,81],77:[2,81],78:[2,81],79:[2,81]},{31:[2,37],59:[2,37],66:[2,37],74:[2,37],75:[2,37],76:[2,37],77:[2,37],78:[2,37],79:[2,37]},{31:[2,38],59:[2,38],66:[2,38],74:[2,38],75:[2,38],76:[2,38],77:[2,38],78:[2,38],79:[2,38]},{18:58,66:[1,32],72:23,73:24,74:[1,25],75:[1,26],76:[1,27],77:[1,28],78:[1,29],79:[1,31],80:30},{28:59,31:[2,53],59:[2,53],66:[2,53],69:[2,53],74:[2,53],75:[2,53],76:[2,53],77:[2,53],78:[2,53],79:[2,53]},{31:[2,59],33:60,59:[2,59],66:[2,59],69:[2,59],74:[2,59],75:[2,59],76:[2,59],77:[2,59],78:[2,59],79:[2,59]},{19:61,21:[2,45],59:[2,45],66:[2,45],74:[2,45],75:[2,45],76:[2,45],77:[2,45],78:[2,45],79:[2,45]},{18:65,31:[2,75],48:62,57:63,58:66,59:[1,40],63:64,64:67,65:68,66:[1,69],72:23,73:24,74:[1,25],75:[1,26],76:[1,27],77:[1,28],78:[1,29],79:[1,31],80:30},{66:[1,70]},{21:[2,39],31:[2,39],52:[2,39],59:[2,39],62:[2,39],66:[2,39],69:[2,39],74:[2,39],75:[2,39],76:[2,39],77:[2,39],78:[2,39],79:[2,39],81:[1,45]},{18:65,51:71,52:[2,79],57:72,58:66,59:[1,40],63:73,64:67,65:68,66:[1,69],72:23,73:24,74:[1,25],75:[1,26],76:[1,27],77:[1,28],78:[1,29],79:[1,31],80:30},{24:74,45:[1,75]},{45:[2,50]},{4:76,6:3,13:[2,43],14:[2,43],17:[2,43],27:[2,43],32:[2,43],37:[2,43],42:[2,43],45:[2,43],46:[2,43],49:[2,43],53:[2,43]},{45:[2,19]},{18:77,66:[1,32],72:23,73:24,74:[1,25],75:[1,26],76:[1,27],77:[1,28],78:[1,29],79:[1,31],80:30},{4:78,6:3,13:[2,43],14:[2,43],17:[2,43],27:[2,43],32:[2,43],45:[2,43],46:[2,43],49:[2,43],53:[2,43]},{24:79,45:[1,75]},{45:[2,52]},{5:[2,10],13:[2,10],14:[2,10],17:[2,10],27:[2,10],32:[2,10],37:[2,10],42:[2,10],45:[2,10],46:[2,10],49:[2,10],53:[2,10]},{18:65,31:[2,83],56:80,57:81,58:66,59:[1,40],63:82,64:67,65:68,66:[1,69],72:23,73:24,74:[1,25],75:[1,26],76:[1,27],77:[1,28],78:[1,29],79:[1,31],80:30},{59:[2,85],60:83,62:[2,85],66:[2,85],74:[2,85],75:[2,85],76:[2,85],77:[2,85],78:[2,85],79:[2,85]},{18:65,29:84,31:[2,55],57:85,58:66,59:[1,40],63:86,64:67,65:68,66:[1,69],69:[2,55],72:23,73:24,74:[1,25],75:[1,26],76:[1,27],77:[1,28],78:[1,29],79:[1,31],80:30},{18:65,31:[2,61],34:87,57:88,58:66,59:[1,40],63:89,64:67,65:68,66:[1,69],69:[2,61],72:23,73:24,74:[1,25],75:[1,26],76:[1,27],77:[1,28],78:[1,29],79:[1,31],80:30},{18:65,20:90,21:[2,47],57:91,58:66,59:[1,40],63:92,64:67,65:68,66:[1,69],72:23,73:24,74:[1,25],75:[1,26],76:[1,27],77:[1,28],78:[1,29],79:[1,31],80:30},{31:[1,93]},{31:[2,74],59:[2,74],66:[2,74],74:[2,74],75:[2,74],76:[2,74],77:[2,74],78:[2,74],79:[2,74]},{31:[2,76]},{21:[2,24],31:[2,24],52:[2,24],59:[2,24],62:[2,24],66:[2,24],69:[2,24],74:[2,24],75:[2,24],76:[2,24],77:[2,24],78:[2,24],79:[2,24]},{21:[2,25],31:[2,25],52:[2,25],59:[2,25],62:[2,25],66:[2,25],69:[2,25],74:[2,25],75:[2,25],76:[2,25],77:[2,25],78:[2,25],79:[2,25]},{21:[2,27],31:[2,27],52:[2,27],62:[2,27],65:94,66:[1,95],69:[2,27]},{21:[2,89],31:[2,89],52:[2,89],62:[2,89],66:[2,89],69:[2,89]},{21:[2,42],31:[2,42],52:[2,42],59:[2,42],62:[2,42],66:[2,42],67:[1,96],69:[2,42],74:[2,42],75:[2,42],76:[2,42],77:[2,42],78:[2,42],79:[2,42],81:[2,42]},{21:[2,41],31:[2,41],52:[2,41],59:[2,41],62:[2,41],66:[2,41],69:[2,41],74:[2,41],75:[2,41],76:[2,41],77:[2,41],78:[2,41],79:[2,41],81:[2,41]},{52:[1,97]},{52:[2,78],59:[2,78],66:[2,78],74:[2,78],75:[2,78],76:[2,78],77:[2,78],78:[2,78],79:[2,78]},{52:[2,80]},{5:[2,12],13:[2,12],14:[2,12],17:[2,12],27:[2,12],32:[2,12],37:[2,12],42:[2,12],45:[2,12],46:[2,12],49:[2,12],53:[2,12]},{18:98,66:[1,32],72:23,73:24,74:[1,25],75:[1,26],76:[1,27],77:[1,28],78:[1,29],79:[1,31],80:30},{36:50,37:[1,52],41:51,42:[1,53],43:100,44:99,45:[2,71]},{31:[2,65],38:101,59:[2,65],66:[2,65],69:[2,65],74:[2,65],75:[2,65],76:[2,65],77:[2,65],78:[2,65],79:[2,65]},{45:[2,17]},{5:[2,13],13:[2,13],14:[2,13],17:[2,13],27:[2,13],32:[2,13],37:[2,13],42:[2,13],45:[2,13],46:[2,13],49:[2,13],53:[2,13]},{31:[1,102]},{31:[2,82],59:[2,82],66:[2,82],74:[2,82],75:[2,82],76:[2,82],77:[2,82],78:[2,82],79:[2,82]},{31:[2,84]},{18:65,57:104,58:66,59:[1,40],61:103,62:[2,87],63:105,64:67,65:68,66:[1,69],72:23,73:24,74:[1,25],75:[1,26],76:[1,27],77:[1,28],78:[1,29],79:[1,31],80:30},{30:106,31:[2,57],68:107,69:[1,108]},{31:[2,54],59:[2,54],66:[2,54],69:[2,54],74:[2,54],75:[2,54],76:[2,54],77:[2,54],78:[2,54],79:[2,54]},{31:[2,56],69:[2,56]},{31:[2,63],35:109,68:110,69:[1,108]},{31:[2,60],59:[2,60],66:[2,60],69:[2,60],74:[2,60],75:[2,60],76:[2,60],77:[2,60],78:[2,60],79:[2,60]},{31:[2,62],69:[2,62]},{21:[1,111]},{21:[2,46],59:[2,46],66:[2,46],74:[2,46],75:[2,46],76:[2,46],77:[2,46],78:[2,46],79:[2,46]},{21:[2,48]},{5:[2,21],13:[2,21],14:[2,21],17:[2,21],27:[2,21],32:[2,21],37:[2,21],42:[2,21],45:[2,21],46:[2,21],49:[2,21],53:[2,21]},{21:[2,90],31:[2,90],52:[2,90],62:[2,90],66:[2,90],69:[2,90]},{67:[1,96]},{18:65,57:112,58:66,59:[1,40],66:[1,32],72:23,73:24,74:[1,25],75:[1,26],76:[1,27],77:[1,28],78:[1,29],79:[1,31],80:30},{5:[2,22],13:[2,22],14:[2,22],17:[2,22],27:[2,22],32:[2,22],37:[2,22],42:[2,22],45:[2,22],46:[2,22],49:[2,22],53:[2,22]},{31:[1,113]},{45:[2,18]},{45:[2,72]},{18:65,31:[2,67],39:114,57:115,58:66,59:[1,40],63:116,64:67,65:68,66:[1,69],69:[2,67],72:23,73:24,74:[1,25],75:[1,26],76:[1,27],77:[1,28],78:[1,29],79:[1,31],80:30},{5:[2,23],13:[2,23],14:[2,23],17:[2,23],27:[2,23],32:[2,23],37:[2,23],42:[2,23],45:[2,23],46:[2,23],49:[2,23],53:[2,23]},{62:[1,117]},{59:[2,86],62:[2,86],66:[2,86],74:[2,86],75:[2,86],76:[2,86],77:[2,86],78:[2,86],79:[2,86]},{62:[2,88]},{31:[1,118]},{31:[2,58]},{66:[1,120],70:119},{31:[1,121]},{31:[2,64]},{14:[2,11]},{21:[2,28],31:[2,28],52:[2,28],62:[2,28],66:[2,28],69:[2,28]},{5:[2,20],13:[2,20],14:[2,20],17:[2,20],27:[2,20],32:[2,20],37:[2,20],42:[2,20],45:[2,20],46:[2,20],49:[2,20],53:[2,20]},{31:[2,69],40:122,68:123,69:[1,108]},{31:[2,66],59:[2,66],66:[2,66],69:[2,66],74:[2,66],75:[2,66],76:[2,66],77:[2,66],78:[2,66],79:[2,66]},{31:[2,68],69:[2,68]},{21:[2,26],31:[2,26],52:[2,26],59:[2,26],62:[2,26],66:[2,26],69:[2,26],74:[2,26],75:[2,26],76:[2,26],77:[2,26],78:[2,26],79:[2,26]},{13:[2,14],14:[2,14],17:[2,14],27:[2,14],32:[2,14],37:[2,14],42:[2,14],45:[2,14],46:[2,14],49:[2,14],53:[2,14]},{66:[1,125],71:[1,124]},{66:[2,91],71:[2,91]},{13:[2,15],14:[2,15],17:[2,15],27:[2,15],32:[2,15],42:[2,15],45:[2,15],46:[2,15],49:[2,15],53:[2,15]},{31:[1,126]},{31:[2,70]},{31:[2,29]},{66:[2,92],71:[2,92]},{13:[2,16],14:[2,16],17:[2,16],27:[2,16],32:[2,16],37:[2,16],42:[2,16],45:[2,16],46:[2,16],49:[2,16],53:[2,16]}],defaultActions:{4:[2,1],49:[2,50],51:[2,19],55:[2,52],64:[2,76],73:[2,80],78:[2,17],82:[2,84],92:[2,48],99:[2,18],100:[2,72],105:[2,88],107:[2,58],110:[2,64],111:[2,11],123:[2,70],124:[2,29]},parseError:function(e,t){throw new Error(e)},parse:function(e){function t(){var e;return e=i.lexer.lex()||1,"number"!=typeof e&&(e=i.symbols_[e]||e),e}var i=this,n=[0],r=[null],s=[],o=this.table,a="",l=0,c=0,u=0;this.lexer.setInput(e),this.lexer.yy=this.yy,this.yy.lexer=this.lexer,this.yy.parser=this,"undefined"==typeof this.lexer.yylloc&&(this.lexer.yylloc={});var p=this.lexer.yylloc;s.push(p);var h=this.lexer.options&&this.lexer.options.ranges;"function"==typeof this.yy.parseError&&(this.parseError=this.yy.parseError);for(var d,f,m,g,v,y,w,b,x,S={};;){if(m=n[n.length-1],this.defaultActions[m]?g=this.defaultActions[m]:(null!==d&&"undefined"!=typeof d||(d=t()),g=o[m]&&o[m][d]),"undefined"==typeof g||!g.length||!g[0]){var T="";if(!u){x=[];for(y in o[m])this.terminals_[y]&&y>2&&x.push("'"+this.terminals_[y]+"'");T=this.lexer.showPosition?"Parse error on line "+(l+1)+":\n"+this.lexer.showPosition()+"\nExpecting "+x.join(", ")+", got '"+(this.terminals_[d]||d)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==d?"end of input":"'"+(this.terminals_[d]||d)+"'"),this.parseError(T,{text:this.lexer.match,token:this.terminals_[d]||d,line:this.lexer.yylineno,loc:p,expected:x})}}if(g[0]instanceof Array&&g.length>1)throw new Error("Parse Error: multiple actions possible at state: "+m+", token: "+d);switch(g[0]){case 1:n.push(d),r.push(this.lexer.yytext),s.push(this.lexer.yylloc),n.push(g[1]),d=null,f?(d=f,f=null):(c=this.lexer.yyleng,a=this.lexer.yytext,l=this.lexer.yylineno,p=this.lexer.yylloc,u>0&&u--);break;case 2:if(w=this.productions_[g[1]][1],S.$=r[r.length-w],S._$={first_line:s[s.length-(w||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(w||1)].first_column,last_column:s[s.length-1].last_column},h&&(S._$.range=[s[s.length-(w||1)].range[0],s[s.length-1].range[1]]),v=this.performAction.call(S,a,c,l,this.yy,g[1],r,s),"undefined"!=typeof v)return v;w&&(n=n.slice(0,-1*w*2),r=r.slice(0,-1*w),s=s.slice(0,-1*w)),n.push(this.productions_[g[1]][0]),r.push(S.$),s.push(S._$),b=o[n[n.length-2]][n[n.length-1]],n.push(b);break;case 3:return!0}}return!0}},i=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e){return this._input=e,this._more=this._less=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,i=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t-1),this.offset-=t;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===n.length?this.yylloc.first_column:0)+n[n.length-i.length].length-i[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-t]),this},more:function(){return this._more=!0,this},less:function(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,i,n,r;this._more||(this.yytext="",this.match="");for(var s=this._currentRules(),o=0;o<s.length&&(i=this._input.match(this.rules[s[o]]),!i||t&&!(i[0].length>t[0].length)||(t=i,n=o,this.options.flex));o++);return t?(r=t[0].match(/(?:\r\n?|\n).*/g),r&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],e=this.performAction.call(this,this.yy,this,s[n],this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),e?e:void 0):""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var e=this.next();return"undefined"!=typeof e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){return this.conditionStack.pop()},_currentRules:function(){return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules},topState:function(){return this.conditionStack[this.conditionStack.length-2]},pushState:function(e){this.begin(e)}};return e.options={},e.performAction=function(e,t,i,n){function r(e,i){return t.yytext=t.yytext.substr(e,t.yyleng-i)}switch(i){case 0:if("\\\\"===t.yytext.slice(-2)?(r(0,1),this.begin("mu")):"\\"===t.yytext.slice(-1)?(r(0,1),this.begin("emu")):this.begin("mu"),t.yytext)return 14;break;case 1:return 14;case 2:return this.popState(),14;case 3:return t.yytext=t.yytext.substr(5,t.yyleng-9),this.popState(),16;case 4:return 14;case 5:return this.popState(),13;case 6:return 59;case 7:return 62;case 8:return 17;case 9:return this.popState(),this.begin("raw"),21;case 10:return 53;case 11:return 27;case 12:return 45;case 13:return this.popState(),42;case 14:return this.popState(),42;case 15:return 32;case 16:return 37;case 17:return 49;case 18:return 46;case 19:this.unput(t.yytext),this.popState(),this.begin("com");break;case 20:return this.popState(),13;case 21:return 46;case 22:return 67;case 23:return 66;case 24:return 66;case 25:return 81;case 26:break;case 27:return this.popState(),52;case 28:return this.popState(),31;case 29:return t.yytext=r(1,2).replace(/\\"/g,'"'),74;case 30:return t.yytext=r(1,2).replace(/\\'/g,"'"),74;case 31:return 79;case 32:return 76;case 33:return 76;case 34:return 77;case 35:return 78;case 36:return 75;case 37:return 69;case 38:return 71;case 39:return 66;case 40:return 66;case 41:return"INVALID";case 42:return 5}},e.rules=[/^(?:[^\x00]*?(?=(\{\{)))/,/^(?:[^\x00]+)/,/^(?:[^\x00]{2,}?(?=(\{\{|\\\{\{|\\\\\{\{|$)))/,/^(?:\{\{\{\{\/[^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=[=}\s\/.])\}\}\}\})/,/^(?:[^\x00]*?(?=(\{\{\{\{\/)))/,/^(?:[\s\S]*?--(~)?\}\})/,/^(?:\()/,/^(?:\))/,/^(?:\{\{\{\{)/,/^(?:\}\}\}\})/,/^(?:\{\{(~)?>)/,/^(?:\{\{(~)?#)/,/^(?:\{\{(~)?\/)/,/^(?:\{\{(~)?\^\s*(~)?\}\})/,/^(?:\{\{(~)?\s*else\s*(~)?\}\})/,/^(?:\{\{(~)?\^)/,/^(?:\{\{(~)?\s*else\b)/,/^(?:\{\{(~)?\{)/,/^(?:\{\{(~)?&)/,/^(?:\{\{(~)?!--)/,/^(?:\{\{(~)?![\s\S]*?\}\})/,/^(?:\{\{(~)?)/,/^(?:=)/,/^(?:\.\.)/,/^(?:\.(?=([=~}\s\/.)|])))/,/^(?:[\/.])/,/^(?:\s+)/,/^(?:\}(~)?\}\})/,/^(?:(~)?\}\})/,/^(?:"(\\["]|[^"])*")/,/^(?:'(\\[']|[^'])*')/,/^(?:@)/,/^(?:true(?=([~}\s)])))/,/^(?:false(?=([~}\s)])))/,/^(?:undefined(?=([~}\s)])))/,/^(?:null(?=([~}\s)])))/,/^(?:-?[0-9]+(?:\.[0-9]+)?(?=([~}\s)])))/,/^(?:as\s+\|)/,/^(?:\|)/,/^(?:([^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=([=~}\s\/.)|]))))/,/^(?:\[[^\]]*\])/,/^(?:.)/,/^(?:$)/],e.conditions={mu:{rules:[6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42],inclusive:!1},emu:{rules:[2],inclusive:!1},com:{rules:[5],inclusive:!1},raw:{rules:[3,4],inclusive:!1 +},INITIAL:{rules:[0,1,42],inclusive:!0}},e}();return t.lexer=i,e.prototype=t,t.Parser=e,new e}();t["default"]=n,e.exports=t["default"]},function(e,t,i){"use strict";function n(){}function r(e,t,i){void 0===t&&(t=e.length);var n=e[t-1],r=e[t-2];return n?"ContentStatement"===n.type?(r||!i?/\r?\n\s*?$/:/(^|\r?\n)\s*?$/).test(n.original):void 0:i}function s(e,t,i){void 0===t&&(t=-1);var n=e[t+1],r=e[t+2];return n?"ContentStatement"===n.type?(r||!i?/^\s*?\r?\n/:/^\s*?(\r?\n|$)/).test(n.original):void 0:i}function o(e,t,i){var n=e[null==t?0:t+1];if(n&&"ContentStatement"===n.type&&(i||!n.rightStripped)){var r=n.value;n.value=n.value.replace(i?/^\s+/:/^[ \t]*\r?\n?/,""),n.rightStripped=n.value!==r}}function a(e,t,i){var n=e[null==t?e.length-1:t-1];if(n&&"ContentStatement"===n.type&&(i||!n.leftStripped)){var r=n.value;return n.value=n.value.replace(i?/\s+$/:/[ \t]+$/,""),n.leftStripped=n.value!==r,n.leftStripped}}var l=i(8)["default"];t.__esModule=!0;var c=i(6),u=l(c);n.prototype=new u["default"],n.prototype.Program=function(e){var t=!this.isRootSeen;this.isRootSeen=!0;for(var i=e.body,n=0,l=i.length;l>n;n++){var c=i[n],u=this.accept(c);if(u){var p=r(i,n,t),h=s(i,n,t),d=u.openStandalone&&p,f=u.closeStandalone&&h,m=u.inlineStandalone&&p&&h;u.close&&o(i,n,!0),u.open&&a(i,n,!0),m&&(o(i,n),a(i,n)&&"PartialStatement"===c.type&&(c.indent=/([ \t]+$)/.exec(i[n-1].original)[1])),d&&(o((c.program||c.inverse).body),a(i,n)),f&&(o(i,n),a((c.inverse||c.program).body))}}return e},n.prototype.BlockStatement=function(e){this.accept(e.program),this.accept(e.inverse);var t=e.program||e.inverse,i=e.program&&e.inverse,n=i,l=i;if(i&&i.chained)for(n=i.body[0].program;l.chained;)l=l.body[l.body.length-1].program;var c={open:e.openStrip.open,close:e.closeStrip.close,openStandalone:s(t.body),closeStandalone:r((n||t).body)};if(e.openStrip.close&&o(t.body,null,!0),i){var u=e.inverseStrip;u.open&&a(t.body,null,!0),u.close&&o(n.body,null,!0),e.closeStrip.open&&a(l.body,null,!0),r(t.body)&&s(n.body)&&(a(t.body),o(n.body))}else e.closeStrip.open&&a(t.body,null,!0);return c},n.prototype.MustacheStatement=function(e){return e.strip},n.prototype.PartialStatement=n.prototype.CommentStatement=function(e){var t=e.strip||{};return{inlineStandalone:!0,open:t.open,close:t.close}},t["default"]=n,e.exports=t["default"]},function(e,t,i){"use strict";function n(e,t){this.source=e,this.start={line:t.first_line,column:t.first_column},this.end={line:t.last_line,column:t.last_column}}function r(e){return/^\[.*\]$/.test(e)?e.substr(1,e.length-2):e}function s(e,t){return{open:"~"===e.charAt(2),close:"~"===t.charAt(t.length-3)}}function o(e){return e.replace(/^\{\{~?\!-?-?/,"").replace(/-?-?~?\}\}$/,"")}function a(e,t,i){i=this.locInfo(i);for(var n=e?"@":"",r=[],s=0,o="",a=0,l=t.length;l>a;a++){var c=t[a].part,u=t[a].original!==c;if(n+=(t[a].separator||"")+c,u||".."!==c&&"."!==c&&"this"!==c)r.push(c);else{if(r.length>0)throw new d["default"]("Invalid path: "+n,{loc:i});".."===c&&(s++,o+="../")}}return new this.PathExpression(e,s,r,n,i)}function l(e,t,i,n,r,s){var o=n.charAt(3)||n.charAt(2),a="{"!==o&&"&"!==o;return new this.MustacheStatement(e,t,i,a,r,this.locInfo(s))}function c(e,t,i,n){if(e.path.original!==i){var r={loc:e.path.loc};throw new d["default"](e.path.original+" doesn't match "+i,r)}n=this.locInfo(n);var s=new this.Program([t],null,{},n);return new this.BlockStatement(e.path,e.params,e.hash,s,void 0,{},{},{},n)}function u(e,t,i,n,r,s){if(n&&n.path&&e.path.original!==n.path.original){var o={loc:e.path.loc};throw new d["default"](e.path.original+" doesn't match "+n.path.original,o)}t.blockParams=e.blockParams;var a=void 0,l=void 0;return i&&(i.chain&&(i.program.body[0].closeStrip=n.strip),l=i.strip,a=i.program),r&&(r=a,a=t,t=r),new this.BlockStatement(e.path,e.params,e.hash,t,a,e.strip,l,n&&n.strip,this.locInfo(s))}var p=i(8)["default"];t.__esModule=!0,t.SourceLocation=n,t.id=r,t.stripFlags=s,t.stripComment=o,t.preparePath=a,t.prepareMustache=l,t.prepareRawBlock=c,t.prepareBlock=u;var h=i(12),d=p(h)},function(e,t,i){"use strict";function n(e,t,i){if(s.isArray(e)){for(var n=[],r=0,o=e.length;o>r;r++)n.push(t.wrap(e[r],i));return n}return"boolean"==typeof e||"number"==typeof e?e+"":e}function r(e){this.srcFile=e,this.source=[]}t.__esModule=!0;var s=i(13),o=void 0;try{}catch(a){}o||(o=function(e,t,i,n){this.src="",n&&this.add(n)},o.prototype={add:function(e){s.isArray(e)&&(e=e.join("")),this.src+=e},prepend:function(e){s.isArray(e)&&(e=e.join("")),this.src=e+this.src},toStringWithSourceMap:function(){return{code:this.toString()}},toString:function(){return this.src}}),r.prototype={prepend:function(e,t){this.source.unshift(this.wrap(e,t))},push:function(e,t){this.source.push(this.wrap(e,t))},merge:function(){var e=this.empty();return this.each(function(t){e.add([" ",t,"\n"])}),e},each:function(e){for(var t=0,i=this.source.length;i>t;t++)e(this.source[t])},empty:function(){var e=void 0===arguments[0]?this.currentLocation||{start:{}}:arguments[0];return new o(e.start.line,e.start.column,this.srcFile)},wrap:function(e){var t=void 0===arguments[1]?this.currentLocation||{start:{}}:arguments[1];return e instanceof o?e:(e=n(e,this,t),new o(t.start.line,t.start.column,this.srcFile,e))},functionCall:function(e,t,i){return i=this.generateList(i),this.wrap([e,t?"."+t+"(":"(",i,")"])},quotedString:function(e){return'"'+(e+"").replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")+'"'},objectLiteral:function(e){var t=[];for(var i in e)if(e.hasOwnProperty(i)){var r=n(e[i],this);"undefined"!==r&&t.push([this.quotedString(i),":",r])}var s=this.generateList(t);return s.prepend("{"),s.add("}"),s},generateList:function(e,t){for(var i=this.empty(t),r=0,s=e.length;s>r;r++)r&&i.add(","),i.add(n(e[r],this,t));return i},generateArray:function(e,t){var i=this.generateList(e,t);return i.prepend("["),i.add("]"),i}},t["default"]=r,e.exports=t["default"]}])})}),define("source-map",[],function(e,t,i){t.SourceMapGenerator=e("source-map/source-map-generator").SourceMapGenerator,t.SourceMapConsumer=e("source-map/source-map-consumer").SourceMapConsumer,t.SourceNode=e("source-map/source-node").SourceNode}),define("source-map/source-map-generator",[],function(e,t,i){define(function(e,t,i){function n(e){e||(e={}),this._file=s.getArg(e,"file",null),this._sourceRoot=s.getArg(e,"sourceRoot",null),this._sources=new o,this._names=new o,this._mappings=[],this._sourcesContents=null}var r=e("source-map/base64-vlq"),s=e("source-map/util"),o=e("source-map/array-set").ArraySet;n.prototype._version=3,n.fromSourceMap=function(e){var t=e.sourceRoot,i=new n({file:e.file,sourceRoot:t});return e.eachMapping(function(e){var n={generated:{line:e.generatedLine,column:e.generatedColumn}};null!=e.source&&(n.source=e.source,null!=t&&(n.source=s.relative(t,n.source)),n.original={line:e.originalLine,column:e.originalColumn},null!=e.name&&(n.name=e.name)),i.addMapping(n)}),e.sources.forEach(function(t){var n=e.sourceContentFor(t);null!=n&&i.setSourceContent(t,n)}),i},n.prototype.addMapping=function(e){var t=s.getArg(e,"generated"),i=s.getArg(e,"original",null),n=s.getArg(e,"source",null),r=s.getArg(e,"name",null);this._validateMapping(t,i,n,r),null==n||this._sources.has(n)||this._sources.add(n),null==r||this._names.has(r)||this._names.add(r),this._mappings.push({generatedLine:t.line,generatedColumn:t.column,originalLine:null!=i&&i.line,originalColumn:null!=i&&i.column,source:n,name:r})},n.prototype.setSourceContent=function(e,t){var i=e;null!=this._sourceRoot&&(i=s.relative(this._sourceRoot,i)),null!=t?(this._sourcesContents||(this._sourcesContents={}),this._sourcesContents[s.toSetString(i)]=t):this._sourcesContents&&(delete this._sourcesContents[s.toSetString(i)],0===Object.keys(this._sourcesContents).length&&(this._sourcesContents=null))},n.prototype.applySourceMap=function(e,t,i){var n=t;if(null==t){if(null==e.file)throw new Error('SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map\'s "file" property. Both were omitted.');n=e.file}var r=this._sourceRoot;null!=r&&(n=s.relative(r,n));var a=new o,l=new o;this._mappings.forEach(function(t){if(t.source===n&&null!=t.originalLine){var o=e.originalPositionFor({line:t.originalLine,column:t.originalColumn});null!=o.source&&(t.source=o.source,null!=i&&(t.source=s.join(i,t.source)),null!=r&&(t.source=s.relative(r,t.source)),t.originalLine=o.line,t.originalColumn=o.column,null!=o.name&&(t.name=o.name))}var c=t.source;null==c||a.has(c)||a.add(c);var u=t.name;null==u||l.has(u)||l.add(u)},this),this._sources=a,this._names=l,e.sources.forEach(function(t){var n=e.sourceContentFor(t);null!=n&&(null!=i&&(t=s.join(i,t)),null!=r&&(t=s.relative(r,t)),this.setSourceContent(t,n))},this)},n.prototype._validateMapping=function(e,t,i,n){if((!(e&&"line"in e&&"column"in e&&e.line>0&&e.column>=0)||t||i||n)&&!(e&&"line"in e&&"column"in e&&t&&"line"in t&&"column"in t&&e.line>0&&e.column>=0&&t.line>0&&t.column>=0&&i))throw new Error("Invalid mapping: "+JSON.stringify({generated:e,source:i,original:t,name:n}))},n.prototype._serializeMappings=function(){var e,t=0,i=1,n=0,o=0,a=0,l=0,c="";this._mappings.sort(s.compareByGeneratedPositions);for(var u=0,p=this._mappings.length;p>u;u++){if(e=this._mappings[u],e.generatedLine!==i)for(t=0;e.generatedLine!==i;)c+=";",i++;else if(u>0){if(!s.compareByGeneratedPositions(e,this._mappings[u-1]))continue;c+=","}c+=r.encode(e.generatedColumn-t),t=e.generatedColumn,null!=e.source&&(c+=r.encode(this._sources.indexOf(e.source)-l),l=this._sources.indexOf(e.source),c+=r.encode(e.originalLine-1-o),o=e.originalLine-1,c+=r.encode(e.originalColumn-n),n=e.originalColumn,null!=e.name&&(c+=r.encode(this._names.indexOf(e.name)-a),a=this._names.indexOf(e.name)))}return c},n.prototype._generateSourcesContent=function(e,t){return e.map(function(e){if(!this._sourcesContents)return null;null!=t&&(e=s.relative(t,e));var i=s.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,i)?this._sourcesContents[i]:null},this)},n.prototype.toJSON=function(){var e={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return null!=this._file&&(e.file=this._file),null!=this._sourceRoot&&(e.sourceRoot=this._sourceRoot),this._sourcesContents&&(e.sourcesContent=this._generateSourcesContent(e.sources,e.sourceRoot)),e},n.prototype.toString=function(){return JSON.stringify(this)},t.SourceMapGenerator=n})}),define("source-map/base64-vlq",[],function(e,t,i){define(function(e,t,i){function n(e){return 0>e?(-e<<1)+1:(e<<1)+0}function r(e){var t=1===(1&e),i=e>>1;return t?-i:i}var s=e("source-map/base64"),o=5,a=1<<o,l=a-1,c=a;t.encode=function(e){var t,i="",r=n(e);do t=r&l,r>>>=o,r>0&&(t|=c),i+=s.encode(t);while(r>0);return i},t.decode=function(e,t){var i,n,a=0,u=e.length,p=0,h=0;do{if(a>=u)throw new Error("Expected more digits in base 64 VLQ value.");n=s.decode(e.charAt(a++)),i=!!(n&c),n&=l,p+=n<<h,h+=o}while(i);t.value=r(p),t.rest=e.slice(a)}})}),define("source-map/base64",[],function(e,t,i){define(function(e,t,i){var n={},r={};"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("").forEach(function(e,t){n[e]=t,r[t]=e}),t.encode=function(e){if(e in r)return r[e];throw new TypeError("Must be between 0 and 63: "+e)},t.decode=function(e){if(e in n)return n[e];throw new TypeError("Not a valid base 64 digit: "+e)}})}),define("source-map/util",[],function(e,t,i){define(function(e,t,i){function n(e,t,i){if(t in e)return e[t];if(3===arguments.length)return i;throw new Error('"'+t+'" is a required argument.')}function r(e){var t=e.match(f);return t?{scheme:t[1],auth:t[2],host:t[3],port:t[4],path:t[5]}:null}function s(e){var t="";return e.scheme&&(t+=e.scheme+":"),t+="//",e.auth&&(t+=e.auth+"@"),e.host&&(t+=e.host),e.port&&(t+=":"+e.port),e.path&&(t+=e.path),t}function o(e){var t=e,i=r(e);if(i){if(!i.path)return e;t=i.path}for(var n,o="/"===t.charAt(0),a=t.split(/\/+/),l=0,c=a.length-1;c>=0;c--)n=a[c],"."===n?a.splice(c,1):".."===n?l++:l>0&&(""===n?(a.splice(c+1,l),l=0):(a.splice(c,2),l--));return t=a.join("/"),""===t&&(t=o?"/":"."),i?(i.path=t,s(i)):t}function a(e,t){""===e&&(e="."),""===t&&(t=".");var i=r(t),n=r(e);if(n&&(e=n.path||"/"),i&&!i.scheme)return n&&(i.scheme=n.scheme),s(i);if(i||t.match(m))return t;if(n&&!n.host&&!n.path)return n.host=t,s(n);var a="/"===t.charAt(0)?t:o(e.replace(/\/+$/,"")+"/"+t);return n?(n.path=a,s(n)):a}function l(e,t){""===e&&(e="."),e=e.replace(/\/$/,"");var i=r(e);return"/"==t.charAt(0)&&i&&"/"==i.path?t.slice(1):0===t.indexOf(e+"/")?t.substr(e.length+1):t}function c(e){return"$"+e}function u(e){return e.substr(1)}function p(e,t){var i=e||"",n=t||"";return(i>n)-(n>i)}function h(e,t,i){var n;return(n=p(e.source,t.source))?n:(n=e.originalLine-t.originalLine)?n:(n=e.originalColumn-t.originalColumn,n||i?n:(n=p(e.name,t.name))?n:(n=e.generatedLine-t.generatedLine,n?n:e.generatedColumn-t.generatedColumn))}function d(e,t,i){var n;return(n=e.generatedLine-t.generatedLine)?n:(n=e.generatedColumn-t.generatedColumn,n||i?n:(n=p(e.source,t.source))?n:(n=e.originalLine-t.originalLine)?n:(n=e.originalColumn-t.originalColumn,n?n:p(e.name,t.name)))}t.getArg=n;var f=/^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.]*)(?::(\d+))?(\S*)$/,m=/^data:.+\,.+$/;t.urlParse=r,t.urlGenerate=s,t.normalize=o,t.join=a,t.relative=l,t.toSetString=c,t.fromSetString=u,t.compareByOriginalPositions=h,t.compareByGeneratedPositions=d})}),define("source-map/array-set",[],function(e,t,i){define(function(e,t,i){function n(){this._array=[],this._set={}}var r=e("source-map/util");n.fromArray=function(e,t){for(var i=new n,r=0,s=e.length;s>r;r++)i.add(e[r],t);return i},n.prototype.add=function(e,t){var i=this.has(e),n=this._array.length;i&&!t||this._array.push(e),i||(this._set[r.toSetString(e)]=n)},n.prototype.has=function(e){return Object.prototype.hasOwnProperty.call(this._set,r.toSetString(e))},n.prototype.indexOf=function(e){if(this.has(e))return this._set[r.toSetString(e)];throw new Error('"'+e+'" is not in the set.')},n.prototype.at=function(e){if(e>=0&&e<this._array.length)return this._array[e];throw new Error("No element indexed by "+e)},n.prototype.toArray=function(){return this._array.slice()},t.ArraySet=n})}),define("source-map/source-map-consumer",[],function(e,t,i){define(function(e,t,i){function n(e){var t=e;"string"==typeof e&&(t=JSON.parse(e.replace(/^\)\]\}'/,"")));var i=r.getArg(t,"version"),n=r.getArg(t,"sources"),s=r.getArg(t,"names",[]),a=r.getArg(t,"sourceRoot",null),l=r.getArg(t,"sourcesContent",null),c=r.getArg(t,"mappings"),u=r.getArg(t,"file",null);if(i!=this._version)throw new Error("Unsupported version: "+i);n=n.map(r.normalize),this._names=o.fromArray(s,!0),this._sources=o.fromArray(n,!0),this.sourceRoot=a,this.sourcesContent=l,this._mappings=c,this.file=u}var r=e("source-map/util"),s=e("source-map/binary-search"),o=e("source-map/array-set").ArraySet,a=e("source-map/base64-vlq");n.fromSourceMap=function(e){var t=Object.create(n.prototype);return t._names=o.fromArray(e._names.toArray(),!0),t._sources=o.fromArray(e._sources.toArray(),!0),t.sourceRoot=e._sourceRoot,t.sourcesContent=e._generateSourcesContent(t._sources.toArray(),t.sourceRoot),t.file=e._file,t.__generatedMappings=e._mappings.slice().sort(r.compareByGeneratedPositions),t.__originalMappings=e._mappings.slice().sort(r.compareByOriginalPositions),t},n.prototype._version=3,Object.defineProperty(n.prototype,"sources",{get:function(){return this._sources.toArray().map(function(e){return null!=this.sourceRoot?r.join(this.sourceRoot,e):e},this)}}),n.prototype.__generatedMappings=null,Object.defineProperty(n.prototype,"_generatedMappings",{get:function(){return this.__generatedMappings||(this.__generatedMappings=[],this.__originalMappings=[],this._parseMappings(this._mappings,this.sourceRoot)),this.__generatedMappings}}),n.prototype.__originalMappings=null,Object.defineProperty(n.prototype,"_originalMappings",{get:function(){return this.__originalMappings||(this.__generatedMappings=[],this.__originalMappings=[],this._parseMappings(this._mappings,this.sourceRoot)),this.__originalMappings}}),n.prototype._nextCharIsMappingSeparator=function(e){var t=e.charAt(0);return";"===t||","===t},n.prototype._parseMappings=function(e,t){for(var i,n=1,s=0,o=0,l=0,c=0,u=0,p=e,h={};p.length>0;)if(";"===p.charAt(0))n++,p=p.slice(1),s=0;else if(","===p.charAt(0))p=p.slice(1);else{if(i={},i.generatedLine=n,a.decode(p,h),i.generatedColumn=s+h.value,s=i.generatedColumn,p=h.rest,p.length>0&&!this._nextCharIsMappingSeparator(p)){if(a.decode(p,h),i.source=this._sources.at(c+h.value),c+=h.value,p=h.rest,0===p.length||this._nextCharIsMappingSeparator(p))throw new Error("Found a source, but no line and column");if(a.decode(p,h),i.originalLine=o+h.value,o=i.originalLine,i.originalLine+=1,p=h.rest,0===p.length||this._nextCharIsMappingSeparator(p))throw new Error("Found a source and line, but no column");a.decode(p,h),i.originalColumn=l+h.value,l=i.originalColumn,p=h.rest,p.length>0&&!this._nextCharIsMappingSeparator(p)&&(a.decode(p,h),i.name=this._names.at(u+h.value),u+=h.value,p=h.rest)}this.__generatedMappings.push(i),"number"==typeof i.originalLine&&this.__originalMappings.push(i)}this.__generatedMappings.sort(r.compareByGeneratedPositions),this.__originalMappings.sort(r.compareByOriginalPositions)},n.prototype._findMapping=function(e,t,i,n,r){if(e[i]<=0)throw new TypeError("Line must be greater than or equal to 1, got "+e[i]);if(e[n]<0)throw new TypeError("Column must be greater than or equal to 0, got "+e[n]);return s.search(e,t,r)},n.prototype.computeColumnSpans=function(){for(var e=0;e<this._generatedMappings.length;++e){var t=this._generatedMappings[e];if(e+1<this._generatedMappings.length){var i=this._generatedMappings[e+1];if(t.generatedLine===i.generatedLine){t.lastGeneratedColumn=i.generatedColumn-1;continue}}t.lastGeneratedColumn=1/0}},n.prototype.originalPositionFor=function(e){var t={generatedLine:r.getArg(e,"line"),generatedColumn:r.getArg(e,"column")},i=this._findMapping(t,this._generatedMappings,"generatedLine","generatedColumn",r.compareByGeneratedPositions);if(i>=0){var n=this._generatedMappings[i];if(n.generatedLine===t.generatedLine){var s=r.getArg(n,"source",null);return null!=s&&null!=this.sourceRoot&&(s=r.join(this.sourceRoot,s)),{source:s,line:r.getArg(n,"originalLine",null),column:r.getArg(n,"originalColumn",null),name:r.getArg(n,"name",null)}}}return{source:null,line:null,column:null,name:null}},n.prototype.sourceContentFor=function(e){if(!this.sourcesContent)return null;if(null!=this.sourceRoot&&(e=r.relative(this.sourceRoot,e)),this._sources.has(e))return this.sourcesContent[this._sources.indexOf(e)];var t;if(null!=this.sourceRoot&&(t=r.urlParse(this.sourceRoot))){var i=e.replace(/^file:\/\//,"");if("file"==t.scheme&&this._sources.has(i))return this.sourcesContent[this._sources.indexOf(i)];if((!t.path||"/"==t.path)&&this._sources.has("/"+e))return this.sourcesContent[this._sources.indexOf("/"+e)]}throw new Error('"'+e+'" is not in the SourceMap.')},n.prototype.generatedPositionFor=function(e){var t={source:r.getArg(e,"source"),originalLine:r.getArg(e,"line"),originalColumn:r.getArg(e,"column")};null!=this.sourceRoot&&(t.source=r.relative(this.sourceRoot,t.source));var i=this._findMapping(t,this._originalMappings,"originalLine","originalColumn",r.compareByOriginalPositions);if(i>=0){var n=this._originalMappings[i];return{line:r.getArg(n,"generatedLine",null),column:r.getArg(n,"generatedColumn",null),lastColumn:r.getArg(n,"lastGeneratedColumn",null)}}return{line:null,column:null,lastColumn:null}},n.prototype.allGeneratedPositionsFor=function(e){var t={source:r.getArg(e,"source"),originalLine:r.getArg(e,"line"),originalColumn:1/0};null!=this.sourceRoot&&(t.source=r.relative(this.sourceRoot,t.source));var i=[],n=this._findMapping(t,this._originalMappings,"originalLine","originalColumn",r.compareByOriginalPositions);if(n>=0)for(var s=this._originalMappings[n];s&&s.originalLine===t.originalLine;)i.push({line:r.getArg(s,"generatedLine",null),column:r.getArg(s,"generatedColumn",null),lastColumn:r.getArg(s,"lastGeneratedColumn",null)}),s=this._originalMappings[--n];return i.reverse()},n.GENERATED_ORDER=1,n.ORIGINAL_ORDER=2,n.prototype.eachMapping=function(e,t,i){var s,o=t||null,a=i||n.GENERATED_ORDER;switch(a){case n.GENERATED_ORDER:s=this._generatedMappings;break;case n.ORIGINAL_ORDER:s=this._originalMappings;break;default:throw new Error("Unknown order of iteration.")}var l=this.sourceRoot;s.map(function(e){var t=e.source;return null!=t&&null!=l&&(t=r.join(l,t)),{source:t,generatedLine:e.generatedLine,generatedColumn:e.generatedColumn,originalLine:e.originalLine,originalColumn:e.originalColumn,name:e.name}}).forEach(e,o)},t.SourceMapConsumer=n})}),define("source-map/binary-search",[],function(e,t,i){define(function(e,t,i){function n(e,t,i,r,s){var o=Math.floor((t-e)/2)+e,a=s(i,r[o],!0);return 0===a?o:a>0?t-o>1?n(o,t,i,r,s):o:o-e>1?n(e,o,i,r,s):0>e?-1:e}t.search=function(e,t,i){return 0===t.length?-1:n(-1,t.length,e,t,i)}})}),define("source-map/source-node",[],function(e,t,i){define(function(e,t,i){function n(e,t,i,n,r){this.children=[],this.sourceContents={},this.line=null==e?null:e,this.column=null==t?null:t,this.source=null==i?null:i,this.name=null==r?null:r,this[l]=!0,null!=n&&this.add(n)}var r=e("source-map/source-map-generator").SourceMapGenerator,s=e("source-map/util"),o=/(\r?\n)/,a=/\r\n|[\s\S]/g,l="$$$isSourceNode$$$";n.fromStringWithSourceMap=function(e,t,i){function r(e,t){if(null===e||void 0===e.source)a.add(t);else{var r=i?s.join(i,e.source):e.source;a.add(new n(e.originalLine,e.originalColumn,r,t,e.name))}}var a=new n,l=e.split(o),c=function(){var e=l.shift(),t=l.shift()||"";return e+t},u=1,p=0,h=null;return t.eachMapping(function(e){if(null!==h){if(!(u<e.generatedLine)){var t=l[0],i=t.substr(0,e.generatedColumn-p);return l[0]=t.substr(e.generatedColumn-p),p=e.generatedColumn,r(h,i),void(h=e)}var i="";r(h,c()),u++,p=0}for(;u<e.generatedLine;)a.add(c()),u++;if(p<e.generatedColumn){var t=l[0];a.add(t.substr(0,e.generatedColumn)),l[0]=t.substr(e.generatedColumn),p=e.generatedColumn}h=e},this),l.length>0&&(h&&r(h,c()),a.add(l.join(""))),t.sources.forEach(function(e){var n=t.sourceContentFor(e);null!=n&&(null!=i&&(e=s.join(i,e)),a.setSourceContent(e,n))}),a},n.prototype.add=function(e){if(Array.isArray(e))e.forEach(function(e){this.add(e)},this);else{if(!e[l]&&"string"!=typeof e)throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+e);e&&this.children.push(e)}return this},n.prototype.prepend=function(e){if(Array.isArray(e))for(var t=e.length-1;t>=0;t--)this.prepend(e[t]);else{if(!e[l]&&"string"!=typeof e)throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+e);this.children.unshift(e)}return this},n.prototype.walk=function(e){for(var t,i=0,n=this.children.length;n>i;i++)t=this.children[i],t[l]?t.walk(e):""!==t&&e(t,{source:this.source,line:this.line,column:this.column,name:this.name})},n.prototype.join=function(e){var t,i,n=this.children.length;if(n>0){for(t=[],i=0;n-1>i;i++)t.push(this.children[i]),t.push(e);t.push(this.children[i]),this.children=t}return this},n.prototype.replaceRight=function(e,t){var i=this.children[this.children.length-1];return i[l]?i.replaceRight(e,t):"string"==typeof i?this.children[this.children.length-1]=i.replace(e,t):this.children.push("".replace(e,t)),this},n.prototype.setSourceContent=function(e,t){this.sourceContents[s.toSetString(e)]=t},n.prototype.walkSourceContents=function(e){for(var t=0,i=this.children.length;i>t;t++)this.children[t][l]&&this.children[t].walkSourceContents(e);for(var n=Object.keys(this.sourceContents),t=0,i=n.length;i>t;t++)e(s.fromSetString(n[t]),this.sourceContents[n[t]])},n.prototype.toString=function(){var e="";return this.walk(function(t){e+=t}),e},n.prototype.toStringWithSourceMap=function(e){var t={code:"",line:1,column:0},i=new r(e),n=!1,s=null,l=null,c=null,u=null;return this.walk(function(e,r){t.code+=e,null!==r.source&&null!==r.line&&null!==r.column?(s===r.source&&l===r.line&&c===r.column&&u===r.name||i.addMapping({source:r.source,original:{line:r.line,column:r.column},generated:{line:t.line,column:t.column},name:r.name}),s=r.source,l=r.line,c=r.column,u=r.name,n=!0):n&&(i.addMapping({generated:{line:t.line,column:t.column}}),s=null,n=!1),e.match(a).forEach(function(e,a,l){o.test(e)?(t.line++,t.column=0,a+1===l.length?(s=null,n=!1):n&&i.addMapping({source:r.source,original:{line:r.line,column:r.column},generated:{line:t.line,column:t.column},name:r.name})):t.column+=e.length})}),this.walkSourceContents(function(e,t){i.setSourceContent(e,t)}),{code:t.code,map:i}},t.SourceNode=n})}),define("hammer",[],function(e,t,i){!function(e,t,n,r){"use strict";function s(e,t,i){return setTimeout(p(e,i),t)}function o(e,t,i){return Array.isArray(e)?(a(e,i[t],i),!0):!1}function a(e,t,i){var n;if(e)if(e.forEach)e.forEach(t,i);else if(e.length!==r)for(n=0;n<e.length;)t.call(i,e[n],n,e),n++;else for(n in e)e.hasOwnProperty(n)&&t.call(i,e[n],n,e)}function l(e,t,i){for(var n=Object.keys(t),s=0;s<n.length;)(!i||i&&e[n[s]]===r)&&(e[n[s]]=t[n[s]]),s++;return e}function c(e,t){return l(e,t,!0)}function u(e,t,i){var n,r=t.prototype;n=e.prototype=Object.create(r),n.constructor=e,n._super=r,i&&l(n,i)}function p(e,t){return function(){return e.apply(t,arguments)}}function h(e,t){return typeof e==pe?e.apply(t?t[0]||r:r,t):e}function d(e,t){return e===r?t:e}function f(e,t,i){a(y(t),function(t){e.addEventListener(t,i,!1)})}function m(e,t,i){a(y(t),function(t){e.removeEventListener(t,i,!1)})}function g(e,t){for(;e;){if(e==t)return!0;e=e.parentNode}return!1}function v(e,t){return e.indexOf(t)>-1}function y(e){return e.trim().split(/\s+/g)}function w(e,t,i){if(e.indexOf&&!i)return e.indexOf(t);for(var n=0;n<e.length;){if(i&&e[n][i]==t||!i&&e[n]===t)return n;n++}return-1}function b(e){return Array.prototype.slice.call(e,0)}function x(e,t,i){for(var n=[],r=[],s=0;s<e.length;){var o=t?e[s][t]:e[s];w(r,o)<0&&n.push(e[s]),r[s]=o,s++}return i&&(n=t?n.sort(function(e,i){return e[t]>i[t]}):n.sort()),n}function S(e,t){for(var i,n,s=t[0].toUpperCase()+t.slice(1),o=0;o<ce.length;){if(i=ce[o],n=i?i+s:t,n in e)return n;o++}return r}function T(){return me++}function C(e){var t=e.ownerDocument;return t.defaultView||t.parentWindow}function k(e,t){var i=this;this.manager=e,this.callback=t,this.element=e.element,this.target=e.options.inputTarget,this.domHandler=function(t){h(e.options.enable,[e])&&i.handler(t)},this.init()}function E(e){var t,i=e.options.inputClass;return new(t=i?i:ye?H:we?q:ve?W:F)(e,P)}function P(e,t,i){var n=i.pointers.length,r=i.changedPointers.length,s=t&ke&&n-r===0,o=t&(Pe|Ae)&&n-r===0;i.isFirst=!!s,i.isFinal=!!o,s&&(e.session={}),i.eventType=t,A(e,i),e.emit("hammer.input",i),e.recognize(i),e.session.prevInput=i}function A(e,t){var i=e.session,n=t.pointers,r=n.length;i.firstInput||(i.firstInput=L(t)),r>1&&!i.firstMultiple?i.firstMultiple=L(t):1===r&&(i.firstMultiple=!1);var s=i.firstInput,o=i.firstMultiple,a=o?o.center:s.center,l=t.center=M(n);t.timeStamp=fe(),t.deltaTime=t.timeStamp-s.timeStamp,t.angle=O(a,l),t.distance=z(a,l),_(i,t),t.offsetDirection=I(t.deltaX,t.deltaY),t.scale=o?R(o.pointers,n):1,t.rotation=o?B(o.pointers,n):0,D(i,t);var c=e.element;g(t.srcEvent.target,c)&&(c=t.srcEvent.target),t.target=c}function _(e,t){var i=t.center,n=e.offsetDelta||{},r=e.prevDelta||{},s=e.prevInput||{};t.eventType!==ke&&s.eventType!==Pe||(r=e.prevDelta={x:s.deltaX||0,y:s.deltaY||0},n=e.offsetDelta={x:i.x,y:i.y}),t.deltaX=r.x+(i.x-n.x),t.deltaY=r.y+(i.y-n.y)}function D(e,t){var i,n,s,o,a=e.lastInterval||t,l=t.timeStamp-a.timeStamp;if(t.eventType!=Ae&&(l>Ce||a.velocity===r)){var c=a.deltaX-t.deltaX,u=a.deltaY-t.deltaY,p=N(l,c,u);n=p.x,s=p.y,i=de(p.x)>de(p.y)?p.x:p.y,o=I(c,u),e.lastInterval=t}else i=a.velocity,n=a.velocityX,s=a.velocityY,o=a.direction;t.velocity=i,t.velocityX=n,t.velocityY=s,t.direction=o}function L(e){for(var t=[],i=0;i<e.pointers.length;)t[i]={clientX:he(e.pointers[i].clientX),clientY:he(e.pointers[i].clientY)},i++;return{timeStamp:fe(),pointers:t,center:M(t),deltaX:e.deltaX,deltaY:e.deltaY}}function M(e){var t=e.length;if(1===t)return{x:he(e[0].clientX),y:he(e[0].clientY)};for(var i=0,n=0,r=0;t>r;)i+=e[r].clientX,n+=e[r].clientY,r++;return{x:he(i/t),y:he(n/t)}}function N(e,t,i){return{x:t/e||0,y:i/e||0}}function I(e,t){return e===t?_e:de(e)>=de(t)?e>0?De:Le:t>0?Me:Ne}function z(e,t,i){i||(i=Be);var n=t[i[0]]-e[i[0]],r=t[i[1]]-e[i[1]];return Math.sqrt(n*n+r*r)}function O(e,t,i){i||(i=Be);var n=t[i[0]]-e[i[0]],r=t[i[1]]-e[i[1]];return 180*Math.atan2(r,n)/Math.PI}function B(e,t){return O(t[1],t[0],Re)-O(e[1],e[0],Re)}function R(e,t){return z(t[0],t[1],Re)/z(e[0],e[1],Re)}function F(){this.evEl=He,this.evWin=je,this.allow=!0,this.pressed=!1,k.apply(this,arguments)}function H(){this.evEl=Ye,this.evWin=We,k.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}function j(){this.evTarget=Ge,this.evWin=Ve,this.started=!1,k.apply(this,arguments)}function X(e,t){var i=b(e.touches),n=b(e.changedTouches);return t&(Pe|Ae)&&(i=x(i.concat(n),"identifier",!0)),[i,n]}function q(){this.evTarget=Ke,this.targetIds={},k.apply(this,arguments)}function Y(e,t){var i=b(e.touches),n=this.targetIds;if(t&(ke|Ee)&&1===i.length)return n[i[0].identifier]=!0,[i,i];var r,s,o=b(e.changedTouches),a=[],l=this.target;if(s=i.filter(function(e){return g(e.target,l)}),t===ke)for(r=0;r<s.length;)n[s[r].identifier]=!0,r++;for(r=0;r<o.length;)n[o[r].identifier]&&a.push(o[r]),t&(Pe|Ae)&&delete n[o[r].identifier],r++;return a.length?[x(s.concat(a),"identifier",!0),a]:void 0}function W(){k.apply(this,arguments);var e=p(this.handler,this);this.touch=new q(this.manager,e),this.mouse=new F(this.manager,e)}function $(e,t){this.manager=e,this.set(t)}function G(e){if(v(e,it))return it;var t=v(e,nt),i=v(e,rt);return t&&i?nt+" "+rt:t||i?t?nt:rt:v(e,tt)?tt:et}function V(e){this.id=T(),this.manager=null,this.options=c(e||{},this.defaults),this.options.enable=d(this.options.enable,!0),this.state=st,this.simultaneous={},this.requireFail=[]}function U(e){return e&ut?"cancel":e<?"end":e&at?"move":e&ot?"start":""}function K(e){return e==Ne?"down":e==Me?"up":e==De?"left":e==Le?"right":""}function Q(e,t){var i=t.manager;return i?i.get(e):e}function J(){V.apply(this,arguments)}function Z(){J.apply(this,arguments),this.pX=null,this.pY=null}function ee(){J.apply(this,arguments)}function te(){V.apply(this,arguments),this._timer=null,this._input=null}function ie(){J.apply(this,arguments)}function ne(){J.apply(this,arguments)}function re(){V.apply(this,arguments),this.pTime=!1,this.pCenter=!1,this._timer=null,this._input=null,this.count=0}function se(e,t){return t=t||{},t.recognizers=d(t.recognizers,se.defaults.preset),new oe(e,t)}function oe(e,t){t=t||{},this.options=c(t,se.defaults),this.options.inputTarget=this.options.inputTarget||e,this.handlers={},this.session={},this.recognizers=[],this.element=e,this.input=E(this),this.touchAction=new $(this,this.options.touchAction),ae(this,!0),a(t.recognizers,function(e){var t=this.add(new e[0](e[1]));e[2]&&t.recognizeWith(e[2]),e[3]&&t.requireFailure(e[3])},this)}function ae(e,t){var i=e.element;a(e.options.cssProps,function(e,n){i.style[S(i.style,n)]=t?e:""})}function le(e,i){var n=t.createEvent("Event");n.initEvent(e,!0,!0),n.gesture=i,i.target.dispatchEvent(n)}var ce=["","webkit","moz","MS","ms","o"],ue=t.createElement("div"),pe="function",he=Math.round,de=Math.abs,fe=Date.now,me=1,ge=/mobile|tablet|ip(ad|hone|od)|android/i,ve="ontouchstart"in e,ye=S(e,"PointerEvent")!==r,we=ve&&ge.test(navigator.userAgent),be="touch",xe="pen",Se="mouse",Te="kinect",Ce=25,ke=1,Ee=2,Pe=4,Ae=8,_e=1,De=2,Le=4,Me=8,Ne=16,Ie=De|Le,ze=Me|Ne,Oe=Ie|ze,Be=["x","y"],Re=["clientX","clientY"];k.prototype={handler:function(){},init:function(){this.evEl&&f(this.element,this.evEl,this.domHandler), +this.evTarget&&f(this.target,this.evTarget,this.domHandler),this.evWin&&f(C(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&m(this.element,this.evEl,this.domHandler),this.evTarget&&m(this.target,this.evTarget,this.domHandler),this.evWin&&m(C(this.element),this.evWin,this.domHandler)}};var Fe={mousedown:ke,mousemove:Ee,mouseup:Pe},He="mousedown",je="mousemove mouseup";u(F,k,{handler:function(e){var t=Fe[e.type];t&ke&&0===e.button&&(this.pressed=!0),t&Ee&&1!==e.which&&(t=Pe),this.pressed&&this.allow&&(t&Pe&&(this.pressed=!1),this.callback(this.manager,t,{pointers:[e],changedPointers:[e],pointerType:Se,srcEvent:e}))}});var Xe={pointerdown:ke,pointermove:Ee,pointerup:Pe,pointercancel:Ae,pointerout:Ae},qe={2:be,3:xe,4:Se,5:Te},Ye="pointerdown",We="pointermove pointerup pointercancel";e.MSPointerEvent&&(Ye="MSPointerDown",We="MSPointerMove MSPointerUp MSPointerCancel"),u(H,k,{handler:function(e){var t=this.store,i=!1,n=e.type.toLowerCase().replace("ms",""),r=Xe[n],s=qe[e.pointerType]||e.pointerType,o=s==be,a=w(t,e.pointerId,"pointerId");r&ke&&(0===e.button||o)?0>a&&(t.push(e),a=t.length-1):r&(Pe|Ae)&&(i=!0),0>a||(t[a]=e,this.callback(this.manager,r,{pointers:t,changedPointers:[e],pointerType:s,srcEvent:e}),i&&t.splice(a,1))}});var $e={touchstart:ke,touchmove:Ee,touchend:Pe,touchcancel:Ae},Ge="touchstart",Ve="touchstart touchmove touchend touchcancel";u(j,k,{handler:function(e){var t=$e[e.type];if(t===ke&&(this.started=!0),this.started){var i=X.call(this,e,t);t&(Pe|Ae)&&i[0].length-i[1].length===0&&(this.started=!1),this.callback(this.manager,t,{pointers:i[0],changedPointers:i[1],pointerType:be,srcEvent:e})}}});var Ue={touchstart:ke,touchmove:Ee,touchend:Pe,touchcancel:Ae},Ke="touchstart touchmove touchend touchcancel";u(q,k,{handler:function(e){var t=Ue[e.type],i=Y.call(this,e,t);i&&this.callback(this.manager,t,{pointers:i[0],changedPointers:i[1],pointerType:be,srcEvent:e})}}),u(W,k,{handler:function(e,t,i){var n=i.pointerType==be,r=i.pointerType==Se;if(n)this.mouse.allow=!1;else if(r&&!this.mouse.allow)return;t&(Pe|Ae)&&(this.mouse.allow=!0),this.callback(e,t,i)},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});var Qe=S(ue.style,"touchAction"),Je=Qe!==r,Ze="compute",et="auto",tt="manipulation",it="none",nt="pan-x",rt="pan-y";$.prototype={set:function(e){e==Ze&&(e=this.compute()),Je&&(this.manager.element.style[Qe]=e),this.actions=e.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){var e=[];return a(this.manager.recognizers,function(t){h(t.options.enable,[t])&&(e=e.concat(t.getTouchAction()))}),G(e.join(" "))},preventDefaults:function(e){if(!Je){var t=e.srcEvent,i=e.offsetDirection;if(this.manager.session.prevented)return void t.preventDefault();var n=this.actions,r=v(n,it),s=v(n,rt),o=v(n,nt);return r||s&&i&Ie||o&&i&ze?this.preventSrc(t):void 0}},preventSrc:function(e){this.manager.session.prevented=!0,e.preventDefault()}};var st=1,ot=2,at=4,lt=8,ct=lt,ut=16,pt=32;V.prototype={defaults:{},set:function(e){return l(this.options,e),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(e){if(o(e,"recognizeWith",this))return this;var t=this.simultaneous;return e=Q(e,this),t[e.id]||(t[e.id]=e,e.recognizeWith(this)),this},dropRecognizeWith:function(e){return o(e,"dropRecognizeWith",this)?this:(e=Q(e,this),delete this.simultaneous[e.id],this)},requireFailure:function(e){if(o(e,"requireFailure",this))return this;var t=this.requireFail;return e=Q(e,this),-1===w(t,e)&&(t.push(e),e.requireFailure(this)),this},dropRequireFailure:function(e){if(o(e,"dropRequireFailure",this))return this;e=Q(e,this);var t=w(this.requireFail,e);return t>-1&&this.requireFail.splice(t,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(e){return!!this.simultaneous[e.id]},emit:function(e){function t(t){i.manager.emit(i.options.event+(t?U(n):""),e)}var i=this,n=this.state;lt>n&&t(!0),t(),n>=lt&&t(!0)},tryEmit:function(e){return this.canEmit()?this.emit(e):void(this.state=pt)},canEmit:function(){for(var e=0;e<this.requireFail.length;){if(!(this.requireFail[e].state&(pt|st)))return!1;e++}return!0},recognize:function(e){var t=l({},e);return h(this.options.enable,[this,t])?(this.state&(ct|ut|pt)&&(this.state=st),this.state=this.process(t),void(this.state&(ot|at|lt|ut)&&this.tryEmit(t))):(this.reset(),void(this.state=pt))},process:function(e){},getTouchAction:function(){},reset:function(){}},u(J,V,{defaults:{pointers:1},attrTest:function(e){var t=this.options.pointers;return 0===t||e.pointers.length===t},process:function(e){var t=this.state,i=e.eventType,n=t&(ot|at),r=this.attrTest(e);return n&&(i&Ae||!r)?t|ut:n||r?i&Pe?t|lt:t&ot?t|at:ot:pt}}),u(Z,J,{defaults:{event:"pan",threshold:10,pointers:1,direction:Oe},getTouchAction:function(){var e=this.options.direction,t=[];return e&Ie&&t.push(rt),e&ze&&t.push(nt),t},directionTest:function(e){var t=this.options,i=!0,n=e.distance,r=e.direction,s=e.deltaX,o=e.deltaY;return r&t.direction||(t.direction&Ie?(r=0===s?_e:0>s?De:Le,i=s!=this.pX,n=Math.abs(e.deltaX)):(r=0===o?_e:0>o?Me:Ne,i=o!=this.pY,n=Math.abs(e.deltaY))),e.direction=r,i&&n>t.threshold&&r&t.direction},attrTest:function(e){return J.prototype.attrTest.call(this,e)&&(this.state&ot||!(this.state&ot)&&this.directionTest(e))},emit:function(e){this.pX=e.deltaX,this.pY=e.deltaY;var t=K(e.direction);t&&this.manager.emit(this.options.event+t,e),this._super.emit.call(this,e)}}),u(ee,J,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[it]},attrTest:function(e){return this._super.attrTest.call(this,e)&&(Math.abs(e.scale-1)>this.options.threshold||this.state&ot)},emit:function(e){if(this._super.emit.call(this,e),1!==e.scale){var t=e.scale<1?"in":"out";this.manager.emit(this.options.event+t,e)}}}),u(te,V,{defaults:{event:"press",pointers:1,time:500,threshold:5},getTouchAction:function(){return[et]},process:function(e){var t=this.options,i=e.pointers.length===t.pointers,n=e.distance<t.threshold,r=e.deltaTime>t.time;if(this._input=e,!n||!i||e.eventType&(Pe|Ae)&&!r)this.reset();else if(e.eventType&ke)this.reset(),this._timer=s(function(){this.state=ct,this.tryEmit()},t.time,this);else if(e.eventType&Pe)return ct;return pt},reset:function(){clearTimeout(this._timer)},emit:function(e){this.state===ct&&(e&&e.eventType&Pe?this.manager.emit(this.options.event+"up",e):(this._input.timeStamp=fe(),this.manager.emit(this.options.event,this._input)))}}),u(ie,J,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[it]},attrTest:function(e){return this._super.attrTest.call(this,e)&&(Math.abs(e.rotation)>this.options.threshold||this.state&ot)}}),u(ne,J,{defaults:{event:"swipe",threshold:10,velocity:.65,direction:Ie|ze,pointers:1},getTouchAction:function(){return Z.prototype.getTouchAction.call(this)},attrTest:function(e){var t,i=this.options.direction;return i&(Ie|ze)?t=e.velocity:i&Ie?t=e.velocityX:i&ze&&(t=e.velocityY),this._super.attrTest.call(this,e)&&i&e.direction&&e.distance>this.options.threshold&&de(t)>this.options.velocity&&e.eventType&Pe},emit:function(e){var t=K(e.direction);t&&this.manager.emit(this.options.event+t,e),this.manager.emit(this.options.event,e)}}),u(re,V,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:2,posThreshold:10},getTouchAction:function(){return[tt]},process:function(e){var t=this.options,i=e.pointers.length===t.pointers,n=e.distance<t.threshold,r=e.deltaTime<t.time;if(this.reset(),e.eventType&ke&&0===this.count)return this.failTimeout();if(n&&r&&i){if(e.eventType!=Pe)return this.failTimeout();var o=this.pTime?e.timeStamp-this.pTime<t.interval:!0,a=!this.pCenter||z(this.pCenter,e.center)<t.posThreshold;this.pTime=e.timeStamp,this.pCenter=e.center,a&&o?this.count+=1:this.count=1,this._input=e;var l=this.count%t.taps;if(0===l)return this.hasRequireFailures()?(this._timer=s(function(){this.state=ct,this.tryEmit()},t.interval,this),ot):ct}return pt},failTimeout:function(){return this._timer=s(function(){this.state=pt},this.options.interval,this),pt},reset:function(){clearTimeout(this._timer)},emit:function(){this.state==ct&&(this._input.tapCount=this.count,this.manager.emit(this.options.event,this._input))}}),se.VERSION="2.0.4",se.defaults={domEvents:!1,touchAction:Ze,enable:!0,inputTarget:null,inputClass:null,preset:[[ie,{enable:!1}],[ee,{enable:!1},["rotate"]],[ne,{direction:Ie}],[Z,{direction:Ie},["swipe"]],[re],[re,{event:"doubletap",taps:2},["tap"]],[te]],cssProps:{userSelect:"none",touchSelect:"none",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}};var ht=1,dt=2;oe.prototype={set:function(e){return l(this.options,e),e.touchAction&&this.touchAction.update(),e.inputTarget&&(this.input.destroy(),this.input.target=e.inputTarget,this.input.init()),this},stop:function(e){this.session.stopped=e?dt:ht},recognize:function(e){var t=this.session;if(!t.stopped){this.touchAction.preventDefaults(e);var i,n=this.recognizers,r=t.curRecognizer;(!r||r&&r.state&ct)&&(r=t.curRecognizer=null);for(var s=0;s<n.length;)i=n[s],t.stopped===dt||r&&i!=r&&!i.canRecognizeWith(r)?i.reset():i.recognize(e),!r&&i.state&(ot|at|lt)&&(r=t.curRecognizer=i),s++}},get:function(e){if(e instanceof V)return e;for(var t=this.recognizers,i=0;i<t.length;i++)if(t[i].options.event==e)return t[i];return null},add:function(e){if(o(e,"add",this))return this;var t=this.get(e.options.event);return t&&this.remove(t),this.recognizers.push(e),e.manager=this,this.touchAction.update(),e},remove:function(e){if(o(e,"remove",this))return this;var t=this.recognizers;return e=this.get(e),t.splice(w(t,e),1),this.touchAction.update(),this},on:function(e,t){var i=this.handlers;return a(y(e),function(e){i[e]=i[e]||[],i[e].push(t)}),this},off:function(e,t){var i=this.handlers;return a(y(e),function(e){t?i[e].splice(w(i[e],t),1):delete i[e]}),this},emit:function(e,t){this.options.domEvents&&le(e,t);var i=this.handlers[e]&&this.handlers[e].slice();if(i&&i.length){t.type=e,t.preventDefault=function(){t.srcEvent.preventDefault()};for(var n=0;n<i.length;)i[n](t),n++}},destroy:function(){this.element&&ae(this,!1),this.handlers={},this.session={},this.input.destroy(),this.element=null}},l(se,{INPUT_START:ke,INPUT_MOVE:Ee,INPUT_END:Pe,INPUT_CANCEL:Ae,STATE_POSSIBLE:st,STATE_BEGAN:ot,STATE_CHANGED:at,STATE_ENDED:lt,STATE_RECOGNIZED:ct,STATE_CANCELLED:ut,STATE_FAILED:pt,DIRECTION_NONE:_e,DIRECTION_LEFT:De,DIRECTION_RIGHT:Le,DIRECTION_UP:Me,DIRECTION_DOWN:Ne,DIRECTION_HORIZONTAL:Ie,DIRECTION_VERTICAL:ze,DIRECTION_ALL:Oe,Manager:oe,Input:k,TouchAction:$,TouchInput:q,MouseInput:F,PointerEventInput:H,TouchMouseInput:W,SingleTouchInput:j,Recognizer:V,AttrRecognizer:J,Tap:re,Pan:Z,Swipe:ne,Pinch:ee,Rotate:ie,Press:te,on:f,off:m,each:a,merge:c,extend:l,inherit:u,bindFn:p,prefixed:S}),typeof define==pe&&define.amd?define(function(){return se}):"undefined"!=typeof i&&i.exports?i.exports=se:e[n]=se}(window,document,"Hammer")}); \ No newline at end of file diff --git a/static/dist/myohobuy/assets/img/sprite.guang.png b/static/dist/myohobuy/assets/img/sprite.guang.png index b56d6b9..cba221d 100644 Binary files a/static/dist/myohobuy/assets/img/sprite.guang.png and b/static/dist/myohobuy/assets/img/sprite.guang.png differ diff --git a/static/dist/myohobuy/assets/img/sprite.me.png b/static/dist/myohobuy/assets/img/sprite.me.png index 5220224..f0e0354 100644 Binary files a/static/dist/myohobuy/assets/img/sprite.me.png and b/static/dist/myohobuy/assets/img/sprite.me.png differ diff --git a/static/dist/myohobuy/assets/img/sprite.product.png b/static/dist/myohobuy/assets/img/sprite.product.png index d678074..e454ac2 100644 Binary files a/static/dist/myohobuy/assets/img/sprite.product.png and b/static/dist/myohobuy/assets/img/sprite.product.png differ -- libgit2 0.24.0